@geogirafe/lib-geoportal
Version:
GeoGirafe is a flexible application to build online geoportals.
69 lines (68 loc) • 3.05 kB
TypeScript
import { Image as ImageLayer } from 'ol/layer';
import ImageWMS from 'ol/source/ImageWMS';
import { Map } from 'ol';
import LayerWms from '../../models/layers/layerwms';
import SelectionParam from '../../models/selectionparam';
import LayerManager from '../layers/layermanager';
import ServerOgc from '../../models/serverogc';
import ConfigManager from '../configuration/configmanager';
export default abstract class WmsClient {
#private;
map: Map;
ogcServer: ServerOgc;
layerManager: LayerManager;
configManager: ConfigManager;
resolutionTolerance: number;
get state(): import("../main").State;
get audienceExcludedPaths(): string[];
layers: LayerWms[];
olayer?: ImageLayer<ImageWMS>;
independentLayers: Record<string, {
layerWms: LayerWms;
olayer: ImageLayer<ImageWMS>;
}>;
basemapLayers: ImageLayer<ImageWMS>[];
constructor(ogcServer: ServerOgc, map: Map);
get uniqueQueryId(): string;
removeAllBasemapLayers(): void;
addLayer(layerWms: LayerWms): void;
createImageWMSSource(layerList?: LayerWms[]): ImageWMS;
abstract getOpenLayerLayerNames(layerList: LayerWms[]): string[];
addBasemapLayer(layerWms: LayerWms): void;
removeLayer(layerWms: LayerWms): void;
layerExists(layerWms: LayerWms): boolean;
layerInStandardLayers(layerWms: LayerWms): boolean;
layerIsIndependantLayer(layerWms: LayerWms): boolean;
getOLayer(layerWms: LayerWms): ImageLayer<ImageWMS> | null;
changeOpacity(layerWms: LayerWms): void;
changeFilter(layerWms: LayerWms): void;
changeTimeRestriction(layerWms: LayerWms): void;
makeLayerIndependent(layerWms: LayerWms): void;
updateLayerFilter(layerWms: LayerWms): void;
abstract buildFilterQuery(layerWms: LayerWms): string;
updateTimeRestriction(layerWms: LayerWms): void;
selectFeatures(extent: number[]): void;
getFeatureInfo(selectionParam: SelectionParam): Promise<import("ol").Feature<import("ol/geom").Geometry>[]>;
private getFeatureInfoUrl;
private handleGetFeatureInfoResponse;
refreshZIndexes(): void;
}
export declare class WmsClientQgis extends WmsClient {
/** QGIS-server does not filter on a WMS layer made from multiple underlying WFS queryLayers
* Solution: directly query the queryLayers
*/
getOpenLayerLayerNames(layerList: LayerWms[]): string[];
/** MapServer wants 1 filter per underlying WFS queryLayer, all included in parentheses
* QGIS-server wants 1 filter per underlying WFS queryLayer, each in its own in parentheses
*
* MapServer: (<filter>...</filter><filter>...</filter>)
* QGIS-server: (<filter>...</filter>)(<filter>...</filter>)
*/
buildFilterQuery(layerWms: LayerWms): string;
}
export declare class WmsClientMapServer extends WmsClient {
getOpenLayerLayerNames(layerList: LayerWms[]): string[];
buildFilterQuery(layerWms: LayerWms): string;
}
export declare const WmsClientDefault: typeof WmsClientQgis;
export declare const WmsClientGeoServer: typeof WmsClientMapServer;