@loaders.gl/wms 3.4.0-alpha.2 → 3.4.0-alpha.3
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/dist.min.js +359 -174
- package/dist/es5/csw-capabilities-loader.js +7 -11
- package/dist/es5/csw-capabilities-loader.js.map +1 -1
- package/dist/es5/csw-domain-loader.js +7 -10
- package/dist/es5/csw-domain-loader.js.map +1 -1
- package/dist/es5/csw-records-loader.js +7 -10
- package/dist/es5/csw-records-loader.js.map +1 -1
- package/dist/es5/gml-loader.js +7 -10
- package/dist/es5/gml-loader.js.map +1 -1
- package/dist/es5/index.js +0 -7
- package/dist/es5/index.js.map +1 -1
- package/dist/es5/lerc-loader.js +17 -22
- package/dist/es5/lerc-loader.js.map +1 -1
- package/dist/es5/lib/create-image-source.js +1 -2
- package/dist/es5/lib/create-image-source.js.map +1 -1
- package/dist/es5/lib/parsers/csw/parse-csw-capabilities.js.map +1 -1
- package/dist/es5/lib/parsers/csw/parse-csw-domain.js +1 -1
- package/dist/es5/lib/parsers/csw/parse-csw-domain.js.map +1 -1
- package/dist/es5/lib/parsers/csw/parse-csw-records.js +1 -2
- package/dist/es5/lib/parsers/csw/parse-csw-records.js.map +1 -1
- package/dist/es5/lib/parsers/csw/parse-exception-report.js +0 -2
- package/dist/es5/lib/parsers/csw/parse-exception-report.js.map +1 -1
- package/dist/es5/lib/parsers/gml/deep-strict-equal.js +0 -8
- package/dist/es5/lib/parsers/gml/deep-strict-equal.js.map +1 -1
- package/dist/es5/lib/parsers/gml/parse-gml.js +1 -13
- package/dist/es5/lib/parsers/gml/parse-gml.js.map +1 -1
- package/dist/es5/lib/parsers/wms/parse-wms-capabilities.js +197 -54
- package/dist/es5/lib/parsers/wms/parse-wms-capabilities.js.map +1 -1
- package/dist/es5/lib/parsers/wms/parse-wms-error.js +0 -1
- package/dist/es5/lib/parsers/wms/parse-wms-error.js.map +1 -1
- package/dist/es5/lib/parsers/wms/parse-wms-features.js +0 -1
- package/dist/es5/lib/parsers/wms/parse-wms-features.js.map +1 -1
- package/dist/es5/lib/parsers/wms/parse-wms-layer-description.js +0 -1
- package/dist/es5/lib/parsers/wms/parse-wms-layer-description.js.map +1 -1
- package/dist/es5/lib/parsers/xml/parse-xml-helpers.js +67 -0
- package/dist/es5/lib/parsers/xml/parse-xml-helpers.js.map +1 -0
- package/dist/es5/lib/services/arcgis/arcgis-image-service.js +35 -54
- package/dist/es5/lib/services/arcgis/arcgis-image-service.js.map +1 -1
- package/dist/es5/lib/services/arcgis/arcgis-server.js +50 -54
- package/dist/es5/lib/services/arcgis/arcgis-server.js.map +1 -1
- package/dist/es5/lib/services/generic/image-service.js +27 -36
- package/dist/es5/lib/services/generic/image-service.js.map +1 -1
- package/dist/es5/lib/services/ogc/csw-service.js +161 -186
- package/dist/es5/lib/services/ogc/csw-service.js.map +1 -1
- package/dist/es5/lib/services/ogc/wms-service.js +283 -245
- package/dist/es5/lib/services/ogc/wms-service.js.map +1 -1
- package/dist/es5/lib/sources/data-source.js +1 -6
- package/dist/es5/lib/sources/data-source.js.map +1 -1
- package/dist/es5/lib/sources/image-source.js.map +1 -1
- package/dist/es5/lib/sources/tile-source.js.map +1 -1
- package/dist/es5/lib/sources/utils/utils.js +0 -4
- package/dist/es5/lib/sources/utils/utils.js.map +1 -1
- package/dist/es5/wip/arcgis-feature-service.js +2 -7
- package/dist/es5/wip/arcgis-feature-service.js.map +1 -1
- package/dist/es5/wip/data-source.js +0 -2
- package/dist/es5/wip/lib/wcs/parse-wcs-capabilities.js.map +1 -1
- package/dist/es5/wip/lib/wfs/parse-wfs-capabilities.js.map +1 -1
- package/dist/es5/wip/lib/wmts/parse-wmts-capabilities.js.map +1 -1
- package/dist/es5/wip/wcs-capabilities-loader.js +7 -10
- package/dist/es5/wip/wcs-capabilities-loader.js.map +1 -1
- package/dist/es5/wip/wfs-capabilities-loader.js +7 -10
- package/dist/es5/wip/wfs-capabilities-loader.js.map +1 -1
- package/dist/es5/wip/wms-feature-info-loader.js +6 -8
- package/dist/es5/wip/wms-feature-info-loader.js.map +1 -1
- package/dist/es5/wip/wms-layer-description-loader.js +6 -8
- package/dist/es5/wip/wms-layer-description-loader.js.map +1 -1
- package/dist/es5/wip/wmts-capabilities-loader.js +7 -16
- package/dist/es5/wip/wmts-capabilities-loader.js.map +1 -1
- package/dist/es5/wms-capabilities-loader.js +8 -12
- package/dist/es5/wms-capabilities-loader.js.map +1 -1
- package/dist/es5/wms-error-loader.js +7 -9
- package/dist/es5/wms-error-loader.js.map +1 -1
- package/dist/esm/bundle.js +0 -2
- package/dist/esm/bundle.js.map +1 -1
- package/dist/esm/csw-capabilities-loader.js +1 -5
- package/dist/esm/csw-capabilities-loader.js.map +1 -1
- package/dist/esm/csw-domain-loader.js +1 -4
- package/dist/esm/csw-domain-loader.js.map +1 -1
- package/dist/esm/csw-records-loader.js +1 -4
- package/dist/esm/csw-records-loader.js.map +1 -1
- package/dist/esm/gml-loader.js +1 -4
- package/dist/esm/gml-loader.js.map +1 -1
- package/dist/esm/index.js +0 -11
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/lerc-loader.js +1 -4
- package/dist/esm/lerc-loader.js.map +1 -1
- package/dist/esm/lib/create-image-source.js +0 -3
- package/dist/esm/lib/create-image-source.js.map +1 -1
- package/dist/esm/lib/parsers/csw/parse-csw-capabilities.js +0 -3
- package/dist/esm/lib/parsers/csw/parse-csw-capabilities.js.map +1 -1
- package/dist/esm/lib/parsers/csw/parse-csw-domain.js +0 -3
- package/dist/esm/lib/parsers/csw/parse-csw-domain.js.map +1 -1
- package/dist/esm/lib/parsers/csw/parse-csw-records.js +0 -3
- package/dist/esm/lib/parsers/csw/parse-csw-records.js.map +1 -1
- package/dist/esm/lib/parsers/csw/parse-exception-report.js +0 -3
- package/dist/esm/lib/parsers/csw/parse-exception-report.js.map +1 -1
- package/dist/esm/lib/parsers/gml/deep-strict-equal.js +0 -9
- package/dist/esm/lib/parsers/gml/deep-strict-equal.js.map +1 -1
- package/dist/esm/lib/parsers/gml/parse-gml.js +0 -14
- package/dist/esm/lib/parsers/gml/parse-gml.js.map +1 -1
- package/dist/esm/lib/parsers/wms/parse-wms-capabilities.js +151 -42
- package/dist/esm/lib/parsers/wms/parse-wms-capabilities.js.map +1 -1
- package/dist/esm/lib/parsers/wms/parse-wms-error.js +0 -3
- package/dist/esm/lib/parsers/wms/parse-wms-error.js.map +1 -1
- package/dist/esm/lib/parsers/wms/parse-wms-features.js +0 -3
- package/dist/esm/lib/parsers/wms/parse-wms-features.js.map +1 -1
- package/dist/esm/lib/parsers/wms/parse-wms-layer-description.js +0 -3
- package/dist/esm/lib/parsers/wms/parse-wms-layer-description.js.map +1 -1
- package/dist/esm/lib/parsers/xml/parse-xml-helpers.js +53 -0
- package/dist/esm/lib/parsers/xml/parse-xml-helpers.js.map +1 -0
- package/dist/esm/lib/services/arcgis/arcgis-image-service.js +0 -9
- package/dist/esm/lib/services/arcgis/arcgis-image-service.js.map +1 -1
- package/dist/esm/lib/services/arcgis/arcgis-server.js +0 -2
- package/dist/esm/lib/services/arcgis/arcgis-server.js.map +1 -1
- package/dist/esm/lib/services/generic/image-service.js +0 -5
- package/dist/esm/lib/services/generic/image-service.js.map +1 -1
- package/dist/esm/lib/services/ogc/csw-service.js +0 -11
- package/dist/esm/lib/services/ogc/csw-service.js.map +1 -1
- package/dist/esm/lib/services/ogc/wms-service.js +96 -87
- package/dist/esm/lib/services/ogc/wms-service.js.map +1 -1
- package/dist/esm/lib/sources/data-source.js +0 -6
- package/dist/esm/lib/sources/data-source.js.map +1 -1
- package/dist/esm/lib/sources/image-source.js +0 -3
- package/dist/esm/lib/sources/image-source.js.map +1 -1
- package/dist/esm/lib/sources/tile-source.js +0 -3
- package/dist/esm/lib/sources/tile-source.js.map +1 -1
- package/dist/esm/lib/sources/utils/utils.js +0 -5
- package/dist/esm/lib/sources/utils/utils.js.map +1 -1
- package/dist/esm/wip/arcgis-feature-service.js +0 -3
- package/dist/esm/wip/arcgis-feature-service.js.map +1 -1
- package/dist/esm/wip/lib/wcs/parse-wcs-capabilities.js +0 -3
- package/dist/esm/wip/lib/wcs/parse-wcs-capabilities.js.map +1 -1
- package/dist/esm/wip/lib/wfs/parse-wfs-capabilities.js +0 -3
- package/dist/esm/wip/lib/wfs/parse-wfs-capabilities.js.map +1 -1
- package/dist/esm/wip/lib/wmts/parse-wmts-capabilities.js +0 -3
- package/dist/esm/wip/lib/wmts/parse-wmts-capabilities.js.map +1 -1
- package/dist/esm/wip/wcs-capabilities-loader.js +1 -4
- package/dist/esm/wip/wcs-capabilities-loader.js.map +1 -1
- package/dist/esm/wip/wfs-capabilities-loader.js +1 -4
- package/dist/esm/wip/wfs-capabilities-loader.js.map +1 -1
- package/dist/esm/wip/wms-feature-info-loader.js +0 -2
- package/dist/esm/wip/wms-feature-info-loader.js.map +1 -1
- package/dist/esm/wip/wms-layer-description-loader.js +0 -2
- package/dist/esm/wip/wms-layer-description-loader.js.map +1 -1
- package/dist/esm/wip/wmts-capabilities-loader.js +1 -6
- package/dist/esm/wip/wmts-capabilities-loader.js.map +1 -1
- package/dist/esm/wms-capabilities-loader.js +3 -7
- package/dist/esm/wms-capabilities-loader.js.map +1 -1
- package/dist/esm/wms-error-loader.js +1 -4
- package/dist/esm/wms-error-loader.js.map +1 -1
- package/dist/index.d.ts +0 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -5
- package/dist/lib/parsers/wms/parse-wms-capabilities.d.ts +78 -62
- package/dist/lib/parsers/wms/parse-wms-capabilities.d.ts.map +1 -1
- package/dist/lib/parsers/wms/parse-wms-capabilities.js +165 -1935
- package/dist/lib/parsers/xml/parse-xml-helpers.d.ts +11 -0
- package/dist/lib/parsers/xml/parse-xml-helpers.d.ts.map +1 -0
- package/dist/lib/parsers/xml/parse-xml-helpers.js +68 -0
- package/dist/lib/services/arcgis/arcgis-image-service.js +1 -1
- package/dist/lib/services/generic/image-service.js +1 -1
- package/dist/lib/services/ogc/csw-service.d.ts +1 -1
- package/dist/lib/services/ogc/csw-service.d.ts.map +1 -1
- package/dist/lib/services/ogc/csw-service.js +1 -1
- package/dist/lib/services/ogc/wms-service.d.ts +63 -58
- package/dist/lib/services/ogc/wms-service.d.ts.map +1 -1
- package/dist/lib/services/ogc/wms-service.js +106 -71
- package/dist/lib/sources/image-source.d.ts +3 -9
- package/dist/lib/sources/image-source.d.ts.map +1 -1
- package/dist/wip/wmts-capabilities-loader.d.ts +3 -4
- package/dist/wip/wmts-capabilities-loader.d.ts.map +1 -1
- package/dist/wip/wmts-capabilities-loader.js +1 -0
- package/dist/wms-capabilities-loader.d.ts +6 -1
- package/dist/wms-capabilities-loader.d.ts.map +1 -1
- package/dist/wms-capabilities-loader.js +2 -2
- package/package.json +6 -6
- package/src/index.ts +3 -4
- package/src/lib/parsers/wms/parse-wms-capabilities.ts +293 -2004
- package/src/lib/parsers/xml/parse-xml-helpers.ts +65 -0
- package/src/lib/services/ogc/csw-service.ts +1 -1
- package/src/lib/services/ogc/wms-service.ts +169 -109
- package/src/lib/sources/image-source.ts +3 -9
- package/src/wip/wmts-capabilities-loader.ts +2 -2
- package/src/wms-capabilities-loader.ts +9 -3
|
@@ -31,23 +31,20 @@ var ArcGISImageServer = function (_ImageSource) {
|
|
|
31
31
|
_this.props = props;
|
|
32
32
|
return _this;
|
|
33
33
|
}
|
|
34
|
-
|
|
35
34
|
(0, _createClass2.default)(ArcGISImageServer, [{
|
|
36
35
|
key: "getMetadata",
|
|
37
36
|
value: function () {
|
|
38
37
|
var _getMetadata = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee() {
|
|
39
38
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
40
|
-
while (1) {
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
return _context.stop();
|
|
50
|
-
}
|
|
39
|
+
while (1) switch (_context.prev = _context.next) {
|
|
40
|
+
case 0:
|
|
41
|
+
_context.next = 2;
|
|
42
|
+
return this.metadata();
|
|
43
|
+
case 2:
|
|
44
|
+
return _context.abrupt("return", _context.sent);
|
|
45
|
+
case 3:
|
|
46
|
+
case "end":
|
|
47
|
+
return _context.stop();
|
|
51
48
|
}
|
|
52
49
|
}, _callee, this);
|
|
53
50
|
}));
|
|
@@ -61,14 +58,12 @@ var ArcGISImageServer = function (_ImageSource) {
|
|
|
61
58
|
value: function () {
|
|
62
59
|
var _getImage = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee2(parameters) {
|
|
63
60
|
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
64
|
-
while (1) {
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
return _context2.stop();
|
|
71
|
-
}
|
|
61
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
62
|
+
case 0:
|
|
63
|
+
throw new Error('not implemented');
|
|
64
|
+
case 1:
|
|
65
|
+
case "end":
|
|
66
|
+
return _context2.stop();
|
|
72
67
|
}
|
|
73
68
|
}, _callee2);
|
|
74
69
|
}));
|
|
@@ -82,14 +77,12 @@ var ArcGISImageServer = function (_ImageSource) {
|
|
|
82
77
|
value: function () {
|
|
83
78
|
var _metadata = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee3() {
|
|
84
79
|
return _regenerator.default.wrap(function _callee3$(_context3) {
|
|
85
|
-
while (1) {
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
return _context3.stop();
|
|
92
|
-
}
|
|
80
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
81
|
+
case 0:
|
|
82
|
+
throw new Error('not implemented');
|
|
83
|
+
case 1:
|
|
84
|
+
case "end":
|
|
85
|
+
return _context3.stop();
|
|
93
86
|
}
|
|
94
87
|
}, _callee3);
|
|
95
88
|
}));
|
|
@@ -100,23 +93,17 @@ var ArcGISImageServer = function (_ImageSource) {
|
|
|
100
93
|
}()
|
|
101
94
|
}, {
|
|
102
95
|
key: "exportImage",
|
|
103
|
-
value:
|
|
104
|
-
function exportImage(options) {
|
|
96
|
+
value: function exportImage(options) {
|
|
105
97
|
throw new Error('not implemented');
|
|
106
98
|
}
|
|
107
|
-
|
|
108
99
|
}, {
|
|
109
100
|
key: "metadataURL",
|
|
110
|
-
value:
|
|
111
|
-
|
|
112
|
-
function metadataURL(options) {
|
|
101
|
+
value: function metadataURL(options) {
|
|
113
102
|
return "".concat(this.props.url, "?f=pjson");
|
|
114
103
|
}
|
|
115
|
-
|
|
116
104
|
}, {
|
|
117
105
|
key: "exportImageURL",
|
|
118
|
-
value:
|
|
119
|
-
function exportImageURL(options) {
|
|
106
|
+
value: function exportImageURL(options) {
|
|
120
107
|
var bbox = "bbox=".concat(options.bbox[0], ",").concat(options.bbox[1], ",").concat(options.bbox[2], ",").concat(options.bbox[3]);
|
|
121
108
|
var size = "size=".concat(options.width, ",").concat(options.height);
|
|
122
109
|
var arcgisOptions = _objectSpread(_objectSpread({}, options), {}, {
|
|
@@ -127,12 +114,9 @@ var ArcGISImageServer = function (_ImageSource) {
|
|
|
127
114
|
delete arcgisOptions.height;
|
|
128
115
|
return this.getUrl('exportImage', arcgisOptions);
|
|
129
116
|
}
|
|
130
|
-
|
|
131
117
|
}, {
|
|
132
118
|
key: "getUrl",
|
|
133
|
-
value:
|
|
134
|
-
|
|
135
|
-
function getUrl(path, options, extra) {
|
|
119
|
+
value: function getUrl(path, options, extra) {
|
|
136
120
|
var url = "".concat(this.props.url, "/").concat(path);
|
|
137
121
|
var first = true;
|
|
138
122
|
for (var _i = 0, _Object$entries = Object.entries(options); _i < _Object$entries.length; _i++) {
|
|
@@ -149,24 +133,21 @@ var ArcGISImageServer = function (_ImageSource) {
|
|
|
149
133
|
}
|
|
150
134
|
return url;
|
|
151
135
|
}
|
|
152
|
-
|
|
153
136
|
}, {
|
|
154
137
|
key: "checkResponse",
|
|
155
138
|
value: function () {
|
|
156
139
|
var _checkResponse = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee4(response) {
|
|
157
140
|
return _regenerator.default.wrap(function _callee4$(_context4) {
|
|
158
|
-
while (1) {
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
return _context4.stop();
|
|
169
|
-
}
|
|
141
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
142
|
+
case 0:
|
|
143
|
+
if (response.ok) {
|
|
144
|
+
_context4.next = 2;
|
|
145
|
+
break;
|
|
146
|
+
}
|
|
147
|
+
throw new Error('error');
|
|
148
|
+
case 2:
|
|
149
|
+
case "end":
|
|
150
|
+
return _context4.stop();
|
|
170
151
|
}
|
|
171
152
|
}, _callee4);
|
|
172
153
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arcgis-image-service.js","names":["ArcGISImageServer","props","metadata","parameters","Error","options","url","bbox","size","width","height","arcgisOptions","getUrl","path","extra","first","Object","entries","key","value","Array","isArray","toUpperCase","join","String","response","ok","ImageSource","toLowerCase","includes"],"sources":["../../../../../src/lib/services/arcgis/arcgis-image-service.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport {ImageType} from '@loaders.gl/images';\nimport type {ImageSourceMetadata, GetImageParameters} from '../../sources/image-source';\nimport type {ImageSourceProps} from '../../sources/image-source';\nimport {ImageSource} from '../../sources/image-source';\n\nexport type ArcGISImageServerProps = ImageSourceProps & {\n url: string;\n};\n\n/**\n * ArcGIS ImageServer\n * Note - exports a big API, that could be exposed here if there is a use case\n * @see https://developers.arcgis.com/rest/services-reference/enterprise/image-service.htm\n */\nexport class ArcGISImageServer extends ImageSource {\n static type: 'arcgis-image-server' = 'arcgis-image-server';\n static testURL = (url: string): boolean => url.toLowerCase().includes('ImageServer');\n\n props: ArcGISImageServerProps;\n\n constructor(props: ArcGISImageServerProps) {\n super(props);\n this.props = props;\n }\n\n // ImageSource (normalized endpoints)\n\n async getMetadata(): Promise<ImageSourceMetadata> {\n return (await this.metadata()) as ImageSourceMetadata;\n // TODO - normalize metadata\n }\n\n async getImage(parameters: GetImageParameters): Promise<ImageType> {\n throw new Error('not implemented');\n // TODO - Map generic parameters to ArcGIS specific parameters\n // return await this.exportImage(parameters);\n }\n\n // ImageServer endpoints\n\n async metadata(): Promise<unknown> {\n // We just need a JSON parsing...\n // return this.getUrl({path: '', ...options});\n throw new Error('not implemented');\n }\n\n /** \n * Form a URL to an ESRI ImageServer\n // https://sampleserver6.arcgisonline.com/arcgis/rest/services/NLCDLandCover2001/ImageServer/exportImage?bbox=${bounds[0]},${bounds[1]},${bounds[2]},${bounds[3]}&bboxSR=4326&size=${width},${height}&imageSR=102100&time=&format=jpgpng&pixelType=U8&noData=&noDataInterpretation=esriNoDataMatchAny&interpolation=+RSP_NearestNeighbor&compression=&compressionQuality=&bandIds=&mosaicRule=&renderingRule=&f=image`,\n */\n exportImage(options: {\n boundingBox: [number, number, number, number];\n boundingBoxSR?: string;\n width: number;\n height: number;\n imageSR?: string;\n time?: never;\n format?: 'jpgpng';\n pixelType?: 'U8';\n noData?: never;\n noDataInterpretation?: 'esriNoDataMatchAny';\n interpolation?: '+RSP_NearestNeighbor';\n compression?: never;\n compressionQuality?: never;\n bandIds?: never;\n mosaicRule?: never;\n renderingRule?: never;\n f?: 'image';\n }): Promise<ImageType> {\n // See WMSService.getMap()\n throw new Error('not implemented');\n }\n\n // URL creators\n\n metadataURL(options: {parameters?: Record<string, unknown>}): string {\n return `${this.props.url}?f=pjson`;\n }\n\n /** \n * Form a URL to an ESRI ImageServer\n // https://sampleserver6.arcgisonline.com/arcgis/rest/services/NLCDLandCover2001/ImageServer/exportImage?\n // bbox=${bounds[0]},${bounds[1]},${bounds[2]},${bounds[3]}&bboxSR=4326&\n // size=${width},${height}&imageSR=102100&time=&format=jpgpng&pixelType=U8&\n // noData=&noDataInterpretation=esriNoDataMatchAny&interpolation=+RSP_NearestNeighbor&compression=&\n // compressionQuality=&bandIds=&mosaicRule=&renderingRule=&\n // f=image\n */\n exportImageURL(options: {\n bbox: [number, number, number, number];\n boxSR?: string;\n width: number;\n height: number;\n imageSR?: string;\n time?: never;\n format?: 'jpgpng';\n pixelType?: 'U8';\n noData?: never;\n noDataInterpretation?: 'esriNoDataMatchAny';\n interpolation?: '+RSP_NearestNeighbor';\n compression?: never;\n compressionQuality?: never;\n bandIds?: never;\n mosaicRule?: never;\n renderingRule?: never;\n f?: 'image';\n }): string {\n const bbox = `bbox=${options.bbox[0]},${options.bbox[1]},${options.bbox[2]},${options.bbox[3]}`;\n const size = `size=${options.width},${options.height}`;\n const arcgisOptions = {...options, bbox, size};\n // @ts-expect-error\n delete arcgisOptions.width;\n // @ts-expect-error\n delete arcgisOptions.height;\n return this.getUrl('exportImage', arcgisOptions);\n }\n\n // INTERNAL METHODS\n\n /**\n * @note protected, since perhaps getWMSUrl may need to be overridden to handle certain backends?\n * @note if override is common, maybe add a callback prop?\n * */\n protected getUrl(\n path: string,\n options: Record<string, unknown>,\n extra?: Record<string, unknown>\n ): string {\n let url = `${this.props.url}/${path}`;\n let first = true;\n for (const [key, value] of Object.entries(options)) {\n url += first ? '?' : '&';\n first = false;\n if (Array.isArray(value)) {\n url += `${key.toUpperCase()}=${value.join(',')}`;\n } else {\n url += `${key.toUpperCase()}=${value ? String(value) : ''}`;\n }\n }\n return url;\n }\n\n /** Checks for and parses a WMS XML formatted ServiceError and throws an exception */\n protected async checkResponse(response: Response) {\n if (!response.ok) {\n // } || response.headers['content-type'] === WMSErrorLoader.mimeTypes[0]) {\n // const arrayBuffer = await response.arrayBuffer();\n // const error = await WMSErrorLoader.parse(arrayBuffer, this.loadOptions);\n throw new Error('error');\n }\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"arcgis-image-service.js","names":["_imageSource","require","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","ArcGISImageServer","_ImageSource","_inherits2","_super","props","_this","_classCallCheck2","_assertThisInitialized2","_createClass2","value","_getMetadata","_asyncToGenerator2","_regenerator","mark","_callee","wrap","_callee$","_context","prev","next","metadata","abrupt","sent","stop","getMetadata","_getImage","_callee2","parameters","_callee2$","_context2","Error","getImage","_x","_metadata","_callee3","_callee3$","_context3","exportImage","options","metadataURL","concat","url","exportImageURL","bbox","size","width","height","arcgisOptions","getUrl","path","extra","first","_i","_Object$entries","entries","_Object$entries$_i","_slicedToArray2","Array","isArray","toUpperCase","join","String","_checkResponse","_callee4","response","_callee4$","_context4","ok","checkResponse","_x2","ImageSource","exports","toLowerCase","includes"],"sources":["../../../../../src/lib/services/arcgis/arcgis-image-service.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport {ImageType} from '@loaders.gl/images';\nimport type {ImageSourceMetadata, GetImageParameters} from '../../sources/image-source';\nimport type {ImageSourceProps} from '../../sources/image-source';\nimport {ImageSource} from '../../sources/image-source';\n\nexport type ArcGISImageServerProps = ImageSourceProps & {\n url: string;\n};\n\n/**\n * ArcGIS ImageServer\n * Note - exports a big API, that could be exposed here if there is a use case\n * @see https://developers.arcgis.com/rest/services-reference/enterprise/image-service.htm\n */\nexport class ArcGISImageServer extends ImageSource {\n static type: 'arcgis-image-server' = 'arcgis-image-server';\n static testURL = (url: string): boolean => url.toLowerCase().includes('ImageServer');\n\n props: ArcGISImageServerProps;\n\n constructor(props: ArcGISImageServerProps) {\n super(props);\n this.props = props;\n }\n\n // ImageSource (normalized endpoints)\n\n async getMetadata(): Promise<ImageSourceMetadata> {\n return (await this.metadata()) as ImageSourceMetadata;\n // TODO - normalize metadata\n }\n\n async getImage(parameters: GetImageParameters): Promise<ImageType> {\n throw new Error('not implemented');\n // TODO - Map generic parameters to ArcGIS specific parameters\n // return await this.exportImage(parameters);\n }\n\n // ImageServer endpoints\n\n async metadata(): Promise<unknown> {\n // We just need a JSON parsing...\n // return this.getUrl({path: '', ...options});\n throw new Error('not implemented');\n }\n\n /** \n * Form a URL to an ESRI ImageServer\n // https://sampleserver6.arcgisonline.com/arcgis/rest/services/NLCDLandCover2001/ImageServer/exportImage?bbox=${bounds[0]},${bounds[1]},${bounds[2]},${bounds[3]}&bboxSR=4326&size=${width},${height}&imageSR=102100&time=&format=jpgpng&pixelType=U8&noData=&noDataInterpretation=esriNoDataMatchAny&interpolation=+RSP_NearestNeighbor&compression=&compressionQuality=&bandIds=&mosaicRule=&renderingRule=&f=image`,\n */\n exportImage(options: {\n boundingBox: [number, number, number, number];\n boundingBoxSR?: string;\n width: number;\n height: number;\n imageSR?: string;\n time?: never;\n format?: 'jpgpng';\n pixelType?: 'U8';\n noData?: never;\n noDataInterpretation?: 'esriNoDataMatchAny';\n interpolation?: '+RSP_NearestNeighbor';\n compression?: never;\n compressionQuality?: never;\n bandIds?: never;\n mosaicRule?: never;\n renderingRule?: never;\n f?: 'image';\n }): Promise<ImageType> {\n // See WMSService.getMap()\n throw new Error('not implemented');\n }\n\n // URL creators\n\n metadataURL(options: {parameters?: Record<string, unknown>}): string {\n return `${this.props.url}?f=pjson`;\n }\n\n /** \n * Form a URL to an ESRI ImageServer\n // https://sampleserver6.arcgisonline.com/arcgis/rest/services/NLCDLandCover2001/ImageServer/exportImage?\n // bbox=${bounds[0]},${bounds[1]},${bounds[2]},${bounds[3]}&bboxSR=4326&\n // size=${width},${height}&imageSR=102100&time=&format=jpgpng&pixelType=U8&\n // noData=&noDataInterpretation=esriNoDataMatchAny&interpolation=+RSP_NearestNeighbor&compression=&\n // compressionQuality=&bandIds=&mosaicRule=&renderingRule=&\n // f=image\n */\n exportImageURL(options: {\n bbox: [number, number, number, number];\n boxSR?: string;\n width: number;\n height: number;\n imageSR?: string;\n time?: never;\n format?: 'jpgpng';\n pixelType?: 'U8';\n noData?: never;\n noDataInterpretation?: 'esriNoDataMatchAny';\n interpolation?: '+RSP_NearestNeighbor';\n compression?: never;\n compressionQuality?: never;\n bandIds?: never;\n mosaicRule?: never;\n renderingRule?: never;\n f?: 'image';\n }): string {\n const bbox = `bbox=${options.bbox[0]},${options.bbox[1]},${options.bbox[2]},${options.bbox[3]}`;\n const size = `size=${options.width},${options.height}`;\n const arcgisOptions = {...options, bbox, size};\n // @ts-expect-error\n delete arcgisOptions.width;\n // @ts-expect-error\n delete arcgisOptions.height;\n return this.getUrl('exportImage', arcgisOptions);\n }\n\n // INTERNAL METHODS\n\n /**\n * @note protected, since perhaps getWMSUrl may need to be overridden to handle certain backends?\n * @note if override is common, maybe add a callback prop?\n * */\n protected getUrl(\n path: string,\n options: Record<string, unknown>,\n extra?: Record<string, unknown>\n ): string {\n let url = `${this.props.url}/${path}`;\n let first = true;\n for (const [key, value] of Object.entries(options)) {\n url += first ? '?' : '&';\n first = false;\n if (Array.isArray(value)) {\n url += `${key.toUpperCase()}=${value.join(',')}`;\n } else {\n url += `${key.toUpperCase()}=${value ? String(value) : ''}`;\n }\n }\n return url;\n }\n\n /** Checks for and parses a WMS XML formatted ServiceError and throws an exception */\n protected async checkResponse(response: Response) {\n if (!response.ok) {\n // } || response.headers['content-type'] === WMSErrorLoader.mimeTypes[0]) {\n // const arrayBuffer = await response.arrayBuffer();\n // const error = await WMSErrorLoader.parse(arrayBuffer, this.loadOptions);\n throw new Error('error');\n }\n }\n}\n"],"mappings":"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"}
|
|
@@ -10,7 +10,7 @@ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers
|
|
|
10
10
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
11
11
|
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
|
12
12
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
13
|
-
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++)
|
|
13
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
14
14
|
function getArcGISServices(_x) {
|
|
15
15
|
return _getArcGISServices.apply(this, arguments);
|
|
16
16
|
}
|
|
@@ -20,22 +20,20 @@ function _getArcGISServices() {
|
|
|
20
20
|
serverUrl,
|
|
21
21
|
_args = arguments;
|
|
22
22
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
23
|
-
while (1) {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
return _context.stop();
|
|
38
|
-
}
|
|
23
|
+
while (1) switch (_context.prev = _context.next) {
|
|
24
|
+
case 0:
|
|
25
|
+
fetchFile = _args.length > 1 && _args[1] !== undefined ? _args[1] : fetch;
|
|
26
|
+
if (!url.includes('rest/services')) {
|
|
27
|
+
_context.next = 4;
|
|
28
|
+
break;
|
|
29
|
+
}
|
|
30
|
+
serverUrl = url.replace(/rest\/services.*$/i, 'rest/services');
|
|
31
|
+
return _context.abrupt("return", loadServiceDirectory(serverUrl, fetchFile, []));
|
|
32
|
+
case 4:
|
|
33
|
+
return _context.abrupt("return", null);
|
|
34
|
+
case 5:
|
|
35
|
+
case "end":
|
|
36
|
+
return _context.stop();
|
|
39
37
|
}
|
|
40
38
|
}, _callee);
|
|
41
39
|
}));
|
|
@@ -48,44 +46,42 @@ function _loadServiceDirectory() {
|
|
|
48
46
|
_loadServiceDirectory = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee2(serverUrl, fetch, path) {
|
|
49
47
|
var serviceUrl, response, directory, services, folders, promises, _iterator2, _step2, folderServices;
|
|
50
48
|
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
51
|
-
while (1) {
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
services.push.apply(services, (0, _toConsumableArray2.default)(folderServices));
|
|
78
|
-
}
|
|
79
|
-
} catch (err) {
|
|
80
|
-
_iterator2.e(err);
|
|
81
|
-
} finally {
|
|
82
|
-
_iterator2.f();
|
|
49
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
50
|
+
case 0:
|
|
51
|
+
serviceUrl = "".concat(serverUrl, "/").concat(path.join('/'));
|
|
52
|
+
_context2.next = 3;
|
|
53
|
+
return fetch("".concat(serviceUrl, "?f=pjson"));
|
|
54
|
+
case 3:
|
|
55
|
+
response = _context2.sent;
|
|
56
|
+
_context2.next = 6;
|
|
57
|
+
return response.json();
|
|
58
|
+
case 6:
|
|
59
|
+
directory = _context2.sent;
|
|
60
|
+
services = extractServices(directory, serviceUrl);
|
|
61
|
+
folders = directory.folders || [];
|
|
62
|
+
promises = folders.map(function (folder) {
|
|
63
|
+
return loadServiceDirectory("".concat(serverUrl), fetch, [].concat((0, _toConsumableArray2.default)(path), [folder]));
|
|
64
|
+
});
|
|
65
|
+
_context2.t0 = _createForOfIteratorHelper;
|
|
66
|
+
_context2.next = 13;
|
|
67
|
+
return Promise.all(promises);
|
|
68
|
+
case 13:
|
|
69
|
+
_context2.t1 = _context2.sent;
|
|
70
|
+
_iterator2 = (0, _context2.t0)(_context2.t1);
|
|
71
|
+
try {
|
|
72
|
+
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
73
|
+
folderServices = _step2.value;
|
|
74
|
+
services.push.apply(services, (0, _toConsumableArray2.default)(folderServices));
|
|
83
75
|
}
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
76
|
+
} catch (err) {
|
|
77
|
+
_iterator2.e(err);
|
|
78
|
+
} finally {
|
|
79
|
+
_iterator2.f();
|
|
80
|
+
}
|
|
81
|
+
return _context2.abrupt("return", services);
|
|
82
|
+
case 17:
|
|
83
|
+
case "end":
|
|
84
|
+
return _context2.stop();
|
|
89
85
|
}
|
|
90
86
|
}, _callee2);
|
|
91
87
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arcgis-server.js","names":["getArcGISServices","url","fetchFile","fetch","includes","
|
|
1
|
+
{"version":3,"file":"arcgis-server.js","names":["getArcGISServices","_x","_getArcGISServices","apply","arguments","_asyncToGenerator2","default","_regenerator","mark","_callee","url","fetchFile","serverUrl","_args","wrap","_callee$","_context","prev","next","length","undefined","fetch","includes","replace","abrupt","loadServiceDirectory","stop","_x2","_x3","_x4","_loadServiceDirectory","_callee2","path","serviceUrl","response","directory","services","folders","promises","_iterator2","_step2","folderServices","_callee2$","_context2","concat","join","sent","json","extractServices","map","folder","_toConsumableArray2","t0","_createForOfIteratorHelper","Promise","all","t1","s","n","done","value","push","err","e","f","arcgisServices","_iterator","_step","service","name","type","toLocaleLowerCase"],"sources":["../../../../../src/lib/services/arcgis/arcgis-server.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nexport type Service = {name: string; type: string; url: string};\n\ntype FetchLike = typeof fetch;\n\n/**\n * (Recursively) load the service directory from an ArcGIS Server URL\n * @param url\n * @param fetchFile= Optional fetch function override\n * @returns\n */\nexport async function getArcGISServices(\n url: string,\n fetchFile: FetchLike = fetch\n): Promise<Service[] | null> {\n if (url.includes('rest/services')) {\n const serverUrl = url.replace(/rest\\/services.*$/i, 'rest/services');\n return loadServiceDirectory(serverUrl, fetchFile, []);\n }\n return null;\n}\n\nasync function loadServiceDirectory(\n serverUrl: string,\n fetch: FetchLike,\n path: string[]\n): Promise<Service[]> {\n const serviceUrl = `${serverUrl}/${path.join('/')}`;\n\n const response = await fetch(`${serviceUrl}?f=pjson`);\n const directory = await response.json();\n\n const services = extractServices(directory, serviceUrl);\n\n const folders = (directory.folders || []) as string[];\n const promises = folders.map((folder) =>\n loadServiceDirectory(`${serverUrl}`, fetch, [...path, folder])\n );\n\n for (const folderServices of await Promise.all(promises)) {\n services.push(...folderServices);\n }\n\n return services;\n}\n\nfunction extractServices(directory: unknown, url: string): Service[] {\n const arcgisServices = ((directory as any).services || []) as {name: string; type: string}[];\n const services: Service[] = [];\n for (const service of arcgisServices) {\n services.push({\n name: service.name,\n type: `arcgis-${service.type.toLocaleLowerCase().replace('server', '-server')}`,\n url: `${url}${service.name}/${service.type}`\n });\n }\n return services;\n}\n"],"mappings":"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"}
|
|
@@ -32,20 +32,17 @@ var ImageService = function (_ImageSource) {
|
|
|
32
32
|
_this.props = props;
|
|
33
33
|
return _this;
|
|
34
34
|
}
|
|
35
|
-
|
|
36
35
|
(0, _createClass2.default)(ImageService, [{
|
|
37
36
|
key: "getMetadata",
|
|
38
37
|
value: function () {
|
|
39
38
|
var _getMetadata = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee() {
|
|
40
39
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
41
|
-
while (1) {
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
return _context.stop();
|
|
48
|
-
}
|
|
40
|
+
while (1) switch (_context.prev = _context.next) {
|
|
41
|
+
case 0:
|
|
42
|
+
throw new Error('ImageSource.getMetadata not implemented');
|
|
43
|
+
case 1:
|
|
44
|
+
case "end":
|
|
45
|
+
return _context.stop();
|
|
49
46
|
}
|
|
50
47
|
}, _callee);
|
|
51
48
|
}));
|
|
@@ -60,27 +57,25 @@ var ImageService = function (_ImageSource) {
|
|
|
60
57
|
var _getImage = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee2(parameters) {
|
|
61
58
|
var granularParameters, url, response, arrayBuffer;
|
|
62
59
|
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
63
|
-
while (1) {
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
return _context2.stop();
|
|
83
|
-
}
|
|
60
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
61
|
+
case 0:
|
|
62
|
+
granularParameters = this.getGranularParameters(parameters);
|
|
63
|
+
url = this.getURLFromTemplate(granularParameters);
|
|
64
|
+
_context2.next = 4;
|
|
65
|
+
return this.fetch(url);
|
|
66
|
+
case 4:
|
|
67
|
+
response = _context2.sent;
|
|
68
|
+
_context2.next = 7;
|
|
69
|
+
return response.arrayBuffer();
|
|
70
|
+
case 7:
|
|
71
|
+
arrayBuffer = _context2.sent;
|
|
72
|
+
_context2.next = 10;
|
|
73
|
+
return _images.ImageLoader.parse(arrayBuffer);
|
|
74
|
+
case 10:
|
|
75
|
+
return _context2.abrupt("return", _context2.sent);
|
|
76
|
+
case 11:
|
|
77
|
+
case "end":
|
|
78
|
+
return _context2.stop();
|
|
84
79
|
}
|
|
85
80
|
}, _callee2, this);
|
|
86
81
|
}));
|
|
@@ -91,9 +86,7 @@ var ImageService = function (_ImageSource) {
|
|
|
91
86
|
}()
|
|
92
87
|
}, {
|
|
93
88
|
key: "getGranularParameters",
|
|
94
|
-
value:
|
|
95
|
-
|
|
96
|
-
function getGranularParameters(parameters) {
|
|
89
|
+
value: function getGranularParameters(parameters) {
|
|
97
90
|
var _parameters$bbox = (0, _slicedToArray2.default)(parameters.bbox, 4),
|
|
98
91
|
east = _parameters$bbox[0],
|
|
99
92
|
north = _parameters$bbox[1],
|
|
@@ -106,11 +99,9 @@ var ImageService = function (_ImageSource) {
|
|
|
106
99
|
west: west
|
|
107
100
|
});
|
|
108
101
|
}
|
|
109
|
-
|
|
110
102
|
}, {
|
|
111
103
|
key: "getURLFromTemplate",
|
|
112
|
-
value:
|
|
113
|
-
function getURLFromTemplate(parameters) {
|
|
104
|
+
value: function getURLFromTemplate(parameters) {
|
|
114
105
|
var url = this.props.url;
|
|
115
106
|
for (var _i = 0, _Object$entries = Object.entries(parameters); _i < _Object$entries.length; _i++) {
|
|
116
107
|
var _Object$entries$_i = (0, _slicedToArray2.default)(_Object$entries[_i], 2),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"image-service.js","names":["ImageService","props","Error","
|
|
1
|
+
{"version":3,"file":"image-service.js","names":["_images","require","_imageSource","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","ImageService","_ImageSource","_inherits2","_super","props","_this","_classCallCheck2","_assertThisInitialized2","_createClass2","value","_getMetadata","_asyncToGenerator2","_regenerator","mark","_callee","wrap","_callee$","_context","prev","next","Error","stop","getMetadata","_getImage","_callee2","parameters","granularParameters","url","response","arrayBuffer","_callee2$","_context2","getGranularParameters","getURLFromTemplate","fetch","sent","ImageLoader","parse","abrupt","getImage","_x","_parameters$bbox","_slicedToArray2","bbox","east","north","west","south","_i","_Object$entries","entries","_Object$entries$_i","replace","concat","String","ImageSource","exports","toLowerCase","includes"],"sources":["../../../../../src/lib/services/generic/image-service.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport {LoaderOptions} from '@loaders.gl/loader-utils';\nimport type {ImageType} from '@loaders.gl/images';\nimport {ImageLoader} from '@loaders.gl/images';\n\nimport type {ImageSourceMetadata, GetImageParameters} from '../../sources/image-source';\nimport {ImageSource} from '../../sources/image-source';\n\n/** Template URL string should contain `${width}` etc which will be substituted. */\nexport type ImageServiceProps = {\n /** Base URL to the service */\n url: string;\n /** Any load options to the loaders.gl Loaders used by the WMSService methods */\n loadOptions?: LoaderOptions;\n};\n\n/**\n * Quickly connect to \"ad hoc\" image sources without subclassing ImageSource.\n * ImageSource allows template url strings to be used to ad hoc connect to arbitrary image data sources\n * Accepts a template url string and builds requests URLs\n */\nexport class ImageService extends ImageSource {\n static type: 'template' = 'template';\n static testURL = (url: string): boolean => url.toLowerCase().includes('{');\n\n props: ImageServiceProps;\n\n constructor(props: ImageServiceProps) {\n super(props);\n this.props = props;\n }\n\n // IMAGE SOURCE API\n\n async getMetadata(): Promise<ImageSourceMetadata> {\n throw new Error('ImageSource.getMetadata not implemented');\n }\n\n async getImage(parameters: GetImageParameters): Promise<ImageType> {\n const granularParameters = this.getGranularParameters(parameters);\n const url = this.getURLFromTemplate(granularParameters);\n const response = await this.fetch(url);\n const arrayBuffer = await response.arrayBuffer();\n return await ImageLoader.parse(arrayBuffer);\n }\n\n // HELPERS\n\n /** Break up bounding box in east, north, south, west */\n protected getGranularParameters(parameters: GetImageParameters): Record<string, unknown> {\n const [east, north, west, south] = parameters.bbox;\n return {...parameters, east, north, south, west};\n }\n\n /** Supports both ${} and {} notations */\n protected getURLFromTemplate(parameters: Record<string, unknown>): string {\n let url = this.props.url;\n for (const [key, value] of Object.entries(parameters)) {\n // TODO - parameter could be repeated\n // const regex = new RegExp(`\\${${key}}`, 'g');\n url = url.replace(`\\${${key}}`, String(value));\n url = url.replace(`{${key}}`, String(value));\n }\n return url;\n }\n}\n"],"mappings":"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"}
|