UNPKG

@geogirafe/lib-geoportal

Version:

GeoGirafe is a flexible application to build online geoportals.

70 lines (69 loc) 3.31 kB
import { Feature } from 'ol'; import { Geometry } from 'ol/geom'; import { WriteGetFeatureOptions } from 'ol/format/WFS'; import StateManager from '../state/statemanager'; import SelectionParam from '../../models/selectionparam'; import LayerWms from '../../models/layers/layerwms'; import ServerWfs from '../../models/serverwfs'; import { XmlTypes } from '../../models/xmlTypes'; import ServerOgc from '../../models/serverogc'; export type WfsClientOptions = { featurePrefix: string; featureNS: string; }; export type WfsClientOptionalOptions = { featurePrefix?: string; featureNS?: string; }; export default class WfsClient<WfsXmlTypes = XmlTypes> { #private; stateManager: StateManager; get state(): import("../main").State; ogcServer: ServerOgc; maxFeatures: number; featurePrefix: string; featureNS: string; private readonly urlParameters; serverWfs: Promise<ServerWfs<WfsXmlTypes>> | undefined; constructor(ogcServer: ServerOgc, options: WfsClientOptions); get wfsUrl(): string; configMaxFeatures(): void; getServerWfs(): Promise<ServerWfs<WfsXmlTypes>>; describeFeatureType(): Promise<ServerWfs<WfsXmlTypes>>; private initializeAttribute; manageLayerAttribute(serverWfs: ServerWfs<WfsXmlTypes>, element: Element, featureType: string): boolean; validateLayerAttributeType(type: string): boolean; getElementToTypeName(xml: Document): Record<string, string>; getDescribeFeatureTypeUrl(): string; getFeature(selectionParam: SelectionParam): Promise<Feature<Geometry>[]>; completeGetFeatureOptions(featureTypes: string[], options: GetFeatureOptionalOptions): WriteGetFeatureOptions; getFeatureRaw(featureTypes: string[], getFeatureOptions: GetFeatureOptionalOptions): Promise<Feature<Geometry>[]>; /** * Sets or removes a time restriction on the provided query layer. Depending on the presence of a time attribute, * either a temporal XML filter is created or a TIME parameter is added to the URL. * * @param {QueryableLayerWms} queryLayer - The layer on which the time restriction is to be applied. * @return {Filter | undefined} Returns a temporal XML filter if a time attribute exists; otherwise, undefined. */ private setTimeRestriction; private getTimeRestrictionFilter; private addTimeRestrictionAsUrlParameter; } export type QueryableLayerWms = Omit<LayerWms, 'queryLayers'> & { queryLayers: string; }; export type GetFeatureOptionalOptions = Omit<WriteGetFeatureOptions, 'featureNS' | 'featurePrefix' | 'featureTypes'> & { featureNS?: string; featurePrefix?: string; featureTypes?: string[]; }; export declare class WfsClientMapServer extends WfsClient { constructor(ogcServer: ServerOgc, options: WfsClientOptionalOptions); getFeatureRaw(featureTypes: string[], getFeatureOptions: GetFeatureOptionalOptions): Promise<Feature<Geometry>[]>; } export declare class WfsClientQgis extends WfsClient { constructor(ogcServer: ServerOgc, options: WfsClientOptionalOptions); getFeatureRaw(featureTypes: string[], getFeatureOptions: GetFeatureOptionalOptions): Promise<Feature<Geometry>[]>; } export declare const WfsClientDefault: typeof WfsClientQgis; export declare const WfsClientGeoServer: typeof WfsClientMapServer;