@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,115 @@
|
|
|
1
|
+
import type { DataSourceProps } from '../../sources/data-source';
|
|
2
|
+
import { DataSource } from '../../sources/data-source';
|
|
3
|
+
import type { CSWCapabilities } from '../../../csw-capabilities-loader';
|
|
4
|
+
import type { CSWRecords } from '../../../csw-records-loader';
|
|
5
|
+
import type { CSWDomain } from '../../../csw-domain-loader';
|
|
6
|
+
type CSWCommonParameters = {
|
|
7
|
+
/** In case the endpoint supports multiple services */
|
|
8
|
+
service?: 'CSW';
|
|
9
|
+
/** In case the endpoint supports multiple CSW versions */
|
|
10
|
+
version?: '1.1.1' | '2.0.0' | '2.0.1' | '3.0.0' | '3.0.0';
|
|
11
|
+
};
|
|
12
|
+
export type CSWGetCapabilitiesParameters = CSWCommonParameters & {
|
|
13
|
+
/** Request type */
|
|
14
|
+
request?: 'GetCapabilities';
|
|
15
|
+
};
|
|
16
|
+
export type CSWGetRecordsParameters = CSWCommonParameters & {
|
|
17
|
+
/** Request type */
|
|
18
|
+
request?: 'GetRecords';
|
|
19
|
+
/** type of records */
|
|
20
|
+
typenames: 'csw:Record';
|
|
21
|
+
};
|
|
22
|
+
export type CSWGetDomainParameters = CSWCommonParameters & {
|
|
23
|
+
/** Request type */
|
|
24
|
+
request?: 'GetDomain';
|
|
25
|
+
};
|
|
26
|
+
export type Service = {
|
|
27
|
+
name: string;
|
|
28
|
+
type: string;
|
|
29
|
+
url: string;
|
|
30
|
+
params?: string;
|
|
31
|
+
scheme?: string;
|
|
32
|
+
};
|
|
33
|
+
export type CSWServiceProps = DataSourceProps & {
|
|
34
|
+
url: string;
|
|
35
|
+
};
|
|
36
|
+
/**
|
|
37
|
+
* The CSWService class provides
|
|
38
|
+
* - provides type safe methods to form URLs to a CSW service
|
|
39
|
+
* - provides type safe methods to query and parse results (and errors) from a CSW service
|
|
40
|
+
* - implements the ImageService interface
|
|
41
|
+
* @note Only the URL parameter conversion is supported. XML posts are not supported.
|
|
42
|
+
*/
|
|
43
|
+
export declare class CSWService extends DataSource {
|
|
44
|
+
static type: 'csw';
|
|
45
|
+
static testURL: (url: string) => boolean;
|
|
46
|
+
props: CSWServiceProps;
|
|
47
|
+
capabilities: CSWCapabilities | null;
|
|
48
|
+
/** A list of loaders used by the CSWService methods */
|
|
49
|
+
readonly loaders: ({
|
|
50
|
+
/** In case the endpoint supports multiple CSW versions */
|
|
51
|
+
id: string;
|
|
52
|
+
name: string;
|
|
53
|
+
module: string;
|
|
54
|
+
version: any;
|
|
55
|
+
worker: boolean;
|
|
56
|
+
extensions: string[];
|
|
57
|
+
mimeTypes: string[];
|
|
58
|
+
testText: (text: string) => boolean;
|
|
59
|
+
options: {
|
|
60
|
+
csw: {};
|
|
61
|
+
};
|
|
62
|
+
parse: (arrayBuffer: ArrayBuffer, options?: import("../../../csw-capabilities-loader").CSWLoaderOptions | undefined) => Promise<CSWCapabilities>;
|
|
63
|
+
parseTextSync: (text: string, options?: import("../../../csw-capabilities-loader").CSWLoaderOptions | undefined) => CSWCapabilities;
|
|
64
|
+
} | {
|
|
65
|
+
id: string;
|
|
66
|
+
name: string;
|
|
67
|
+
module: string;
|
|
68
|
+
version: any;
|
|
69
|
+
worker: boolean;
|
|
70
|
+
extensions: string[];
|
|
71
|
+
mimeTypes: string[];
|
|
72
|
+
testText: (text: string) => boolean;
|
|
73
|
+
options: {
|
|
74
|
+
wms: {
|
|
75
|
+
throwOnError: boolean;
|
|
76
|
+
};
|
|
77
|
+
};
|
|
78
|
+
parse: (arrayBuffer: ArrayBuffer, options?: import("../../../wms-error-loader").WMSLoaderOptions | undefined) => Promise<string>;
|
|
79
|
+
parseSync: (arrayBuffer: ArrayBuffer, options?: import("../../../wms-error-loader").WMSLoaderOptions | undefined) => string;
|
|
80
|
+
parseTextSync: (text: string, options?: import("../../../wms-error-loader").WMSLoaderOptions | undefined) => string;
|
|
81
|
+
})[];
|
|
82
|
+
/** Create a CSWService */
|
|
83
|
+
constructor(props: CSWServiceProps);
|
|
84
|
+
getMetadata(): Promise<CSWCapabilities>;
|
|
85
|
+
normalizeMetadata(capabilities: CSWCapabilities): CSWCapabilities;
|
|
86
|
+
getServiceDirectory(options: {
|
|
87
|
+
includeUnknown?: boolean;
|
|
88
|
+
}): Promise<Service[]>;
|
|
89
|
+
_parseOGCUrl(url: string): {
|
|
90
|
+
url: string;
|
|
91
|
+
params: string;
|
|
92
|
+
};
|
|
93
|
+
/** Get Capabilities */
|
|
94
|
+
getCapabilities(wmsParameters?: CSWGetCapabilitiesParameters, vendorParameters?: Record<string, unknown>): Promise<CSWCapabilities>;
|
|
95
|
+
/** Get Records */
|
|
96
|
+
getRecords(wmsParameters?: CSWGetRecordsParameters, vendorParameters?: Record<string, unknown>): Promise<CSWRecords>;
|
|
97
|
+
/** Get Domain */
|
|
98
|
+
getDomain(wmsParameters?: CSWGetDomainParameters, vendorParameters?: Record<string, unknown>): Promise<CSWDomain>;
|
|
99
|
+
/** Generate a URL for the GetCapabilities request */
|
|
100
|
+
getCapabilitiesURL(wmsParameters?: CSWGetCapabilitiesParameters, vendorParameters?: Record<string, unknown>): string;
|
|
101
|
+
/** Generate a URL for the GetCapabilities request */
|
|
102
|
+
getRecordsURL(wmsParameters?: CSWGetRecordsParameters, vendorParameters?: Record<string, unknown>): string;
|
|
103
|
+
/** Generate a URL for the GetCapabilities request */
|
|
104
|
+
getDomainURL(wmsParameters?: CSWGetDomainParameters, vendorParameters?: Record<string, unknown>): string;
|
|
105
|
+
/**
|
|
106
|
+
* @note case _getCSWUrl may need to be overridden to handle certain backends?
|
|
107
|
+
* */
|
|
108
|
+
protected _getCSWUrl(options: Record<string, unknown>, vendorParameters?: Record<string, unknown>): string;
|
|
109
|
+
/** Checks for and parses a CSW XML formatted ServiceError and throws an exception */
|
|
110
|
+
protected _checkResponse(response: Response, arrayBuffer: ArrayBuffer): void;
|
|
111
|
+
/** Error situation detected */
|
|
112
|
+
protected _parseError(arrayBuffer: ArrayBuffer): Error;
|
|
113
|
+
}
|
|
114
|
+
export {};
|
|
115
|
+
//# sourceMappingURL=csw-service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"csw-service.d.ts","sourceRoot":"","sources":["../../../../src/lib/services/ogc/csw-service.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAC,UAAU,EAAC,MAAM,2BAA2B,CAAC;AAErD,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,kCAAkC,CAAC;AAGtE,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,6BAA6B,CAAC;AAG5D,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,4BAA4B,CAAC;AAK1D,KAAK,mBAAmB,GAAG;IACzB,sDAAsD;IACtD,OAAO,CAAC,EAAE,KAAK,CAAC;IAChB,0DAA0D;IAC1D,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;CAC3D,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG,mBAAmB,GAAG;IAC/D,mBAAmB;IACnB,OAAO,CAAC,EAAE,iBAAiB,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG,mBAAmB,GAAG;IAC1D,mBAAmB;IACnB,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,sBAAsB;IACtB,SAAS,EAAE,YAAY,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,mBAAmB,GAAG;IACzD,mBAAmB;IACnB,OAAO,CAAC,EAAE,WAAW,CAAC;CAEvB,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAC,CAAC;AAElG,MAAM,MAAM,eAAe,GAAG,eAAe,GAAG;IAC9C,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF;;;;;;GAMG;AACH,qBAAa,UAAW,SAAQ,UAAU;IACxC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAS;IAC3B,MAAM,CAAC,OAAO,QAAS,MAAM,KAAG,OAAO,CAAsC;IAE7E,KAAK,EAAE,eAAe,CAAC;IACvB,YAAY,EAAE,eAAe,GAAG,IAAI,CAAQ;IAE5C,uDAAuD;IACvD,QAAQ,CAAC,OAAO;QA3ChB,0DAA0D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SA2CC;IAE3D,0BAA0B;gBACd,KAAK,EAAE,eAAe;IAK5B,WAAW,IAAI,OAAO,CAAC,eAAe,CAAC;IAK7C,iBAAiB,CAAC,YAAY,EAAE,eAAe,GAAG,eAAe;IAI3D,mBAAmB,CAAC,OAAO,EAAE;QAAC,cAAc,CAAC,EAAE,OAAO,CAAA;KAAC,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAoClF,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAC;IAUxD,uBAAuB;IACjB,eAAe,CACnB,aAAa,CAAC,EAAE,4BAA4B,EAC5C,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACzC,OAAO,CAAC,eAAe,CAAC;IAS3B,kBAAkB;IACZ,UAAU,CACd,aAAa,CAAC,EAAE,uBAAuB,EACvC,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACzC,OAAO,CAAC,UAAU,CAAC;IAQtB,iBAAiB;IACX,SAAS,CACb,aAAa,CAAC,EAAE,sBAAsB,EACtC,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACzC,OAAO,CAAC,SAAS,CAAC;IAWrB,qDAAqD;IACrD,kBAAkB,CAChB,aAAa,CAAC,EAAE,4BAA4B,EAC5C,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACzC,MAAM;IAWT,qDAAqD;IACrD,aAAa,CACX,aAAa,CAAC,EAAE,uBAAuB,EACvC,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACzC,MAAM;IAYT,qDAAqD;IACrD,YAAY,CACV,aAAa,CAAC,EAAE,sBAAsB,EACtC,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACzC,MAAM;IAaT;;SAEK;IACL,SAAS,CAAC,UAAU,CAClB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACzC,MAAM;IAeT,qFAAqF;IACrF,SAAS,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,GAAG,IAAI;IAQ5E,+BAA+B;IAC/B,SAAS,CAAC,WAAW,CAAC,WAAW,EAAE,WAAW,GAAG,KAAK;CAIvD"}
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// loaders.gl, MIT license
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.CSWService = void 0;
|
|
5
|
+
const data_source_1 = require("../../sources/data-source");
|
|
6
|
+
const csw_capabilities_loader_1 = require("../../../csw-capabilities-loader");
|
|
7
|
+
const csw_records_loader_1 = require("../../../csw-records-loader");
|
|
8
|
+
const csw_domain_loader_1 = require("../../../csw-domain-loader");
|
|
9
|
+
const wms_error_loader_1 = require("../../../wms-error-loader");
|
|
10
|
+
/**
|
|
11
|
+
* The CSWService class provides
|
|
12
|
+
* - provides type safe methods to form URLs to a CSW service
|
|
13
|
+
* - provides type safe methods to query and parse results (and errors) from a CSW service
|
|
14
|
+
* - implements the ImageService interface
|
|
15
|
+
* @note Only the URL parameter conversion is supported. XML posts are not supported.
|
|
16
|
+
*/
|
|
17
|
+
class CSWService extends data_source_1.DataSource {
|
|
18
|
+
/** Create a CSWService */
|
|
19
|
+
constructor(props) {
|
|
20
|
+
super(props);
|
|
21
|
+
this.capabilities = null;
|
|
22
|
+
/** A list of loaders used by the CSWService methods */
|
|
23
|
+
this.loaders = [wms_error_loader_1.WMSErrorLoader, csw_capabilities_loader_1.CSWCapabilitiesLoader];
|
|
24
|
+
this.props = props;
|
|
25
|
+
}
|
|
26
|
+
async getMetadata() {
|
|
27
|
+
const capabilities = await this.getCapabilities();
|
|
28
|
+
return this.normalizeMetadata(capabilities);
|
|
29
|
+
}
|
|
30
|
+
normalizeMetadata(capabilities) {
|
|
31
|
+
return capabilities;
|
|
32
|
+
}
|
|
33
|
+
async getServiceDirectory(options) {
|
|
34
|
+
const services = [];
|
|
35
|
+
const unknownServices = [];
|
|
36
|
+
const records = await this.getRecords();
|
|
37
|
+
for (const record of records.records) {
|
|
38
|
+
for (const reference of record.references) {
|
|
39
|
+
const url = reference.value;
|
|
40
|
+
switch (reference.scheme) {
|
|
41
|
+
case 'OGC:WMS':
|
|
42
|
+
services.push({ name: record.title, type: 'ogc-wms-service', ...this._parseOGCUrl(url) });
|
|
43
|
+
break;
|
|
44
|
+
case 'OGC:WMTS':
|
|
45
|
+
services.push({
|
|
46
|
+
name: record.title,
|
|
47
|
+
type: 'ogc-wmts-service',
|
|
48
|
+
...this._parseOGCUrl(url)
|
|
49
|
+
});
|
|
50
|
+
break;
|
|
51
|
+
case 'OGC:WFS':
|
|
52
|
+
services.push({ name: record.title, type: 'ogc-wfs-service', ...this._parseOGCUrl(url) });
|
|
53
|
+
break;
|
|
54
|
+
default:
|
|
55
|
+
unknownServices.push({
|
|
56
|
+
name: record.title,
|
|
57
|
+
type: 'unknown',
|
|
58
|
+
url: reference.value,
|
|
59
|
+
scheme: reference.scheme
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
return options?.includeUnknown ? services.concat(unknownServices) : services;
|
|
65
|
+
}
|
|
66
|
+
_parseOGCUrl(url) {
|
|
67
|
+
const parts = url.split('?');
|
|
68
|
+
return {
|
|
69
|
+
url: parts[0],
|
|
70
|
+
params: parts[1] || ''
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
// CSW Service API Stubs
|
|
74
|
+
/** Get Capabilities */
|
|
75
|
+
async getCapabilities(wmsParameters, vendorParameters) {
|
|
76
|
+
const url = this.getCapabilitiesURL(wmsParameters, vendorParameters);
|
|
77
|
+
const response = await this.fetch(url);
|
|
78
|
+
const arrayBuffer = await response.arrayBuffer();
|
|
79
|
+
this._checkResponse(response, arrayBuffer);
|
|
80
|
+
const capabilities = await csw_capabilities_loader_1.CSWCapabilitiesLoader.parse(arrayBuffer, this.props.loadOptions);
|
|
81
|
+
return capabilities;
|
|
82
|
+
}
|
|
83
|
+
/** Get Records */
|
|
84
|
+
async getRecords(wmsParameters, vendorParameters) {
|
|
85
|
+
const url = this.getRecordsURL(wmsParameters, vendorParameters);
|
|
86
|
+
const response = await this.fetch(url);
|
|
87
|
+
const arrayBuffer = await response.arrayBuffer();
|
|
88
|
+
this._checkResponse(response, arrayBuffer);
|
|
89
|
+
return await csw_records_loader_1.CSWRecordsLoader.parse(arrayBuffer, this.props.loadOptions);
|
|
90
|
+
}
|
|
91
|
+
/** Get Domain */
|
|
92
|
+
async getDomain(wmsParameters, vendorParameters) {
|
|
93
|
+
const url = this.getDomainURL(wmsParameters, vendorParameters);
|
|
94
|
+
const response = await this.fetch(url);
|
|
95
|
+
const arrayBuffer = await response.arrayBuffer();
|
|
96
|
+
this._checkResponse(response, arrayBuffer);
|
|
97
|
+
return await csw_domain_loader_1.CSWDomainLoader.parse(arrayBuffer, this.props.loadOptions);
|
|
98
|
+
}
|
|
99
|
+
// Typed URL creators
|
|
100
|
+
// For applications that want full control of fetching and parsing
|
|
101
|
+
/** Generate a URL for the GetCapabilities request */
|
|
102
|
+
getCapabilitiesURL(wmsParameters, vendorParameters) {
|
|
103
|
+
const options = {
|
|
104
|
+
version: '3.0.0',
|
|
105
|
+
...wmsParameters,
|
|
106
|
+
...vendorParameters,
|
|
107
|
+
service: 'CSW',
|
|
108
|
+
request: 'GetCapabilities'
|
|
109
|
+
};
|
|
110
|
+
return this._getCSWUrl(options, vendorParameters);
|
|
111
|
+
}
|
|
112
|
+
/** Generate a URL for the GetCapabilities request */
|
|
113
|
+
getRecordsURL(wmsParameters, vendorParameters) {
|
|
114
|
+
const options = {
|
|
115
|
+
version: '3.0.0',
|
|
116
|
+
typenames: 'csw:Record',
|
|
117
|
+
...wmsParameters,
|
|
118
|
+
...vendorParameters,
|
|
119
|
+
service: 'CSW',
|
|
120
|
+
request: 'GetRecords'
|
|
121
|
+
};
|
|
122
|
+
return this._getCSWUrl(options, vendorParameters);
|
|
123
|
+
}
|
|
124
|
+
/** Generate a URL for the GetCapabilities request */
|
|
125
|
+
getDomainURL(wmsParameters, vendorParameters) {
|
|
126
|
+
const options = {
|
|
127
|
+
version: '3.0.0',
|
|
128
|
+
...wmsParameters,
|
|
129
|
+
...vendorParameters,
|
|
130
|
+
service: 'CSW',
|
|
131
|
+
request: 'GetDomain'
|
|
132
|
+
};
|
|
133
|
+
return this._getCSWUrl(options, vendorParameters);
|
|
134
|
+
}
|
|
135
|
+
// INTERNAL METHODS
|
|
136
|
+
/**
|
|
137
|
+
* @note case _getCSWUrl may need to be overridden to handle certain backends?
|
|
138
|
+
* */
|
|
139
|
+
_getCSWUrl(options, vendorParameters) {
|
|
140
|
+
let url = this.props.url;
|
|
141
|
+
let first = true;
|
|
142
|
+
for (const [key, value] of Object.entries(options)) {
|
|
143
|
+
url += first ? '?' : '&';
|
|
144
|
+
first = false;
|
|
145
|
+
if (Array.isArray(value)) {
|
|
146
|
+
url += `${key.toUpperCase()}=${value.join(',')}`;
|
|
147
|
+
}
|
|
148
|
+
else {
|
|
149
|
+
url += `${key.toUpperCase()}=${value ? String(value) : ''}`;
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
return encodeURI(url);
|
|
153
|
+
}
|
|
154
|
+
/** Checks for and parses a CSW XML formatted ServiceError and throws an exception */
|
|
155
|
+
_checkResponse(response, arrayBuffer) {
|
|
156
|
+
const contentType = response.headers['content-type'];
|
|
157
|
+
if (!response.ok || wms_error_loader_1.WMSErrorLoader.mimeTypes.includes(contentType)) {
|
|
158
|
+
const error = wms_error_loader_1.WMSErrorLoader.parseSync(arrayBuffer, this.props.loadOptions);
|
|
159
|
+
throw new Error(error);
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
/** Error situation detected */
|
|
163
|
+
_parseError(arrayBuffer) {
|
|
164
|
+
const error = wms_error_loader_1.WMSErrorLoader.parseSync(arrayBuffer, this.props.loadOptions);
|
|
165
|
+
return new Error(error);
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
exports.CSWService = CSWService;
|
|
169
|
+
CSWService.type = 'csw';
|
|
170
|
+
CSWService.testURL = (url) => url.toLowerCase().includes('csw');
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import type { ImageType } from '@loaders.gl/images';
|
|
2
|
-
import type { ImageSourceMetadata, GetImageParameters } from '
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import type { WMSCapabilities
|
|
2
|
+
import type { ImageSourceMetadata, GetImageParameters } from '../../sources/image-source';
|
|
3
|
+
import type { ImageSourceProps } from '../../sources/image-source';
|
|
4
|
+
import { ImageSource } from '../../sources/image-source';
|
|
5
|
+
import type { WMSCapabilities } from '../../../wms-capabilities-loader';
|
|
6
|
+
import type { WMSFeatureInfo } from '../../../wip/wms-feature-info-loader';
|
|
7
|
+
import type { WMSLayerDescription } from '../../../wip/wms-layer-description-loader';
|
|
8
|
+
import type { WMSLoaderOptions } from '../../../wms-error-loader';
|
|
6
9
|
type WMSCommonParameters = {
|
|
7
10
|
/** In case the endpoint supports multiple services */
|
|
8
11
|
service?: 'WMS';
|
|
@@ -40,7 +43,7 @@ export type WMSGetFeatureInfoParameters = WMSCommonParameters & {
|
|
|
40
43
|
y: number;
|
|
41
44
|
/** list of layers to query (could be different from rendered layers) */
|
|
42
45
|
query_layers: string[];
|
|
43
|
-
/** MIME type of returned feature info */
|
|
46
|
+
/** Requested MIME type of returned feature info */
|
|
44
47
|
info_format?: 'text/plain' | 'application/vnd.ogc.gml';
|
|
45
48
|
/** Layers to render */
|
|
46
49
|
layers: string[];
|
|
@@ -65,6 +68,23 @@ export type WMSGetLegendGraphicParameters = WMSCommonParameters & {
|
|
|
65
68
|
/** Request type */
|
|
66
69
|
request?: 'GetLegendGraphic';
|
|
67
70
|
};
|
|
71
|
+
/** Properties for initializing a WMS service */
|
|
72
|
+
export type WMSServiceProps = ImageSourceProps & {
|
|
73
|
+
/** Base URL to the service */
|
|
74
|
+
url: string;
|
|
75
|
+
/** WMS version */
|
|
76
|
+
version?: '1.1.1' | '1.3.0';
|
|
77
|
+
/** Layers to render */
|
|
78
|
+
layers?: string[];
|
|
79
|
+
/** SRS for the image (not the bounding box) */
|
|
80
|
+
srs?: string;
|
|
81
|
+
/** Requested format for the return image */
|
|
82
|
+
format?: 'image/png';
|
|
83
|
+
/** Requested MIME type of returned feature info */
|
|
84
|
+
info_format?: 'text/plain' | 'application/vnd.ogc.gml';
|
|
85
|
+
/** Styling */
|
|
86
|
+
styles?: unknown;
|
|
87
|
+
};
|
|
68
88
|
/**
|
|
69
89
|
* The WMSService class provides
|
|
70
90
|
* - provides type safe methods to form URLs to a WMS service
|
|
@@ -75,8 +95,7 @@ export type WMSGetLegendGraphicParameters = WMSCommonParameters & {
|
|
|
75
95
|
export declare class WMSService extends ImageSource {
|
|
76
96
|
static type: 'wms';
|
|
77
97
|
static testURL: (url: string) => boolean;
|
|
78
|
-
props: Required<
|
|
79
|
-
fetch: (url: string, options?: RequestInit) => Promise<Response>;
|
|
98
|
+
props: Required<WMSServiceProps>;
|
|
80
99
|
capabilities: WMSCapabilities | null;
|
|
81
100
|
/** A list of loaders used by the WMSService methods */
|
|
82
101
|
readonly loaders: ({
|
|
@@ -93,9 +112,9 @@ export declare class WMSService extends ImageSource {
|
|
|
93
112
|
throwOnError: boolean;
|
|
94
113
|
};
|
|
95
114
|
};
|
|
96
|
-
parse: (arrayBuffer: ArrayBuffer, options?:
|
|
97
|
-
parseSync: (arrayBuffer: ArrayBuffer, options?:
|
|
98
|
-
parseTextSync: (text: string, options?:
|
|
115
|
+
parse: (arrayBuffer: ArrayBuffer, options?: WMSLoaderOptions | undefined) => Promise<string>;
|
|
116
|
+
parseSync: (arrayBuffer: ArrayBuffer, options?: WMSLoaderOptions | undefined) => string;
|
|
117
|
+
parseTextSync: (text: string, options?: WMSLoaderOptions | undefined) => string;
|
|
99
118
|
} | {
|
|
100
119
|
id: string;
|
|
101
120
|
name: string;
|
|
@@ -108,19 +127,8 @@ export declare class WMSService extends ImageSource {
|
|
|
108
127
|
options: {
|
|
109
128
|
wms: {};
|
|
110
129
|
};
|
|
111
|
-
/** In case the endpoint supports multiple services */
|
|
112
130
|
parse: (arrayBuffer: ArrayBuffer, options?: import("../../../wms-capabilities-loader").WMSLoaderOptions | undefined) => Promise<WMSCapabilities>;
|
|
113
131
|
parseTextSync: (text: string, options?: import("../../../wms-capabilities-loader").WMSLoaderOptions | undefined) => WMSCapabilities;
|
|
114
|
-
} | {
|
|
115
|
-
id: string;
|
|
116
|
-
module: string;
|
|
117
|
-
name: string;
|
|
118
|
-
version: any;
|
|
119
|
-
mimeTypes: string[];
|
|
120
|
-
extensions: string[];
|
|
121
|
-
parse: typeof import("modules/images/src/lib/parsers/parse-image").default;
|
|
122
|
-
tests: ((arrayBuffer: any) => boolean)[];
|
|
123
|
-
options: import("@loaders.gl/images").ImageLoaderOptions;
|
|
124
132
|
} | {
|
|
125
133
|
id: string;
|
|
126
134
|
name: string;
|
|
@@ -149,11 +157,22 @@ export declare class WMSService extends ImageSource {
|
|
|
149
157
|
options: {
|
|
150
158
|
wms: {};
|
|
151
159
|
};
|
|
160
|
+
} | {
|
|
161
|
+
id: string;
|
|
162
|
+
module: string;
|
|
163
|
+
name: string;
|
|
164
|
+
version: any;
|
|
165
|
+
mimeTypes: string[];
|
|
166
|
+
extensions: string[];
|
|
167
|
+
parse: typeof import("modules/images/src/lib/parsers/parse-image").default;
|
|
168
|
+
tests: ((arrayBuffer: any) => boolean)[];
|
|
169
|
+
options: import("@loaders.gl/images").ImageLoaderOptions;
|
|
152
170
|
})[];
|
|
153
171
|
/** Create a WMSService */
|
|
154
|
-
constructor(props:
|
|
172
|
+
constructor(props: WMSServiceProps);
|
|
155
173
|
getMetadata(): Promise<ImageSourceMetadata>;
|
|
156
174
|
getImage(parameters: GetImageParameters): Promise<ImageType>;
|
|
175
|
+
normalizeMetadata(capabilities: WMSCapabilities): ImageSourceMetadata;
|
|
157
176
|
/** Get Capabilities */
|
|
158
177
|
getCapabilities(wmsParameters?: WMSGetCapabilitiesParameters, vendorParameters?: Record<string, unknown>): Promise<WMSCapabilities>;
|
|
159
178
|
/** Get a map image */
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wms-service.d.ts","sourceRoot":"","sources":["../../../../src/lib/services/ogc/wms-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
exports.WMSService = void 0;
|
|
5
5
|
const images_1 = require("@loaders.gl/images");
|
|
6
|
-
const
|
|
7
|
-
const
|
|
6
|
+
const loader_utils_1 = require("@loaders.gl/loader-utils");
|
|
7
|
+
const image_source_1 = require("../../sources/image-source");
|
|
8
8
|
const wms_capabilities_loader_1 = require("../../../wms-capabilities-loader");
|
|
9
9
|
const wms_feature_info_loader_1 = require("../../../wip/wms-feature-info-loader");
|
|
10
10
|
const wms_layer_description_loader_1 = require("../../../wip/wms-layer-description-loader");
|
|
@@ -19,7 +19,7 @@ const wms_error_loader_1 = require("../../../wms-error-loader");
|
|
|
19
19
|
class WMSService extends image_source_1.ImageSource {
|
|
20
20
|
/** Create a WMSService */
|
|
21
21
|
constructor(props) {
|
|
22
|
-
super();
|
|
22
|
+
super(props);
|
|
23
23
|
this.capabilities = null;
|
|
24
24
|
/** A list of loaders used by the WMSService methods */
|
|
25
25
|
this.loaders = [
|
|
@@ -29,20 +29,29 @@ class WMSService extends image_source_1.ImageSource {
|
|
|
29
29
|
wms_feature_info_loader_1.WMSFeatureInfoLoader,
|
|
30
30
|
wms_layer_description_loader_1.WMSLayerDescriptionLoader
|
|
31
31
|
];
|
|
32
|
-
|
|
33
|
-
this
|
|
34
|
-
this.props
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
32
|
+
// TODO - defaults such as version, layers etc could be extracted from a base URL with parameters
|
|
33
|
+
// This would make pasting in any WMS URL more likely to make this class just work.
|
|
34
|
+
this.props = {
|
|
35
|
+
loadOptions: undefined,
|
|
36
|
+
layers: undefined,
|
|
37
|
+
styles: undefined,
|
|
38
|
+
version: '1.1.1',
|
|
39
|
+
srs: 'EPSG:4326',
|
|
40
|
+
format: 'image/png',
|
|
41
|
+
info_format: 'text/plain',
|
|
42
|
+
...props
|
|
38
43
|
};
|
|
39
44
|
}
|
|
40
45
|
// ImageSource implementation
|
|
41
|
-
getMetadata() {
|
|
42
|
-
|
|
46
|
+
async getMetadata() {
|
|
47
|
+
const capabilities = await this.getCapabilities();
|
|
48
|
+
return this.normalizeMetadata(capabilities);
|
|
43
49
|
}
|
|
44
|
-
getImage(parameters) {
|
|
45
|
-
return this.getMap(parameters);
|
|
50
|
+
async getImage(parameters) {
|
|
51
|
+
return await this.getMap(parameters);
|
|
52
|
+
}
|
|
53
|
+
normalizeMetadata(capabilities) {
|
|
54
|
+
return capabilities;
|
|
46
55
|
}
|
|
47
56
|
// WMS Service API Stubs
|
|
48
57
|
/** Get Capabilities */
|
|
@@ -78,7 +87,6 @@ class WMSService extends image_source_1.ImageSource {
|
|
|
78
87
|
}
|
|
79
88
|
/** Get Feature Info for a coordinate */
|
|
80
89
|
async getFeatureInfoText(options, vendorParameters) {
|
|
81
|
-
options = { ...options, info_format: 'text/plain' };
|
|
82
90
|
const url = this.getFeatureInfoURL(options, vendorParameters);
|
|
83
91
|
const response = await this.fetch(url);
|
|
84
92
|
const arrayBuffer = await response.arrayBuffer();
|
|
@@ -112,7 +120,7 @@ class WMSService extends image_source_1.ImageSource {
|
|
|
112
120
|
getCapabilitiesURL(wmsParameters, vendorParameters) {
|
|
113
121
|
const options = {
|
|
114
122
|
service: 'WMS',
|
|
115
|
-
version:
|
|
123
|
+
version: this.props.version,
|
|
116
124
|
request: 'GetCapabilities',
|
|
117
125
|
...wmsParameters,
|
|
118
126
|
...vendorParameters
|
|
@@ -123,15 +131,15 @@ class WMSService extends image_source_1.ImageSource {
|
|
|
123
131
|
getMapURL(wmsParameters, vendorParameters) {
|
|
124
132
|
const options = {
|
|
125
133
|
service: 'WMS',
|
|
126
|
-
version:
|
|
134
|
+
version: this.props.version,
|
|
127
135
|
request: 'GetMap',
|
|
128
136
|
// layers: [],
|
|
129
137
|
// bbox: [-77.87304, 40.78975, -77.85828, 40.80228],
|
|
130
138
|
// width: 1200,
|
|
131
139
|
// height: 900,
|
|
132
|
-
styles:
|
|
133
|
-
srs:
|
|
134
|
-
format:
|
|
140
|
+
styles: this.props.styles,
|
|
141
|
+
srs: this.props.srs,
|
|
142
|
+
format: this.props.format,
|
|
135
143
|
...wmsParameters,
|
|
136
144
|
...vendorParameters
|
|
137
145
|
};
|
|
@@ -141,19 +149,19 @@ class WMSService extends image_source_1.ImageSource {
|
|
|
141
149
|
getFeatureInfoURL(wmsParameters, vendorParameters) {
|
|
142
150
|
const options = {
|
|
143
151
|
service: 'WMS',
|
|
144
|
-
version:
|
|
152
|
+
version: this.props.version,
|
|
145
153
|
request: 'GetFeatureInfo',
|
|
146
|
-
// layers:
|
|
154
|
+
// layers: this.props.layers,
|
|
147
155
|
// bbox: [-77.87304, 40.78975, -77.85828, 40.80228],
|
|
148
156
|
// width: 1200,
|
|
149
157
|
// height: 900,
|
|
150
158
|
// x: undefined!,
|
|
151
159
|
// y: undefined!,
|
|
152
160
|
// query_layers: [],
|
|
153
|
-
srs:
|
|
154
|
-
format:
|
|
155
|
-
info_format:
|
|
156
|
-
styles:
|
|
161
|
+
srs: this.props.srs,
|
|
162
|
+
format: this.props.format,
|
|
163
|
+
info_format: this.props.info_format,
|
|
164
|
+
styles: this.props.styles,
|
|
157
165
|
...wmsParameters,
|
|
158
166
|
...vendorParameters
|
|
159
167
|
};
|
|
@@ -163,7 +171,7 @@ class WMSService extends image_source_1.ImageSource {
|
|
|
163
171
|
describeLayerURL(wmsParameters, vendorParameters) {
|
|
164
172
|
const options = {
|
|
165
173
|
service: 'WMS',
|
|
166
|
-
version:
|
|
174
|
+
version: this.props.version,
|
|
167
175
|
request: 'DescribeLayer',
|
|
168
176
|
...wmsParameters,
|
|
169
177
|
...vendorParameters
|
|
@@ -173,8 +181,9 @@ class WMSService extends image_source_1.ImageSource {
|
|
|
173
181
|
getLegendGraphicURL(wmsParameters, vendorParameters) {
|
|
174
182
|
const options = {
|
|
175
183
|
service: 'WMS',
|
|
176
|
-
version:
|
|
184
|
+
version: this.props.version,
|
|
177
185
|
request: 'GetLegendGraphic',
|
|
186
|
+
// format?
|
|
178
187
|
...wmsParameters,
|
|
179
188
|
...vendorParameters
|
|
180
189
|
};
|
|
@@ -203,7 +212,11 @@ class WMSService extends image_source_1.ImageSource {
|
|
|
203
212
|
_checkResponse(response, arrayBuffer) {
|
|
204
213
|
const contentType = response.headers['content-type'];
|
|
205
214
|
if (!response.ok || wms_error_loader_1.WMSErrorLoader.mimeTypes.includes(contentType)) {
|
|
206
|
-
|
|
215
|
+
// We want error responses to throw exceptions, the WMSErrorLoader can do this
|
|
216
|
+
const loadOptions = (0, loader_utils_1.mergeLoaderOptions)(this.props.loadOptions, {
|
|
217
|
+
wms: { throwOnError: true }
|
|
218
|
+
});
|
|
219
|
+
const error = wms_error_loader_1.WMSErrorLoader.parseSync(arrayBuffer, loadOptions);
|
|
207
220
|
throw new Error(error);
|
|
208
221
|
}
|
|
209
222
|
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { LoaderOptions } from '@loaders.gl/loader-utils';
|
|
2
|
+
export type DataSourceProps = {
|
|
3
|
+
/** LoaderOptions provide an option to override `fetch`. Will also be passed to any sub loaders */
|
|
4
|
+
loadOptions?: LoaderOptions;
|
|
5
|
+
};
|
|
6
|
+
/** base class of all data sources */
|
|
7
|
+
export declare abstract class DataSource {
|
|
8
|
+
/** A resolved fetch function extracted from loadOptions prop */
|
|
9
|
+
fetch: (url: string, options?: RequestInit) => Promise<Response>;
|
|
10
|
+
/** The actual load options, if calling a loaders.gl loader */
|
|
11
|
+
loadOptions: LoaderOptions;
|
|
12
|
+
constructor(props: DataSourceProps);
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Gets the current fetch function from options
|
|
16
|
+
* @todo - move to loader-utils module
|
|
17
|
+
* @todo - use in core module counterpart
|
|
18
|
+
* @param options
|
|
19
|
+
* @param context
|
|
20
|
+
*/
|
|
21
|
+
export declare function getFetchFunction(options?: LoaderOptions): (url: string, fetchOptions?: RequestInit) => Promise<Response>;
|
|
22
|
+
//# sourceMappingURL=data-source.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data-source.d.ts","sourceRoot":"","sources":["../../../src/lib/sources/data-source.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,0BAA0B,CAAC;AAE5D,MAAM,MAAM,eAAe,GAAG;IAC5B,kGAAkG;IAClG,WAAW,CAAC,EAAE,aAAa,CAAC;CAC7B,CAAC;AAEF,qCAAqC;AACrC,8BAAsB,UAAU;IAC9B,gEAAgE;IAChE,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;IACjE,8DAA8D;IAC9D,WAAW,EAAE,aAAa,CAAC;gBAEf,KAAK,EAAE,eAAe;CAInC;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,CAAC,EAAE,aAAa,SAKvC,MAAM,iBAAiB,WAAW,uBAWlD"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// loaders.gl, MIT license
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.getFetchFunction = exports.DataSource = void 0;
|
|
5
|
+
/** base class of all data sources */
|
|
6
|
+
class DataSource {
|
|
7
|
+
constructor(props) {
|
|
8
|
+
this.loadOptions = { ...props.loadOptions };
|
|
9
|
+
this.fetch = getFetchFunction(this.loadOptions);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
exports.DataSource = DataSource;
|
|
13
|
+
/**
|
|
14
|
+
* Gets the current fetch function from options
|
|
15
|
+
* @todo - move to loader-utils module
|
|
16
|
+
* @todo - use in core module counterpart
|
|
17
|
+
* @param options
|
|
18
|
+
* @param context
|
|
19
|
+
*/
|
|
20
|
+
function getFetchFunction(options) {
|
|
21
|
+
const fetchFunction = options?.fetch;
|
|
22
|
+
// options.fetch can be a function
|
|
23
|
+
if (fetchFunction && typeof fetchFunction === 'function') {
|
|
24
|
+
return (url, fetchOptions) => fetchFunction(url, fetchOptions);
|
|
25
|
+
}
|
|
26
|
+
// options.fetch can be an options object, use global fetch with those options
|
|
27
|
+
const fetchOptions = options?.fetch;
|
|
28
|
+
if (fetchOptions && typeof fetchOptions !== 'function') {
|
|
29
|
+
return (url) => fetch(url, fetchOptions);
|
|
30
|
+
}
|
|
31
|
+
// else return the global fetch function
|
|
32
|
+
return (url) => fetch(url);
|
|
33
|
+
}
|
|
34
|
+
exports.getFetchFunction = getFetchFunction;
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import type { ImageType } from '@loaders.gl/images';
|
|
2
|
+
import type { DataSourceProps } from './data-source';
|
|
3
|
+
import { DataSource } from './data-source';
|
|
2
4
|
/**
|
|
3
5
|
* Normalized capabilities of an Image service
|
|
4
6
|
* @example
|
|
@@ -61,12 +63,13 @@ export type ImageFormat = {
|
|
|
61
63
|
/** requested format for the return image */
|
|
62
64
|
format?: 'image/png';
|
|
63
65
|
};
|
|
66
|
+
export type ImageSourceProps = DataSourceProps;
|
|
64
67
|
/**
|
|
65
68
|
* MapImageSource - data sources that allow data to be queried by (geospatial) extents
|
|
66
69
|
* @note
|
|
67
70
|
* - If geospatial, bounding box is expected to be in web mercator coordinates
|
|
68
71
|
*/
|
|
69
|
-
export declare abstract class ImageSource {
|
|
72
|
+
export declare abstract class ImageSource extends DataSource {
|
|
70
73
|
abstract getMetadata(): Promise<ImageSourceMetadata>;
|
|
71
74
|
abstract getImage(parameters: GetImageParameters): Promise<ImageType>;
|
|
72
75
|
}
|