@loaders.gl/wms 3.3.0-alpha.11 → 3.3.0-alpha.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bundle.d.ts +2 -0
- package/dist/bundle.d.ts.map +1 -0
- package/dist/bundle.js +6 -0
- package/dist/dist.min.js +4842 -5361
- package/dist/es5/index.js +41 -20
- package/dist/es5/index.js.map +1 -1
- package/dist/es5/lerc-loader.js +74 -0
- package/dist/es5/lerc-loader.js.map +1 -0
- package/dist/es5/lib/data-sources/adhoc-image-service.js +125 -0
- package/dist/es5/lib/data-sources/adhoc-image-service.js.map +1 -0
- package/dist/es5/lib/data-sources/image-source.js +14 -0
- package/dist/es5/lib/data-sources/image-source.js.map +1 -0
- package/dist/es5/lib/data-sources/wms-service.js +192 -173
- package/dist/es5/lib/data-sources/wms-service.js.map +1 -1
- package/dist/es5/lib/gml/deep-strict-equal.js +64 -0
- package/dist/es5/lib/gml/deep-strict-equal.js.map +1 -0
- package/dist/es5/lib/gml/parse-gml.js +3 -3
- package/dist/es5/lib/gml/parse-gml.js.map +1 -1
- package/dist/es5/lib/lerc/lerc-types.js +2 -0
- package/dist/es5/lib/lerc/lerc-types.js.map +1 -0
- package/dist/es5/lib/wcs/parse-wcs.js +43 -0
- package/dist/es5/lib/wcs/parse-wcs.js.map +1 -0
- package/dist/es5/lib/wcs/wcs-types.js +2 -0
- package/dist/es5/lib/wcs/wcs-types.js.map +1 -0
- package/dist/es5/lib/wms/parse-wms.js +6 -4
- package/dist/es5/lib/wms/parse-wms.js.map +1 -1
- package/dist/es5/wip/data-source.js +4 -0
- package/dist/es5/wip/data-source.js.map +1 -0
- package/dist/es5/{gml-loader.js → wip/gml-loader.js} +2 -2
- package/dist/es5/wip/gml-loader.js.map +1 -0
- package/dist/es5/{wcs-capabilities-loader.js → wip/wcs-capabilities-loader.js} +5 -5
- package/dist/es5/wip/wcs-capabilities-loader.js.map +1 -0
- package/dist/es5/{wfs-capabilities-loader.js → wip/wfs-capabilities-loader.js} +3 -3
- package/dist/es5/wip/wfs-capabilities-loader.js.map +1 -0
- package/dist/es5/{wms-feature-info-loader.js → wip/wms-feature-info-loader.js} +3 -3
- package/dist/es5/wip/wms-feature-info-loader.js.map +1 -0
- package/dist/es5/{wms-layer-description-loader.js → wip/wms-layer-description-loader.js} +3 -3
- package/dist/es5/wip/wms-layer-description-loader.js.map +1 -0
- package/dist/es5/wip/wms-layer-description-loader.md +47 -0
- package/dist/es5/{wmts-capabilities-loader.js → wip/wmts-capabilities-loader.js} +3 -3
- package/dist/es5/wip/wmts-capabilities-loader.js.map +1 -0
- package/dist/es5/wms-capabilities-loader.js +2 -2
- package/dist/es5/wms-capabilities-loader.js.map +1 -1
- package/dist/es5/wms-error-loader.js +22 -6
- package/dist/es5/wms-error-loader.js.map +1 -1
- package/dist/esm/index.js +11 -5
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/lerc-loader.js +25 -0
- package/dist/esm/lerc-loader.js.map +1 -0
- package/dist/esm/lib/data-sources/adhoc-image-service.js +41 -0
- package/dist/esm/lib/data-sources/adhoc-image-service.js.map +1 -0
- package/dist/esm/lib/data-sources/image-source.js +4 -0
- package/dist/esm/lib/data-sources/image-source.js.map +1 -0
- package/dist/esm/lib/data-sources/wms-service.js +136 -116
- package/dist/esm/lib/data-sources/wms-service.js.map +1 -1
- package/dist/esm/lib/gml/deep-strict-equal.js +57 -0
- package/dist/esm/lib/gml/deep-strict-equal.js.map +1 -0
- package/dist/esm/lib/gml/parse-gml.js +1 -1
- package/dist/esm/lib/gml/parse-gml.js.map +1 -1
- package/dist/esm/lib/lerc/lerc-types.js +2 -0
- package/dist/esm/lib/lerc/lerc-types.js.map +1 -0
- package/dist/esm/lib/wcs/parse-wcs.js +32 -0
- package/dist/esm/lib/wcs/parse-wcs.js.map +1 -0
- package/dist/esm/lib/wcs/wcs-types.js +2 -0
- package/dist/esm/lib/wcs/wcs-types.js.map +1 -0
- package/dist/esm/lib/wms/parse-wms.js +6 -4
- package/dist/esm/lib/wms/parse-wms.js.map +1 -1
- package/dist/esm/wip/data-source.js +2 -0
- package/dist/esm/wip/data-source.js.map +1 -0
- package/dist/esm/{gml-loader.js → wip/gml-loader.js} +2 -2
- package/dist/esm/wip/gml-loader.js.map +1 -0
- package/dist/esm/{wcs-capabilities-loader.js → wip/wcs-capabilities-loader.js} +3 -3
- package/dist/esm/wip/wcs-capabilities-loader.js.map +1 -0
- package/dist/esm/{wfs-capabilities-loader.js → wip/wfs-capabilities-loader.js} +3 -3
- package/dist/esm/wip/wfs-capabilities-loader.js.map +1 -0
- package/dist/esm/{wms-feature-info-loader.js → wip/wms-feature-info-loader.js} +3 -3
- package/dist/esm/wip/wms-feature-info-loader.js.map +1 -0
- package/dist/esm/{wms-layer-description-loader.js → wip/wms-layer-description-loader.js} +3 -3
- package/dist/esm/wip/wms-layer-description-loader.js.map +1 -0
- package/dist/esm/wip/wms-layer-description-loader.md +47 -0
- package/dist/esm/{wmts-capabilities-loader.js → wip/wmts-capabilities-loader.js} +3 -3
- package/dist/esm/wip/wmts-capabilities-loader.js.map +1 -0
- package/dist/esm/wms-capabilities-loader.js +2 -2
- package/dist/esm/wms-capabilities-loader.js.map +1 -1
- package/dist/esm/wms-error-loader.js +20 -5
- package/dist/esm/wms-error-loader.js.map +1 -1
- package/dist/index.d.ts +25 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +27 -0
- package/dist/lerc-loader.d.ts +30 -0
- package/dist/lerc-loader.d.ts.map +1 -0
- package/dist/lerc-loader.js +56 -0
- package/dist/lib/data-sources/adhoc-image-service.d.ts +22 -0
- package/dist/lib/data-sources/adhoc-image-service.d.ts.map +1 -0
- package/dist/lib/data-sources/adhoc-image-service.js +44 -0
- package/dist/lib/data-sources/image-source.d.ts +73 -0
- package/dist/lib/data-sources/image-source.d.ts.map +1 -0
- package/dist/lib/data-sources/image-source.js +12 -0
- package/dist/lib/data-sources/wms-service.d.ts +193 -0
- package/dist/lib/data-sources/wms-service.d.ts.map +1 -0
- package/dist/lib/data-sources/wms-service.js +206 -0
- package/dist/lib/gml/deep-strict-equal.d.ts +3 -0
- package/dist/lib/gml/deep-strict-equal.d.ts.map +1 -0
- package/dist/lib/gml/deep-strict-equal.js +119 -0
- package/dist/lib/gml/parse-gml.d.ts +28 -0
- package/dist/lib/gml/parse-gml.d.ts.map +1 -0
- package/dist/lib/gml/parse-gml.js +371 -0
- package/dist/lib/lerc/lerc-types.d.ts +30 -0
- package/dist/lib/lerc/lerc-types.d.ts.map +1 -0
- package/dist/lib/lerc/lerc-types.js +3 -0
- package/dist/lib/wcs/parse-wcs.d.ts +7 -0
- package/dist/lib/wcs/parse-wcs.d.ts.map +1 -0
- package/dist/lib/wcs/parse-wcs.js +36 -0
- package/dist/lib/wcs/wcs-types.d.ts +73 -0
- package/dist/lib/wcs/wcs-types.d.ts.map +1 -0
- package/dist/lib/wcs/wcs-types.js +3 -0
- package/dist/lib/wfs/parse-wfs.d.ts +7 -0
- package/dist/lib/wfs/parse-wfs.d.ts.map +1 -0
- package/dist/lib/wfs/parse-wfs.js +36 -0
- package/dist/lib/wfs/wfs-types.d.ts +73 -0
- package/dist/lib/wfs/wfs-types.d.ts.map +1 -0
- package/dist/lib/wfs/wfs-types.js +3 -0
- package/dist/lib/wms/parse-wms.d.ts +24 -0
- package/dist/lib/wms/parse-wms.d.ts.map +1 -0
- package/dist/lib/wms/parse-wms.js +115 -0
- package/dist/lib/wms/wms-types.d.ts +100 -0
- package/dist/lib/wms/wms-types.d.ts.map +1 -0
- package/dist/lib/wms/wms-types.js +1908 -0
- package/dist/lib/wmts/parse-wmts.d.ts +7 -0
- package/dist/lib/wmts/parse-wmts.d.ts.map +1 -0
- package/dist/lib/wmts/parse-wmts.js +36 -0
- package/dist/lib/wmts/wmts-types.d.ts +73 -0
- package/dist/lib/wmts/wmts-types.d.ts.map +1 -0
- package/dist/lib/wmts/wmts-types.js +3 -0
- package/dist/wip/data-source.d.ts +53 -0
- package/dist/wip/data-source.d.ts.map +1 -0
- package/dist/wip/data-source.js +57 -0
- package/dist/wip/gml-loader.d.ts +26 -0
- package/dist/wip/gml-loader.d.ts.map +1 -0
- package/dist/wip/gml-loader.js +31 -0
- package/dist/wip/wcs-capabilities-loader.d.ts +26 -0
- package/dist/wip/wcs-capabilities-loader.d.ts.map +1 -0
- package/dist/wip/wcs-capabilities-loader.js +31 -0
- package/dist/wip/wfs-capabilities-loader.d.ts +26 -0
- package/dist/wip/wfs-capabilities-loader.d.ts.map +1 -0
- package/dist/wip/wfs-capabilities-loader.js +31 -0
- package/dist/wip/wms-feature-info-loader.d.ts +22 -0
- package/dist/wip/wms-feature-info-loader.d.ts.map +1 -0
- package/dist/wip/wms-feature-info-loader.js +17 -0
- package/dist/wip/wms-layer-description-loader.d.ts +22 -0
- package/dist/wip/wms-layer-description-loader.d.ts.map +1 -0
- package/dist/wip/wms-layer-description-loader.js +17 -0
- package/dist/wip/wmts-capabilities-loader.d.ts +26 -0
- package/dist/wip/wmts-capabilities-loader.d.ts.map +1 -0
- package/dist/wip/wmts-capabilities-loader.js +31 -0
- package/dist/wms-capabilities-loader.d.ts +26 -0
- package/dist/wms-capabilities-loader.d.ts.map +1 -0
- package/dist/wms-capabilities-loader.js +31 -0
- package/dist/wms-error-loader.d.ts +34 -0
- package/dist/wms-error-loader.d.ts.map +1 -0
- package/dist/wms-error-loader.js +43 -0
- package/package.json +9 -8
- package/src/index.ts +34 -13
- package/src/lerc-loader.ts +50 -0
- package/src/lib/data-sources/adhoc-image-service.ts +58 -0
- package/src/lib/data-sources/image-source.ts +82 -0
- package/src/lib/data-sources/wms-service.ts +211 -177
- package/src/lib/gml/deep-strict-equal.ts +119 -0
- package/src/lib/gml/parse-gml.ts +1 -1
- package/src/lib/lerc/lerc-types.ts +43 -0
- package/src/lib/wcs/parse-wcs.ts +39 -0
- package/src/lib/wcs/wcs-types.ts +77 -0
- package/src/lib/wms/parse-wms.ts +16 -3
- package/src/{lib/data-sources/image-data-source.ts → wip/data-source.ts} +6 -29
- package/src/{gml-loader.ts → wip/gml-loader.ts} +1 -1
- package/src/{wcs-capabilities-loader.ts → wip/wcs-capabilities-loader.ts} +2 -2
- package/src/{wfs-capabilities-loader.ts → wip/wfs-capabilities-loader.ts} +2 -2
- package/src/{wms-feature-info-loader.ts → wip/wms-feature-info-loader.ts} +3 -3
- package/src/wip/wms-layer-description-loader.md +47 -0
- package/src/{wms-layer-description-loader.ts → wip/wms-layer-description-loader.ts} +3 -3
- package/src/{wmts-capabilities-loader.ts → wip/wmts-capabilities-loader.ts} +2 -2
- package/src/wms-capabilities-loader.ts +1 -1
- package/src/wms-error-loader.ts +25 -6
- package/dist/es5/gml-loader.js.map +0 -1
- package/dist/es5/lib/data-sources/image-data-source.js +0 -4
- package/dist/es5/lib/data-sources/image-data-source.js.map +0 -1
- package/dist/es5/wcs-capabilities-loader.js.map +0 -1
- package/dist/es5/wfs-capabilities-loader.js.map +0 -1
- package/dist/es5/wms-feature-info-loader.js.map +0 -1
- package/dist/es5/wms-layer-description-loader.js.map +0 -1
- package/dist/es5/wmts-capabilities-loader.js.map +0 -1
- package/dist/esm/gml-loader.js.map +0 -1
- package/dist/esm/lib/data-sources/image-data-source.js +0 -2
- package/dist/esm/lib/data-sources/image-data-source.js.map +0 -1
- package/dist/esm/wcs-capabilities-loader.js.map +0 -1
- package/dist/esm/wfs-capabilities-loader.js.map +0 -1
- package/dist/esm/wms-feature-info-loader.js.map +0 -1
- package/dist/esm/wms-layer-description-loader.js.map +0 -1
- package/dist/esm/wmts-capabilities-loader.js.map +0 -1
|
@@ -6,124 +6,81 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
});
|
|
7
7
|
exports.WMSService = void 0;
|
|
8
8
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
9
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
9
10
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
10
11
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
12
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
|
+
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
14
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
15
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
16
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
12
17
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
13
|
-
var _wms = require("@loaders.gl/wms");
|
|
14
18
|
var _images = require("@loaders.gl/images");
|
|
19
|
+
var _imageSource = require("./image-source");
|
|
20
|
+
var _wmsCapabilitiesLoader = require("../../wms-capabilities-loader");
|
|
21
|
+
var _wmsFeatureInfoLoader = require("../../wip/wms-feature-info-loader");
|
|
22
|
+
var _wmsLayerDescriptionLoader = require("../../wip/wms-layer-description-loader");
|
|
23
|
+
var _wmsErrorLoader = require("../../wms-error-loader");
|
|
15
24
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
16
25
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
17
|
-
var
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
service: 'WMS',
|
|
24
|
-
version: '1.1.1',
|
|
25
|
-
request: 'GetMap',
|
|
26
|
-
layers: [],
|
|
27
|
-
styles: undefined,
|
|
28
|
-
bbox: [-77.87304, 40.78975, -77.85828, 40.80228],
|
|
29
|
-
width: 1200,
|
|
30
|
-
height: 900,
|
|
31
|
-
srs: 'EPSG:4326',
|
|
32
|
-
format: 'image/png'
|
|
33
|
-
};
|
|
34
|
-
var WMS_GET_FEATURE_INFO_DEFAULT_PARAMETERS = {
|
|
35
|
-
service: 'WMS',
|
|
36
|
-
version: '1.1.1',
|
|
37
|
-
request: 'GetFeatureInfo',
|
|
38
|
-
layers: [],
|
|
39
|
-
styles: undefined,
|
|
40
|
-
bbox: [-77.87304, 40.78975, -77.85828, 40.80228],
|
|
41
|
-
width: 1200,
|
|
42
|
-
height: 900,
|
|
43
|
-
srs: 'EPSG:4326',
|
|
44
|
-
format: 'image/png',
|
|
45
|
-
x: undefined,
|
|
46
|
-
y: undefined,
|
|
47
|
-
query_layers: [],
|
|
48
|
-
info_format: 'text/plain'
|
|
49
|
-
};
|
|
50
|
-
var WMS_DESCRIBE_LAYER_DEFAULT_PARAMETERS = {
|
|
51
|
-
service: 'WMS',
|
|
52
|
-
version: '1.1.1',
|
|
53
|
-
request: 'DescribeLayer'
|
|
54
|
-
};
|
|
55
|
-
var WMS_GET_LEGEND_GRAPHIC_DEFAULT_PARAMETERS = {
|
|
56
|
-
service: 'WMS',
|
|
57
|
-
version: '1.1.1',
|
|
58
|
-
request: 'GetLegendGraphic'
|
|
59
|
-
};
|
|
60
|
-
var WMSService = function () {
|
|
26
|
+
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
|
|
27
|
+
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; } }
|
|
28
|
+
var WMSService = function (_ImageSource) {
|
|
29
|
+
(0, _inherits2.default)(WMSService, _ImageSource);
|
|
30
|
+
var _super = _createSuper(WMSService);
|
|
31
|
+
|
|
61
32
|
function WMSService(props) {
|
|
33
|
+
var _this;
|
|
62
34
|
(0, _classCallCheck2.default)(this, WMSService);
|
|
63
|
-
|
|
64
|
-
(0, _defineProperty2.default)(
|
|
65
|
-
(0, _defineProperty2.default)(
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
35
|
+
_this = _super.call(this);
|
|
36
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "serviceUrl", void 0);
|
|
37
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "loadOptions", {
|
|
38
|
+
wms: {
|
|
39
|
+
throwOnError: true
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "fetch", void 0);
|
|
43
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "loaders", [_images.ImageLoader, _wmsErrorLoader.WMSErrorLoader, _wmsCapabilitiesLoader.WMSCapabilitiesLoader, _wmsFeatureInfoLoader.WMSFeatureInfoLoader, _wmsLayerDescriptionLoader.WMSLayerDescriptionLoader]);
|
|
44
|
+
_this.serviceUrl = props.serviceUrl;
|
|
45
|
+
Object.assign(_this.loadOptions, props.loadOptions);
|
|
46
|
+
_this.fetch = props.fetch || fetch;
|
|
47
|
+
return _this;
|
|
69
48
|
}
|
|
70
49
|
|
|
71
50
|
(0, _createClass2.default)(WMSService, [{
|
|
72
|
-
key: "
|
|
51
|
+
key: "getMetadata",
|
|
73
52
|
value:
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
var options = _objectSpread(_objectSpread(_objectSpread({}, WMS_GET_CAPABILITIES_DEFAULT_PARAMETERS), parameters), extra);
|
|
77
|
-
return this.getWMSUrl(options, extra);
|
|
78
|
-
}
|
|
79
|
-
}, {
|
|
80
|
-
key: "getMapURL",
|
|
81
|
-
value: function getMapURL(parameters, extra) {
|
|
82
|
-
var options = _objectSpread(_objectSpread(_objectSpread({}, WMS_GET_MAP_DEFAULT_PARAMETERS), parameters), extra);
|
|
83
|
-
return this.getWMSUrl(options, extra);
|
|
84
|
-
}
|
|
85
|
-
}, {
|
|
86
|
-
key: "getFeatureInfoURL",
|
|
87
|
-
value: function getFeatureInfoURL(parameters, extra) {
|
|
88
|
-
var options = _objectSpread(_objectSpread(_objectSpread({}, WMS_GET_FEATURE_INFO_DEFAULT_PARAMETERS), parameters), extra);
|
|
89
|
-
return this.getWMSUrl(options, extra);
|
|
53
|
+
function getMetadata() {
|
|
54
|
+
return this.getCapabilities();
|
|
90
55
|
}
|
|
91
56
|
}, {
|
|
92
|
-
key: "
|
|
93
|
-
value: function
|
|
94
|
-
|
|
95
|
-
return this.getWMSUrl(options, extra);
|
|
96
|
-
}
|
|
97
|
-
}, {
|
|
98
|
-
key: "getLegendGraphicURL",
|
|
99
|
-
value: function getLegendGraphicURL(parameters, extra) {
|
|
100
|
-
var options = _objectSpread(_objectSpread(_objectSpread({}, WMS_GET_LEGEND_GRAPHIC_DEFAULT_PARAMETERS), parameters), extra);
|
|
101
|
-
return this.getWMSUrl(options, extra);
|
|
57
|
+
key: "getImage",
|
|
58
|
+
value: function getImage(parameters) {
|
|
59
|
+
return this.getMap(parameters);
|
|
102
60
|
}
|
|
103
61
|
|
|
104
62
|
}, {
|
|
105
63
|
key: "getCapabilities",
|
|
106
64
|
value: function () {
|
|
107
|
-
var _getCapabilities = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(
|
|
108
|
-
var url, response, arrayBuffer;
|
|
65
|
+
var _getCapabilities = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(wmsParameters, vendorParameters) {
|
|
66
|
+
var url, fetch, response, arrayBuffer;
|
|
109
67
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
110
68
|
while (1) {
|
|
111
69
|
switch (_context.prev = _context.next) {
|
|
112
70
|
case 0:
|
|
113
|
-
url = this.getCapabilitiesURL(
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
71
|
+
url = this.getCapabilitiesURL(wmsParameters, vendorParameters);
|
|
72
|
+
fetch = this.fetch;
|
|
73
|
+
_context.next = 4;
|
|
74
|
+
return fetch(url, this.loadOptions);
|
|
75
|
+
case 4:
|
|
117
76
|
response = _context.sent;
|
|
118
|
-
_context.next =
|
|
119
|
-
return this.checkResponse(response);
|
|
120
|
-
case 6:
|
|
121
|
-
_context.next = 8;
|
|
77
|
+
_context.next = 7;
|
|
122
78
|
return response.arrayBuffer();
|
|
123
|
-
case
|
|
79
|
+
case 7:
|
|
124
80
|
arrayBuffer = _context.sent;
|
|
81
|
+
this._checkResponse(response, arrayBuffer);
|
|
125
82
|
_context.next = 11;
|
|
126
|
-
return
|
|
83
|
+
return _wmsCapabilitiesLoader.WMSCapabilitiesLoader.parse(arrayBuffer, this.loadOptions);
|
|
127
84
|
case 11:
|
|
128
85
|
return _context.abrupt("return", _context.sent);
|
|
129
86
|
case 12:
|
|
@@ -141,34 +98,38 @@ var WMSService = function () {
|
|
|
141
98
|
}, {
|
|
142
99
|
key: "getMap",
|
|
143
100
|
value: function () {
|
|
144
|
-
var _getMap = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee2(options,
|
|
145
|
-
var url, response, arrayBuffer;
|
|
101
|
+
var _getMap = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee2(options, vendorParameters) {
|
|
102
|
+
var url, fetch, response, arrayBuffer;
|
|
146
103
|
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
147
104
|
while (1) {
|
|
148
105
|
switch (_context2.prev = _context2.next) {
|
|
149
106
|
case 0:
|
|
150
|
-
url = this.getMapURL(options,
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
107
|
+
url = this.getMapURL(options, vendorParameters);
|
|
108
|
+
fetch = this.fetch;
|
|
109
|
+
_context2.next = 4;
|
|
110
|
+
return fetch(url, this.loadOptions);
|
|
111
|
+
case 4:
|
|
154
112
|
response = _context2.sent;
|
|
155
|
-
_context2.next =
|
|
156
|
-
return this.checkResponse(response);
|
|
157
|
-
case 6:
|
|
158
|
-
_context2.next = 8;
|
|
113
|
+
_context2.next = 7;
|
|
159
114
|
return response.arrayBuffer();
|
|
160
|
-
case
|
|
115
|
+
case 7:
|
|
161
116
|
arrayBuffer = _context2.sent;
|
|
162
|
-
|
|
117
|
+
this._checkResponse(response, arrayBuffer);
|
|
118
|
+
_context2.prev = 9;
|
|
119
|
+
_context2.next = 12;
|
|
163
120
|
return _images.ImageLoader.parse(arrayBuffer, this.loadOptions);
|
|
164
|
-
case 11:
|
|
165
|
-
return _context2.abrupt("return", _context2.sent);
|
|
166
121
|
case 12:
|
|
122
|
+
return _context2.abrupt("return", _context2.sent);
|
|
123
|
+
case 15:
|
|
124
|
+
_context2.prev = 15;
|
|
125
|
+
_context2.t0 = _context2["catch"](9);
|
|
126
|
+
throw this._parseError(arrayBuffer);
|
|
127
|
+
case 18:
|
|
167
128
|
case "end":
|
|
168
129
|
return _context2.stop();
|
|
169
130
|
}
|
|
170
131
|
}
|
|
171
|
-
}, _callee2, this);
|
|
132
|
+
}, _callee2, this, [[9, 15]]);
|
|
172
133
|
}));
|
|
173
134
|
function getMap(_x3, _x4) {
|
|
174
135
|
return _getMap.apply(this, arguments);
|
|
@@ -178,29 +139,27 @@ var WMSService = function () {
|
|
|
178
139
|
}, {
|
|
179
140
|
key: "getFeatureInfo",
|
|
180
141
|
value: function () {
|
|
181
|
-
var _getFeatureInfo = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee3(options,
|
|
142
|
+
var _getFeatureInfo = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee3(options, vendorParameters) {
|
|
182
143
|
var url, response, arrayBuffer;
|
|
183
144
|
return _regenerator.default.wrap(function _callee3$(_context3) {
|
|
184
145
|
while (1) {
|
|
185
146
|
switch (_context3.prev = _context3.next) {
|
|
186
147
|
case 0:
|
|
187
|
-
url = this.getFeatureInfoURL(options,
|
|
148
|
+
url = this.getFeatureInfoURL(options, vendorParameters);
|
|
188
149
|
_context3.next = 3;
|
|
189
150
|
return this.fetch(url, this.loadOptions);
|
|
190
151
|
case 3:
|
|
191
152
|
response = _context3.sent;
|
|
192
153
|
_context3.next = 6;
|
|
193
|
-
return this.checkResponse(response);
|
|
194
|
-
case 6:
|
|
195
|
-
_context3.next = 8;
|
|
196
154
|
return response.arrayBuffer();
|
|
197
|
-
case
|
|
155
|
+
case 6:
|
|
198
156
|
arrayBuffer = _context3.sent;
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
157
|
+
this._checkResponse(response, arrayBuffer);
|
|
158
|
+
_context3.next = 10;
|
|
159
|
+
return _wmsFeatureInfoLoader.WMSFeatureInfoLoader.parse(arrayBuffer, this.loadOptions);
|
|
160
|
+
case 10:
|
|
202
161
|
return _context3.abrupt("return", _context3.sent);
|
|
203
|
-
case
|
|
162
|
+
case 11:
|
|
204
163
|
case "end":
|
|
205
164
|
return _context3.stop();
|
|
206
165
|
}
|
|
@@ -215,29 +174,27 @@ var WMSService = function () {
|
|
|
215
174
|
}, {
|
|
216
175
|
key: "describeLayer",
|
|
217
176
|
value: function () {
|
|
218
|
-
var _describeLayer = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee4(options,
|
|
177
|
+
var _describeLayer = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee4(options, vendorParameters) {
|
|
219
178
|
var url, response, arrayBuffer;
|
|
220
179
|
return _regenerator.default.wrap(function _callee4$(_context4) {
|
|
221
180
|
while (1) {
|
|
222
181
|
switch (_context4.prev = _context4.next) {
|
|
223
182
|
case 0:
|
|
224
|
-
url = this.describeLayerURL(options,
|
|
183
|
+
url = this.describeLayerURL(options, vendorParameters);
|
|
225
184
|
_context4.next = 3;
|
|
226
185
|
return this.fetch(url, this.loadOptions);
|
|
227
186
|
case 3:
|
|
228
187
|
response = _context4.sent;
|
|
229
188
|
_context4.next = 6;
|
|
230
|
-
return this.checkResponse(response);
|
|
231
|
-
case 6:
|
|
232
|
-
_context4.next = 8;
|
|
233
189
|
return response.arrayBuffer();
|
|
234
|
-
case
|
|
190
|
+
case 6:
|
|
235
191
|
arrayBuffer = _context4.sent;
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
192
|
+
this._checkResponse(response, arrayBuffer);
|
|
193
|
+
_context4.next = 10;
|
|
194
|
+
return _wmsLayerDescriptionLoader.WMSLayerDescriptionLoader.parse(arrayBuffer, this.loadOptions);
|
|
195
|
+
case 10:
|
|
239
196
|
return _context4.abrupt("return", _context4.sent);
|
|
240
|
-
case
|
|
197
|
+
case 11:
|
|
241
198
|
case "end":
|
|
242
199
|
return _context4.stop();
|
|
243
200
|
}
|
|
@@ -252,34 +209,37 @@ var WMSService = function () {
|
|
|
252
209
|
}, {
|
|
253
210
|
key: "getLegendGraphic",
|
|
254
211
|
value: function () {
|
|
255
|
-
var _getLegendGraphic = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee5(options,
|
|
212
|
+
var _getLegendGraphic = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee5(options, vendorParameters) {
|
|
256
213
|
var url, response, arrayBuffer;
|
|
257
214
|
return _regenerator.default.wrap(function _callee5$(_context5) {
|
|
258
215
|
while (1) {
|
|
259
216
|
switch (_context5.prev = _context5.next) {
|
|
260
217
|
case 0:
|
|
261
|
-
url = this.getLegendGraphicURL(options,
|
|
218
|
+
url = this.getLegendGraphicURL(options, vendorParameters);
|
|
262
219
|
_context5.next = 3;
|
|
263
220
|
return this.fetch(url, this.loadOptions);
|
|
264
221
|
case 3:
|
|
265
222
|
response = _context5.sent;
|
|
266
223
|
_context5.next = 6;
|
|
267
|
-
return this.checkResponse(response);
|
|
268
|
-
case 6:
|
|
269
|
-
_context5.next = 8;
|
|
270
224
|
return response.arrayBuffer();
|
|
271
|
-
case
|
|
225
|
+
case 6:
|
|
272
226
|
arrayBuffer = _context5.sent;
|
|
227
|
+
this._checkResponse(response, arrayBuffer);
|
|
228
|
+
_context5.prev = 8;
|
|
273
229
|
_context5.next = 11;
|
|
274
230
|
return _images.ImageLoader.parse(arrayBuffer, this.loadOptions);
|
|
275
231
|
case 11:
|
|
276
232
|
return _context5.abrupt("return", _context5.sent);
|
|
277
|
-
case
|
|
233
|
+
case 14:
|
|
234
|
+
_context5.prev = 14;
|
|
235
|
+
_context5.t0 = _context5["catch"](8);
|
|
236
|
+
throw this._parseError(arrayBuffer);
|
|
237
|
+
case 17:
|
|
278
238
|
case "end":
|
|
279
239
|
return _context5.stop();
|
|
280
240
|
}
|
|
281
241
|
}
|
|
282
|
-
}, _callee5, this);
|
|
242
|
+
}, _callee5, this, [[8, 14]]);
|
|
283
243
|
}));
|
|
284
244
|
function getLegendGraphic(_x9, _x10) {
|
|
285
245
|
return _getLegendGraphic.apply(this, arguments);
|
|
@@ -287,54 +247,113 @@ var WMSService = function () {
|
|
|
287
247
|
return getLegendGraphic;
|
|
288
248
|
}()
|
|
289
249
|
}, {
|
|
290
|
-
key: "
|
|
250
|
+
key: "getCapabilitiesURL",
|
|
291
251
|
value:
|
|
292
252
|
|
|
293
|
-
function
|
|
294
|
-
var
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
253
|
+
function getCapabilitiesURL(wmsParameters, vendorParameters) {
|
|
254
|
+
var options = _objectSpread(_objectSpread({
|
|
255
|
+
service: 'WMS',
|
|
256
|
+
version: '1.1.1',
|
|
257
|
+
request: 'GetCapabilities'
|
|
258
|
+
}, wmsParameters), vendorParameters);
|
|
259
|
+
return this._getWMSUrl(options, vendorParameters);
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
}, {
|
|
263
|
+
key: "getMapURL",
|
|
264
|
+
value:
|
|
265
|
+
function getMapURL(wmsParameters, vendorParameters) {
|
|
266
|
+
var options = _objectSpread(_objectSpread({
|
|
267
|
+
service: 'WMS',
|
|
268
|
+
version: '1.1.1',
|
|
269
|
+
request: 'GetMap',
|
|
270
|
+
styles: undefined,
|
|
271
|
+
srs: 'EPSG:4326',
|
|
272
|
+
format: 'image/png'
|
|
273
|
+
}, wmsParameters), vendorParameters);
|
|
274
|
+
return this._getWMSUrl(options, vendorParameters);
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
}, {
|
|
278
|
+
key: "getFeatureInfoURL",
|
|
279
|
+
value:
|
|
280
|
+
function getFeatureInfoURL(wmsParameters, vendorParameters) {
|
|
281
|
+
var options = _objectSpread(_objectSpread({
|
|
282
|
+
service: 'WMS',
|
|
283
|
+
version: '1.1.1',
|
|
284
|
+
request: 'GetFeatureInfo',
|
|
285
|
+
srs: 'EPSG:4326',
|
|
286
|
+
format: 'image/png',
|
|
287
|
+
info_format: 'text/plain',
|
|
288
|
+
styles: undefined
|
|
289
|
+
}, wmsParameters), vendorParameters);
|
|
290
|
+
return this._getWMSUrl(options, vendorParameters);
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
}, {
|
|
294
|
+
key: "describeLayerURL",
|
|
295
|
+
value:
|
|
296
|
+
function describeLayerURL(wmsParameters, vendorParameters) {
|
|
297
|
+
var options = _objectSpread(_objectSpread({
|
|
298
|
+
service: 'WMS',
|
|
299
|
+
version: '1.1.1',
|
|
300
|
+
request: 'DescribeLayer'
|
|
301
|
+
}, wmsParameters), vendorParameters);
|
|
302
|
+
return this._getWMSUrl(options, vendorParameters);
|
|
303
|
+
}
|
|
304
|
+
}, {
|
|
305
|
+
key: "getLegendGraphicURL",
|
|
306
|
+
value: function getLegendGraphicURL(wmsParameters, vendorParameters) {
|
|
307
|
+
var options = _objectSpread(_objectSpread({
|
|
308
|
+
service: 'WMS',
|
|
309
|
+
version: '1.1.1',
|
|
310
|
+
request: 'GetLegendGraphic'
|
|
311
|
+
}, wmsParameters), vendorParameters);
|
|
312
|
+
return this._getWMSUrl(options, vendorParameters);
|
|
313
|
+
}
|
|
314
|
+
|
|
315
|
+
}, {
|
|
316
|
+
key: "_getWMSUrl",
|
|
317
|
+
value:
|
|
318
|
+
|
|
319
|
+
function _getWMSUrl(options, vendorParameters) {
|
|
320
|
+
var url = "".concat(this.serviceUrl);
|
|
321
|
+
var first = true;
|
|
322
|
+
for (var _i = 0, _Object$entries = Object.entries(options); _i < _Object$entries.length; _i++) {
|
|
323
|
+
var _Object$entries$_i = (0, _slicedToArray2.default)(_Object$entries[_i], 2),
|
|
324
|
+
key = _Object$entries$_i[0],
|
|
325
|
+
value = _Object$entries$_i[1];
|
|
326
|
+
url += first ? '?' : '&';
|
|
327
|
+
first = false;
|
|
328
|
+
if (Array.isArray(value)) {
|
|
329
|
+
url += "".concat(key.toUpperCase(), "=").concat(value.join(','));
|
|
330
|
+
} else {
|
|
331
|
+
url += "".concat(key.toUpperCase(), "=").concat(value ? String(value) : '');
|
|
332
|
+
}
|
|
298
333
|
}
|
|
299
|
-
return url;
|
|
334
|
+
return encodeURI(url);
|
|
300
335
|
}
|
|
301
336
|
|
|
302
337
|
}, {
|
|
303
|
-
key: "
|
|
304
|
-
value:
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
case 0:
|
|
311
|
-
if (!(!response.ok || response.headers['content-type'] === _wms.WMSErrorLoader.mimeTypes[0])) {
|
|
312
|
-
_context6.next = 8;
|
|
313
|
-
break;
|
|
314
|
-
}
|
|
315
|
-
_context6.next = 3;
|
|
316
|
-
return response.arrayBuffer();
|
|
317
|
-
case 3:
|
|
318
|
-
arrayBuffer = _context6.sent;
|
|
319
|
-
_context6.next = 6;
|
|
320
|
-
return _wms.WMSErrorLoader.parse(arrayBuffer, this.loadOptions);
|
|
321
|
-
case 6:
|
|
322
|
-
error = _context6.sent;
|
|
323
|
-
throw new Error(error);
|
|
324
|
-
case 8:
|
|
325
|
-
case "end":
|
|
326
|
-
return _context6.stop();
|
|
327
|
-
}
|
|
328
|
-
}
|
|
329
|
-
}, _callee6, this);
|
|
330
|
-
}));
|
|
331
|
-
function checkResponse(_x11) {
|
|
332
|
-
return _checkResponse.apply(this, arguments);
|
|
338
|
+
key: "_checkResponse",
|
|
339
|
+
value:
|
|
340
|
+
function _checkResponse(response, arrayBuffer) {
|
|
341
|
+
var contentType = response.headers['content-type'];
|
|
342
|
+
if (!response.ok || _wmsErrorLoader.WMSErrorLoader.mimeTypes.includes(contentType)) {
|
|
343
|
+
var error = _wmsErrorLoader.WMSErrorLoader.parseSync(arrayBuffer, this.loadOptions);
|
|
344
|
+
throw new Error(error);
|
|
333
345
|
}
|
|
334
|
-
|
|
335
|
-
|
|
346
|
+
}
|
|
347
|
+
|
|
348
|
+
}, {
|
|
349
|
+
key: "_parseError",
|
|
350
|
+
value:
|
|
351
|
+
function _parseError(arrayBuffer) {
|
|
352
|
+
var error = _wmsErrorLoader.WMSErrorLoader.parseSync(arrayBuffer, this.loadOptions);
|
|
353
|
+
return new Error(error);
|
|
354
|
+
}
|
|
336
355
|
}]);
|
|
337
356
|
return WMSService;
|
|
338
|
-
}();
|
|
357
|
+
}(_imageSource.ImageSource);
|
|
339
358
|
exports.WMSService = WMSService;
|
|
340
359
|
//# sourceMappingURL=wms-service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wms-service.js","names":["WMS_GET_CAPABILITIES_DEFAULT_PARAMETERS","service","version","request","WMS_GET_MAP_DEFAULT_PARAMETERS","layers","styles","undefined","bbox","width","height","srs","format","WMS_GET_FEATURE_INFO_DEFAULT_PARAMETERS","x","y","query_layers","info_format","WMS_DESCRIBE_LAYER_DEFAULT_PARAMETERS","WMS_GET_LEGEND_GRAPHIC_DEFAULT_PARAMETERS","WMSService","props","url","loadOptions","fetch","parameters","extra","options","getWMSUrl","getCapabilitiesURL","response","checkResponse","arrayBuffer","WMSCapabilitiesLoader","parse","getMapURL","ImageLoader","getFeatureInfoURL","WMSFeatureInfoLoader","describeLayerURL","WMSLayerDescriptionLoader","getLegendGraphicURL","length","join","ok","headers","WMSErrorLoader","mimeTypes","error","Error"],"sources":["../../../../src/lib/data-sources/wms-service.ts"],"sourcesContent":["// loaders.gl, MIT license\n\n/* eslint-disable camelcase */\n\nimport type {WMSCapabilities, WMSFeatureInfo, WMSLayerDescription} from '@loaders.gl/wms';\nimport {\n WMSCapabilitiesLoader,\n WMSFeatureInfoLoader,\n WMSLayerDescriptionLoader,\n WMSErrorLoader\n} from '@loaders.gl/wms';\nimport {ImageLoader, ImageType} from '@loaders.gl/images';\nimport {LoaderOptions} from '@loaders.gl/loader-utils';\n\ntype FetchLike = (url: string, options?: RequestInit) => Promise<Response>;\n\nexport type WMSGetCapabilitiesParameters = {\n /** In case the endpoint supports multiple services */\n service?: 'WMS';\n /** In case the endpoint supports multiple WMS versions */\n version?: '1.1.1' | '1.3.0';\n /** Request type */\n request?: 'GetCapabilities';\n};\n\nexport type WMSGetMapParameters = {\n /** In case the endpoint supports multiple services */\n service?: 'WMS';\n /** In case the endpoint supports multiple WMS versions */\n version?: '1.1.1' | '1.3.0';\n /** Request type */\n request?: 'GetMap';\n /** Layers to render */\n layers: string[];\n /** Styling */\n styles?: unknown;\n /** bounding box of the requested map image */\n bbox: [number, number, number, number];\n /** pixel width of returned image */\n width: number;\n /** pixels */\n height: number;\n /** srs for the image (not the bounding box) */\n srs?: string;\n /** requested format for the return image */\n format?: 'image/png';\n};\n\n// https://imagery.pasda.psu.edu/arcgis/services/pasda/UrbanTreeCanopy_Landcover/MapServer/WmsServer?SERVICE=WMS&\nexport type WMSGetFeatureInfoParameters = {\n /** In case the endpoint supports multiple services */\n service?: 'WMS';\n /** In case the endpoint supports multiple WMS versions */\n version?: '1.1.1' | '1.3.0';\n /** Request type */\n request?: 'GetFeatureInfo';\n\n /** x coordinate for the feature info request */\n x: number;\n /** y coordinate for the feature info request */\n y: number;\n /** list of layers to query (could be different from rendered layers) */\n query_layers: string[];\n /** MIME type of returned feature info */\n info_format: 'text/plain';\n\n /** Layers to render */\n layers: string[];\n /** Styling */\n styles?: unknown;\n /** bounding box of the requested map image */\n bbox: [number, number, number, number];\n /** pixel width of returned image */\n width: number;\n /** pixels */\n height: number;\n /** srs for the image (not the bounding box) */\n srs?: string;\n /** requested format for the return image */\n format?: 'image/png';\n};\n\nexport type WMSDescribeLayerParameters = {\n /** In case the endpoint supports multiple services */\n service?: 'WMS';\n /** In case the endpoint supports multiple WMS versions */\n version?: '1.1.1' | '1.3.0';\n /** Request type */\n request?: 'DescribeLayer';\n};\n\nexport type WMSGetLegendGraphicParameters = {\n /** In case the endpoint supports multiple services */\n service?: 'WMS';\n /** In case the endpoint supports multiple WMS versions */\n version?: '1.1.1' | '1.3.0';\n /** Request type */\n request?: 'GetLegendGraphic';\n};\n\nconst WMS_GET_CAPABILITIES_DEFAULT_PARAMETERS: Required<WMSGetCapabilitiesParameters> = {\n service: 'WMS',\n version: '1.1.1',\n request: 'GetCapabilities'\n};\n\nconst WMS_GET_MAP_DEFAULT_PARAMETERS: Required<WMSGetMapParameters> = {\n service: 'WMS',\n version: '1.1.1',\n request: 'GetMap',\n layers: [],\n styles: undefined,\n bbox: [-77.87304, 40.78975, -77.85828, 40.80228],\n width: 1200,\n height: 900,\n srs: 'EPSG:4326',\n format: 'image/png'\n};\n\nconst WMS_GET_FEATURE_INFO_DEFAULT_PARAMETERS: Required<WMSGetFeatureInfoParameters> = {\n service: 'WMS',\n version: '1.1.1',\n request: 'GetFeatureInfo',\n layers: [],\n styles: undefined,\n bbox: [-77.87304, 40.78975, -77.85828, 40.80228],\n width: 1200,\n height: 900,\n srs: 'EPSG:4326',\n format: 'image/png',\n\n x: undefined!,\n y: undefined!,\n query_layers: [],\n info_format: 'text/plain'\n};\n\nconst WMS_DESCRIBE_LAYER_DEFAULT_PARAMETERS: Required<WMSDescribeLayerParameters> = {\n service: 'WMS',\n version: '1.1.1',\n request: 'DescribeLayer'\n};\n\nconst WMS_GET_LEGEND_GRAPHIC_DEFAULT_PARAMETERS: Required<WMSGetLegendGraphicParameters> = {\n service: 'WMS',\n version: '1.1.1',\n request: 'GetLegendGraphic'\n};\n\nexport type WMSServiceProps = {\n url: string;\n loadOptions?: LoaderOptions;\n fetch?: typeof fetch | FetchLike;\n};\n\nexport class WMSService {\n url: string;\n loadOptions: LoaderOptions;\n fetch: typeof fetch | FetchLike;\n\n constructor(props: WMSServiceProps) {\n this.url = props.url;\n this.loadOptions = props.loadOptions || {};\n this.fetch = props.fetch || fetch;\n }\n\n // Typed URL creators\n\n getCapabilitiesURL(\n parameters?: WMSGetCapabilitiesParameters,\n extra?: Record<string, unknown>\n ): string {\n const options: Required<WMSGetCapabilitiesParameters> = {\n ...WMS_GET_CAPABILITIES_DEFAULT_PARAMETERS,\n ...parameters,\n ...extra\n };\n return this.getWMSUrl(options, extra);\n }\n\n getMapURL(parameters: WMSGetMapParameters, extra?: Record<string, unknown>): string {\n const options: Required<WMSGetMapParameters> = {\n ...WMS_GET_MAP_DEFAULT_PARAMETERS,\n ...parameters,\n ...extra\n };\n return this.getWMSUrl(options, extra);\n }\n\n getFeatureInfoURL(\n parameters: WMSGetFeatureInfoParameters,\n extra?: Record<string, unknown>\n ): string {\n const options: Required<WMSGetFeatureInfoParameters> = {\n ...WMS_GET_FEATURE_INFO_DEFAULT_PARAMETERS,\n ...parameters,\n ...extra\n };\n return this.getWMSUrl(options, extra);\n }\n\n describeLayerURL(\n parameters: WMSDescribeLayerParameters,\n extra?: Record<string, unknown>\n ): string {\n const options: Required<WMSDescribeLayerParameters> = {\n ...WMS_DESCRIBE_LAYER_DEFAULT_PARAMETERS,\n ...parameters,\n ...extra\n };\n return this.getWMSUrl(options, extra);\n }\n\n getLegendGraphicURL(\n parameters: WMSGetLegendGraphicParameters,\n extra?: Record<string, unknown>\n ): string {\n const options: Required<WMSGetLegendGraphicParameters> = {\n ...WMS_GET_LEGEND_GRAPHIC_DEFAULT_PARAMETERS,\n ...parameters,\n ...extra\n };\n return this.getWMSUrl(options, extra);\n }\n\n // WMS Service API Stubs\n\n /** Get Capabilities */\n async getCapabilities(\n parameters?: WMSGetCapabilitiesParameters,\n extra?: Record<string, unknown>\n ): Promise<WMSCapabilities> {\n const url = this.getCapabilitiesURL(parameters, extra);\n const response = await this.fetch(url, this.loadOptions);\n await this.checkResponse(response);\n const arrayBuffer = await response.arrayBuffer();\n return await WMSCapabilitiesLoader.parse(arrayBuffer, this.loadOptions);\n }\n\n /** Get a map image */\n async getMap(options: WMSGetMapParameters, extra?: Record<string, unknown>): Promise<ImageType> {\n const url = this.getMapURL(options, extra);\n const response = await this.fetch(url, this.loadOptions);\n await this.checkResponse(response);\n const arrayBuffer = await response.arrayBuffer();\n return await ImageLoader.parse(arrayBuffer, this.loadOptions);\n }\n\n /** Get Feature Info for a coordinate */\n async getFeatureInfo(\n options: WMSGetFeatureInfoParameters,\n extra?: Record<string, unknown>\n ): Promise<WMSFeatureInfo> {\n const url = this.getFeatureInfoURL(options, extra);\n const response = await this.fetch(url, this.loadOptions);\n await this.checkResponse(response);\n const arrayBuffer = await response.arrayBuffer();\n return await WMSFeatureInfoLoader.parse(arrayBuffer, this.loadOptions);\n }\n\n /** Get more information about a layer */\n async describeLayer(\n options: WMSDescribeLayerParameters,\n extra?: Record<string, unknown>\n ): Promise<WMSLayerDescription> {\n const url = this.describeLayerURL(options, extra);\n const response = await this.fetch(url, this.loadOptions);\n await this.checkResponse(response);\n const arrayBuffer = await response.arrayBuffer();\n return await WMSLayerDescriptionLoader.parse(arrayBuffer, this.loadOptions);\n }\n\n /** Get an image with a semantic legend */\n async getLegendGraphic(\n options: WMSGetLegendGraphicParameters,\n extra?: Record<string, unknown>\n ): Promise<ImageType> {\n const url = this.getLegendGraphicURL(options, extra);\n const response = await this.fetch(url, this.loadOptions);\n await this.checkResponse(response);\n const arrayBuffer = await response.arrayBuffer();\n return await ImageLoader.parse(arrayBuffer, this.loadOptions);\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 getWMSUrl(\n options: {\n request: string;\n layers?: string[];\n },\n extra?: Record<string, unknown>\n ): string {\n let url = `${this.url}?REQUEST=${options.request}`;\n if (options.layers?.length) {\n url += `&LAYERS=[${options.layers.join(',')}]`;\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 || 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":"wms-service.js","names":["WMSService","props","wms","throwOnError","ImageLoader","WMSErrorLoader","WMSCapabilitiesLoader","WMSFeatureInfoLoader","WMSLayerDescriptionLoader","serviceUrl","Object","assign","loadOptions","fetch","getCapabilities","parameters","getMap","wmsParameters","vendorParameters","url","getCapabilitiesURL","response","arrayBuffer","_checkResponse","parse","options","getMapURL","_parseError","getFeatureInfoURL","describeLayerURL","getLegendGraphicURL","service","version","request","_getWMSUrl","styles","undefined","srs","format","info_format","first","entries","key","value","Array","isArray","toUpperCase","join","String","encodeURI","contentType","headers","ok","mimeTypes","includes","error","parseSync","Error","ImageSource"],"sources":["../../../../src/lib/data-sources/wms-service.ts"],"sourcesContent":["// loaders.gl, MIT license\n\n/* eslint-disable camelcase */\n\nimport type {ImageType} from '@loaders.gl/images';\nimport {ImageLoader} from '@loaders.gl/images';\nimport {LoaderOptions} from '@loaders.gl/loader-utils';\n\nimport type {ImageSourceMetadata, GetImageParameters} from './image-source';\nimport {ImageSource} from './image-source';\n\nimport type {WMSCapabilities, WMSFeatureInfo, WMSLayerDescription} from '../wms/wms-types';\nimport {WMSCapabilitiesLoader} from '../../wms-capabilities-loader';\nimport {WMSFeatureInfoLoader} from '../../wip/wms-feature-info-loader';\nimport {WMSLayerDescriptionLoader} from '../../wip/wms-layer-description-loader';\nimport {WMSErrorLoader} from '../../wms-error-loader';\n\ntype FetchLike = (url: string, options?: RequestInit) => Promise<Response>;\n\ntype WMSCommonParameters = {\n /** In case the endpoint supports multiple services */\n service?: 'WMS';\n /** In case the endpoint supports multiple WMS versions */\n version?: '1.1.1' | '1.3.0';\n};\n\nexport type WMSGetCapabilitiesParameters = WMSCommonParameters & {\n /** Request type */\n request?: 'GetCapabilities';\n};\n\nexport type WMSGetMapParameters = WMSCommonParameters & {\n /** Request type */\n request?: 'GetMap';\n /** Layers to render */\n layers: string | string[];\n /** Styling */\n styles?: unknown;\n /** bounding box of the requested map image */\n bbox: [number, number, number, number];\n /** pixel width of returned image */\n width: number;\n /** pixels */\n height: number;\n /** srs for the image (not the bounding box) */\n srs?: string;\n /** requested format for the return image */\n format?: 'image/png';\n};\n\n// https://imagery.pasda.psu.edu/arcgis/services/pasda/UrbanTreeCanopy_Landcover/MapServer/WmsServer?SERVICE=WMS&\nexport type WMSGetFeatureInfoParameters = WMSCommonParameters & {\n /** Request type */\n request?: 'GetFeatureInfo';\n\n /** x coordinate for the feature info request */\n x: number;\n /** y coordinate for the feature info request */\n y: number;\n /** list of layers to query (could be different from rendered layers) */\n query_layers: string[];\n /** MIME type of returned feature info */\n info_format?: 'text/plain';\n\n /** Layers to render */\n layers: string[];\n /** Styling */\n styles?: unknown;\n /** bounding box of the requested map image */\n bbox: [number, number, number, number];\n /** pixel width of returned image */\n width: number;\n /** pixels */\n height: number;\n /** srs for the image (not the bounding box) */\n srs?: string;\n /** requested format for the return image */\n format?: 'image/png';\n};\n\nexport type WMSDescribeLayerParameters = WMSCommonParameters & {\n /** Request type */\n request?: 'DescribeLayer';\n};\n\nexport type WMSGetLegendGraphicParameters = WMSCommonParameters & {\n /** Request type */\n request?: 'GetLegendGraphic';\n};\n\n/** Properties that can be specified when creating a new WMS service */\nexport type WMSServiceProps = {\n /** Base URL to the service */\n serviceUrl: string;\n /** Any load options to the loaders.gl Loaders used by the WMSService methods */\n loadOptions?: LoaderOptions;\n /** Override the fetch function if required */\n fetch?: typeof fetch | FetchLike;\n};\n\n/**\n * The WMSService class provides\n * - provides type safe methods to form URLs to a WMS service\n * - provides type safe methods to query and parse results (and errors) from a WMS service\n * - implements the ImageService interface\n * @note Only the URL parameter conversion is supported. XML posts are not supported.\n */\nexport class WMSService extends ImageSource {\n serviceUrl: string;\n loadOptions: LoaderOptions = {\n // We want error responses to throw exceptions, the WMSErrorLoader can do this\n wms: {throwOnError: true}\n };\n fetch: typeof fetch | FetchLike;\n\n /** A list of loaders used by the WMSService methods */\n readonly loaders = [\n ImageLoader,\n WMSErrorLoader,\n WMSCapabilitiesLoader,\n WMSFeatureInfoLoader,\n WMSLayerDescriptionLoader\n ];\n\n /** Create a WMSService */\n constructor(props: WMSServiceProps) {\n super();\n this.serviceUrl = props.serviceUrl;\n // TODO Need an options merge function from loaders.gl to merge subobjects\n Object.assign(this.loadOptions, props.loadOptions);\n this.fetch = props.fetch || fetch;\n }\n\n // ImageSource implementation\n getMetadata(): Promise<ImageSourceMetadata> {\n return this.getCapabilities();\n }\n\n getImage(parameters: GetImageParameters): Promise<ImageType> {\n return this.getMap(parameters);\n }\n\n // WMS Service API Stubs\n\n /** Get Capabilities */\n async getCapabilities(\n wmsParameters?: WMSGetCapabilitiesParameters,\n vendorParameters?: Record<string, unknown>\n ): Promise<WMSCapabilities> {\n const url = this.getCapabilitiesURL(wmsParameters, vendorParameters);\n const {fetch} = this;\n const response = await fetch(url, this.loadOptions);\n const arrayBuffer = await response.arrayBuffer();\n this._checkResponse(response, arrayBuffer);\n return await WMSCapabilitiesLoader.parse(arrayBuffer, this.loadOptions);\n }\n\n /** Get a map image */\n async getMap(\n options: WMSGetMapParameters,\n vendorParameters?: Record<string, unknown>\n ): Promise<ImageType> {\n const url = this.getMapURL(options, vendorParameters);\n const {fetch} = this;\n const response = await fetch(url, this.loadOptions);\n const arrayBuffer = await response.arrayBuffer();\n this._checkResponse(response, arrayBuffer);\n try {\n return await ImageLoader.parse(arrayBuffer, this.loadOptions);\n } catch {\n throw this._parseError(arrayBuffer);\n }\n }\n\n /** Get Feature Info for a coordinate */\n async getFeatureInfo(\n options: WMSGetFeatureInfoParameters,\n vendorParameters?: Record<string, unknown>\n ): Promise<WMSFeatureInfo> {\n const url = this.getFeatureInfoURL(options, vendorParameters);\n const response = await this.fetch(url, this.loadOptions);\n const arrayBuffer = await response.arrayBuffer();\n this._checkResponse(response, arrayBuffer);\n return await WMSFeatureInfoLoader.parse(arrayBuffer, this.loadOptions);\n }\n\n /** Get more information about a layer */\n async describeLayer(\n options: WMSDescribeLayerParameters,\n vendorParameters?: Record<string, unknown>\n ): Promise<WMSLayerDescription> {\n const url = this.describeLayerURL(options, vendorParameters);\n const response = await this.fetch(url, this.loadOptions);\n const arrayBuffer = await response.arrayBuffer();\n this._checkResponse(response, arrayBuffer);\n return await WMSLayerDescriptionLoader.parse(arrayBuffer, this.loadOptions);\n }\n\n /** Get an image with a semantic legend */\n async getLegendGraphic(\n options: WMSGetLegendGraphicParameters,\n vendorParameters?: Record<string, unknown>\n ): Promise<ImageType> {\n const url = this.getLegendGraphicURL(options, vendorParameters);\n const response = await this.fetch(url, this.loadOptions);\n const arrayBuffer = await response.arrayBuffer();\n this._checkResponse(response, arrayBuffer);\n try {\n return await ImageLoader.parse(arrayBuffer, this.loadOptions);\n } catch {\n throw this._parseError(arrayBuffer);\n }\n }\n\n // Typed URL creators\n // For applications that want full control of fetching and parsing\n\n /** Generate a URL for the GetCapabilities request */\n getCapabilitiesURL(\n wmsParameters?: WMSGetCapabilitiesParameters,\n vendorParameters?: Record<string, unknown>\n ): string {\n const options: Required<WMSGetCapabilitiesParameters> = {\n service: 'WMS',\n version: '1.1.1',\n request: 'GetCapabilities',\n ...wmsParameters,\n ...vendorParameters\n };\n return this._getWMSUrl(options, vendorParameters);\n }\n\n /** Generate a URL for the GetMap request */\n getMapURL(\n wmsParameters: WMSGetMapParameters,\n vendorParameters?: Record<string, unknown>\n ): string {\n const options: Required<WMSGetMapParameters> = {\n service: 'WMS',\n version: '1.1.1',\n request: 'GetMap',\n // layers: [],\n // bbox: [-77.87304, 40.78975, -77.85828, 40.80228],\n // width: 1200,\n // height: 900,\n styles: undefined,\n srs: 'EPSG:4326',\n format: 'image/png',\n ...wmsParameters,\n ...vendorParameters\n };\n return this._getWMSUrl(options, vendorParameters);\n }\n\n /** Generate a URL for the GetFeatureInfo request */\n getFeatureInfoURL(\n wmsParameters: WMSGetFeatureInfoParameters,\n vendorParameters?: Record<string, unknown>\n ): string {\n const options: Required<WMSGetFeatureInfoParameters> = {\n service: 'WMS',\n version: '1.1.1',\n request: 'GetFeatureInfo',\n // layers: [],\n // bbox: [-77.87304, 40.78975, -77.85828, 40.80228],\n // width: 1200,\n // height: 900,\n // x: undefined!,\n // y: undefined!,\n // query_layers: [],\n srs: 'EPSG:4326',\n format: 'image/png',\n info_format: 'text/plain',\n styles: undefined,\n ...wmsParameters,\n ...vendorParameters\n };\n return this._getWMSUrl(options, vendorParameters);\n }\n\n /** Generate a URL for the GetFeatureInfo request */\n describeLayerURL(\n wmsParameters: WMSDescribeLayerParameters,\n vendorParameters?: Record<string, unknown>\n ): string {\n const options: Required<WMSDescribeLayerParameters> = {\n service: 'WMS',\n version: '1.1.1',\n request: 'DescribeLayer',\n ...wmsParameters,\n ...vendorParameters\n };\n return this._getWMSUrl(options, vendorParameters);\n }\n\n getLegendGraphicURL(\n wmsParameters: WMSGetLegendGraphicParameters,\n vendorParameters?: Record<string, unknown>\n ): string {\n const options: Required<WMSGetLegendGraphicParameters> = {\n service: 'WMS',\n version: '1.1.1',\n request: 'GetLegendGraphic',\n ...wmsParameters,\n ...vendorParameters\n };\n return this._getWMSUrl(options, vendorParameters);\n }\n\n // INTERNAL METHODS\n\n /**\n * @note case _getWMSUrl may need to be overridden to handle certain backends?\n * */\n protected _getWMSUrl(\n options: Record<string, unknown>,\n vendorParameters?: Record<string, unknown>\n ): string {\n let url = `${this.serviceUrl}`;\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 encodeURI(url);\n }\n\n /** Checks for and parses a WMS XML formatted ServiceError and throws an exception */\n protected _checkResponse(response: Response, arrayBuffer: ArrayBuffer): void {\n const contentType = response.headers['content-type'];\n if (!response.ok || WMSErrorLoader.mimeTypes.includes(contentType)) {\n const error = WMSErrorLoader.parseSync(arrayBuffer, this.loadOptions);\n throw new Error(error);\n }\n }\n\n /** Error situation detected */\n protected _parseError(arrayBuffer: ArrayBuffer): Error {\n const error = WMSErrorLoader.parseSync(arrayBuffer, this.loadOptions);\n return new Error(error);\n }\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.deepStrictEqual = deepStrictEqual;
|
|
8
|
+
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
9
|
+
|
|
10
|
+
function deepStrictEqual(actual, expected, strict) {
|
|
11
|
+
if (actual === expected) {
|
|
12
|
+
return true;
|
|
13
|
+
|
|
14
|
+
} else if (actual instanceof Date && expected instanceof Date) {
|
|
15
|
+
return actual.getTime() === expected.getTime();
|
|
16
|
+
|
|
17
|
+
} else if (actual instanceof RegExp && expected instanceof RegExp) {
|
|
18
|
+
return actual.source === expected.source && actual.global === expected.global && actual.multiline === expected.multiline && actual.lastIndex === expected.lastIndex && actual.ignoreCase === expected.ignoreCase;
|
|
19
|
+
|
|
20
|
+
} else if ((actual === null || (0, _typeof2.default)(actual) !== 'object') && (expected === null || (0, _typeof2.default)(expected) !== 'object')) {
|
|
21
|
+
return strict ? actual === expected : actual == expected;
|
|
22
|
+
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
return objEquiv(actual, expected, strict);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
var pSlice = Array.prototype.slice;
|
|
29
|
+
function isPrimitive(arg) {
|
|
30
|
+
return arg === null || (0, _typeof2.default)(arg) !== 'object' && typeof arg !== 'function';
|
|
31
|
+
}
|
|
32
|
+
function isArguments(object) {
|
|
33
|
+
return Object.prototype.toString.call(object) == '[object Arguments]';
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
function objEquiv(a, b, strict) {
|
|
37
|
+
if (a === null || a === undefined || b === null || b === undefined) return false;
|
|
38
|
+
if (isPrimitive(a) || isPrimitive(b)) return a === b;
|
|
39
|
+
if (strict && Object.getPrototypeOf(a) !== Object.getPrototypeOf(b)) return false;
|
|
40
|
+
var aIsArgs = isArguments(a);
|
|
41
|
+
var bIsArgs = isArguments(b);
|
|
42
|
+
if (aIsArgs && !bIsArgs || !aIsArgs && bIsArgs) return false;
|
|
43
|
+
if (aIsArgs) {
|
|
44
|
+
a = pSlice.call(a);
|
|
45
|
+
b = pSlice.call(b);
|
|
46
|
+
return deepStrictEqual(a, b, strict);
|
|
47
|
+
}
|
|
48
|
+
var ka = Object.keys(a);
|
|
49
|
+
var kb = Object.keys(b);
|
|
50
|
+
var key;
|
|
51
|
+
var i;
|
|
52
|
+
if (ka.length !== kb.length) return false;
|
|
53
|
+
ka.sort();
|
|
54
|
+
kb.sort();
|
|
55
|
+
for (i = ka.length - 1; i >= 0; i--) {
|
|
56
|
+
if (ka[i] !== kb[i]) return false;
|
|
57
|
+
}
|
|
58
|
+
for (i = ka.length - 1; i >= 0; i--) {
|
|
59
|
+
key = ka[i];
|
|
60
|
+
if (!deepStrictEqual(a[key], b[key], strict)) return false;
|
|
61
|
+
}
|
|
62
|
+
return true;
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=deep-strict-equal.js.map
|