@loaders.gl/wms 3.4.14 → 3.4.15
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/es5/bundle.js +1 -1
- package/dist/es5/bundle.js.map +1 -1
- package/dist/es5/csw-capabilities-loader.js +5 -26
- package/dist/es5/csw-capabilities-loader.js.map +1 -1
- package/dist/es5/csw-domain-loader.js +5 -26
- package/dist/es5/csw-domain-loader.js.map +1 -1
- package/dist/es5/csw-records-loader.js +4 -25
- package/dist/es5/csw-records-loader.js.map +1 -1
- package/dist/es5/gml-loader.js +5 -26
- package/dist/es5/gml-loader.js.map +1 -1
- package/dist/es5/index.js +16 -16
- package/dist/es5/lerc-loader.js +10 -47
- package/dist/es5/lerc-loader.js.map +1 -1
- package/dist/es5/lib/create-image-source.js +8 -19
- package/dist/es5/lib/create-image-source.js.map +1 -1
- package/dist/es5/lib/parsers/csw/parse-csw-capabilities.js +7 -9
- package/dist/es5/lib/parsers/csw/parse-csw-capabilities.js.map +1 -1
- package/dist/es5/lib/parsers/csw/parse-csw-domain.js +11 -25
- package/dist/es5/lib/parsers/csw/parse-csw-domain.js.map +1 -1
- package/dist/es5/lib/parsers/csw/parse-csw-records.js +21 -47
- package/dist/es5/lib/parsers/csw/parse-csw-records.js.map +1 -1
- package/dist/es5/lib/parsers/csw/parse-exception-report.js +2 -2
- package/dist/es5/lib/parsers/csw/parse-exception-report.js.map +1 -1
- package/dist/es5/lib/parsers/gml/deep-strict-equal.js +9 -11
- package/dist/es5/lib/parsers/gml/deep-strict-equal.js.map +1 -1
- package/dist/es5/lib/parsers/gml/parse-gml.js +79 -130
- package/dist/es5/lib/parsers/gml/parse-gml.js.map +1 -1
- package/dist/es5/lib/parsers/wms/parse-wms-capabilities.js +69 -126
- package/dist/es5/lib/parsers/wms/parse-wms-capabilities.js.map +1 -1
- package/dist/es5/lib/parsers/wms/parse-wms-error.js +3 -3
- package/dist/es5/lib/parsers/wms/parse-wms-error.js.map +1 -1
- package/dist/es5/lib/parsers/wms/parse-wms-features.js +5 -7
- package/dist/es5/lib/parsers/wms/parse-wms-features.js.map +1 -1
- package/dist/es5/lib/parsers/wms/parse-wms-layer-description.js +1 -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 +6 -10
- package/dist/es5/lib/parsers/xml/parse-xml-helpers.js.map +1 -1
- package/dist/es5/lib/services/arcgis/arcgis-image-service.js +48 -146
- package/dist/es5/lib/services/arcgis/arcgis-image-service.js.map +1 -1
- package/dist/es5/lib/services/arcgis/arcgis-server.js +26 -98
- package/dist/es5/lib/services/arcgis/arcgis-server.js.map +1 -1
- package/dist/es5/lib/services/generic/image-service.js +32 -103
- package/dist/es5/lib/services/generic/image-service.js.map +1 -1
- package/dist/es5/lib/services/ogc/csw-service.js +134 -334
- package/dist/es5/lib/services/ogc/csw-service.js.map +1 -1
- package/dist/es5/lib/services/ogc/wms-service.js +218 -493
- package/dist/es5/lib/services/ogc/wms-service.js.map +1 -1
- package/dist/es5/lib/sources/data-source.js +28 -43
- package/dist/es5/lib/sources/data-source.js.map +1 -1
- package/dist/es5/lib/sources/image-source.js +1 -17
- package/dist/es5/lib/sources/image-source.js.map +1 -1
- package/dist/es5/lib/sources/tile-source.js +1 -17
- package/dist/es5/lib/sources/tile-source.js.map +1 -1
- package/dist/es5/lib/sources/utils/utils.js +11 -19
- package/dist/es5/lib/sources/utils/utils.js.map +1 -1
- package/dist/es5/wip/arcgis-feature-service.js +16 -23
- package/dist/es5/wip/arcgis-feature-service.js.map +1 -1
- package/dist/es5/wip/lib/wcs/parse-wcs-capabilities.js +7 -9
- package/dist/es5/wip/lib/wcs/parse-wcs-capabilities.js.map +1 -1
- package/dist/es5/wip/lib/wfs/parse-wfs-capabilities.js +7 -9
- package/dist/es5/wip/lib/wfs/parse-wfs-capabilities.js.map +1 -1
- package/dist/es5/wip/lib/wmts/parse-wmts-capabilities.js +7 -9
- package/dist/es5/wip/lib/wmts/parse-wmts-capabilities.js.map +1 -1
- package/dist/es5/wip/wcs-capabilities-loader.js +5 -26
- package/dist/es5/wip/wcs-capabilities-loader.js.map +1 -1
- package/dist/es5/wip/wfs-capabilities-loader.js +5 -26
- package/dist/es5/wip/wfs-capabilities-loader.js.map +1 -1
- package/dist/es5/wip/wms-feature-info-loader.js +6 -29
- package/dist/es5/wip/wms-feature-info-loader.js.map +1 -1
- package/dist/es5/wip/wms-layer-description-loader.js +6 -29
- package/dist/es5/wip/wms-layer-description-loader.js.map +1 -1
- package/dist/es5/wip/wmts-capabilities-loader.js +5 -26
- package/dist/es5/wip/wmts-capabilities-loader.js.map +1 -1
- package/dist/es5/wms-capabilities-loader.js +5 -26
- package/dist/es5/wms-capabilities-loader.js.map +1 -1
- package/dist/es5/wms-error-loader.js +13 -36
- package/dist/es5/wms-error-loader.js.map +1 -1
- package/dist/esm/csw-capabilities-loader.js +1 -1
- package/dist/esm/csw-domain-loader.js +1 -1
- package/dist/esm/csw-records-loader.js +1 -1
- package/dist/esm/gml-loader.js +1 -1
- package/dist/esm/lerc-loader.js +1 -1
- package/dist/esm/wip/wcs-capabilities-loader.js +1 -1
- package/dist/esm/wip/wfs-capabilities-loader.js +1 -1
- package/dist/esm/wip/wmts-capabilities-loader.js +1 -1
- package/dist/esm/wms-capabilities-loader.js +1 -1
- package/dist/esm/wms-error-loader.js +1 -1
- package/package.json +6 -6
|
@@ -5,158 +5,60 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports.ArcGISImageServer = void 0;
|
|
8
|
-
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
9
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
10
|
-
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
11
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
12
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
14
|
-
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
15
|
-
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
16
8
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
17
9
|
var _imageSource = require("../../sources/image-source");
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
22
|
-
var ArcGISImageServer = function (_ImageSource) {
|
|
23
|
-
(0, _inherits2.default)(ArcGISImageServer, _ImageSource);
|
|
24
|
-
var _super = _createSuper(ArcGISImageServer);
|
|
25
|
-
function ArcGISImageServer(props) {
|
|
26
|
-
(0, _classCallCheck2.default)(this, ArcGISImageServer);
|
|
27
|
-
return _super.call(this, props);
|
|
10
|
+
class ArcGISImageServer extends _imageSource.ImageSource {
|
|
11
|
+
constructor(props) {
|
|
12
|
+
super(props);
|
|
28
13
|
}
|
|
29
|
-
(
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
return _getImage.apply(this, arguments);
|
|
67
|
-
}
|
|
68
|
-
return getImage;
|
|
69
|
-
}()
|
|
70
|
-
}, {
|
|
71
|
-
key: "metadata",
|
|
72
|
-
value: function () {
|
|
73
|
-
var _metadata = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee3() {
|
|
74
|
-
return _regenerator.default.wrap(function _callee3$(_context3) {
|
|
75
|
-
while (1) switch (_context3.prev = _context3.next) {
|
|
76
|
-
case 0:
|
|
77
|
-
throw new Error('not implemented');
|
|
78
|
-
case 1:
|
|
79
|
-
case "end":
|
|
80
|
-
return _context3.stop();
|
|
81
|
-
}
|
|
82
|
-
}, _callee3);
|
|
83
|
-
}));
|
|
84
|
-
function metadata() {
|
|
85
|
-
return _metadata.apply(this, arguments);
|
|
14
|
+
async getMetadata() {
|
|
15
|
+
return await this.metadata();
|
|
16
|
+
}
|
|
17
|
+
async getImage(parameters) {
|
|
18
|
+
throw new Error('not implemented');
|
|
19
|
+
}
|
|
20
|
+
async metadata() {
|
|
21
|
+
throw new Error('not implemented');
|
|
22
|
+
}
|
|
23
|
+
exportImage(options) {
|
|
24
|
+
throw new Error('not implemented');
|
|
25
|
+
}
|
|
26
|
+
metadataURL(options) {
|
|
27
|
+
return "".concat(this.props.url, "?f=pjson");
|
|
28
|
+
}
|
|
29
|
+
exportImageURL(options) {
|
|
30
|
+
const bbox = "bbox=".concat(options.bbox[0], ",").concat(options.bbox[1], ",").concat(options.bbox[2], ",").concat(options.bbox[3]);
|
|
31
|
+
const size = "size=".concat(options.width, ",").concat(options.height);
|
|
32
|
+
const arcgisOptions = {
|
|
33
|
+
...options,
|
|
34
|
+
bbox,
|
|
35
|
+
size
|
|
36
|
+
};
|
|
37
|
+
delete arcgisOptions.width;
|
|
38
|
+
delete arcgisOptions.height;
|
|
39
|
+
return this.getUrl('exportImage', arcgisOptions);
|
|
40
|
+
}
|
|
41
|
+
getUrl(path, options, extra) {
|
|
42
|
+
let url = "".concat(this.props.url, "/").concat(path);
|
|
43
|
+
let first = true;
|
|
44
|
+
for (const [key, value] of Object.entries(options)) {
|
|
45
|
+
url += first ? '?' : '&';
|
|
46
|
+
first = false;
|
|
47
|
+
if (Array.isArray(value)) {
|
|
48
|
+
url += "".concat(key.toUpperCase(), "=").concat(value.join(','));
|
|
49
|
+
} else {
|
|
50
|
+
url += "".concat(key.toUpperCase(), "=").concat(value ? String(value) : '');
|
|
86
51
|
}
|
|
87
|
-
return metadata;
|
|
88
|
-
}()
|
|
89
|
-
}, {
|
|
90
|
-
key: "exportImage",
|
|
91
|
-
value: function exportImage(options) {
|
|
92
|
-
throw new Error('not implemented');
|
|
93
52
|
}
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
}, {
|
|
100
|
-
key: "exportImageURL",
|
|
101
|
-
value: function exportImageURL(options) {
|
|
102
|
-
var bbox = "bbox=".concat(options.bbox[0], ",").concat(options.bbox[1], ",").concat(options.bbox[2], ",").concat(options.bbox[3]);
|
|
103
|
-
var size = "size=".concat(options.width, ",").concat(options.height);
|
|
104
|
-
var arcgisOptions = _objectSpread(_objectSpread({}, options), {}, {
|
|
105
|
-
bbox: bbox,
|
|
106
|
-
size: size
|
|
107
|
-
});
|
|
108
|
-
delete arcgisOptions.width;
|
|
109
|
-
delete arcgisOptions.height;
|
|
110
|
-
return this.getUrl('exportImage', arcgisOptions);
|
|
111
|
-
}
|
|
112
|
-
}, {
|
|
113
|
-
key: "getUrl",
|
|
114
|
-
value: function getUrl(path, options, extra) {
|
|
115
|
-
var url = "".concat(this.props.url, "/").concat(path);
|
|
116
|
-
var first = true;
|
|
117
|
-
for (var _i = 0, _Object$entries = Object.entries(options); _i < _Object$entries.length; _i++) {
|
|
118
|
-
var _Object$entries$_i = (0, _slicedToArray2.default)(_Object$entries[_i], 2),
|
|
119
|
-
key = _Object$entries$_i[0],
|
|
120
|
-
value = _Object$entries$_i[1];
|
|
121
|
-
url += first ? '?' : '&';
|
|
122
|
-
first = false;
|
|
123
|
-
if (Array.isArray(value)) {
|
|
124
|
-
url += "".concat(key.toUpperCase(), "=").concat(value.join(','));
|
|
125
|
-
} else {
|
|
126
|
-
url += "".concat(key.toUpperCase(), "=").concat(value ? String(value) : '');
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
return url;
|
|
53
|
+
return url;
|
|
54
|
+
}
|
|
55
|
+
async checkResponse(response) {
|
|
56
|
+
if (!response.ok) {
|
|
57
|
+
throw new Error('error');
|
|
130
58
|
}
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
value: function () {
|
|
134
|
-
var _checkResponse = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee4(response) {
|
|
135
|
-
return _regenerator.default.wrap(function _callee4$(_context4) {
|
|
136
|
-
while (1) switch (_context4.prev = _context4.next) {
|
|
137
|
-
case 0:
|
|
138
|
-
if (response.ok) {
|
|
139
|
-
_context4.next = 2;
|
|
140
|
-
break;
|
|
141
|
-
}
|
|
142
|
-
throw new Error('error');
|
|
143
|
-
case 2:
|
|
144
|
-
case "end":
|
|
145
|
-
return _context4.stop();
|
|
146
|
-
}
|
|
147
|
-
}, _callee4);
|
|
148
|
-
}));
|
|
149
|
-
function checkResponse(_x2) {
|
|
150
|
-
return _checkResponse.apply(this, arguments);
|
|
151
|
-
}
|
|
152
|
-
return checkResponse;
|
|
153
|
-
}()
|
|
154
|
-
}]);
|
|
155
|
-
return ArcGISImageServer;
|
|
156
|
-
}(_imageSource.ImageSource);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
157
61
|
exports.ArcGISImageServer = ArcGISImageServer;
|
|
158
62
|
(0, _defineProperty2.default)(ArcGISImageServer, "type", 'arcgis-image-server');
|
|
159
|
-
(0, _defineProperty2.default)(ArcGISImageServer, "testURL",
|
|
160
|
-
return url.toLowerCase().includes('ImageServer');
|
|
161
|
-
});
|
|
63
|
+
(0, _defineProperty2.default)(ArcGISImageServer, "testURL", url => url.toLowerCase().includes('ImageServer'));
|
|
162
64
|
//# sourceMappingURL=arcgis-image-service.js.map
|
|
@@ -1 +1 @@
|
|
|
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","_classCallCheck2","_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<ArcGISImageServerProps> {\n static type: 'arcgis-image-server' = 'arcgis-image-server';\n static testURL = (url: string): boolean => url.toLowerCase().includes('ImageServer');\n\n constructor(props: ArcGISImageServerProps) {\n super(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","ArcGISImageServer","ImageSource","constructor","props","getMetadata","metadata","getImage","parameters","Error","exportImage","options","metadataURL","concat","url","exportImageURL","bbox","size","width","height","arcgisOptions","getUrl","path","extra","first","key","value","Object","entries","Array","isArray","toUpperCase","join","String","checkResponse","response","ok","exports","_defineProperty2","default","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<ArcGISImageServerProps> {\n static type: 'arcgis-image-server' = 'arcgis-image-server';\n static testURL = (url: string): boolean => url.toLowerCase().includes('ImageServer');\n\n constructor(props: ArcGISImageServerProps) {\n super(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":";;;;;;;;AAKA,IAAAA,YAAA,GAAAC,OAAA;AAWO,MAAMC,iBAAiB,SAASC,wBAAW,CAAyB;EAIzEC,WAAWA,CAACC,KAA6B,EAAE;IACzC,KAAK,CAACA,KAAK,CAAC;EACd;EAIA,MAAMC,WAAWA,CAAA,EAAiC;IAChD,OAAQ,MAAM,IAAI,CAACC,QAAQ,CAAC,CAAC;EAE/B;EAEA,MAAMC,QAAQA,CAACC,UAA8B,EAAsB;IACjE,MAAM,IAAIC,KAAK,CAAC,iBAAiB,CAAC;EAGpC;EAIA,MAAMH,QAAQA,CAAA,EAAqB;IAGjC,MAAM,IAAIG,KAAK,CAAC,iBAAiB,CAAC;EACpC;EAMAC,WAAWA,CAACC,OAkBX,EAAsB;IAErB,MAAM,IAAIF,KAAK,CAAC,iBAAiB,CAAC;EACpC;EAIAG,WAAWA,CAACD,OAA+C,EAAU;IACnE,UAAAE,MAAA,CAAU,IAAI,CAACT,KAAK,CAACU,GAAG;EAC1B;EAWAC,cAAcA,CAACJ,OAkBd,EAAU;IACT,MAAMK,IAAI,WAAAH,MAAA,CAAWF,OAAO,CAACK,IAAI,CAAC,CAAC,CAAC,OAAAH,MAAA,CAAIF,OAAO,CAACK,IAAI,CAAC,CAAC,CAAC,OAAAH,MAAA,CAAIF,OAAO,CAACK,IAAI,CAAC,CAAC,CAAC,OAAAH,MAAA,CAAIF,OAAO,CAACK,IAAI,CAAC,CAAC,CAAC,CAAE;IAC/F,MAAMC,IAAI,WAAAJ,MAAA,CAAWF,OAAO,CAACO,KAAK,OAAAL,MAAA,CAAIF,OAAO,CAACQ,MAAM,CAAE;IACtD,MAAMC,aAAa,GAAG;MAAC,GAAGT,OAAO;MAAEK,IAAI;MAAEC;IAAI,CAAC;IAE9C,OAAOG,aAAa,CAACF,KAAK;IAE1B,OAAOE,aAAa,CAACD,MAAM;IAC3B,OAAO,IAAI,CAACE,MAAM,CAAC,aAAa,EAAED,aAAa,CAAC;EAClD;EAQUC,MAAMA,CACdC,IAAY,EACZX,OAAgC,EAChCY,KAA+B,EACvB;IACR,IAAIT,GAAG,MAAAD,MAAA,CAAM,IAAI,CAACT,KAAK,CAACU,GAAG,OAAAD,MAAA,CAAIS,IAAI,CAAE;IACrC,IAAIE,KAAK,GAAG,IAAI;IAChB,KAAK,MAAM,CAACC,GAAG,EAAEC,KAAK,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACjB,OAAO,CAAC,EAAE;MAClDG,GAAG,IAAIU,KAAK,GAAG,GAAG,GAAG,GAAG;MACxBA,KAAK,GAAG,KAAK;MACb,IAAIK,KAAK,CAACC,OAAO,CAACJ,KAAK,CAAC,EAAE;QACxBZ,GAAG,OAAAD,MAAA,CAAOY,GAAG,CAACM,WAAW,CAAC,CAAC,OAAAlB,MAAA,CAAIa,KAAK,CAACM,IAAI,CAAC,GAAG,CAAC,CAAE;MAClD,CAAC,MAAM;QACLlB,GAAG,OAAAD,MAAA,CAAOY,GAAG,CAACM,WAAW,CAAC,CAAC,OAAAlB,MAAA,CAAIa,KAAK,GAAGO,MAAM,CAACP,KAAK,CAAC,GAAG,EAAE,CAAE;MAC7D;IACF;IACA,OAAOZ,GAAG;EACZ;EAGA,MAAgBoB,aAAaA,CAACC,QAAkB,EAAE;IAChD,IAAI,CAACA,QAAQ,CAACC,EAAE,EAAE;MAIhB,MAAM,IAAI3B,KAAK,CAAC,OAAO,CAAC;IAC1B;EACF;AACF;AAAC4B,OAAA,CAAApC,iBAAA,GAAAA,iBAAA;AAAA,IAAAqC,gBAAA,CAAAC,OAAA,EAtIYtC,iBAAiB,UACS,qBAAqB;AAAA,IAAAqC,gBAAA,CAAAC,OAAA,EAD/CtC,iBAAiB,aAEVa,GAAW,IAAcA,GAAG,CAAC0B,WAAW,CAAC,CAAC,CAACC,QAAQ,CAAC,aAAa,CAAC"}
|
|
@@ -1,110 +1,38 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
3
|
Object.defineProperty(exports, "__esModule", {
|
|
5
4
|
value: true
|
|
6
5
|
});
|
|
7
6
|
exports.getArcGISServices = getArcGISServices;
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
return _getArcGISServices.apply(this, arguments);
|
|
16
|
-
}
|
|
17
|
-
function _getArcGISServices() {
|
|
18
|
-
_getArcGISServices = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(url) {
|
|
19
|
-
var fetchFile,
|
|
20
|
-
serverUrl,
|
|
21
|
-
_args = arguments;
|
|
22
|
-
return _regenerator.default.wrap(function _callee$(_context) {
|
|
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();
|
|
37
|
-
}
|
|
38
|
-
}, _callee);
|
|
39
|
-
}));
|
|
40
|
-
return _getArcGISServices.apply(this, arguments);
|
|
41
|
-
}
|
|
42
|
-
function loadServiceDirectory(_x2, _x3, _x4) {
|
|
43
|
-
return _loadServiceDirectory.apply(this, arguments);
|
|
7
|
+
async function getArcGISServices(url) {
|
|
8
|
+
let fetchFile = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : fetch;
|
|
9
|
+
if (url.includes('rest/services')) {
|
|
10
|
+
const serverUrl = url.replace(/rest\/services.*$/i, 'rest/services');
|
|
11
|
+
return loadServiceDirectory(serverUrl, fetchFile, []);
|
|
12
|
+
}
|
|
13
|
+
return null;
|
|
44
14
|
}
|
|
45
|
-
function
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
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));
|
|
75
|
-
}
|
|
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();
|
|
85
|
-
}
|
|
86
|
-
}, _callee2);
|
|
87
|
-
}));
|
|
88
|
-
return _loadServiceDirectory.apply(this, arguments);
|
|
15
|
+
async function loadServiceDirectory(serverUrl, fetch, path) {
|
|
16
|
+
const serviceUrl = "".concat(serverUrl, "/").concat(path.join('/'));
|
|
17
|
+
const response = await fetch("".concat(serviceUrl, "?f=pjson"));
|
|
18
|
+
const directory = await response.json();
|
|
19
|
+
const services = extractServices(directory, serviceUrl);
|
|
20
|
+
const folders = directory.folders || [];
|
|
21
|
+
const promises = folders.map(folder => loadServiceDirectory("".concat(serverUrl), fetch, [...path, folder]));
|
|
22
|
+
for (const folderServices of await Promise.all(promises)) {
|
|
23
|
+
services.push(...folderServices);
|
|
24
|
+
}
|
|
25
|
+
return services;
|
|
89
26
|
}
|
|
90
27
|
function extractServices(directory, url) {
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
name: service.name,
|
|
100
|
-
type: "arcgis-".concat(service.type.toLocaleLowerCase().replace('server', '-server')),
|
|
101
|
-
url: "".concat(url).concat(service.name, "/").concat(service.type)
|
|
102
|
-
});
|
|
103
|
-
}
|
|
104
|
-
} catch (err) {
|
|
105
|
-
_iterator.e(err);
|
|
106
|
-
} finally {
|
|
107
|
-
_iterator.f();
|
|
28
|
+
const arcgisServices = directory.services || [];
|
|
29
|
+
const services = [];
|
|
30
|
+
for (const service of arcgisServices) {
|
|
31
|
+
services.push({
|
|
32
|
+
name: service.name,
|
|
33
|
+
type: "arcgis-".concat(service.type.toLocaleLowerCase().replace('server', '-server')),
|
|
34
|
+
url: "".concat(url).concat(service.name, "/").concat(service.type)
|
|
35
|
+
});
|
|
108
36
|
}
|
|
109
37
|
return services;
|
|
110
38
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arcgis-server.js","names":["getArcGISServices","
|
|
1
|
+
{"version":3,"file":"arcgis-server.js","names":["getArcGISServices","url","fetchFile","arguments","length","undefined","fetch","includes","serverUrl","replace","loadServiceDirectory","path","serviceUrl","concat","join","response","directory","json","services","extractServices","folders","promises","map","folder","folderServices","Promise","all","push","arcgisServices","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":";;;;;;AAYO,eAAeA,iBAAiBA,CACrCC,GAAW,EAEgB;EAAA,IAD3BC,SAAoB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAGG,KAAK;EAE5B,IAAIL,GAAG,CAACM,QAAQ,CAAC,eAAe,CAAC,EAAE;IACjC,MAAMC,SAAS,GAAGP,GAAG,CAACQ,OAAO,CAAC,oBAAoB,EAAE,eAAe,CAAC;IACpE,OAAOC,oBAAoB,CAACF,SAAS,EAAEN,SAAS,EAAE,EAAE,CAAC;EACvD;EACA,OAAO,IAAI;AACb;AAEA,eAAeQ,oBAAoBA,CACjCF,SAAiB,EACjBF,KAAgB,EAChBK,IAAc,EACM;EACpB,MAAMC,UAAU,MAAAC,MAAA,CAAML,SAAS,OAAAK,MAAA,CAAIF,IAAI,CAACG,IAAI,CAAC,GAAG,CAAC,CAAE;EAEnD,MAAMC,QAAQ,GAAG,MAAMT,KAAK,IAAAO,MAAA,CAAID,UAAU,aAAU,CAAC;EACrD,MAAMI,SAAS,GAAG,MAAMD,QAAQ,CAACE,IAAI,CAAC,CAAC;EAEvC,MAAMC,QAAQ,GAAGC,eAAe,CAACH,SAAS,EAAEJ,UAAU,CAAC;EAEvD,MAAMQ,OAAO,GAAIJ,SAAS,CAACI,OAAO,IAAI,EAAe;EACrD,MAAMC,QAAQ,GAAGD,OAAO,CAACE,GAAG,CAAEC,MAAM,IAClCb,oBAAoB,IAAAG,MAAA,CAAIL,SAAS,GAAIF,KAAK,EAAE,CAAC,GAAGK,IAAI,EAAEY,MAAM,CAAC,CAC/D,CAAC;EAED,KAAK,MAAMC,cAAc,IAAI,MAAMC,OAAO,CAACC,GAAG,CAACL,QAAQ,CAAC,EAAE;IACxDH,QAAQ,CAACS,IAAI,CAAC,GAAGH,cAAc,CAAC;EAClC;EAEA,OAAON,QAAQ;AACjB;AAEA,SAASC,eAAeA,CAACH,SAAkB,EAAEf,GAAW,EAAa;EACnE,MAAM2B,cAAc,GAAKZ,SAAS,CAASE,QAAQ,IAAI,EAAqC;EAC5F,MAAMA,QAAmB,GAAG,EAAE;EAC9B,KAAK,MAAMW,OAAO,IAAID,cAAc,EAAE;IACpCV,QAAQ,CAACS,IAAI,CAAC;MACZG,IAAI,EAAED,OAAO,CAACC,IAAI;MAClBC,IAAI,YAAAlB,MAAA,CAAYgB,OAAO,CAACE,IAAI,CAACC,iBAAiB,CAAC,CAAC,CAACvB,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAE;MAC/ER,GAAG,KAAAY,MAAA,CAAKZ,GAAG,EAAAY,MAAA,CAAGgB,OAAO,CAACC,IAAI,OAAAjB,MAAA,CAAIgB,OAAO,CAACE,IAAI;IAC5C,CAAC,CAAC;EACJ;EACA,OAAOb,QAAQ;AACjB"}
|
|
@@ -5,114 +5,43 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports.ImageService = void 0;
|
|
8
|
-
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
9
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
10
|
-
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
11
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
12
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
14
|
-
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
15
|
-
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
16
8
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
17
9
|
var _images = require("@loaders.gl/images");
|
|
18
10
|
var _imageSource = require("../../sources/image-source");
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
23
|
-
var ImageService = function (_ImageSource) {
|
|
24
|
-
(0, _inherits2.default)(ImageService, _ImageSource);
|
|
25
|
-
var _super = _createSuper(ImageService);
|
|
26
|
-
function ImageService(props) {
|
|
27
|
-
(0, _classCallCheck2.default)(this, ImageService);
|
|
28
|
-
return _super.call(this, props);
|
|
11
|
+
class ImageService extends _imageSource.ImageSource {
|
|
12
|
+
constructor(props) {
|
|
13
|
+
super(props);
|
|
29
14
|
}
|
|
30
|
-
(
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
while (1) switch (_context2.prev = _context2.next) {
|
|
56
|
-
case 0:
|
|
57
|
-
granularParameters = this.getGranularParameters(parameters);
|
|
58
|
-
url = this.getURLFromTemplate(granularParameters);
|
|
59
|
-
_context2.next = 4;
|
|
60
|
-
return this.fetch(url);
|
|
61
|
-
case 4:
|
|
62
|
-
response = _context2.sent;
|
|
63
|
-
_context2.next = 7;
|
|
64
|
-
return response.arrayBuffer();
|
|
65
|
-
case 7:
|
|
66
|
-
arrayBuffer = _context2.sent;
|
|
67
|
-
_context2.next = 10;
|
|
68
|
-
return _images.ImageLoader.parse(arrayBuffer);
|
|
69
|
-
case 10:
|
|
70
|
-
return _context2.abrupt("return", _context2.sent);
|
|
71
|
-
case 11:
|
|
72
|
-
case "end":
|
|
73
|
-
return _context2.stop();
|
|
74
|
-
}
|
|
75
|
-
}, _callee2, this);
|
|
76
|
-
}));
|
|
77
|
-
function getImage(_x) {
|
|
78
|
-
return _getImage.apply(this, arguments);
|
|
79
|
-
}
|
|
80
|
-
return getImage;
|
|
81
|
-
}()
|
|
82
|
-
}, {
|
|
83
|
-
key: "getGranularParameters",
|
|
84
|
-
value: function getGranularParameters(parameters) {
|
|
85
|
-
var _parameters$bbox = (0, _slicedToArray2.default)(parameters.bbox, 4),
|
|
86
|
-
east = _parameters$bbox[0],
|
|
87
|
-
north = _parameters$bbox[1],
|
|
88
|
-
west = _parameters$bbox[2],
|
|
89
|
-
south = _parameters$bbox[3];
|
|
90
|
-
return _objectSpread(_objectSpread({}, parameters), {}, {
|
|
91
|
-
east: east,
|
|
92
|
-
north: north,
|
|
93
|
-
south: south,
|
|
94
|
-
west: west
|
|
95
|
-
});
|
|
96
|
-
}
|
|
97
|
-
}, {
|
|
98
|
-
key: "getURLFromTemplate",
|
|
99
|
-
value: function getURLFromTemplate(parameters) {
|
|
100
|
-
var url = this.props.url;
|
|
101
|
-
for (var _i = 0, _Object$entries = Object.entries(parameters); _i < _Object$entries.length; _i++) {
|
|
102
|
-
var _Object$entries$_i = (0, _slicedToArray2.default)(_Object$entries[_i], 2),
|
|
103
|
-
key = _Object$entries$_i[0],
|
|
104
|
-
value = _Object$entries$_i[1];
|
|
105
|
-
url = url.replace("${".concat(key, "}"), String(value));
|
|
106
|
-
url = url.replace("{".concat(key, "}"), String(value));
|
|
107
|
-
}
|
|
108
|
-
return url;
|
|
15
|
+
async getMetadata() {
|
|
16
|
+
throw new Error('ImageSource.getMetadata not implemented');
|
|
17
|
+
}
|
|
18
|
+
async getImage(parameters) {
|
|
19
|
+
const granularParameters = this.getGranularParameters(parameters);
|
|
20
|
+
const url = this.getURLFromTemplate(granularParameters);
|
|
21
|
+
const response = await this.fetch(url);
|
|
22
|
+
const arrayBuffer = await response.arrayBuffer();
|
|
23
|
+
return await _images.ImageLoader.parse(arrayBuffer);
|
|
24
|
+
}
|
|
25
|
+
getGranularParameters(parameters) {
|
|
26
|
+
const [east, north, west, south] = parameters.bbox;
|
|
27
|
+
return {
|
|
28
|
+
...parameters,
|
|
29
|
+
east,
|
|
30
|
+
north,
|
|
31
|
+
south,
|
|
32
|
+
west
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
getURLFromTemplate(parameters) {
|
|
36
|
+
let url = this.props.url;
|
|
37
|
+
for (const [key, value] of Object.entries(parameters)) {
|
|
38
|
+
url = url.replace("${".concat(key, "}"), String(value));
|
|
39
|
+
url = url.replace("{".concat(key, "}"), String(value));
|
|
109
40
|
}
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
}
|
|
41
|
+
return url;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
113
44
|
exports.ImageService = ImageService;
|
|
114
45
|
(0, _defineProperty2.default)(ImageService, "type", 'template');
|
|
115
|
-
(0, _defineProperty2.default)(ImageService, "testURL",
|
|
116
|
-
return url.toLowerCase().includes('{');
|
|
117
|
-
});
|
|
46
|
+
(0, _defineProperty2.default)(ImageService, "testURL", url => url.toLowerCase().includes('{'));
|
|
118
47
|
//# sourceMappingURL=image-service.js.map
|