@loaders.gl/wms 3.3.2 → 3.4.0-alpha.2
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/csw-capabilities-loader.d.ts +29 -0
- package/dist/csw-capabilities-loader.d.ts.map +1 -0
- package/dist/csw-capabilities-loader.js +31 -0
- package/dist/csw-domain-loader.d.ts +28 -0
- package/dist/csw-domain-loader.d.ts.map +1 -0
- package/dist/csw-domain-loader.js +31 -0
- package/dist/csw-records-loader.d.ts +12 -0
- package/dist/csw-records-loader.d.ts.map +1 -0
- package/dist/csw-records-loader.js +30 -0
- package/dist/dist.min.js +3781 -4001
- package/dist/es5/csw-capabilities-loader.js +55 -0
- package/dist/es5/csw-capabilities-loader.js.map +1 -0
- package/dist/es5/csw-domain-loader.js +54 -0
- package/dist/es5/csw-domain-loader.js.map +1 -0
- package/dist/es5/csw-records-loader.js +52 -0
- package/dist/es5/csw-records-loader.js.map +1 -0
- package/dist/es5/{wip/gml-loader.js → gml-loader.js} +3 -3
- package/dist/es5/gml-loader.js.map +1 -0
- package/dist/es5/index.js +43 -8
- package/dist/es5/index.js.map +1 -1
- package/dist/es5/lerc-loader.js +1 -1
- package/dist/es5/lerc-loader.js.map +1 -1
- package/dist/es5/lib/{data-sources/create-image-source.js → create-image-source.js} +4 -4
- package/dist/es5/lib/create-image-source.js.map +1 -0
- package/dist/es5/lib/parsers/csw/parse-csw-capabilities.js +24 -0
- package/dist/es5/lib/parsers/csw/parse-csw-capabilities.js.map +1 -0
- package/dist/es5/lib/parsers/csw/parse-csw-domain.js +42 -0
- package/dist/es5/lib/parsers/csw/parse-csw-domain.js.map +1 -0
- package/dist/es5/lib/parsers/csw/parse-csw-records.js +76 -0
- package/dist/es5/lib/parsers/csw/parse-csw-records.js.map +1 -0
- package/dist/es5/lib/parsers/csw/parse-exception-report.js +18 -0
- package/dist/es5/lib/parsers/csw/parse-exception-report.js.map +1 -0
- package/dist/es5/lib/parsers/gml/deep-strict-equal.js.map +1 -0
- package/dist/es5/lib/parsers/gml/parse-gml.js.map +1 -0
- package/dist/es5/lib/parsers/lerc/lerc-types.js.map +1 -0
- package/dist/es5/lib/{wms/parse-wms.js → parsers/wms/parse-wms-capabilities.js} +1 -42
- package/dist/es5/lib/parsers/wms/parse-wms-capabilities.js.map +1 -0
- package/dist/es5/lib/parsers/wms/parse-wms-error.js +16 -0
- package/dist/es5/lib/parsers/wms/parse-wms-error.js.map +1 -0
- package/dist/es5/lib/parsers/wms/parse-wms-features.js +33 -0
- package/dist/es5/lib/parsers/wms/parse-wms-features.js.map +1 -0
- package/dist/es5/lib/parsers/wms/parse-wms-layer-description.js +13 -0
- package/dist/es5/lib/parsers/wms/parse-wms-layer-description.js.map +1 -0
- package/dist/es5/lib/{data-sources/image-services → services/arcgis}/arcgis-image-service.js +36 -29
- package/dist/es5/lib/services/arcgis/arcgis-image-service.js.map +1 -0
- package/dist/es5/lib/services/arcgis/arcgis-server.js +115 -0
- package/dist/es5/lib/services/arcgis/arcgis-server.js.map +1 -0
- package/dist/es5/lib/{data-sources/adhoc-image-service.js → services/generic/image-service.js} +22 -19
- package/dist/es5/lib/services/generic/image-service.js.map +1 -0
- package/dist/es5/lib/services/generic/tile-service.js +2 -0
- package/dist/es5/lib/services/generic/tile-service.js.map +1 -0
- package/dist/es5/lib/services/ogc/csw-service.js +384 -0
- package/dist/es5/lib/services/ogc/csw-service.js.map +1 -0
- package/dist/es5/lib/{data-sources/image-services → services/ogc}/wms-service.js +163 -115
- package/dist/es5/lib/services/ogc/wms-service.js.map +1 -0
- package/dist/es5/lib/services/ogc/wmts-service.ts.disabled +348 -0
- package/dist/es5/lib/sources/data-source.js +44 -0
- package/dist/es5/lib/sources/data-source.js.map +1 -0
- package/dist/es5/lib/sources/image-source.js +26 -0
- package/dist/es5/lib/sources/image-source.js.map +1 -0
- package/dist/es5/lib/sources/tile-source.js +26 -0
- package/dist/es5/lib/sources/tile-source.js.map +1 -0
- package/dist/es5/lib/sources/utils/utils.js +40 -0
- package/dist/es5/lib/sources/utils/utils.js.map +1 -0
- package/dist/es5/{lib/wfs/parse-wfs.js → wip/lib/wcs/parse-wcs-capabilities.js} +7 -29
- package/dist/es5/wip/lib/wcs/parse-wcs-capabilities.js.map +1 -0
- package/dist/es5/{lib/wcs/parse-wcs.js → wip/lib/wfs/parse-wfs-capabilities.js} +7 -28
- package/dist/es5/wip/lib/wfs/parse-wfs-capabilities.js.map +1 -0
- package/dist/es5/{lib/wmts/parse-wmts.js → wip/lib/wmts/parse-wmts-capabilities.js} +7 -28
- package/dist/es5/wip/lib/wmts/parse-wmts-capabilities.js.map +1 -0
- package/dist/es5/wip/wcs-capabilities-loader.js +4 -4
- package/dist/es5/wip/wcs-capabilities-loader.js.map +1 -1
- package/dist/es5/wip/wfs-capabilities-loader.js +4 -4
- package/dist/es5/wip/wfs-capabilities-loader.js.map +1 -1
- package/dist/es5/wip/wms-feature-info-loader.js +3 -3
- package/dist/es5/wip/wms-feature-info-loader.js.map +1 -1
- package/dist/es5/wip/wms-layer-description-loader.js +3 -3
- package/dist/es5/wip/wms-layer-description-loader.js.map +1 -1
- package/dist/es5/wip/wmts-capabilities-loader.js +10 -4
- package/dist/es5/wip/wmts-capabilities-loader.js.map +1 -1
- package/dist/es5/wms-capabilities-loader.js +5 -4
- package/dist/es5/wms-capabilities-loader.js.map +1 -1
- package/dist/es5/wms-error-loader.js +3 -3
- package/dist/es5/wms-error-loader.js.map +1 -1
- package/dist/esm/csw-capabilities-loader.js +26 -0
- package/dist/esm/csw-capabilities-loader.js.map +1 -0
- package/dist/esm/csw-domain-loader.js +25 -0
- package/dist/esm/csw-domain-loader.js.map +1 -0
- package/dist/esm/csw-records-loader.js +24 -0
- package/dist/esm/csw-records-loader.js.map +1 -0
- package/dist/esm/{wip/gml-loader.js → gml-loader.js} +3 -3
- package/dist/esm/gml-loader.js.map +1 -0
- package/dist/esm/index.js +16 -8
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/lerc-loader.js +1 -1
- package/dist/esm/lerc-loader.js.map +1 -1
- package/dist/esm/lib/{data-sources/create-image-source.js → create-image-source.js} +4 -4
- package/dist/esm/lib/create-image-source.js.map +1 -0
- package/dist/esm/lib/parsers/csw/parse-csw-capabilities.js +19 -0
- package/dist/esm/lib/parsers/csw/parse-csw-capabilities.js.map +1 -0
- package/dist/esm/lib/parsers/csw/parse-csw-domain.js +25 -0
- package/dist/esm/lib/parsers/csw/parse-csw-domain.js.map +1 -0
- package/dist/esm/lib/parsers/csw/parse-csw-records.js +46 -0
- package/dist/esm/lib/parsers/csw/parse-csw-records.js.map +1 -0
- package/dist/esm/lib/parsers/csw/parse-exception-report.js +13 -0
- package/dist/esm/lib/parsers/csw/parse-exception-report.js.map +1 -0
- package/dist/esm/lib/parsers/gml/deep-strict-equal.js.map +1 -0
- package/dist/esm/lib/parsers/gml/parse-gml.js.map +1 -0
- package/dist/esm/lib/parsers/lerc/lerc-types.js.map +1 -0
- package/dist/esm/lib/{wms/parse-wms.js → parsers/wms/parse-wms-capabilities.js} +1 -37
- package/dist/esm/lib/parsers/wms/parse-wms-capabilities.js.map +1 -0
- package/dist/esm/lib/parsers/wms/parse-wms-error.js +12 -0
- package/dist/esm/lib/parsers/wms/parse-wms-error.js.map +1 -0
- package/dist/esm/lib/parsers/wms/parse-wms-features.js +27 -0
- package/dist/esm/lib/parsers/wms/parse-wms-features.js.map +1 -0
- package/dist/esm/lib/parsers/wms/parse-wms-layer-description.js +9 -0
- package/dist/esm/lib/parsers/wms/parse-wms-layer-description.js.map +1 -0
- package/dist/esm/lib/services/arcgis/arcgis-image-service.js +67 -0
- package/dist/esm/lib/services/arcgis/arcgis-image-service.js.map +1 -0
- package/dist/esm/lib/services/arcgis/arcgis-server.js +35 -0
- package/dist/esm/lib/services/arcgis/arcgis-server.js.map +1 -0
- package/dist/esm/lib/{data-sources/adhoc-image-service.js → services/generic/image-service.js} +13 -10
- package/dist/esm/lib/services/generic/image-service.js.map +1 -0
- package/dist/esm/lib/services/generic/tile-service.js +2 -0
- package/dist/esm/lib/services/generic/tile-service.js.map +1 -0
- package/dist/esm/lib/services/ogc/csw-service.js +162 -0
- package/dist/esm/lib/services/ogc/csw-service.js.map +1 -0
- package/dist/esm/lib/{data-sources/image-services → services/ogc}/wms-service.js +40 -34
- package/dist/esm/lib/services/ogc/wms-service.js.map +1 -0
- package/dist/esm/lib/services/ogc/wmts-service.ts.disabled +348 -0
- package/dist/esm/lib/sources/data-source.js +29 -0
- package/dist/esm/lib/sources/data-source.js.map +1 -0
- package/dist/esm/lib/sources/image-source.js +6 -0
- package/dist/esm/lib/sources/image-source.js.map +1 -0
- package/dist/esm/lib/sources/tile-source.js +6 -0
- package/dist/esm/lib/sources/tile-source.js.map +1 -0
- package/dist/esm/lib/sources/utils/utils.js +26 -0
- package/dist/esm/lib/sources/utils/utils.js.map +1 -0
- package/dist/esm/wip/lib/wcs/parse-wcs-capabilities.js +16 -0
- package/dist/esm/wip/lib/wcs/parse-wcs-capabilities.js.map +1 -0
- package/dist/esm/wip/lib/wfs/parse-wfs-capabilities.js +17 -0
- package/dist/esm/wip/lib/wfs/parse-wfs-capabilities.js.map +1 -0
- package/dist/esm/wip/lib/wmts/parse-wmts-capabilities.js +17 -0
- package/dist/esm/wip/lib/wmts/parse-wmts-capabilities.js.map +1 -0
- package/dist/esm/wip/wcs-capabilities-loader.js +4 -4
- package/dist/esm/wip/wcs-capabilities-loader.js.map +1 -1
- package/dist/esm/wip/wfs-capabilities-loader.js +2 -2
- package/dist/esm/wip/wfs-capabilities-loader.js.map +1 -1
- package/dist/esm/wip/wms-feature-info-loader.js +1 -2
- package/dist/esm/wip/wms-feature-info-loader.js.map +1 -1
- package/dist/esm/wip/wms-layer-description-loader.js +1 -2
- package/dist/esm/wip/wms-layer-description-loader.js.map +1 -1
- package/dist/esm/wip/wmts-capabilities-loader.js +4 -2
- package/dist/esm/wip/wmts-capabilities-loader.js.map +1 -1
- package/dist/esm/wms-capabilities-loader.js +3 -2
- package/dist/esm/wms-capabilities-loader.js.map +1 -1
- package/dist/esm/wms-error-loader.js +2 -2
- package/dist/esm/wms-error-loader.js.map +1 -1
- package/dist/gml-loader.d.ts.map +1 -0
- package/dist/{wip/gml-loader.js → gml-loader.js} +2 -2
- package/dist/index.d.ts +25 -16
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +26 -14
- package/dist/lerc-loader.d.ts +1 -1
- package/dist/lerc-loader.d.ts.map +1 -1
- package/dist/lib/create-image-source.d.ts +17 -0
- package/dist/lib/create-image-source.d.ts.map +1 -0
- package/dist/lib/{data-sources/create-image-source.js → create-image-source.js} +5 -5
- package/dist/lib/{wmts/wmts-types.d.ts → parsers/csw/parse-csw-capabilities.d.ts} +9 -3
- package/dist/lib/parsers/csw/parse-csw-capabilities.d.ts.map +1 -0
- package/dist/lib/parsers/csw/parse-csw-capabilities.js +24 -0
- package/dist/lib/parsers/csw/parse-csw-domain.d.ts +17 -0
- package/dist/lib/parsers/csw/parse-csw-domain.d.ts.map +1 -0
- package/dist/lib/parsers/csw/parse-csw-domain.js +33 -0
- package/dist/lib/parsers/csw/parse-csw-records.d.ts +33 -0
- package/dist/lib/parsers/csw/parse-csw-records.d.ts.map +1 -0
- package/dist/lib/parsers/csw/parse-csw-records.js +58 -0
- package/dist/lib/parsers/csw/parse-exception-report.d.ts +6 -0
- package/dist/lib/parsers/csw/parse-exception-report.d.ts.map +1 -0
- package/dist/lib/parsers/csw/parse-exception-report.js +30 -0
- package/dist/lib/parsers/gml/deep-strict-equal.d.ts.map +1 -0
- package/dist/lib/parsers/gml/parse-gml.d.ts.map +1 -0
- package/dist/lib/parsers/lerc/lerc-types.d.ts.map +1 -0
- package/dist/lib/{wms/wms-types.d.ts → parsers/wms/parse-wms-capabilities.d.ts} +6 -19
- package/dist/lib/parsers/wms/parse-wms-capabilities.d.ts.map +1 -0
- package/dist/lib/{wms/wms-types.js → parsers/wms/parse-wms-capabilities.js} +61 -1
- package/dist/lib/parsers/wms/parse-wms-error.d.ts +8 -0
- package/dist/lib/parsers/wms/parse-wms-error.d.ts.map +1 -0
- package/dist/lib/parsers/wms/parse-wms-error.js +22 -0
- package/dist/lib/parsers/wms/parse-wms-features.d.ts +20 -0
- package/dist/lib/parsers/wms/parse-wms-features.d.ts.map +1 -0
- package/dist/lib/parsers/wms/parse-wms-features.js +27 -0
- package/dist/lib/parsers/wms/parse-wms-layer-description.d.ts +10 -0
- package/dist/lib/parsers/wms/parse-wms-layer-description.d.ts.map +1 -0
- package/dist/lib/parsers/wms/parse-wms-layer-description.js +15 -0
- package/dist/lib/{data-sources/image-services → services/arcgis}/arcgis-image-service.d.ts +25 -13
- package/dist/lib/services/arcgis/arcgis-image-service.d.ts.map +1 -0
- package/dist/lib/{data-sources → services/arcgis}/arcgis-image-service.js +33 -23
- package/dist/lib/services/arcgis/arcgis-server.d.ts +15 -0
- package/dist/lib/services/arcgis/arcgis-server.d.ts.map +1 -0
- package/dist/lib/services/arcgis/arcgis-server.js +42 -0
- package/dist/lib/{data-sources/image-services → services/generic}/image-service.d.ts +3 -13
- package/dist/lib/services/generic/image-service.d.ts.map +1 -0
- package/dist/lib/{data-sources/adhoc-image-service.js → services/generic/image-service.js} +12 -10
- package/dist/lib/services/generic/tile-service.d.ts +1 -0
- package/dist/lib/services/generic/tile-service.d.ts.map +1 -0
- package/dist/lib/services/generic/tile-service.js +1 -0
- package/dist/lib/services/ogc/csw-service.d.ts +115 -0
- package/dist/lib/services/ogc/csw-service.d.ts.map +1 -0
- package/dist/lib/services/ogc/csw-service.js +170 -0
- package/dist/lib/{data-sources/image-services → services/ogc}/wms-service.d.ts +41 -22
- package/dist/lib/services/ogc/wms-service.d.ts.map +1 -0
- package/dist/lib/{data-sources/image-services → services/ogc}/wms-service.js +41 -28
- package/dist/lib/sources/data-source.d.ts +22 -0
- package/dist/lib/sources/data-source.d.ts.map +1 -0
- package/dist/lib/sources/data-source.js +34 -0
- package/dist/lib/{data-sources → sources}/image-source.d.ts +4 -1
- package/dist/lib/sources/image-source.d.ts.map +1 -0
- package/dist/lib/{data-sources → sources}/image-source.js +2 -1
- package/dist/lib/sources/tile-source.d.ts +54 -0
- package/dist/lib/sources/tile-source.d.ts.map +1 -0
- package/dist/lib/sources/tile-source.js +13 -0
- package/dist/lib/sources/utils/utils.d.ts +13 -0
- package/dist/lib/sources/utils/utils.d.ts.map +1 -0
- package/dist/lib/sources/utils/utils.js +38 -0
- package/dist/{lib/wfs/wfs-types.d.ts → wip/lib/wcs/parse-wcs-capabilities.d.ts} +8 -3
- package/dist/wip/lib/wcs/parse-wcs-capabilities.d.ts.map +1 -0
- package/dist/wip/lib/wcs/parse-wcs-capabilities.js +15 -0
- package/dist/{lib/wcs/wcs-types.d.ts → wip/lib/wfs/parse-wfs-capabilities.d.ts} +6 -1
- package/dist/wip/lib/wfs/parse-wfs-capabilities.d.ts.map +1 -0
- package/dist/wip/lib/wfs/parse-wfs-capabilities.js +19 -0
- package/dist/wip/lib/wmts/parse-wmts-capabilities.d.ts +87 -0
- package/dist/wip/lib/wmts/parse-wmts-capabilities.d.ts.map +1 -0
- package/dist/wip/lib/wmts/parse-wmts-capabilities.js +77 -0
- package/dist/wip/wcs-capabilities-loader.d.ts +4 -3
- package/dist/wip/wcs-capabilities-loader.d.ts.map +1 -1
- package/dist/wip/wcs-capabilities-loader.js +3 -3
- package/dist/wip/wfs-capabilities-loader.d.ts +4 -3
- package/dist/wip/wfs-capabilities-loader.d.ts.map +1 -1
- package/dist/wip/wfs-capabilities-loader.js +3 -3
- package/dist/wip/wms-feature-info-loader.d.ts +4 -2
- package/dist/wip/wms-feature-info-loader.d.ts.map +1 -1
- package/dist/wip/wms-feature-info-loader.js +3 -3
- package/dist/wip/wms-layer-description-loader.d.ts +5 -3
- package/dist/wip/wms-layer-description-loader.d.ts.map +1 -1
- package/dist/wip/wms-layer-description-loader.js +3 -3
- package/dist/wip/wmts-capabilities-loader.d.ts +4 -3
- package/dist/wip/wmts-capabilities-loader.d.ts.map +1 -1
- package/dist/wip/wmts-capabilities-loader.js +3 -3
- package/dist/wms-capabilities-loader.d.ts +4 -3
- package/dist/wms-capabilities-loader.d.ts.map +1 -1
- package/dist/wms-capabilities-loader.js +3 -3
- package/dist/wms-error-loader.js +2 -2
- package/package.json +7 -7
- package/src/csw-capabilities-loader.ts +46 -0
- package/src/csw-domain-loader.ts +44 -0
- package/src/csw-records-loader.ts +42 -0
- package/src/{wip/gml-loader.ts → gml-loader.ts} +2 -2
- package/src/index.ts +48 -28
- package/src/lerc-loader.ts +1 -1
- package/src/lib/{data-sources/create-image-source.ts → create-image-source.ts} +12 -10
- package/src/lib/parsers/csw/parse-csw-capabilities.ts +103 -0
- package/src/lib/parsers/csw/parse-csw-domain.ts +45 -0
- package/src/lib/parsers/csw/parse-csw-records.ts +90 -0
- package/src/lib/parsers/csw/parse-exception-report.ts +31 -0
- package/src/lib/{wms/wms-types.ts → parsers/wms/parse-wms-capabilities.ts} +72 -53
- package/src/lib/parsers/wms/parse-wms-error.ts +22 -0
- package/src/lib/parsers/wms/parse-wms-features.ts +39 -0
- package/src/lib/parsers/wms/parse-wms-layer-description.ts +18 -0
- package/src/lib/{data-sources/image-services → services/arcgis}/arcgis-image-service.ts +44 -26
- package/src/lib/services/arcgis/arcgis-server.ts +59 -0
- package/src/lib/{data-sources/adhoc-image-service.ts → services/generic/image-service.ts} +18 -12
- package/src/lib/services/generic/tile-service.ts +0 -0
- package/src/lib/services/ogc/csw-service.ts +251 -0
- package/src/lib/{data-sources/image-services → services/ogc}/wms-service.ts +73 -34
- package/src/lib/services/ogc/wmts-service.ts.disabled +348 -0
- package/src/lib/sources/data-source.ts +46 -0
- package/src/lib/{data-sources → sources}/image-source.ts +5 -1
- package/src/lib/sources/tile-source.ts +59 -0
- package/src/lib/sources/utils/utils.ts +42 -0
- package/src/{lib/wmts/wmts-types.ts → wip/lib/wcs/parse-wcs-capabilities.ts} +15 -3
- package/src/{lib/wcs/wcs-types.ts → wip/lib/wfs/parse-wfs-capabilities.ts} +18 -1
- package/src/wip/lib/wmts/parse-wmts-capabilities.ts +170 -0
- package/src/wip/wcs-capabilities-loader.ts +6 -3
- package/src/wip/wfs-capabilities-loader.ts +4 -1
- package/src/wip/wms-feature-info-loader.ts +5 -1
- package/src/wip/wms-layer-description-loader.ts +7 -2
- package/src/wip/wmts-capabilities-loader.ts +4 -1
- package/src/wms-capabilities-loader.ts +5 -1
- package/src/wms-error-loader.ts +1 -1
- package/dist/es5/lib/data-sources/adhoc-image-service.js.map +0 -1
- package/dist/es5/lib/data-sources/arcgis-image-service.js +0 -180
- package/dist/es5/lib/data-sources/arcgis-image-service.js.map +0 -1
- package/dist/es5/lib/data-sources/create-image-source.js.map +0 -1
- package/dist/es5/lib/data-sources/image-services/arcgis-image-service.js.map +0 -1
- package/dist/es5/lib/data-sources/image-services/image-service.js +0 -163
- package/dist/es5/lib/data-sources/image-services/image-service.js.map +0 -1
- package/dist/es5/lib/data-sources/image-services/wms-service.js.map +0 -1
- package/dist/es5/lib/data-sources/image-source.js +0 -14
- package/dist/es5/lib/data-sources/image-source.js.map +0 -1
- package/dist/es5/lib/gml/deep-strict-equal.js.map +0 -1
- package/dist/es5/lib/gml/parse-gml.js.map +0 -1
- package/dist/es5/lib/lerc/lerc-types.js.map +0 -1
- package/dist/es5/lib/wcs/parse-wcs.js.map +0 -1
- package/dist/es5/lib/wcs/wcs-types.js +0 -2
- package/dist/es5/lib/wcs/wcs-types.js.map +0 -1
- package/dist/es5/lib/wfs/parse-wfs.js.map +0 -1
- package/dist/es5/lib/wfs/wfs-types.js +0 -2
- package/dist/es5/lib/wfs/wfs-types.js.map +0 -1
- package/dist/es5/lib/wms/parse-wms.js.map +0 -1
- package/dist/es5/lib/wms/wms-types.js +0 -2
- package/dist/es5/lib/wms/wms-types.js.map +0 -1
- package/dist/es5/lib/wmts/parse-wmts.js.map +0 -1
- package/dist/es5/lib/wmts/wmts-types.js +0 -2
- package/dist/es5/lib/wmts/wmts-types.js.map +0 -1
- package/dist/es5/wip/gml-loader.js.map +0 -1
- package/dist/esm/lib/data-sources/adhoc-image-service.js.map +0 -1
- package/dist/esm/lib/data-sources/arcgis-image-service.js +0 -62
- package/dist/esm/lib/data-sources/arcgis-image-service.js.map +0 -1
- package/dist/esm/lib/data-sources/create-image-source.js.map +0 -1
- package/dist/esm/lib/data-sources/image-services/arcgis-image-service.js +0 -61
- package/dist/esm/lib/data-sources/image-services/arcgis-image-service.js.map +0 -1
- package/dist/esm/lib/data-sources/image-services/image-service.js +0 -72
- package/dist/esm/lib/data-sources/image-services/image-service.js.map +0 -1
- package/dist/esm/lib/data-sources/image-services/wms-service.js.map +0 -1
- package/dist/esm/lib/data-sources/image-source.js +0 -4
- package/dist/esm/lib/data-sources/image-source.js.map +0 -1
- package/dist/esm/lib/gml/deep-strict-equal.js.map +0 -1
- package/dist/esm/lib/gml/parse-gml.js.map +0 -1
- package/dist/esm/lib/lerc/lerc-types.js.map +0 -1
- package/dist/esm/lib/wcs/parse-wcs.js +0 -32
- package/dist/esm/lib/wcs/parse-wcs.js.map +0 -1
- package/dist/esm/lib/wcs/wcs-types.js +0 -2
- package/dist/esm/lib/wcs/wcs-types.js.map +0 -1
- package/dist/esm/lib/wfs/parse-wfs.js +0 -32
- package/dist/esm/lib/wfs/parse-wfs.js.map +0 -1
- package/dist/esm/lib/wfs/wfs-types.js +0 -2
- package/dist/esm/lib/wfs/wfs-types.js.map +0 -1
- package/dist/esm/lib/wms/parse-wms.js.map +0 -1
- package/dist/esm/lib/wms/wms-types.js +0 -2
- package/dist/esm/lib/wms/wms-types.js.map +0 -1
- package/dist/esm/lib/wmts/parse-wmts.js +0 -32
- package/dist/esm/lib/wmts/parse-wmts.js.map +0 -1
- package/dist/esm/lib/wmts/wmts-types.js +0 -2
- package/dist/esm/lib/wmts/wmts-types.js.map +0 -1
- package/dist/esm/wip/gml-loader.js.map +0 -1
- package/dist/lib/data-sources/adhoc-image-service.d.ts +0 -24
- package/dist/lib/data-sources/adhoc-image-service.d.ts.map +0 -1
- package/dist/lib/data-sources/arcgis-image-service.d.ts +0 -79
- package/dist/lib/data-sources/arcgis-image-service.d.ts.map +0 -1
- package/dist/lib/data-sources/create-image-source.d.ts +0 -16
- package/dist/lib/data-sources/create-image-source.d.ts.map +0 -1
- package/dist/lib/data-sources/image-services/arcgis-image-service.d.ts.map +0 -1
- package/dist/lib/data-sources/image-services/arcgis-image-service.js +0 -85
- package/dist/lib/data-sources/image-services/image-service.d.ts.map +0 -1
- package/dist/lib/data-sources/image-services/image-service.js +0 -82
- package/dist/lib/data-sources/image-services/wms-service.d.ts.map +0 -1
- package/dist/lib/data-sources/image-source.d.ts.map +0 -1
- package/dist/lib/gml/deep-strict-equal.d.ts.map +0 -1
- package/dist/lib/gml/parse-gml.d.ts.map +0 -1
- package/dist/lib/lerc/lerc-types.d.ts.map +0 -1
- package/dist/lib/wcs/parse-wcs.d.ts +0 -7
- package/dist/lib/wcs/parse-wcs.d.ts.map +0 -1
- package/dist/lib/wcs/parse-wcs.js +0 -36
- package/dist/lib/wcs/wcs-types.d.ts.map +0 -1
- package/dist/lib/wcs/wcs-types.js +0 -3
- package/dist/lib/wfs/parse-wfs.d.ts +0 -7
- package/dist/lib/wfs/parse-wfs.d.ts.map +0 -1
- package/dist/lib/wfs/parse-wfs.js +0 -36
- package/dist/lib/wfs/wfs-types.d.ts.map +0 -1
- package/dist/lib/wfs/wfs-types.js +0 -3
- package/dist/lib/wms/parse-wms.d.ts +0 -24
- package/dist/lib/wms/parse-wms.d.ts.map +0 -1
- package/dist/lib/wms/parse-wms.js +0 -115
- package/dist/lib/wms/wms-types.d.ts.map +0 -1
- package/dist/lib/wmts/parse-wmts.d.ts +0 -7
- package/dist/lib/wmts/parse-wmts.d.ts.map +0 -1
- package/dist/lib/wmts/parse-wmts.js +0 -36
- package/dist/lib/wmts/wmts-types.d.ts.map +0 -1
- package/dist/lib/wmts/wmts-types.js +0 -3
- package/dist/wip/gml-loader.d.ts.map +0 -1
- package/src/lib/data-sources/arcgis-image-service.ts +0 -146
- package/src/lib/data-sources/image-services/image-service.ts +0 -105
- package/src/lib/wcs/parse-wcs.ts +0 -39
- package/src/lib/wfs/parse-wfs.ts +0 -39
- package/src/lib/wfs/wfs-types.ts +0 -78
- package/src/lib/wms/parse-wms.ts +0 -142
- package/src/lib/wmts/parse-wmts.ts +0 -39
- /package/dist/es5/lib/{gml → parsers/gml}/deep-strict-equal.js +0 -0
- /package/dist/es5/lib/{gml → parsers/gml}/parse-gml.js +0 -0
- /package/dist/es5/lib/{lerc → parsers/lerc}/lerc-types.js +0 -0
- /package/dist/esm/lib/{gml → parsers/gml}/deep-strict-equal.js +0 -0
- /package/dist/esm/lib/{gml → parsers/gml}/parse-gml.js +0 -0
- /package/dist/esm/lib/{lerc → parsers/lerc}/lerc-types.js +0 -0
- /package/dist/{wip/gml-loader.d.ts → gml-loader.d.ts} +0 -0
- /package/dist/lib/{gml → parsers/gml}/deep-strict-equal.d.ts +0 -0
- /package/dist/lib/{gml → parsers/gml}/deep-strict-equal.js +0 -0
- /package/dist/lib/{gml → parsers/gml}/parse-gml.d.ts +0 -0
- /package/dist/lib/{gml → parsers/gml}/parse-gml.js +0 -0
- /package/dist/lib/{lerc → parsers/lerc}/lerc-types.d.ts +0 -0
- /package/dist/lib/{lerc → parsers/lerc}/lerc-types.js +0 -0
- /package/src/lib/{gml → parsers/gml}/deep-strict-equal.ts +0 -0
- /package/src/lib/{gml → parsers/gml}/parse-gml.ts +0 -0
- /package/src/lib/{lerc → parsers/lerc}/lerc-types.ts +0 -0
|
@@ -0,0 +1,251 @@
|
|
|
1
|
+
// loaders.gl, MIT license
|
|
2
|
+
|
|
3
|
+
/* eslint-disable camelcase */
|
|
4
|
+
|
|
5
|
+
import type {DataSourceProps} from '../../sources/data-source';
|
|
6
|
+
import {DataSource} from '../../sources/data-source';
|
|
7
|
+
|
|
8
|
+
import type {CSWCapabilities} from '../../../csw-capabilities-loader';
|
|
9
|
+
import {CSWCapabilitiesLoader} from '../../../csw-capabilities-loader';
|
|
10
|
+
|
|
11
|
+
import type {CSWRecords} from '../../../csw-records-loader';
|
|
12
|
+
import {CSWRecordsLoader} from '../../../csw-records-loader';
|
|
13
|
+
|
|
14
|
+
import type {CSWDomain} from '../../../csw-domain-loader';
|
|
15
|
+
import {CSWDomainLoader} from '../../../csw-domain-loader';
|
|
16
|
+
|
|
17
|
+
import {WMSErrorLoader as CSWErrorLoader} from '../../../wms-error-loader';
|
|
18
|
+
|
|
19
|
+
type CSWCommonParameters = {
|
|
20
|
+
/** In case the endpoint supports multiple services */
|
|
21
|
+
service?: 'CSW';
|
|
22
|
+
/** In case the endpoint supports multiple CSW versions */
|
|
23
|
+
version?: '1.1.1' | '2.0.0' | '2.0.1' | '3.0.0' | '3.0.0';
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
export type CSWGetCapabilitiesParameters = CSWCommonParameters & {
|
|
27
|
+
/** Request type */
|
|
28
|
+
request?: 'GetCapabilities';
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
export type CSWGetRecordsParameters = CSWCommonParameters & {
|
|
32
|
+
/** Request type */
|
|
33
|
+
request?: 'GetRecords';
|
|
34
|
+
/** type of records */
|
|
35
|
+
typenames: 'csw:Record';
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
export type CSWGetDomainParameters = CSWCommonParameters & {
|
|
39
|
+
/** Request type */
|
|
40
|
+
request?: 'GetDomain';
|
|
41
|
+
// TBA
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
export type Service = {name: string; type: string; url: string; params?: string; scheme?: string};
|
|
45
|
+
|
|
46
|
+
export type CSWServiceProps = DataSourceProps & {
|
|
47
|
+
url: string;
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* The CSWService class provides
|
|
52
|
+
* - provides type safe methods to form URLs to a CSW service
|
|
53
|
+
* - provides type safe methods to query and parse results (and errors) from a CSW service
|
|
54
|
+
* - implements the ImageService interface
|
|
55
|
+
* @note Only the URL parameter conversion is supported. XML posts are not supported.
|
|
56
|
+
*/
|
|
57
|
+
export class CSWService extends DataSource {
|
|
58
|
+
static type: 'csw' = 'csw';
|
|
59
|
+
static testURL = (url: string): boolean => url.toLowerCase().includes('csw');
|
|
60
|
+
|
|
61
|
+
props: CSWServiceProps;
|
|
62
|
+
capabilities: CSWCapabilities | null = null;
|
|
63
|
+
|
|
64
|
+
/** A list of loaders used by the CSWService methods */
|
|
65
|
+
readonly loaders = [CSWErrorLoader, CSWCapabilitiesLoader];
|
|
66
|
+
|
|
67
|
+
/** Create a CSWService */
|
|
68
|
+
constructor(props: CSWServiceProps) {
|
|
69
|
+
super(props);
|
|
70
|
+
this.props = props;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
async getMetadata(): Promise<CSWCapabilities> {
|
|
74
|
+
const capabilities = await this.getCapabilities();
|
|
75
|
+
return this.normalizeMetadata(capabilities);
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
normalizeMetadata(capabilities: CSWCapabilities): CSWCapabilities {
|
|
79
|
+
return capabilities;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
async getServiceDirectory(options: {includeUnknown?: boolean}): Promise<Service[]> {
|
|
83
|
+
const services: Service[] = [];
|
|
84
|
+
const unknownServices: Service[] = [];
|
|
85
|
+
|
|
86
|
+
const records = await this.getRecords();
|
|
87
|
+
for (const record of records.records) {
|
|
88
|
+
for (const reference of record.references) {
|
|
89
|
+
const url = reference.value;
|
|
90
|
+
switch (reference.scheme) {
|
|
91
|
+
case 'OGC:WMS':
|
|
92
|
+
services.push({name: record.title, type: 'ogc-wms-service', ...this._parseOGCUrl(url)});
|
|
93
|
+
break;
|
|
94
|
+
case 'OGC:WMTS':
|
|
95
|
+
services.push({
|
|
96
|
+
name: record.title,
|
|
97
|
+
type: 'ogc-wmts-service',
|
|
98
|
+
...this._parseOGCUrl(url)
|
|
99
|
+
});
|
|
100
|
+
break;
|
|
101
|
+
case 'OGC:WFS':
|
|
102
|
+
services.push({name: record.title, type: 'ogc-wfs-service', ...this._parseOGCUrl(url)});
|
|
103
|
+
break;
|
|
104
|
+
default:
|
|
105
|
+
unknownServices.push({
|
|
106
|
+
name: record.title,
|
|
107
|
+
type: 'unknown',
|
|
108
|
+
url: reference.value,
|
|
109
|
+
scheme: reference.scheme
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
return options?.includeUnknown ? services.concat(unknownServices) : services;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
_parseOGCUrl(url: string): {url: string; params: string} {
|
|
119
|
+
const parts = url.split('?');
|
|
120
|
+
return {
|
|
121
|
+
url: parts[0],
|
|
122
|
+
params: parts[1] || ''
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
// CSW Service API Stubs
|
|
127
|
+
|
|
128
|
+
/** Get Capabilities */
|
|
129
|
+
async getCapabilities(
|
|
130
|
+
wmsParameters?: CSWGetCapabilitiesParameters,
|
|
131
|
+
vendorParameters?: Record<string, unknown>
|
|
132
|
+
): Promise<CSWCapabilities> {
|
|
133
|
+
const url = this.getCapabilitiesURL(wmsParameters, vendorParameters);
|
|
134
|
+
const response = await this.fetch(url);
|
|
135
|
+
const arrayBuffer = await response.arrayBuffer();
|
|
136
|
+
this._checkResponse(response, arrayBuffer);
|
|
137
|
+
const capabilities = await CSWCapabilitiesLoader.parse(arrayBuffer, this.props.loadOptions);
|
|
138
|
+
return capabilities;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
/** Get Records */
|
|
142
|
+
async getRecords(
|
|
143
|
+
wmsParameters?: CSWGetRecordsParameters,
|
|
144
|
+
vendorParameters?: Record<string, unknown>
|
|
145
|
+
): Promise<CSWRecords> {
|
|
146
|
+
const url = this.getRecordsURL(wmsParameters, vendorParameters);
|
|
147
|
+
const response = await this.fetch(url);
|
|
148
|
+
const arrayBuffer = await response.arrayBuffer();
|
|
149
|
+
this._checkResponse(response, arrayBuffer);
|
|
150
|
+
return await CSWRecordsLoader.parse(arrayBuffer, this.props.loadOptions);
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
/** Get Domain */
|
|
154
|
+
async getDomain(
|
|
155
|
+
wmsParameters?: CSWGetDomainParameters,
|
|
156
|
+
vendorParameters?: Record<string, unknown>
|
|
157
|
+
): Promise<CSWDomain> {
|
|
158
|
+
const url = this.getDomainURL(wmsParameters, vendorParameters);
|
|
159
|
+
const response = await this.fetch(url);
|
|
160
|
+
const arrayBuffer = await response.arrayBuffer();
|
|
161
|
+
this._checkResponse(response, arrayBuffer);
|
|
162
|
+
return await CSWDomainLoader.parse(arrayBuffer, this.props.loadOptions);
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
// Typed URL creators
|
|
166
|
+
// For applications that want full control of fetching and parsing
|
|
167
|
+
|
|
168
|
+
/** Generate a URL for the GetCapabilities request */
|
|
169
|
+
getCapabilitiesURL(
|
|
170
|
+
wmsParameters?: CSWGetCapabilitiesParameters,
|
|
171
|
+
vendorParameters?: Record<string, unknown>
|
|
172
|
+
): string {
|
|
173
|
+
const options: Required<CSWGetCapabilitiesParameters> = {
|
|
174
|
+
version: '3.0.0',
|
|
175
|
+
...wmsParameters,
|
|
176
|
+
...vendorParameters,
|
|
177
|
+
service: 'CSW',
|
|
178
|
+
request: 'GetCapabilities'
|
|
179
|
+
};
|
|
180
|
+
return this._getCSWUrl(options, vendorParameters);
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
/** Generate a URL for the GetCapabilities request */
|
|
184
|
+
getRecordsURL(
|
|
185
|
+
wmsParameters?: CSWGetRecordsParameters,
|
|
186
|
+
vendorParameters?: Record<string, unknown>
|
|
187
|
+
): string {
|
|
188
|
+
const options: Required<CSWGetRecordsParameters> = {
|
|
189
|
+
version: '3.0.0',
|
|
190
|
+
typenames: 'csw:Record',
|
|
191
|
+
...wmsParameters,
|
|
192
|
+
...vendorParameters,
|
|
193
|
+
service: 'CSW',
|
|
194
|
+
request: 'GetRecords'
|
|
195
|
+
};
|
|
196
|
+
return this._getCSWUrl(options, vendorParameters);
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
/** Generate a URL for the GetCapabilities request */
|
|
200
|
+
getDomainURL(
|
|
201
|
+
wmsParameters?: CSWGetDomainParameters,
|
|
202
|
+
vendorParameters?: Record<string, unknown>
|
|
203
|
+
): string {
|
|
204
|
+
const options: Required<CSWGetDomainParameters> = {
|
|
205
|
+
version: '3.0.0',
|
|
206
|
+
...wmsParameters,
|
|
207
|
+
...vendorParameters,
|
|
208
|
+
service: 'CSW',
|
|
209
|
+
request: 'GetDomain'
|
|
210
|
+
};
|
|
211
|
+
return this._getCSWUrl(options, vendorParameters);
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
// INTERNAL METHODS
|
|
215
|
+
|
|
216
|
+
/**
|
|
217
|
+
* @note case _getCSWUrl may need to be overridden to handle certain backends?
|
|
218
|
+
* */
|
|
219
|
+
protected _getCSWUrl(
|
|
220
|
+
options: Record<string, unknown>,
|
|
221
|
+
vendorParameters?: Record<string, unknown>
|
|
222
|
+
): string {
|
|
223
|
+
let url = this.props.url;
|
|
224
|
+
let first = true;
|
|
225
|
+
for (const [key, value] of Object.entries(options)) {
|
|
226
|
+
url += first ? '?' : '&';
|
|
227
|
+
first = false;
|
|
228
|
+
if (Array.isArray(value)) {
|
|
229
|
+
url += `${key.toUpperCase()}=${value.join(',')}`;
|
|
230
|
+
} else {
|
|
231
|
+
url += `${key.toUpperCase()}=${value ? String(value) : ''}`;
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
return encodeURI(url);
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
/** Checks for and parses a CSW XML formatted ServiceError and throws an exception */
|
|
238
|
+
protected _checkResponse(response: Response, arrayBuffer: ArrayBuffer): void {
|
|
239
|
+
const contentType = response.headers['content-type'];
|
|
240
|
+
if (!response.ok || CSWErrorLoader.mimeTypes.includes(contentType)) {
|
|
241
|
+
const error = CSWErrorLoader.parseSync(arrayBuffer, this.props.loadOptions);
|
|
242
|
+
throw new Error(error);
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
/** Error situation detected */
|
|
247
|
+
protected _parseError(arrayBuffer: ArrayBuffer): Error {
|
|
248
|
+
const error = CSWErrorLoader.parseSync(arrayBuffer, this.props.loadOptions);
|
|
249
|
+
return new Error(error);
|
|
250
|
+
}
|
|
251
|
+
}
|
|
@@ -4,15 +4,21 @@
|
|
|
4
4
|
|
|
5
5
|
import type {ImageType} from '@loaders.gl/images';
|
|
6
6
|
import {ImageLoader} from '@loaders.gl/images';
|
|
7
|
+
import {mergeLoaderOptions} from '@loaders.gl/loader-utils';
|
|
7
8
|
|
|
8
|
-
import type {ImageSourceMetadata, GetImageParameters} from '
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
9
|
+
import type {ImageSourceMetadata, GetImageParameters} from '../../sources/image-source';
|
|
10
|
+
import type {ImageSourceProps} from '../../sources/image-source';
|
|
11
|
+
import {ImageSource} from '../../sources/image-source';
|
|
12
|
+
|
|
13
|
+
import type {WMSCapabilities} from '../../../wms-capabilities-loader';
|
|
14
|
+
import type {WMSFeatureInfo} from '../../../wip/wms-feature-info-loader';
|
|
15
|
+
import type {WMSLayerDescription} from '../../../wip/wms-layer-description-loader';
|
|
11
16
|
|
|
12
|
-
import type {WMSCapabilities, WMSFeatureInfo, WMSLayerDescription} from '../../wms/wms-types';
|
|
13
17
|
import {WMSCapabilitiesLoader} from '../../../wms-capabilities-loader';
|
|
14
18
|
import {WMSFeatureInfoLoader} from '../../../wip/wms-feature-info-loader';
|
|
15
19
|
import {WMSLayerDescriptionLoader} from '../../../wip/wms-layer-description-loader';
|
|
20
|
+
|
|
21
|
+
import type {WMSLoaderOptions} from '../../../wms-error-loader';
|
|
16
22
|
import {WMSErrorLoader} from '../../../wms-error-loader';
|
|
17
23
|
|
|
18
24
|
type WMSCommonParameters = {
|
|
@@ -57,7 +63,7 @@ export type WMSGetFeatureInfoParameters = WMSCommonParameters & {
|
|
|
57
63
|
y: number;
|
|
58
64
|
/** list of layers to query (could be different from rendered layers) */
|
|
59
65
|
query_layers: string[];
|
|
60
|
-
/** MIME type of returned feature info */
|
|
66
|
+
/** Requested MIME type of returned feature info */
|
|
61
67
|
info_format?: 'text/plain' | 'application/vnd.ogc.gml';
|
|
62
68
|
|
|
63
69
|
/** Layers to render */
|
|
@@ -86,6 +92,24 @@ export type WMSGetLegendGraphicParameters = WMSCommonParameters & {
|
|
|
86
92
|
request?: 'GetLegendGraphic';
|
|
87
93
|
};
|
|
88
94
|
|
|
95
|
+
/** Properties for initializing a WMS service */
|
|
96
|
+
export type WMSServiceProps = ImageSourceProps & {
|
|
97
|
+
/** Base URL to the service */
|
|
98
|
+
url: string;
|
|
99
|
+
/** WMS version */
|
|
100
|
+
version?: '1.1.1' | '1.3.0';
|
|
101
|
+
/** Layers to render */
|
|
102
|
+
layers?: string[];
|
|
103
|
+
/** SRS for the image (not the bounding box) */
|
|
104
|
+
srs?: string;
|
|
105
|
+
/** Requested format for the return image */
|
|
106
|
+
format?: 'image/png';
|
|
107
|
+
/** Requested MIME type of returned feature info */
|
|
108
|
+
info_format?: 'text/plain' | 'application/vnd.ogc.gml';
|
|
109
|
+
/** Styling */
|
|
110
|
+
styles?: unknown;
|
|
111
|
+
};
|
|
112
|
+
|
|
89
113
|
/**
|
|
90
114
|
* The WMSService class provides
|
|
91
115
|
* - provides type safe methods to form URLs to a WMS service
|
|
@@ -97,8 +121,7 @@ export class WMSService extends ImageSource {
|
|
|
97
121
|
static type: 'wms' = 'wms';
|
|
98
122
|
static testURL = (url: string): boolean => url.toLowerCase().includes('wms');
|
|
99
123
|
|
|
100
|
-
props: Required<
|
|
101
|
-
fetch: (url: string, options?: RequestInit) => Promise<Response>;
|
|
124
|
+
props: Required<WMSServiceProps>;
|
|
102
125
|
capabilities: WMSCapabilities | null = null;
|
|
103
126
|
|
|
104
127
|
/** A list of loaders used by the WMSService methods */
|
|
@@ -111,24 +134,36 @@ export class WMSService extends ImageSource {
|
|
|
111
134
|
];
|
|
112
135
|
|
|
113
136
|
/** Create a WMSService */
|
|
114
|
-
constructor(props:
|
|
115
|
-
super();
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
this
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
137
|
+
constructor(props: WMSServiceProps) {
|
|
138
|
+
super(props);
|
|
139
|
+
|
|
140
|
+
// TODO - defaults such as version, layers etc could be extracted from a base URL with parameters
|
|
141
|
+
// This would make pasting in any WMS URL more likely to make this class just work.
|
|
142
|
+
|
|
143
|
+
this.props = {
|
|
144
|
+
loadOptions: undefined!,
|
|
145
|
+
layers: undefined!,
|
|
146
|
+
styles: undefined,
|
|
147
|
+
version: '1.1.1',
|
|
148
|
+
srs: 'EPSG:4326',
|
|
149
|
+
format: 'image/png',
|
|
150
|
+
info_format: 'text/plain',
|
|
151
|
+
...props
|
|
122
152
|
};
|
|
123
153
|
}
|
|
124
154
|
|
|
125
155
|
// ImageSource implementation
|
|
126
|
-
getMetadata(): Promise<ImageSourceMetadata> {
|
|
127
|
-
|
|
156
|
+
async getMetadata(): Promise<ImageSourceMetadata> {
|
|
157
|
+
const capabilities = await this.getCapabilities();
|
|
158
|
+
return this.normalizeMetadata(capabilities);
|
|
128
159
|
}
|
|
129
160
|
|
|
130
|
-
getImage(parameters: GetImageParameters): Promise<ImageType> {
|
|
131
|
-
return this.getMap(parameters);
|
|
161
|
+
async getImage(parameters: GetImageParameters): Promise<ImageType> {
|
|
162
|
+
return await this.getMap(parameters);
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
normalizeMetadata(capabilities: WMSCapabilities): ImageSourceMetadata {
|
|
166
|
+
return capabilities;
|
|
132
167
|
}
|
|
133
168
|
|
|
134
169
|
// WMS Service API Stubs
|
|
@@ -180,7 +215,6 @@ export class WMSService extends ImageSource {
|
|
|
180
215
|
options: WMSGetFeatureInfoParameters,
|
|
181
216
|
vendorParameters?: Record<string, unknown>
|
|
182
217
|
): Promise<string> {
|
|
183
|
-
options = {...options, info_format: 'text/plain'};
|
|
184
218
|
const url = this.getFeatureInfoURL(options, vendorParameters);
|
|
185
219
|
const response = await this.fetch(url);
|
|
186
220
|
const arrayBuffer = await response.arrayBuffer();
|
|
@@ -226,7 +260,7 @@ export class WMSService extends ImageSource {
|
|
|
226
260
|
): string {
|
|
227
261
|
const options: Required<WMSGetCapabilitiesParameters> = {
|
|
228
262
|
service: 'WMS',
|
|
229
|
-
version:
|
|
263
|
+
version: this.props.version,
|
|
230
264
|
request: 'GetCapabilities',
|
|
231
265
|
...wmsParameters,
|
|
232
266
|
...vendorParameters
|
|
@@ -241,15 +275,15 @@ export class WMSService extends ImageSource {
|
|
|
241
275
|
): string {
|
|
242
276
|
const options: Required<WMSGetMapParameters> = {
|
|
243
277
|
service: 'WMS',
|
|
244
|
-
version:
|
|
278
|
+
version: this.props.version,
|
|
245
279
|
request: 'GetMap',
|
|
246
280
|
// layers: [],
|
|
247
281
|
// bbox: [-77.87304, 40.78975, -77.85828, 40.80228],
|
|
248
282
|
// width: 1200,
|
|
249
283
|
// height: 900,
|
|
250
|
-
styles:
|
|
251
|
-
srs:
|
|
252
|
-
format:
|
|
284
|
+
styles: this.props.styles,
|
|
285
|
+
srs: this.props.srs,
|
|
286
|
+
format: this.props.format,
|
|
253
287
|
...wmsParameters,
|
|
254
288
|
...vendorParameters
|
|
255
289
|
};
|
|
@@ -263,19 +297,19 @@ export class WMSService extends ImageSource {
|
|
|
263
297
|
): string {
|
|
264
298
|
const options: Required<WMSGetFeatureInfoParameters> = {
|
|
265
299
|
service: 'WMS',
|
|
266
|
-
version:
|
|
300
|
+
version: this.props.version,
|
|
267
301
|
request: 'GetFeatureInfo',
|
|
268
|
-
// layers:
|
|
302
|
+
// layers: this.props.layers,
|
|
269
303
|
// bbox: [-77.87304, 40.78975, -77.85828, 40.80228],
|
|
270
304
|
// width: 1200,
|
|
271
305
|
// height: 900,
|
|
272
306
|
// x: undefined!,
|
|
273
307
|
// y: undefined!,
|
|
274
308
|
// query_layers: [],
|
|
275
|
-
srs:
|
|
276
|
-
format:
|
|
277
|
-
info_format:
|
|
278
|
-
styles:
|
|
309
|
+
srs: this.props.srs,
|
|
310
|
+
format: this.props.format,
|
|
311
|
+
info_format: this.props.info_format,
|
|
312
|
+
styles: this.props.styles,
|
|
279
313
|
...wmsParameters,
|
|
280
314
|
...vendorParameters
|
|
281
315
|
};
|
|
@@ -289,7 +323,7 @@ export class WMSService extends ImageSource {
|
|
|
289
323
|
): string {
|
|
290
324
|
const options: Required<WMSDescribeLayerParameters> = {
|
|
291
325
|
service: 'WMS',
|
|
292
|
-
version:
|
|
326
|
+
version: this.props.version,
|
|
293
327
|
request: 'DescribeLayer',
|
|
294
328
|
...wmsParameters,
|
|
295
329
|
...vendorParameters
|
|
@@ -303,8 +337,9 @@ export class WMSService extends ImageSource {
|
|
|
303
337
|
): string {
|
|
304
338
|
const options: Required<WMSGetLegendGraphicParameters> = {
|
|
305
339
|
service: 'WMS',
|
|
306
|
-
version:
|
|
340
|
+
version: this.props.version,
|
|
307
341
|
request: 'GetLegendGraphic',
|
|
342
|
+
// format?
|
|
308
343
|
...wmsParameters,
|
|
309
344
|
...vendorParameters
|
|
310
345
|
};
|
|
@@ -338,7 +373,11 @@ export class WMSService extends ImageSource {
|
|
|
338
373
|
protected _checkResponse(response: Response, arrayBuffer: ArrayBuffer): void {
|
|
339
374
|
const contentType = response.headers['content-type'];
|
|
340
375
|
if (!response.ok || WMSErrorLoader.mimeTypes.includes(contentType)) {
|
|
341
|
-
|
|
376
|
+
// We want error responses to throw exceptions, the WMSErrorLoader can do this
|
|
377
|
+
const loadOptions = mergeLoaderOptions<WMSLoaderOptions>(this.props.loadOptions, {
|
|
378
|
+
wms: {throwOnError: true}
|
|
379
|
+
});
|
|
380
|
+
const error = WMSErrorLoader.parseSync(arrayBuffer, loadOptions);
|
|
342
381
|
throw new Error(error);
|
|
343
382
|
}
|
|
344
383
|
}
|