@loaders.gl/wms 3.3.0-alpha.9 → 3.4.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bundle.d.ts +2 -0
- package/dist/bundle.d.ts.map +1 -0
- package/dist/bundle.js +6 -0
- package/dist/dist.min.js +4080 -2009
- package/dist/es5/index.js +63 -7
- package/dist/es5/index.js.map +1 -1
- package/dist/es5/lerc-loader.js +74 -0
- package/dist/es5/lerc-loader.js.map +1 -0
- package/dist/es5/lib/data-sources/adhoc-image-service.js +129 -0
- package/dist/es5/lib/data-sources/adhoc-image-service.js.map +1 -0
- package/dist/es5/lib/data-sources/arcgis-image-service.js +180 -0
- package/dist/es5/lib/data-sources/arcgis-image-service.js.map +1 -0
- package/dist/es5/lib/data-sources/create-image-source.js +45 -0
- package/dist/es5/lib/data-sources/create-image-source.js.map +1 -0
- package/dist/es5/lib/data-sources/image-services/arcgis-image-service.js +179 -0
- package/dist/es5/lib/data-sources/image-services/arcgis-image-service.js.map +1 -0
- package/dist/es5/lib/data-sources/image-services/image-service.js +163 -0
- package/dist/es5/lib/data-sources/image-services/image-service.js.map +1 -0
- package/dist/es5/lib/data-sources/image-services/wms-service.js +400 -0
- package/dist/es5/lib/data-sources/image-services/wms-service.js.map +1 -0
- package/dist/es5/lib/data-sources/image-source.js +14 -0
- package/dist/es5/lib/data-sources/image-source.js.map +1 -0
- package/dist/es5/lib/gml/deep-strict-equal.js +64 -0
- package/dist/es5/lib/gml/deep-strict-equal.js.map +1 -0
- package/dist/es5/lib/gml/parse-gml.js +416 -0
- package/dist/es5/lib/gml/parse-gml.js.map +1 -0
- package/dist/es5/lib/lerc/lerc-types.js +2 -0
- package/dist/es5/lib/lerc/lerc-types.js.map +1 -0
- package/dist/es5/lib/wcs/parse-wcs.js +43 -0
- package/dist/es5/lib/wcs/parse-wcs.js.map +1 -0
- package/dist/es5/lib/wcs/wcs-types.js +2 -0
- package/dist/es5/lib/wcs/wcs-types.js.map +1 -0
- package/dist/es5/lib/wfs/parse-wfs.js +43 -0
- package/dist/es5/lib/wfs/parse-wfs.js.map +1 -0
- package/dist/es5/lib/wfs/wfs-types.js +2 -0
- package/dist/es5/lib/wfs/wfs-types.js.map +1 -0
- package/dist/es5/lib/{parse-wms.js → wms/parse-wms.js} +35 -2
- package/dist/es5/lib/wms/parse-wms.js.map +1 -0
- package/dist/es5/{wms-types.js → lib/wms/wms-types.js} +0 -0
- package/dist/es5/lib/wms/wms-types.js.map +1 -0
- package/dist/es5/lib/wmts/parse-wmts.js +43 -0
- package/dist/es5/lib/wmts/parse-wmts.js.map +1 -0
- package/dist/es5/lib/wmts/wmts-types.js +2 -0
- package/dist/es5/lib/wmts/wmts-types.js.map +1 -0
- package/dist/es5/wip/arcgis-feature-service.js +45 -0
- package/dist/es5/wip/arcgis-feature-service.js.map +1 -0
- package/dist/es5/wip/data-source.js +4 -0
- package/dist/es5/wip/data-source.js.map +1 -0
- package/dist/es5/wip/gml-loader.js +54 -0
- package/dist/es5/wip/gml-loader.js.map +1 -0
- package/dist/es5/wip/wcs-capabilities-loader.js +54 -0
- package/dist/es5/wip/wcs-capabilities-loader.js.map +1 -0
- package/dist/es5/wip/wfs-capabilities-loader.js +54 -0
- package/dist/es5/wip/wfs-capabilities-loader.js.map +1 -0
- package/dist/es5/{wms-feature-info-loader.js → wip/wms-feature-info-loader.js} +3 -3
- package/dist/es5/wip/wms-feature-info-loader.js.map +1 -0
- package/dist/es5/{wms-layer-description-loader.js → wip/wms-layer-description-loader.js} +5 -5
- package/dist/es5/wip/wms-layer-description-loader.js.map +1 -0
- package/dist/es5/wip/wms-layer-description-loader.md.disabled.md +47 -0
- package/dist/es5/wip/wmts-capabilities-loader.js +54 -0
- package/dist/es5/wip/wmts-capabilities-loader.js.map +1 -0
- package/dist/es5/wms-capabilities-loader.js +3 -3
- package/dist/es5/wms-capabilities-loader.js.map +1 -1
- package/dist/es5/wms-error-loader.js +70 -0
- package/dist/es5/wms-error-loader.js.map +1 -0
- package/dist/esm/index.js +16 -3
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/lerc-loader.js +25 -0
- package/dist/esm/lerc-loader.js.map +1 -0
- package/dist/esm/lib/data-sources/adhoc-image-service.js +43 -0
- package/dist/esm/lib/data-sources/adhoc-image-service.js.map +1 -0
- package/dist/esm/lib/data-sources/arcgis-image-service.js +62 -0
- package/dist/esm/lib/data-sources/arcgis-image-service.js.map +1 -0
- package/dist/esm/lib/data-sources/create-image-source.js +30 -0
- package/dist/esm/lib/data-sources/create-image-source.js.map +1 -0
- package/dist/esm/lib/data-sources/image-services/arcgis-image-service.js +61 -0
- package/dist/esm/lib/data-sources/image-services/arcgis-image-service.js.map +1 -0
- package/dist/esm/lib/data-sources/image-services/image-service.js +72 -0
- package/dist/esm/lib/data-sources/image-services/image-service.js.map +1 -0
- package/dist/esm/lib/data-sources/image-services/wms-service.js +190 -0
- package/dist/esm/lib/data-sources/image-services/wms-service.js.map +1 -0
- package/dist/esm/lib/data-sources/image-source.js +4 -0
- package/dist/esm/lib/data-sources/image-source.js.map +1 -0
- package/dist/esm/lib/gml/deep-strict-equal.js +57 -0
- package/dist/esm/lib/gml/deep-strict-equal.js.map +1 -0
- package/dist/esm/lib/gml/parse-gml.js +348 -0
- package/dist/esm/lib/gml/parse-gml.js.map +1 -0
- package/dist/esm/lib/lerc/lerc-types.js +2 -0
- package/dist/esm/lib/lerc/lerc-types.js.map +1 -0
- package/dist/esm/lib/wcs/parse-wcs.js +32 -0
- package/dist/esm/lib/wcs/parse-wcs.js.map +1 -0
- package/dist/esm/lib/wcs/wcs-types.js +2 -0
- package/dist/esm/lib/wcs/wcs-types.js.map +1 -0
- package/dist/esm/lib/wfs/parse-wfs.js +32 -0
- package/dist/esm/lib/wfs/parse-wfs.js.map +1 -0
- package/dist/esm/lib/wfs/wfs-types.js +2 -0
- package/dist/esm/lib/wfs/wfs-types.js.map +1 -0
- package/dist/esm/lib/{parse-wms.js → wms/parse-wms.js} +33 -2
- package/dist/esm/lib/wms/parse-wms.js.map +1 -0
- package/dist/esm/{wms-types.js → lib/wms/wms-types.js} +0 -0
- package/dist/esm/lib/wms/wms-types.js.map +1 -0
- package/dist/esm/lib/wmts/parse-wmts.js +32 -0
- package/dist/esm/lib/wmts/parse-wmts.js.map +1 -0
- package/dist/esm/lib/wmts/wmts-types.js +2 -0
- package/dist/esm/lib/wmts/wmts-types.js.map +1 -0
- package/dist/esm/wip/arcgis-feature-service.js +28 -0
- package/dist/esm/wip/arcgis-feature-service.js.map +1 -0
- package/dist/esm/wip/data-source.js +2 -0
- package/dist/esm/wip/data-source.js.map +1 -0
- package/dist/esm/wip/gml-loader.js +25 -0
- package/dist/esm/wip/gml-loader.js.map +1 -0
- package/dist/esm/wip/wcs-capabilities-loader.js +25 -0
- package/dist/esm/wip/wcs-capabilities-loader.js.map +1 -0
- package/dist/esm/wip/wfs-capabilities-loader.js +25 -0
- package/dist/esm/wip/wfs-capabilities-loader.js.map +1 -0
- package/dist/esm/{wms-feature-info-loader.js → wip/wms-feature-info-loader.js} +3 -3
- package/dist/esm/wip/wms-feature-info-loader.js.map +1 -0
- package/dist/esm/wip/wms-layer-description-loader.js +14 -0
- package/dist/esm/wip/wms-layer-description-loader.js.map +1 -0
- package/dist/esm/wip/wms-layer-description-loader.md.disabled.md +47 -0
- package/dist/esm/wip/wmts-capabilities-loader.js +25 -0
- package/dist/esm/wip/wmts-capabilities-loader.js.map +1 -0
- package/dist/esm/wms-capabilities-loader.js +3 -3
- package/dist/esm/wms-capabilities-loader.js.map +1 -1
- package/dist/esm/wms-error-loader.js +40 -0
- package/dist/esm/wms-error-loader.js.map +1 -0
- package/dist/index.d.ts +27 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +33 -0
- package/dist/lerc-loader.d.ts +30 -0
- package/dist/lerc-loader.d.ts.map +1 -0
- package/dist/lerc-loader.js +56 -0
- package/dist/lib/data-sources/adhoc-image-service.d.ts +24 -0
- package/dist/lib/data-sources/adhoc-image-service.d.ts.map +1 -0
- package/dist/lib/data-sources/adhoc-image-service.js +46 -0
- package/dist/lib/data-sources/arcgis-image-service.d.ts +79 -0
- package/dist/lib/data-sources/arcgis-image-service.d.ts.map +1 -0
- package/dist/lib/data-sources/arcgis-image-service.js +85 -0
- package/dist/lib/data-sources/create-image-source.d.ts +16 -0
- package/dist/lib/data-sources/create-image-source.d.ts.map +1 -0
- package/dist/lib/data-sources/create-image-source.js +39 -0
- package/dist/lib/data-sources/image-services/arcgis-image-service.d.ts +71 -0
- package/dist/lib/data-sources/image-services/arcgis-image-service.d.ts.map +1 -0
- package/dist/lib/data-sources/image-services/arcgis-image-service.js +85 -0
- package/dist/lib/data-sources/image-services/image-service.d.ts +39 -0
- package/dist/lib/data-sources/image-services/image-service.d.ts.map +1 -0
- package/dist/lib/data-sources/image-services/image-service.js +82 -0
- package/dist/lib/data-sources/image-services/wms-service.d.ts +188 -0
- package/dist/lib/data-sources/image-services/wms-service.d.ts.map +1 -0
- package/dist/lib/data-sources/image-services/wms-service.js +218 -0
- package/dist/lib/data-sources/image-source.d.ts +73 -0
- package/dist/lib/data-sources/image-source.d.ts.map +1 -0
- package/dist/lib/data-sources/image-source.js +12 -0
- package/dist/lib/gml/deep-strict-equal.d.ts +3 -0
- package/dist/lib/gml/deep-strict-equal.d.ts.map +1 -0
- package/dist/lib/gml/deep-strict-equal.js +119 -0
- package/dist/lib/gml/parse-gml.d.ts +28 -0
- package/dist/lib/gml/parse-gml.d.ts.map +1 -0
- package/dist/lib/gml/parse-gml.js +371 -0
- package/dist/lib/lerc/lerc-types.d.ts +30 -0
- package/dist/lib/lerc/lerc-types.d.ts.map +1 -0
- package/dist/lib/lerc/lerc-types.js +3 -0
- package/dist/lib/wcs/parse-wcs.d.ts +7 -0
- package/dist/lib/wcs/parse-wcs.d.ts.map +1 -0
- package/dist/lib/wcs/parse-wcs.js +36 -0
- package/dist/lib/wcs/wcs-types.d.ts +73 -0
- package/dist/lib/wcs/wcs-types.d.ts.map +1 -0
- package/dist/lib/wcs/wcs-types.js +3 -0
- package/dist/lib/wfs/parse-wfs.d.ts +7 -0
- package/dist/lib/wfs/parse-wfs.d.ts.map +1 -0
- package/dist/lib/wfs/parse-wfs.js +36 -0
- package/dist/lib/wfs/wfs-types.d.ts +73 -0
- package/dist/lib/wfs/wfs-types.d.ts.map +1 -0
- package/dist/lib/wfs/wfs-types.js +3 -0
- package/dist/lib/wms/parse-wms.d.ts +24 -0
- package/dist/lib/wms/parse-wms.d.ts.map +1 -0
- package/dist/lib/wms/parse-wms.js +115 -0
- package/dist/lib/wms/wms-types.d.ts +100 -0
- package/dist/lib/wms/wms-types.d.ts.map +1 -0
- package/dist/lib/wms/wms-types.js +1908 -0
- package/dist/lib/wmts/parse-wmts.d.ts +7 -0
- package/dist/lib/wmts/parse-wmts.d.ts.map +1 -0
- package/dist/lib/wmts/parse-wmts.js +36 -0
- package/dist/lib/wmts/wmts-types.d.ts +73 -0
- package/dist/lib/wmts/wmts-types.d.ts.map +1 -0
- package/dist/lib/wmts/wmts-types.js +3 -0
- package/dist/wip/arcgis-feature-service.d.ts +56 -0
- package/dist/wip/arcgis-feature-service.d.ts.map +1 -0
- package/dist/wip/arcgis-feature-service.js +28 -0
- package/dist/wip/data-source.d.ts +54 -0
- package/dist/wip/data-source.d.ts.map +1 -0
- package/dist/wip/data-source.js +59 -0
- package/dist/wip/gml-loader.d.ts +26 -0
- package/dist/wip/gml-loader.d.ts.map +1 -0
- package/dist/wip/gml-loader.js +31 -0
- package/dist/wip/wcs-capabilities-loader.d.ts +26 -0
- package/dist/wip/wcs-capabilities-loader.d.ts.map +1 -0
- package/dist/wip/wcs-capabilities-loader.js +31 -0
- package/dist/wip/wfs-capabilities-loader.d.ts +26 -0
- package/dist/wip/wfs-capabilities-loader.d.ts.map +1 -0
- package/dist/wip/wfs-capabilities-loader.js +31 -0
- package/dist/wip/wms-feature-info-loader.d.ts +22 -0
- package/dist/wip/wms-feature-info-loader.d.ts.map +1 -0
- package/dist/wip/wms-feature-info-loader.js +17 -0
- package/dist/wip/wms-layer-description-loader.d.ts +22 -0
- package/dist/wip/wms-layer-description-loader.d.ts.map +1 -0
- package/dist/wip/wms-layer-description-loader.js +17 -0
- package/dist/wip/wmts-capabilities-loader.d.ts +26 -0
- package/dist/wip/wmts-capabilities-loader.d.ts.map +1 -0
- package/dist/wip/wmts-capabilities-loader.js +31 -0
- package/dist/wms-capabilities-loader.d.ts +26 -0
- package/dist/wms-capabilities-loader.d.ts.map +1 -0
- package/dist/wms-capabilities-loader.js +31 -0
- package/dist/wms-error-loader.d.ts +34 -0
- package/dist/wms-error-loader.d.ts.map +1 -0
- package/dist/wms-error-loader.js +43 -0
- package/package.json +17 -6
- package/src/index.ts +51 -6
- package/src/lerc-loader.ts +50 -0
- package/src/lib/data-sources/adhoc-image-service.ts +61 -0
- package/src/lib/data-sources/arcgis-image-service.ts +146 -0
- package/src/lib/data-sources/create-image-source.ts +46 -0
- package/src/lib/data-sources/image-services/arcgis-image-service.ts +136 -0
- package/src/lib/data-sources/image-services/image-service.ts +105 -0
- package/src/lib/data-sources/image-services/wms-service.ts +351 -0
- package/src/lib/data-sources/image-source.ts +82 -0
- package/src/lib/gml/deep-strict-equal.ts +119 -0
- package/src/lib/gml/parse-gml.ts +500 -0
- package/src/lib/lerc/lerc-types.ts +43 -0
- package/src/lib/wcs/parse-wcs.ts +39 -0
- package/src/lib/wcs/wcs-types.ts +77 -0
- package/src/lib/wfs/parse-wfs.ts +39 -0
- package/src/lib/wfs/wfs-types.ts +78 -0
- package/src/lib/{parse-wms.ts → wms/parse-wms.ts} +54 -4
- package/src/{wms-types.ts → lib/wms/wms-types.ts} +3 -1
- package/src/lib/wmts/parse-wmts.ts +39 -0
- package/src/lib/wmts/wmts-types.ts +77 -0
- package/src/wip/arcgis-feature-service.ts +89 -0
- package/src/{lib/data-sources/image-data-source.ts → wip/data-source.ts} +20 -42
- package/src/wip/gml-loader.ts +40 -0
- package/src/wip/wcs-capabilities-loader.ts +40 -0
- package/src/wip/wfs-capabilities-loader.ts +40 -0
- package/src/{wms-feature-info-loader.ts → wip/wms-feature-info-loader.ts} +3 -3
- package/src/wip/wms-layer-description-loader.md.disabled.md +47 -0
- package/src/{wms-layer-description-loader.ts → wip/wms-layer-description-loader.ts} +6 -6
- package/src/wip/wmts-capabilities-loader.ts +40 -0
- package/src/wms-capabilities-loader.ts +2 -2
- package/src/wms-error-loader.ts +59 -0
- package/dist/es5/lib/data-sources/image-data-source.js +0 -4
- package/dist/es5/lib/data-sources/image-data-source.js.map +0 -1
- package/dist/es5/lib/data-sources/wms-data-source.js +0 -223
- package/dist/es5/lib/data-sources/wms-data-source.js.map +0 -1
- package/dist/es5/lib/parse-wms.js.map +0 -1
- package/dist/es5/wms-feature-info-loader.js.map +0 -1
- package/dist/es5/wms-layer-description-loader.js.map +0 -1
- package/dist/es5/wms-types.js.map +0 -1
- package/dist/esm/lib/data-sources/image-data-source.js +0 -2
- package/dist/esm/lib/data-sources/image-data-source.js.map +0 -1
- package/dist/esm/lib/data-sources/wms-data-source.js +0 -70
- package/dist/esm/lib/data-sources/wms-data-source.js.map +0 -1
- package/dist/esm/lib/parse-wms.js.map +0 -1
- package/dist/esm/wms-feature-info-loader.js.map +0 -1
- package/dist/esm/wms-layer-description-loader.js +0 -14
- package/dist/esm/wms-layer-description-loader.js.map +0 -1
- package/dist/esm/wms-types.js.map +0 -1
- package/src/lib/data-sources/wms-data-source.ts +0 -99
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { WMSCapabilities, WMSFeatureInfo, WMSLayerDescription } from './wms-types';
|
|
2
|
+
/**
|
|
3
|
+
* Parses a typed data structure from raw XML for `GetCapabilities` response
|
|
4
|
+
* @note Error handlings is fairly weak
|
|
5
|
+
*/
|
|
6
|
+
export declare function parseWMSCapabilities(text: string, options: any): WMSCapabilities;
|
|
7
|
+
/**
|
|
8
|
+
* Parses a typed data structure from raw XML for `GetFeatureInfo` response
|
|
9
|
+
* @note Error handlings is fairly weak
|
|
10
|
+
*/
|
|
11
|
+
export declare function parseWMSFeatureInfo(text: string, options: any): WMSFeatureInfo;
|
|
12
|
+
/**
|
|
13
|
+
* Parses a typed data structure from raw XML for `GetFeatureInfo` response
|
|
14
|
+
* @note Error handlings is fairly weak
|
|
15
|
+
*/
|
|
16
|
+
export declare function parseWMSLayerDescription(text: string, options: any): WMSLayerDescription;
|
|
17
|
+
/**
|
|
18
|
+
* Extract an error message from WMS error response XML
|
|
19
|
+
* @param text
|
|
20
|
+
* @param options
|
|
21
|
+
* @returns a string with a human readable message
|
|
22
|
+
*/
|
|
23
|
+
export declare function parseWMSError(text: string, options: any): string;
|
|
24
|
+
//# sourceMappingURL=parse-wms.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse-wms.d.ts","sourceRoot":"","sources":["../../../src/lib/wms/parse-wms.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,eAAe,EAGf,cAAc,EACd,mBAAmB,EAGpB,MAAM,aAAa,CAAC;AAMrB;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,KAAA,GAAG,eAAe,CAK3E;AA8DD;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,KAAA,GAAG,cAAc,CASzE;AAcD;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,KAAA,GAAG,mBAAmB,CAInF;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,KAAA,GAAG,MAAM,CAW3D"}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// loaders.gl, MIT license
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.parseWMSError = exports.parseWMSLayerDescription = exports.parseWMSFeatureInfo = exports.parseWMSCapabilities = void 0;
|
|
5
|
+
const xml_1 = require("@loaders.gl/xml");
|
|
6
|
+
// GetCapabilities
|
|
7
|
+
/**
|
|
8
|
+
* Parses a typed data structure from raw XML for `GetCapabilities` response
|
|
9
|
+
* @note Error handlings is fairly weak
|
|
10
|
+
*/
|
|
11
|
+
function parseWMSCapabilities(text, options) {
|
|
12
|
+
const parsedXML = xml_1.XMLLoader.parseTextSync(text, options);
|
|
13
|
+
const xmlCapabilities = parsedXML.WMT_MS_Capabilities || parsedXML.WMS_Capabilities || parsedXML;
|
|
14
|
+
return extractCapabilities(xmlCapabilities);
|
|
15
|
+
}
|
|
16
|
+
exports.parseWMSCapabilities = parseWMSCapabilities;
|
|
17
|
+
/** Extract typed capability data from XML */
|
|
18
|
+
function extractCapabilities(xml) {
|
|
19
|
+
const capabilities = {
|
|
20
|
+
name: xml.Service?.Name || 'unnamed',
|
|
21
|
+
title: xml.Service?.Title,
|
|
22
|
+
keywords: [],
|
|
23
|
+
requests: {},
|
|
24
|
+
layer: extractLayer(xml.Capability?.Layer),
|
|
25
|
+
raw: xml
|
|
26
|
+
};
|
|
27
|
+
for (const keyword of xml.Service?.KeywordList?.Keyword || []) {
|
|
28
|
+
capabilities.keywords.push(keyword);
|
|
29
|
+
}
|
|
30
|
+
for (const [name, xmlRequest] of Object.entries(xml.Capability?.Request || {})) {
|
|
31
|
+
capabilities.requests[name] = extractRequest(name, xmlRequest);
|
|
32
|
+
}
|
|
33
|
+
return capabilities;
|
|
34
|
+
}
|
|
35
|
+
/** Extract typed request data from XML */
|
|
36
|
+
function extractRequest(name, xmlRequest) {
|
|
37
|
+
const format = xmlRequest?.Format;
|
|
38
|
+
const mimeTypes = Array.isArray(format) ? format : [format];
|
|
39
|
+
return { name, mimeTypes };
|
|
40
|
+
}
|
|
41
|
+
/** Extract request data */
|
|
42
|
+
function extractLayer(xmlLayer) {
|
|
43
|
+
const layer = {
|
|
44
|
+
name: xmlLayer?.Name,
|
|
45
|
+
title: xmlLayer?.Title,
|
|
46
|
+
srs: xmlLayer?.SRS || [],
|
|
47
|
+
layers: []
|
|
48
|
+
};
|
|
49
|
+
// Single layer is not represented as array in XML
|
|
50
|
+
const xmlLayers = getXMLArray(xmlLayer?.Layer);
|
|
51
|
+
for (const xmlSubLayer of xmlLayers) {
|
|
52
|
+
layer.layers?.push(extractLayer(xmlSubLayer));
|
|
53
|
+
}
|
|
54
|
+
return layer;
|
|
55
|
+
}
|
|
56
|
+
function getXMLArray(xmlValue) {
|
|
57
|
+
if (Array.isArray(xmlValue)) {
|
|
58
|
+
return xmlValue;
|
|
59
|
+
}
|
|
60
|
+
if (xmlValue) {
|
|
61
|
+
return [xmlValue];
|
|
62
|
+
}
|
|
63
|
+
return [];
|
|
64
|
+
}
|
|
65
|
+
// GetFeatureInfo
|
|
66
|
+
/**
|
|
67
|
+
* Parses a typed data structure from raw XML for `GetFeatureInfo` response
|
|
68
|
+
* @note Error handlings is fairly weak
|
|
69
|
+
*/
|
|
70
|
+
function parseWMSFeatureInfo(text, options) {
|
|
71
|
+
const parsedXML = xml_1.XMLLoader.parseTextSync(text, options);
|
|
72
|
+
const xmlFeatureInfo = parsedXML.FeatureInfoResponse?.FIELDS || [];
|
|
73
|
+
const xmlFeatures = Array.isArray(xmlFeatureInfo) ? xmlFeatureInfo : [xmlFeatureInfo];
|
|
74
|
+
return {
|
|
75
|
+
features: xmlFeatures.map((xmlFeature) => extractFeature(xmlFeature))
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
exports.parseWMSFeatureInfo = parseWMSFeatureInfo;
|
|
79
|
+
function extractFeature(xmlFeature) {
|
|
80
|
+
const xmlFields = xmlFeature || {};
|
|
81
|
+
// TODO - not correct
|
|
82
|
+
return {
|
|
83
|
+
attributes: xmlFields,
|
|
84
|
+
type: '',
|
|
85
|
+
bounds: { bottom: 0, top: 0, left: 0, right: 0 }
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
// GetFeatureInfo
|
|
89
|
+
/**
|
|
90
|
+
* Parses a typed data structure from raw XML for `GetFeatureInfo` response
|
|
91
|
+
* @note Error handlings is fairly weak
|
|
92
|
+
*/
|
|
93
|
+
function parseWMSLayerDescription(text, options) {
|
|
94
|
+
const parsedXML = xml_1.XMLLoader.parseTextSync(text, options);
|
|
95
|
+
// TODO - implement parser
|
|
96
|
+
return parsedXML;
|
|
97
|
+
}
|
|
98
|
+
exports.parseWMSLayerDescription = parseWMSLayerDescription;
|
|
99
|
+
/**
|
|
100
|
+
* Extract an error message from WMS error response XML
|
|
101
|
+
* @param text
|
|
102
|
+
* @param options
|
|
103
|
+
* @returns a string with a human readable message
|
|
104
|
+
*/
|
|
105
|
+
function parseWMSError(text, options) {
|
|
106
|
+
const parsedXML = xml_1.XMLLoader.parseTextSync?.(text, options);
|
|
107
|
+
const serviceExceptionXML = parsedXML?.ServiceExceptionReport?.ServiceException ||
|
|
108
|
+
parsedXML?.['ogc:ServiceExceptionReport']?.['ogc:ServiceException'];
|
|
109
|
+
// Sigh, can be either a string or an object
|
|
110
|
+
const message = typeof serviceExceptionXML === 'string'
|
|
111
|
+
? serviceExceptionXML
|
|
112
|
+
: serviceExceptionXML['#text'] || serviceExceptionXML.code || 'Unknown error';
|
|
113
|
+
return message;
|
|
114
|
+
}
|
|
115
|
+
exports.parseWMSError = parseWMSError;
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
/** All capabilities of a WMS service - response to a WMS `GetCapabilities` data structure extracted from XML */
|
|
2
|
+
export type WMSCapabilities = {
|
|
3
|
+
name: string;
|
|
4
|
+
title?: string;
|
|
5
|
+
abstract?: string;
|
|
6
|
+
keywords: string[];
|
|
7
|
+
layer: {
|
|
8
|
+
name: string;
|
|
9
|
+
title?: string;
|
|
10
|
+
srs?: string[];
|
|
11
|
+
boundingBox?: [number, number, number, number];
|
|
12
|
+
layers: WMSLayer[];
|
|
13
|
+
};
|
|
14
|
+
requests: Record<string, WMSRequest>;
|
|
15
|
+
raw: Record<string, unknown>;
|
|
16
|
+
};
|
|
17
|
+
export type WMSLayer = {
|
|
18
|
+
name: string;
|
|
19
|
+
title?: string;
|
|
20
|
+
srs?: string[];
|
|
21
|
+
boundingBox?: [number, number, number, number];
|
|
22
|
+
layers: WMSLayer[];
|
|
23
|
+
};
|
|
24
|
+
export type WMSRequest = {
|
|
25
|
+
name: string;
|
|
26
|
+
mimeTypes: string[];
|
|
27
|
+
};
|
|
28
|
+
/** WMS Feature info - response to a WMS `GetFeatureInfo` request */
|
|
29
|
+
export type WMSFeatureInfo = {
|
|
30
|
+
features: WMSFeature[];
|
|
31
|
+
};
|
|
32
|
+
export type WMSFeature = {
|
|
33
|
+
attributes: Record<string, number | string>;
|
|
34
|
+
type: string;
|
|
35
|
+
bounds: {
|
|
36
|
+
top: number;
|
|
37
|
+
bottom: number;
|
|
38
|
+
left: number;
|
|
39
|
+
right: number;
|
|
40
|
+
};
|
|
41
|
+
};
|
|
42
|
+
/** Layer description - response to a WMS `DescribeLayer` request */
|
|
43
|
+
export type WMSLayerDescription = {
|
|
44
|
+
layers: {}[];
|
|
45
|
+
};
|
|
46
|
+
/**
|
|
47
|
+
* <EX_GeographicBoundingBox>
|
|
48
|
+
* <westBoundLongitude>-180</westBoundLongitude>
|
|
49
|
+
* <eastBoundLongitude>180</eastBoundLongitude>
|
|
50
|
+
* <southBoundLatitude>-65</southBoundLatitude>
|
|
51
|
+
* <northBoundLatitude>75</northBoundLatitude>
|
|
52
|
+
* </EX_GeographicBoundingBox>
|
|
53
|
+
* <BoundingBox CRS="EPSG:4326"
|
|
54
|
+
* minx="-65" miny="-180" maxx="75" maxy="180" />
|
|
55
|
+
*/
|
|
56
|
+
export type Layer = {
|
|
57
|
+
name: string;
|
|
58
|
+
title: string;
|
|
59
|
+
abstract?: string;
|
|
60
|
+
crs: string;
|
|
61
|
+
queryable?: boolean;
|
|
62
|
+
opaque?: boolean;
|
|
63
|
+
cascaded?: boolean;
|
|
64
|
+
geographicBoundingBox: number[];
|
|
65
|
+
boundingBox: number[];
|
|
66
|
+
boundingBoxCRS: string;
|
|
67
|
+
layers: Layer[];
|
|
68
|
+
};
|
|
69
|
+
/**
|
|
70
|
+
* <Style>
|
|
71
|
+
* <Name>default</Name>
|
|
72
|
+
* <Title>default</Title>
|
|
73
|
+
* <LegendURL width="89" height="21">
|
|
74
|
+
* <Format>image/png</Format>
|
|
75
|
+
* <OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://mapserver.ngdc.noaa.gov/cgi-bin/public/gcv4/?version=1.3.0&service=WMS&request=GetLegendGraphic&sld_version=1.1.0&layer=countries&format=image/png&STYLE=default"/>
|
|
76
|
+
* </LegendURL>
|
|
77
|
+
* </Style>
|
|
78
|
+
*/
|
|
79
|
+
export type Style = {
|
|
80
|
+
name: string;
|
|
81
|
+
title: string;
|
|
82
|
+
legendUrl?: {
|
|
83
|
+
width: number;
|
|
84
|
+
height: number;
|
|
85
|
+
format: string;
|
|
86
|
+
onlineResource: string;
|
|
87
|
+
};
|
|
88
|
+
};
|
|
89
|
+
export type WMSService = {
|
|
90
|
+
rawData: unknown;
|
|
91
|
+
name: string;
|
|
92
|
+
title: string;
|
|
93
|
+
onlineResource?: string;
|
|
94
|
+
contactInformation?: string;
|
|
95
|
+
maxWidth?: number;
|
|
96
|
+
maxHeight?: number;
|
|
97
|
+
capabilities: {};
|
|
98
|
+
untypedData: unknown;
|
|
99
|
+
};
|
|
100
|
+
//# sourceMappingURL=wms-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wms-types.d.ts","sourceRoot":"","sources":["../../../src/lib/wms/wms-types.ts"],"names":[],"mappings":"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"}
|