@opengeoweb/webmap 9.7.0 → 9.9.0
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/index.esm.js +687 -318
- package/package.json +2 -3
- package/src/lib/components/WMBBOX.d.ts +2 -2
- package/src/lib/components/WMCanvasBuffer.d.ts +2 -2
- package/src/lib/components/WMImageStore.d.ts +2 -2
- package/src/lib/components/WMJSDimension.d.ts +4 -0
- package/src/lib/components/WMJSMap.d.ts +1 -0
- package/src/lib/components/WMJSMapHelpers.d.ts +1 -0
- package/src/lib/components/WMListener.d.ts +1 -3
- package/src/lib/components/WMPrefetch.d.ts +2 -2
- package/src/lib/components/WMTime.d.ts +1 -0
- package/src/lib/components/WMTimeTypes.d.ts +2 -2
- package/src/lib/components/index.d.ts +3 -3
- package/src/lib/components/types.d.ts +12 -12
- package/src/lib/utils/tilesettings.d.ts +1 -3
package/index.esm.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { debounce, throttle } from 'throttle-debounce';
|
|
2
2
|
import { compact, range } from 'lodash';
|
|
3
3
|
import { dateUtils } from '@opengeoweb/shared';
|
|
4
|
-
import { parseISO, isValid, add, sub, isWithinInterval } from 'date-fns';
|
|
5
4
|
import moment from 'moment';
|
|
6
5
|
import proj4 from 'proj4';
|
|
7
6
|
|
|
@@ -491,6 +490,21 @@ var WMSVersion = {
|
|
|
491
490
|
version130: '1.3.0'
|
|
492
491
|
};
|
|
493
492
|
var WMProj4Defs = [['EPSG:4326', '+title=WGS 84 (long/lat) +proj=longlat +ellps=WGS84 +datum=WGS84 +units=degrees'], ['EPSG:4269', '+title=NAD83 (long/lat) +proj=longlat +a=6378137.0 +b=6356752.31414036 +ellps=GRS80 +datum=NAD83 +units=degrees'], ['EPSG:3575', '+proj=laea +lat_0=90 +lon_0=10 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs'], ['EPSG:3785', '+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs'], ['EPSG:3857', '+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs'], ['EPSG:3411', '+proj=stere +lat_0=90 +lat_ts=70 +lon_0=-45 +k=1 +x_0=0 +y_0=0 +a=6378273 +b=6356889.449 +units=m +no_defs'], ['EPSG:3412', '+proj=stere +lat_0=-90 +lat_ts=-70 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6378273 +b=6356889.449 +units=m +no_defs'], ['EPSG:28992', '+proj=sterea +lat_0=52.15616055555555 +lon_0=5.38763888888889 +k=0.9999079 +x_0=155000 +y_0=463000 +ellps=bessel +units=m +no_defs <>'], ['EPSG:32661', '+proj=stere +lat_0=90 +lat_ts=90 +lon_0=0 +k=0.994 +x_0=2000000 +y_0=2000000 +ellps=WGS84 +datum=WGS84 +units=m +no_defs'], ['EPSG:102100', '+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs'], ['EPSG:3067', '+proj=utm +zone=35 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs +type=crs']];
|
|
493
|
+
var epsgDescriptionLookup = {
|
|
494
|
+
'EPSG:3411': 'NSIDC Sea Ice Polar Stereographic North',
|
|
495
|
+
'EPSG:3412': 'NSIDC Sea Ice Polar Stereographic South',
|
|
496
|
+
'EPSG:3575': 'Lambert azimuthal equal-area projection Europe',
|
|
497
|
+
'EPSG:3785': 'Mercator (deprecated)',
|
|
498
|
+
'EPSG:3857': 'Mercator',
|
|
499
|
+
'EPSG:4258': 'ETRS89',
|
|
500
|
+
'EPSG:4326': 'World Lat lon WGS84',
|
|
501
|
+
'CRS:84': 'World Lat lon WGS84',
|
|
502
|
+
'EPSG:25831': 'ETRS89 / UTM zone 31N',
|
|
503
|
+
'EPSG:25832': 'ETRS89 / UTM zone 32N',
|
|
504
|
+
'EPSG:28992': 'Dutch Amersfoort / RD New',
|
|
505
|
+
'EPSG:32661': 'Polar Stereographic WGS 84 / UPS North',
|
|
506
|
+
'EPSG:3067': 'ETRS89 / TM35FIN(E,N) -- Finland'
|
|
507
|
+
};
|
|
494
508
|
var mapImageStoreLength = 1000;
|
|
495
509
|
var bgImageStoreLength = 360;
|
|
496
510
|
var legendImageStoreLength = 500;
|
|
@@ -1178,8 +1192,17 @@ var WMImage = /*#__PURE__*/function () {
|
|
|
1178
1192
|
var _this2 = this;
|
|
1179
1193
|
var fetchHeaders = new Headers();
|
|
1180
1194
|
if (headers && headers.length > 0) {
|
|
1181
|
-
|
|
1182
|
-
|
|
1195
|
+
var _iterator = _createForOfIteratorHelper(headers),
|
|
1196
|
+
_step;
|
|
1197
|
+
try {
|
|
1198
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
1199
|
+
var header = _step.value;
|
|
1200
|
+
fetchHeaders.append(header.name, header.value);
|
|
1201
|
+
}
|
|
1202
|
+
} catch (err) {
|
|
1203
|
+
_iterator.e(err);
|
|
1204
|
+
} finally {
|
|
1205
|
+
_iterator.f();
|
|
1183
1206
|
}
|
|
1184
1207
|
}
|
|
1185
1208
|
var options = {
|
|
@@ -1331,8 +1354,17 @@ var WMImageStore = /*#__PURE__*/function () {
|
|
|
1331
1354
|
}, {
|
|
1332
1355
|
key: "imageLoadEventCallback",
|
|
1333
1356
|
value: function imageLoadEventCallback(_img, imageEventType) {
|
|
1334
|
-
|
|
1335
|
-
|
|
1357
|
+
var _iterator = _createForOfIteratorHelper(this._loadEventCallbackList),
|
|
1358
|
+
_step;
|
|
1359
|
+
try {
|
|
1360
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
1361
|
+
var eventCallback = _step.value;
|
|
1362
|
+
eventCallback.callback(_img, eventCallback.id, imageEventType);
|
|
1363
|
+
}
|
|
1364
|
+
} catch (err) {
|
|
1365
|
+
_iterator.e(err);
|
|
1366
|
+
} finally {
|
|
1367
|
+
_iterator.f();
|
|
1336
1368
|
}
|
|
1337
1369
|
}
|
|
1338
1370
|
/**
|
|
@@ -1642,16 +1674,25 @@ var WMListener = /*#__PURE__*/function () {
|
|
|
1642
1674
|
}, {
|
|
1643
1675
|
key: "removeEvents",
|
|
1644
1676
|
value: function removeEvents(name, f) {
|
|
1645
|
-
|
|
1646
|
-
|
|
1647
|
-
|
|
1648
|
-
|
|
1649
|
-
|
|
1650
|
-
|
|
1651
|
-
|
|
1677
|
+
var _iterator = _createForOfIteratorHelper(this._callBacks),
|
|
1678
|
+
_step;
|
|
1679
|
+
try {
|
|
1680
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
1681
|
+
var callBack = _step.value;
|
|
1682
|
+
if (callBack.finished === 0) {
|
|
1683
|
+
if (callBack.name === name) {
|
|
1684
|
+
if (!f) {
|
|
1685
|
+
callBack.finished = 1;
|
|
1686
|
+
} else if (callBack.functionpointer === f) {
|
|
1687
|
+
callBack.finished = 1;
|
|
1688
|
+
}
|
|
1652
1689
|
}
|
|
1653
1690
|
}
|
|
1654
1691
|
}
|
|
1692
|
+
} catch (err) {
|
|
1693
|
+
_iterator.e(err);
|
|
1694
|
+
} finally {
|
|
1695
|
+
_iterator.f();
|
|
1655
1696
|
}
|
|
1656
1697
|
}
|
|
1657
1698
|
}, {
|
|
@@ -1691,19 +1732,28 @@ var WMListener = /*#__PURE__*/function () {
|
|
|
1691
1732
|
return [];
|
|
1692
1733
|
}
|
|
1693
1734
|
var returnList = [];
|
|
1694
|
-
|
|
1695
|
-
|
|
1696
|
-
|
|
1697
|
-
|
|
1698
|
-
|
|
1699
|
-
|
|
1700
|
-
|
|
1701
|
-
|
|
1702
|
-
|
|
1703
|
-
|
|
1735
|
+
var _iterator2 = _createForOfIteratorHelper(this._callBacks),
|
|
1736
|
+
_step2;
|
|
1737
|
+
try {
|
|
1738
|
+
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
1739
|
+
var callBack = _step2.value;
|
|
1740
|
+
if (callBack.finished === 0) {
|
|
1741
|
+
if (callBack.name === name) {
|
|
1742
|
+
if (callBack.keepOnCall === false) {
|
|
1743
|
+
callBack.finished = 1;
|
|
1744
|
+
}
|
|
1745
|
+
try {
|
|
1746
|
+
returnList.push(callBack.functionpointer(param, this));
|
|
1747
|
+
} catch (e) {
|
|
1748
|
+
debugLogger(DebugType.Error, "Error for event [".concat(name, "]: "), param, e);
|
|
1749
|
+
}
|
|
1704
1750
|
}
|
|
1705
1751
|
}
|
|
1706
1752
|
}
|
|
1753
|
+
} catch (err) {
|
|
1754
|
+
_iterator2.e(err);
|
|
1755
|
+
} finally {
|
|
1756
|
+
_iterator2.f();
|
|
1707
1757
|
}
|
|
1708
1758
|
return returnList;
|
|
1709
1759
|
}
|
|
@@ -1882,11 +1932,20 @@ var WMCanvasBuffer = /*#__PURE__*/function () {
|
|
|
1882
1932
|
}, {
|
|
1883
1933
|
key: "_statDivBufferImageLoaded",
|
|
1884
1934
|
value: function _statDivBufferImageLoaded() {
|
|
1885
|
-
|
|
1886
|
-
|
|
1887
|
-
|
|
1888
|
-
|
|
1935
|
+
var _iterator = _createForOfIteratorHelper(this.layers),
|
|
1936
|
+
_step;
|
|
1937
|
+
try {
|
|
1938
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
1939
|
+
var layer = _step.value;
|
|
1940
|
+
var image = this._imageStore.getImageForSrc(layer.imageSource);
|
|
1941
|
+
if (!image || image.isLoaded() === false) {
|
|
1942
|
+
return;
|
|
1943
|
+
}
|
|
1889
1944
|
}
|
|
1945
|
+
} catch (err) {
|
|
1946
|
+
_iterator.e(err);
|
|
1947
|
+
} finally {
|
|
1948
|
+
_iterator.f();
|
|
1890
1949
|
}
|
|
1891
1950
|
this.finishedLoading();
|
|
1892
1951
|
}
|
|
@@ -2001,11 +2060,20 @@ var WMCanvasBuffer = /*#__PURE__*/function () {
|
|
|
2001
2060
|
return;
|
|
2002
2061
|
}
|
|
2003
2062
|
this.ready = true;
|
|
2004
|
-
|
|
2005
|
-
|
|
2006
|
-
|
|
2007
|
-
|
|
2063
|
+
var _iterator2 = _createForOfIteratorHelper(this.layers),
|
|
2064
|
+
_step2;
|
|
2065
|
+
try {
|
|
2066
|
+
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
2067
|
+
var layer = _step2.value;
|
|
2068
|
+
var image = this._imageStore.getImageForSrc(layer.imageSource);
|
|
2069
|
+
if (image && image.hasError()) {
|
|
2070
|
+
debugLogger(DebugType.Error, "image error: ".concat(image.getSrc()));
|
|
2071
|
+
}
|
|
2008
2072
|
}
|
|
2073
|
+
} catch (err) {
|
|
2074
|
+
_iterator2.e(err);
|
|
2075
|
+
} finally {
|
|
2076
|
+
_iterator2.f();
|
|
2009
2077
|
}
|
|
2010
2078
|
try {
|
|
2011
2079
|
if (isDefined(this.onLoadReadyFunction)) {
|
|
@@ -2181,8 +2249,8 @@ function prefetchImagesForNonAnimation(wmMap) {
|
|
|
2181
2249
|
}
|
|
2182
2250
|
var currentValue = timeDimension.currentValue;
|
|
2183
2251
|
var currentTimeIsoString = timeDimension.getClosestValue(currentValue);
|
|
2184
|
-
var currentTime = parseISO(currentTimeIsoString);
|
|
2185
|
-
if (!isValid(currentTime)) {
|
|
2252
|
+
var currentTime = dateUtils.parseISO(currentTimeIsoString);
|
|
2253
|
+
if (!dateUtils.isValid(currentTime)) {
|
|
2186
2254
|
return;
|
|
2187
2255
|
}
|
|
2188
2256
|
var maxTimesToPrefetchIfOneLayer = maxImagesToPrefetch / 2;
|
|
@@ -2190,8 +2258,8 @@ function prefetchImagesForNonAnimation(wmMap) {
|
|
|
2190
2258
|
var duration = {
|
|
2191
2259
|
minutes: timestepInMinutes * offset
|
|
2192
2260
|
};
|
|
2193
|
-
var nextTime = add(currentTime, duration).toISOString();
|
|
2194
|
-
var previousTime = sub(currentTime, duration).toISOString();
|
|
2261
|
+
var nextTime = dateUtils.add(currentTime, duration).toISOString();
|
|
2262
|
+
var previousTime = dateUtils.sub(currentTime, duration).toISOString();
|
|
2195
2263
|
return [nextTime, previousTime];
|
|
2196
2264
|
});
|
|
2197
2265
|
prefetchLayerImagesInOrder(wmMap, timesToPrefetchInOrder, maxImagesToPrefetch);
|
|
@@ -2649,8 +2717,8 @@ var WMTileRenderer = /*#__PURE__*/function () {
|
|
|
2649
2717
|
}
|
|
2650
2718
|
return 0;
|
|
2651
2719
|
});
|
|
2652
|
-
for (var
|
|
2653
|
-
var image =
|
|
2720
|
+
for (var _i = 0, _imagesToRender = imagesToRender; _i < _imagesToRender.length; _i++) {
|
|
2721
|
+
var image = _imagesToRender[_i];
|
|
2654
2722
|
if (image.image.isLoaded() && !image.image.hasError()) {
|
|
2655
2723
|
try {
|
|
2656
2724
|
ctx.drawImage(image.i, image.x, image.y, image.w, image.h);
|
|
@@ -2668,22 +2736,6 @@ var WMTileRenderer = /*#__PURE__*/function () {
|
|
|
2668
2736
|
return WMTileRenderer;
|
|
2669
2737
|
}();
|
|
2670
2738
|
|
|
2671
|
-
/* *
|
|
2672
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
2673
|
-
* you may not use this file except in compliance with the License.
|
|
2674
|
-
* You may obtain a copy of the License at
|
|
2675
|
-
*
|
|
2676
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
2677
|
-
*
|
|
2678
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
2679
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
2680
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2681
|
-
* See the License for the specific language governing permissions and
|
|
2682
|
-
* limitations under the License.
|
|
2683
|
-
*
|
|
2684
|
-
* Copyright 2020 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
2685
|
-
* Copyright 2020 - Finnish Meteorological Institute (FMI)
|
|
2686
|
-
* */
|
|
2687
2739
|
var legendImageStore = new WMImageStore(legendImageStoreLength, {
|
|
2688
2740
|
id: 'legendImageStore'
|
|
2689
2741
|
});
|
|
@@ -2723,41 +2775,50 @@ var drawLegend = function drawLegend(canvasContext, width, height, layers) {
|
|
|
2723
2775
|
/* Draw legends */
|
|
2724
2776
|
var ctx = canvasContext;
|
|
2725
2777
|
var legendPosX = 0;
|
|
2726
|
-
|
|
2727
|
-
|
|
2728
|
-
|
|
2729
|
-
|
|
2730
|
-
|
|
2731
|
-
|
|
2732
|
-
|
|
2733
|
-
if (
|
|
2734
|
-
|
|
2735
|
-
|
|
2736
|
-
}
|
|
2737
|
-
|
|
2738
|
-
|
|
2739
|
-
|
|
2740
|
-
|
|
2741
|
-
|
|
2742
|
-
|
|
2743
|
-
|
|
2744
|
-
|
|
2745
|
-
|
|
2746
|
-
|
|
2747
|
-
|
|
2748
|
-
|
|
2749
|
-
|
|
2750
|
-
|
|
2751
|
-
|
|
2752
|
-
|
|
2753
|
-
ctx.
|
|
2754
|
-
|
|
2755
|
-
|
|
2778
|
+
var _iterator = _createForOfIteratorHelper(layers),
|
|
2779
|
+
_step;
|
|
2780
|
+
try {
|
|
2781
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
2782
|
+
var layer = _step.value;
|
|
2783
|
+
if (layer.enabled !== false) {
|
|
2784
|
+
var legendUrl = getLegendGraphicURLForLayer(layer);
|
|
2785
|
+
if (isDefined(legendUrl)) {
|
|
2786
|
+
var image = legendImageStore.getImage(legendUrl, {
|
|
2787
|
+
headers: layer.headers
|
|
2788
|
+
});
|
|
2789
|
+
if (image.hasError() === false) {
|
|
2790
|
+
if (image.isLoaded() === false && image.isLoading() === false) {
|
|
2791
|
+
image.load();
|
|
2792
|
+
} else {
|
|
2793
|
+
var el = image.getElement();
|
|
2794
|
+
var legendW = Math.trunc(el.width) + 4;
|
|
2795
|
+
var legendH = Math.trunc(el.height) + 4;
|
|
2796
|
+
legendPosX += legendW + 4;
|
|
2797
|
+
var legendX = width - legendPosX + 2;
|
|
2798
|
+
var legendY = height - legendH - 2 - 13;
|
|
2799
|
+
ctx.beginPath();
|
|
2800
|
+
ctx.fillStyle = '#FFFFFF';
|
|
2801
|
+
ctx.lineWidth = 0.3;
|
|
2802
|
+
ctx.globalAlpha = 0.5;
|
|
2803
|
+
ctx.strokeStyle = '#000000';
|
|
2804
|
+
ctx.rect(legendX + 0.5, legendY + 0.5, legendW, legendH);
|
|
2805
|
+
ctx.fill();
|
|
2806
|
+
ctx.stroke();
|
|
2807
|
+
ctx.globalAlpha = 1.0;
|
|
2808
|
+
try {
|
|
2809
|
+
ctx.drawImage(el, legendX, legendY);
|
|
2810
|
+
} catch (e) {
|
|
2811
|
+
debugLogger(DebugType.Error, "Unable to draw legend image ".concat(legendUrl));
|
|
2812
|
+
}
|
|
2756
2813
|
}
|
|
2757
2814
|
}
|
|
2758
2815
|
}
|
|
2759
2816
|
}
|
|
2760
2817
|
}
|
|
2818
|
+
} catch (err) {
|
|
2819
|
+
_iterator.e(err);
|
|
2820
|
+
} finally {
|
|
2821
|
+
_iterator.f();
|
|
2761
2822
|
}
|
|
2762
2823
|
};
|
|
2763
2824
|
|
|
@@ -3226,7 +3287,7 @@ var ParseISOTimeRangeDuration = /*#__PURE__*/function () {
|
|
|
3226
3287
|
var currentTime = next.getTime();
|
|
3227
3288
|
next.add(this.timeInterval);
|
|
3228
3289
|
var nextTime = next.getTime();
|
|
3229
|
-
if (isWithinInterval(wantedTime, {
|
|
3290
|
+
if (dateUtils.isWithinInterval(wantedTime, {
|
|
3230
3291
|
start: currentTime,
|
|
3231
3292
|
end: nextTime
|
|
3232
3293
|
})) {
|
|
@@ -3262,6 +3323,20 @@ var ParseISOTimeRangeDuration = /*#__PURE__*/function () {
|
|
|
3262
3323
|
}]);
|
|
3263
3324
|
return ParseISOTimeRangeDuration;
|
|
3264
3325
|
}();
|
|
3326
|
+
function calculateTimeIntervalFromList(dateStrings) {
|
|
3327
|
+
if (dateStrings.length < 2) {
|
|
3328
|
+
throw new Error('Need at least two dates to calculate an interval.');
|
|
3329
|
+
}
|
|
3330
|
+
var firstDate = parseISO8601DateToDate(dateStrings[0]);
|
|
3331
|
+
var secondDate = parseISO8601DateToDate(dateStrings[1]);
|
|
3332
|
+
var years = dateUtils.differenceInYears(secondDate, firstDate);
|
|
3333
|
+
var months = dateUtils.differenceInMonths(secondDate, firstDate) % 12;
|
|
3334
|
+
var days = dateUtils.differenceInDays(secondDate, firstDate) % 30;
|
|
3335
|
+
var hours = dateUtils.differenceInHours(secondDate, firstDate) % 24;
|
|
3336
|
+
var minutes = dateUtils.differenceInMinutes(secondDate, firstDate) % 60;
|
|
3337
|
+
var seconds = dateUtils.differenceInSeconds(secondDate, firstDate) % 60;
|
|
3338
|
+
return new DateInterval(years.toString(), months.toString(), days.toString(), hours.toString(), minutes.toString(), seconds.toString());
|
|
3339
|
+
}
|
|
3265
3340
|
/* Example:
|
|
3266
3341
|
function init(){
|
|
3267
3342
|
let isodate="1999-01-01T00:00:00Z/2009-12-01T00:00:00Z/PT60S";
|
|
@@ -3324,6 +3399,8 @@ var WMJSDimension = /*#__PURE__*/function () {
|
|
|
3324
3399
|
this.getValue = this.getValue.bind(this);
|
|
3325
3400
|
this.setValue = this.setValue.bind(this);
|
|
3326
3401
|
this.getValues = this.getValues.bind(this);
|
|
3402
|
+
this.processCompressedRefTimeValues = this.processCompressedRefTimeValues.bind(this);
|
|
3403
|
+
this.createTimeStepsArray = this.createTimeStepsArray.bind(this);
|
|
3327
3404
|
this.setClosestValue = this.setClosestValue.bind(this);
|
|
3328
3405
|
this.addTimeRangeDurationToValue = this.addTimeRangeDurationToValue.bind(this);
|
|
3329
3406
|
this.setTimeRangeDuration = this.setTimeRangeDuration.bind(this);
|
|
@@ -3458,8 +3535,12 @@ var WMJSDimension = /*#__PURE__*/function () {
|
|
|
3458
3535
|
if (ogcdimvalues.indexOf('/') > 0 && ogcdimvalues.indexOf(',') === -1) {
|
|
3459
3536
|
this._type = 'timestartstopres';
|
|
3460
3537
|
this._timeRangeDurationDate = new ParseISOTimeRangeDuration(ogcdimvalues);
|
|
3538
|
+
this.processCompressedRefTimeValues(ogcdimvalues);
|
|
3461
3539
|
} else {
|
|
3462
3540
|
this._type = 'timevalues';
|
|
3541
|
+
if (ogcdimvalues.indexOf('/') > 0 && ogcdimvalues.indexOf(',') === -1 && this.name === 'reference_time') {
|
|
3542
|
+
this.processCompressedRefTimeValues(ogcdimvalues);
|
|
3543
|
+
}
|
|
3463
3544
|
}
|
|
3464
3545
|
} else {
|
|
3465
3546
|
this._type = 'anyvalue';
|
|
@@ -3484,6 +3565,7 @@ var WMJSDimension = /*#__PURE__*/function () {
|
|
|
3484
3565
|
_this._allValues.push(dataAtTimeStep.toString());
|
|
3485
3566
|
}
|
|
3486
3567
|
}
|
|
3568
|
+
_this.processCompressedRefTimeValues(ogcdimvalues);
|
|
3487
3569
|
} else {
|
|
3488
3570
|
var start = parseFloat(valuesRanged[0]);
|
|
3489
3571
|
var stop = parseFloat(valuesRanged[1]);
|
|
@@ -3508,6 +3590,12 @@ var WMJSDimension = /*#__PURE__*/function () {
|
|
|
3508
3590
|
this._allValues.forEach(function (value) {
|
|
3509
3591
|
_this._allDates.push(parseISO8601DateToDate(value));
|
|
3510
3592
|
});
|
|
3593
|
+
var isRangeFormat = this._allValues.some(function (value) {
|
|
3594
|
+
return value.includes('/');
|
|
3595
|
+
});
|
|
3596
|
+
if (!isRangeFormat && this._allValues.length > 1) {
|
|
3597
|
+
this.calculatedTimeInterval = calculateTimeIntervalFromList(this._allValues);
|
|
3598
|
+
}
|
|
3511
3599
|
}
|
|
3512
3600
|
}
|
|
3513
3601
|
/* If no default value is given, take the last / most recent one */
|
|
@@ -3541,7 +3629,7 @@ var WMJSDimension = /*#__PURE__*/function () {
|
|
|
3541
3629
|
if (this._timeRangeDurationDate) {
|
|
3542
3630
|
this.dimTimeInterval = this._timeRangeDurationDate.timeInterval;
|
|
3543
3631
|
} else {
|
|
3544
|
-
this.dimTimeInterval =
|
|
3632
|
+
this.dimTimeInterval = this.calculatedTimeInterval;
|
|
3545
3633
|
}
|
|
3546
3634
|
}
|
|
3547
3635
|
/**
|
|
@@ -3561,6 +3649,52 @@ var WMJSDimension = /*#__PURE__*/function () {
|
|
|
3561
3649
|
value = this.addTimeRangeDurationToValue(value);
|
|
3562
3650
|
return value;
|
|
3563
3651
|
}
|
|
3652
|
+
}, {
|
|
3653
|
+
key: "processCompressedRefTimeValues",
|
|
3654
|
+
value: function processCompressedRefTimeValues(ogcdimvalues) {
|
|
3655
|
+
var _this2 = this;
|
|
3656
|
+
if (this.name === 'reference_time') {
|
|
3657
|
+
// Split the format start/stop/res
|
|
3658
|
+
var splitValues = ogcdimvalues.split(',');
|
|
3659
|
+
var timeRanges = splitValues.filter(function (value) {
|
|
3660
|
+
return value.includes('/') && value.includes('P');
|
|
3661
|
+
});
|
|
3662
|
+
var allValues = [];
|
|
3663
|
+
// Get all the ranges between start and stop time
|
|
3664
|
+
timeRanges.forEach(function (timeRange) {
|
|
3665
|
+
var partTimeRanges = new ParseISOTimeRangeDuration(timeRange);
|
|
3666
|
+
var newValues = _this2.createTimeStepsArray(partTimeRanges);
|
|
3667
|
+
allValues = allValues.concat(newValues);
|
|
3668
|
+
});
|
|
3669
|
+
// Some ogcdimvalues deliver the interval for arbitrary timesteps which may stop the array
|
|
3670
|
+
// In that case, get the last date to set as dimMaxValue
|
|
3671
|
+
var lastTimeRangeString = splitValues[splitValues.length - 1];
|
|
3672
|
+
if (lastTimeRangeString.includes('/') && lastTimeRangeString.includes('P')) {
|
|
3673
|
+
var _lastTimeRangeString$ = lastTimeRangeString.split('/'),
|
|
3674
|
+
_lastTimeRangeString$2 = _slicedToArray(_lastTimeRangeString$, 2),
|
|
3675
|
+
endDateString = _lastTimeRangeString$2[1];
|
|
3676
|
+
this.dimMaxValue = endDateString;
|
|
3677
|
+
}
|
|
3678
|
+
this.values = allValues.join(',');
|
|
3679
|
+
}
|
|
3680
|
+
}
|
|
3681
|
+
// eslint-disable-next-line class-methods-use-this
|
|
3682
|
+
}, {
|
|
3683
|
+
key: "createTimeStepsArray",
|
|
3684
|
+
value: function createTimeStepsArray(partTimeRanges) {
|
|
3685
|
+
return Array.from({
|
|
3686
|
+
length: partTimeRanges.getTimeSteps()
|
|
3687
|
+
}, function (_, i) {
|
|
3688
|
+
var dataAtTimeStep = partTimeRanges.getDateAtTimeStep(i);
|
|
3689
|
+
if (dataAtTimeStep && !isNaN(dataAtTimeStep.getTime())) {
|
|
3690
|
+
var isoDateString = dataAtTimeStep.toISO8601();
|
|
3691
|
+
return isoDateString;
|
|
3692
|
+
}
|
|
3693
|
+
return null;
|
|
3694
|
+
}).filter(function (dateString) {
|
|
3695
|
+
return dateString !== null;
|
|
3696
|
+
});
|
|
3697
|
+
}
|
|
3564
3698
|
/**
|
|
3565
3699
|
* Set current value of this dimension
|
|
3566
3700
|
* @param value The new value for this dimension (string)
|
|
@@ -3788,7 +3922,7 @@ var WMJSDimension = /*#__PURE__*/function () {
|
|
|
3788
3922
|
}, {
|
|
3789
3923
|
key: "getIndexForValue",
|
|
3790
3924
|
value: function getIndexForValue(value) {
|
|
3791
|
-
var
|
|
3925
|
+
var _this3 = this;
|
|
3792
3926
|
var outSideOfRangeFlag = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
3793
3927
|
this.initialize();
|
|
3794
3928
|
if (typeof value === 'string') {
|
|
@@ -3817,7 +3951,7 @@ var WMJSDimension = /*#__PURE__*/function () {
|
|
|
3817
3951
|
var startTime = null;
|
|
3818
3952
|
var stopTime = null;
|
|
3819
3953
|
this._allValues.forEach(function (_, valueIndex) {
|
|
3820
|
-
var currentTime =
|
|
3954
|
+
var currentTime = _this3._allDates[valueIndex].getTime();
|
|
3821
3955
|
if (currentTime < startTime || startTime === null) {
|
|
3822
3956
|
startTime = currentTime;
|
|
3823
3957
|
}
|
|
@@ -4033,8 +4167,8 @@ var MapPin = /*#__PURE__*/function () {
|
|
|
4033
4167
|
* See the License for the specific language governing permissions and
|
|
4034
4168
|
* limitations under the License.
|
|
4035
4169
|
*
|
|
4036
|
-
* Copyright
|
|
4037
|
-
* Copyright
|
|
4170
|
+
* Copyright 2024 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
4171
|
+
* Copyright 2024 - Finnish Meteorological Institute (FMI)
|
|
4038
4172
|
* */
|
|
4039
4173
|
var getBBOXandProjString = function getBBOXandProjString(map, layer) {
|
|
4040
4174
|
var request = '';
|
|
@@ -4067,6 +4201,7 @@ var buildWMSGetMapRequest = function buildWMSGetMapRequest(map, layer, dimension
|
|
|
4067
4201
|
var _map$getSize = map.getSize(),
|
|
4068
4202
|
width = _map$getSize.width,
|
|
4069
4203
|
height = _map$getSize.height;
|
|
4204
|
+
// eslint-disable-next-line no-param-reassign
|
|
4070
4205
|
(_a = layer.format) !== null && _a !== void 0 ? _a : layer.format = 'image/png';
|
|
4071
4206
|
// GetFeatureInfo timeseries in the mapview
|
|
4072
4207
|
if (srs === 'GFI:TIME_ELEVATION') {
|
|
@@ -4143,6 +4278,12 @@ var buildWMSGetMapRequest = function buildWMSGetMapRequest(map, layer, dimension
|
|
|
4143
4278
|
headers: layer.headers
|
|
4144
4279
|
};
|
|
4145
4280
|
};
|
|
4281
|
+
var isProjectionSupported = function isProjectionSupported(srs) {
|
|
4282
|
+
var proj4Defintions = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : WMProj4Defs;
|
|
4283
|
+
return proj4Defintions.find(function (proj4Def) {
|
|
4284
|
+
return proj4Def[0] === srs;
|
|
4285
|
+
}) !== undefined;
|
|
4286
|
+
};
|
|
4146
4287
|
|
|
4147
4288
|
var SCALE_DELAY = 10;
|
|
4148
4289
|
var ZOOMED_CALLBACK_DELAY = 500;
|
|
@@ -4530,6 +4671,7 @@ var WMJSMap = /*#__PURE__*/function () {
|
|
|
4530
4671
|
this.loadingDiv = document.createElement('div');
|
|
4531
4672
|
this.loadingDiv.className = 'WMJSDivBuffer-loading';
|
|
4532
4673
|
this.enableAutoPrefetching = true;
|
|
4674
|
+
this.isProjectionSupported = isProjectionSupported.bind(this);
|
|
4533
4675
|
this.init();
|
|
4534
4676
|
}
|
|
4535
4677
|
_createClass(WMJSMap, [{
|
|
@@ -4574,28 +4716,37 @@ var WMJSMap = /*#__PURE__*/function () {
|
|
|
4574
4716
|
key: "_adagucBeforeDraw",
|
|
4575
4717
|
value: function _adagucBeforeDraw(ctx) {
|
|
4576
4718
|
if (this.baseLayers) {
|
|
4577
|
-
|
|
4578
|
-
|
|
4579
|
-
|
|
4580
|
-
|
|
4581
|
-
|
|
4582
|
-
|
|
4583
|
-
|
|
4584
|
-
|
|
4585
|
-
|
|
4586
|
-
|
|
4587
|
-
|
|
4588
|
-
|
|
4589
|
-
|
|
4590
|
-
|
|
4591
|
-
|
|
4592
|
-
|
|
4593
|
-
|
|
4594
|
-
|
|
4595
|
-
|
|
4596
|
-
|
|
4597
|
-
|
|
4719
|
+
var _iterator = _createForOfIteratorHelper(this.baseLayers),
|
|
4720
|
+
_step;
|
|
4721
|
+
try {
|
|
4722
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
4723
|
+
var baseLayer = _step.value;
|
|
4724
|
+
if (baseLayer.enabled && baseLayer.keepOnTop === false && baseLayer.type && baseLayer.type === 'twms' && this.tileRenderSettings) {
|
|
4725
|
+
ctx.globalAlpha = baseLayer.opacity;
|
|
4726
|
+
var _this$wmTileRenderer$ = this.wmTileRenderer.render(this.bbox, this.updateBBOX, this.srs, this.width, this.height, ctx, bgMapImageStore, this.tileRenderSettings, baseLayer.name),
|
|
4727
|
+
attributionText = _this$wmTileRenderer$.attributionText;
|
|
4728
|
+
ctx.globalAlpha = 1.0;
|
|
4729
|
+
var adagucAttribution = "ADAGUC webmapjs ".concat(this.WebMapJSMapVersion);
|
|
4730
|
+
var txt = attributionText ? "".concat(adagucAttribution, " | ").concat(attributionText) : adagucAttribution;
|
|
4731
|
+
var x = this.width - 8;
|
|
4732
|
+
var y = this.height - 8;
|
|
4733
|
+
ctx.font = '10px Arial';
|
|
4734
|
+
ctx.textAlign = 'right';
|
|
4735
|
+
ctx.textBaseline = 'middle';
|
|
4736
|
+
ctx.fillStyle = '#FFF';
|
|
4737
|
+
ctx.globalAlpha = 0.75;
|
|
4738
|
+
var _ctx$measureText = ctx.measureText(txt),
|
|
4739
|
+
width = _ctx$measureText.width;
|
|
4740
|
+
ctx.fillRect(x - width, y - 6, width + 8, 14);
|
|
4741
|
+
ctx.fillStyle = '#444';
|
|
4742
|
+
ctx.globalAlpha = 1.0;
|
|
4743
|
+
ctx.fillText(txt, x + 4, y + 2);
|
|
4744
|
+
}
|
|
4598
4745
|
}
|
|
4746
|
+
} catch (err) {
|
|
4747
|
+
_iterator.e(err);
|
|
4748
|
+
} finally {
|
|
4749
|
+
_iterator.f();
|
|
4599
4750
|
}
|
|
4600
4751
|
}
|
|
4601
4752
|
}
|
|
@@ -4638,33 +4789,51 @@ var WMJSMap = /*#__PURE__*/function () {
|
|
|
4638
4789
|
ctx.globalAlpha = 1;
|
|
4639
4790
|
}
|
|
4640
4791
|
/* Gather errors */
|
|
4641
|
-
|
|
4642
|
-
|
|
4643
|
-
|
|
4644
|
-
|
|
4645
|
-
|
|
4646
|
-
|
|
4647
|
-
|
|
4648
|
-
|
|
4649
|
-
|
|
4650
|
-
|
|
4651
|
-
|
|
4652
|
-
|
|
4653
|
-
|
|
4654
|
-
|
|
4655
|
-
|
|
4656
|
-
|
|
4657
|
-
|
|
4658
|
-
|
|
4659
|
-
|
|
4660
|
-
|
|
4661
|
-
|
|
4792
|
+
var _iterator2 = _createForOfIteratorHelper(this.layers),
|
|
4793
|
+
_step2;
|
|
4794
|
+
try {
|
|
4795
|
+
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
4796
|
+
var _layer2 = _step2.value;
|
|
4797
|
+
var _iterator3 = _createForOfIteratorHelper(_layer2.dimensions),
|
|
4798
|
+
_step3;
|
|
4799
|
+
try {
|
|
4800
|
+
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
4801
|
+
var _dimension = _step3.value;
|
|
4802
|
+
if (_dimension.currentValue === WMDateOutSideRange) {
|
|
4803
|
+
this.canvasErrors.push({
|
|
4804
|
+
linkedInfo: {
|
|
4805
|
+
layer: _layer2,
|
|
4806
|
+
message: 'Time outside range'
|
|
4807
|
+
}
|
|
4808
|
+
});
|
|
4809
|
+
} else if (_dimension.currentValue === WMDateTooEarlyString) {
|
|
4810
|
+
this.canvasErrors.push({
|
|
4811
|
+
linkedInfo: {
|
|
4812
|
+
layer: _layer2,
|
|
4813
|
+
message: 'Time too early'
|
|
4814
|
+
}
|
|
4815
|
+
});
|
|
4816
|
+
} else if (_dimension.currentValue === WMDateTooLateString) {
|
|
4817
|
+
this.canvasErrors.push({
|
|
4818
|
+
linkedInfo: {
|
|
4819
|
+
layer: _layer2,
|
|
4820
|
+
message: 'Time too late'
|
|
4821
|
+
}
|
|
4822
|
+
});
|
|
4662
4823
|
}
|
|
4663
|
-
}
|
|
4824
|
+
}
|
|
4825
|
+
} catch (err) {
|
|
4826
|
+
_iterator3.e(err);
|
|
4827
|
+
} finally {
|
|
4828
|
+
_iterator3.f();
|
|
4664
4829
|
}
|
|
4665
4830
|
}
|
|
4831
|
+
/* Display errors found during drawing canvas */
|
|
4832
|
+
} catch (err) {
|
|
4833
|
+
_iterator2.e(err);
|
|
4834
|
+
} finally {
|
|
4835
|
+
_iterator2.f();
|
|
4666
4836
|
}
|
|
4667
|
-
/* Display errors found during drawing canvas */
|
|
4668
4837
|
if (this.canvasErrors && this.canvasErrors.length > 0) {
|
|
4669
4838
|
var errorsToDisplay = getErrorsToDisplay(this.canvasErrors, this.getLayerByServiceAndName);
|
|
4670
4839
|
this.canvasErrors = [];
|
|
@@ -4766,15 +4935,15 @@ var WMJSMap = /*#__PURE__*/function () {
|
|
|
4766
4935
|
ctx.font = '9px Helvetica';
|
|
4767
4936
|
ctx.textBaseline = 'middle';
|
|
4768
4937
|
ctx.textAlign = 'left';
|
|
4769
|
-
for (var
|
|
4770
|
-
ctx.moveTo(offsetX, scaleBarHeight - 2 -
|
|
4771
|
-
ctx.lineTo(scaleBarProps.width * 2 + offsetX + 1, scaleBarHeight - 2 -
|
|
4938
|
+
for (var j = 0; j < 2; j += 1) {
|
|
4939
|
+
ctx.moveTo(offsetX, scaleBarHeight - 2 - j + offsetY);
|
|
4940
|
+
ctx.lineTo(scaleBarProps.width * 2 + offsetX + 1, scaleBarHeight - 2 - j + offsetY);
|
|
4772
4941
|
}
|
|
4773
4942
|
var subDivXW = parseInt(Math.round(scaleBarProps.width / 5), 10);
|
|
4774
4943
|
ctx.lineWidth = 0.5;
|
|
4775
|
-
for (var
|
|
4776
|
-
ctx.moveTo(offsetX + subDivXW *
|
|
4777
|
-
ctx.lineTo(offsetX + subDivXW *
|
|
4944
|
+
for (var _j = 1; _j < 5; _j += 1) {
|
|
4945
|
+
ctx.moveTo(offsetX + subDivXW * _j, scaleBarHeight - 2 + offsetY);
|
|
4946
|
+
ctx.lineTo(offsetX + subDivXW * _j, scaleBarHeight - 2 - 5 + offsetY);
|
|
4778
4947
|
}
|
|
4779
4948
|
ctx.lineWidth = 1.0;
|
|
4780
4949
|
ctx.moveTo(offsetX, scaleBarHeight - 2 + offsetY);
|
|
@@ -4869,9 +5038,9 @@ var WMJSMap = /*#__PURE__*/function () {
|
|
|
4869
5038
|
drawTextBG(ctx, 'Layer name', metadataX, metadataY + rowNumber * rowHeight, 10);
|
|
4870
5039
|
drawTextBG(ctx, 'Dimensions', metadataX + dimStartX, metadataY + rowNumber * rowHeight, 10);
|
|
4871
5040
|
rowNumber += 1;
|
|
4872
|
-
for (var
|
|
4873
|
-
var layer = this.layers[
|
|
4874
|
-
drawTextBG(ctx, "#".concat(
|
|
5041
|
+
for (var _j2 = 0; _j2 < this.layers.length; _j2 += 1) {
|
|
5042
|
+
var layer = this.layers[_j2];
|
|
5043
|
+
drawTextBG(ctx, "#".concat(_j2, ":").concat(layer.name), metadataX, metadataY + rowNumber * rowHeight, 10);
|
|
4875
5044
|
for (var d = 0; d < layer.dimensions.length; d += 1) {
|
|
4876
5045
|
var dimension = layer.dimensions[d];
|
|
4877
5046
|
drawTextBG(ctx, "".concat(dimension.name, " = ").concat(dimension.currentValue), metadataX + d * 200 + dimStartX, metadataY + rowNumber * rowHeight, 10);
|
|
@@ -5062,8 +5231,17 @@ var WMJSMap = /*#__PURE__*/function () {
|
|
|
5062
5231
|
}, {
|
|
5063
5232
|
key: "setActiveLayer",
|
|
5064
5233
|
value: function setActiveLayer(layer) {
|
|
5065
|
-
|
|
5066
|
-
|
|
5234
|
+
var _iterator4 = _createForOfIteratorHelper(this.layers),
|
|
5235
|
+
_step4;
|
|
5236
|
+
try {
|
|
5237
|
+
for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
|
|
5238
|
+
var _layer3 = _step4.value;
|
|
5239
|
+
_layer3.active = false;
|
|
5240
|
+
}
|
|
5241
|
+
} catch (err) {
|
|
5242
|
+
_iterator4.e(err);
|
|
5243
|
+
} finally {
|
|
5244
|
+
_iterator4.f();
|
|
5067
5245
|
}
|
|
5068
5246
|
this.activeLayer = layer;
|
|
5069
5247
|
this.activeLayer.active = true;
|
|
@@ -5076,12 +5254,21 @@ var WMJSMap = /*#__PURE__*/function () {
|
|
|
5076
5254
|
value: function calculateNumBaseLayers() {
|
|
5077
5255
|
this.numBaseLayers = 0;
|
|
5078
5256
|
if (this.baseLayers) {
|
|
5079
|
-
|
|
5080
|
-
|
|
5081
|
-
|
|
5082
|
-
|
|
5257
|
+
var _iterator5 = _createForOfIteratorHelper(this.baseLayers),
|
|
5258
|
+
_step5;
|
|
5259
|
+
try {
|
|
5260
|
+
for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
|
|
5261
|
+
var baseLayer = _step5.value;
|
|
5262
|
+
if (baseLayer.enabled) {
|
|
5263
|
+
if (baseLayer.keepOnTop === false) {
|
|
5264
|
+
this.numBaseLayers += 1;
|
|
5265
|
+
}
|
|
5083
5266
|
}
|
|
5084
5267
|
}
|
|
5268
|
+
} catch (err) {
|
|
5269
|
+
_iterator5.e(err);
|
|
5270
|
+
} finally {
|
|
5271
|
+
_iterator5.f();
|
|
5085
5272
|
}
|
|
5086
5273
|
}
|
|
5087
5274
|
}
|
|
@@ -5133,8 +5320,17 @@ var WMJSMap = /*#__PURE__*/function () {
|
|
|
5133
5320
|
}, {
|
|
5134
5321
|
key: "removeAllLayers",
|
|
5135
5322
|
value: function removeAllLayers() {
|
|
5136
|
-
|
|
5137
|
-
|
|
5323
|
+
var _iterator6 = _createForOfIteratorHelper(this.layers),
|
|
5324
|
+
_step6;
|
|
5325
|
+
try {
|
|
5326
|
+
for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
|
|
5327
|
+
var layer = _step6.value;
|
|
5328
|
+
layer.setAutoUpdate(false);
|
|
5329
|
+
}
|
|
5330
|
+
} catch (err) {
|
|
5331
|
+
_iterator6.e(err);
|
|
5332
|
+
} finally {
|
|
5333
|
+
_iterator6.f();
|
|
5138
5334
|
}
|
|
5139
5335
|
this.layers.length = 0;
|
|
5140
5336
|
this.mapdimensions.length = 0;
|
|
@@ -5454,15 +5650,33 @@ var WMJSMap = /*#__PURE__*/function () {
|
|
|
5454
5650
|
// Make first a header with 'Layer' and the dimensions
|
|
5455
5651
|
infoHTML += '<tr><th>Layer</th>';
|
|
5456
5652
|
if (this.mapdimensions) {
|
|
5457
|
-
|
|
5458
|
-
|
|
5653
|
+
var _iterator7 = _createForOfIteratorHelper(this.mapdimensions),
|
|
5654
|
+
_step7;
|
|
5655
|
+
try {
|
|
5656
|
+
for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {
|
|
5657
|
+
var mapDim = _step7.value;
|
|
5658
|
+
infoHTML += "<th>".concat(mapDim.name, "</th>");
|
|
5659
|
+
}
|
|
5660
|
+
} catch (err) {
|
|
5661
|
+
_iterator7.e(err);
|
|
5662
|
+
} finally {
|
|
5663
|
+
_iterator7.f();
|
|
5459
5664
|
}
|
|
5460
5665
|
}
|
|
5461
5666
|
infoHTML += '</tr>';
|
|
5462
5667
|
infoHTML += '<tr><td>Map</tdh>';
|
|
5463
5668
|
if (this.mapdimensions) {
|
|
5464
|
-
|
|
5465
|
-
|
|
5669
|
+
var _iterator8 = _createForOfIteratorHelper(this.mapdimensions),
|
|
5670
|
+
_step8;
|
|
5671
|
+
try {
|
|
5672
|
+
for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) {
|
|
5673
|
+
var _mapDim = _step8.value;
|
|
5674
|
+
infoHTML += "<td>".concat(_mapDim.currentValue, "</td>");
|
|
5675
|
+
}
|
|
5676
|
+
} catch (err) {
|
|
5677
|
+
_iterator8.e(err);
|
|
5678
|
+
} finally {
|
|
5679
|
+
_iterator8.f();
|
|
5466
5680
|
}
|
|
5467
5681
|
}
|
|
5468
5682
|
infoHTML += '</tr>';
|
|
@@ -5475,19 +5689,37 @@ var WMJSMap = /*#__PURE__*/function () {
|
|
|
5475
5689
|
var layerTitle = '';
|
|
5476
5690
|
layerTitle += this.layers[j].title;
|
|
5477
5691
|
infoHTML += "<tr><td>".concat(layerTitle, "</td>");
|
|
5478
|
-
|
|
5479
|
-
|
|
5480
|
-
|
|
5481
|
-
|
|
5482
|
-
|
|
5483
|
-
|
|
5484
|
-
|
|
5485
|
-
|
|
5692
|
+
var _iterator9 = _createForOfIteratorHelper(this.mapdimensions),
|
|
5693
|
+
_step9;
|
|
5694
|
+
try {
|
|
5695
|
+
for (_iterator9.s(); !(_step9 = _iterator9.n()).done;) {
|
|
5696
|
+
var _mapDim2 = _step9.value;
|
|
5697
|
+
var foundDim = false;
|
|
5698
|
+
var _iterator10 = _createForOfIteratorHelper(layerDimensionsObject),
|
|
5699
|
+
_step10;
|
|
5700
|
+
try {
|
|
5701
|
+
for (_iterator10.s(); !(_step10 = _iterator10.n()).done;) {
|
|
5702
|
+
var layerDim = _step10.value;
|
|
5703
|
+
if (layerDim.name.toUpperCase() === _mapDim2.name.toUpperCase()) {
|
|
5704
|
+
infoHTML += "<td>".concat(layerDim.currentValue, "</td>");
|
|
5705
|
+
foundDim = true;
|
|
5706
|
+
infoHTMLHasValidContent = true;
|
|
5707
|
+
break;
|
|
5708
|
+
}
|
|
5709
|
+
}
|
|
5710
|
+
} catch (err) {
|
|
5711
|
+
_iterator10.e(err);
|
|
5712
|
+
} finally {
|
|
5713
|
+
_iterator10.f();
|
|
5714
|
+
}
|
|
5715
|
+
if (foundDim === false) {
|
|
5716
|
+
infoHTML += '<td>-</td>';
|
|
5486
5717
|
}
|
|
5487
5718
|
}
|
|
5488
|
-
|
|
5489
|
-
|
|
5490
|
-
|
|
5719
|
+
} catch (err) {
|
|
5720
|
+
_iterator9.e(err);
|
|
5721
|
+
} finally {
|
|
5722
|
+
_iterator9.f();
|
|
5491
5723
|
}
|
|
5492
5724
|
infoHTML += '</tr>';
|
|
5493
5725
|
}
|
|
@@ -5740,10 +5972,19 @@ var WMJSMap = /*#__PURE__*/function () {
|
|
|
5740
5972
|
if (layer) {
|
|
5741
5973
|
this.numBaseLayers = 0;
|
|
5742
5974
|
this.baseLayers.push(layer);
|
|
5743
|
-
|
|
5744
|
-
|
|
5745
|
-
|
|
5975
|
+
var _iterator11 = _createForOfIteratorHelper(this.baseLayers),
|
|
5976
|
+
_step11;
|
|
5977
|
+
try {
|
|
5978
|
+
for (_iterator11.s(); !(_step11 = _iterator11.n()).done;) {
|
|
5979
|
+
var baseLayer = _step11.value;
|
|
5980
|
+
if (baseLayer.keepOnTop === true) {
|
|
5981
|
+
this.numBaseLayers += 1;
|
|
5982
|
+
}
|
|
5746
5983
|
}
|
|
5984
|
+
} catch (err) {
|
|
5985
|
+
_iterator11.e(err);
|
|
5986
|
+
} finally {
|
|
5987
|
+
_iterator11.f();
|
|
5747
5988
|
}
|
|
5748
5989
|
this.callBack.triggerEvent('onlayeradd');
|
|
5749
5990
|
} else {
|
|
@@ -5756,11 +5997,20 @@ var WMJSMap = /*#__PURE__*/function () {
|
|
|
5756
5997
|
if (layer) {
|
|
5757
5998
|
this.numBaseLayers = 0;
|
|
5758
5999
|
this.baseLayers = layer;
|
|
5759
|
-
|
|
5760
|
-
|
|
5761
|
-
|
|
5762
|
-
|
|
6000
|
+
var _iterator12 = _createForOfIteratorHelper(this.baseLayers),
|
|
6001
|
+
_step12;
|
|
6002
|
+
try {
|
|
6003
|
+
for (_iterator12.s(); !(_step12 = _iterator12.n()).done;) {
|
|
6004
|
+
var baseLayer = _step12.value;
|
|
6005
|
+
baseLayer.parentMap = this;
|
|
6006
|
+
if (baseLayer.keepOnTop !== true) {
|
|
6007
|
+
this.numBaseLayers += 1;
|
|
6008
|
+
}
|
|
5763
6009
|
}
|
|
6010
|
+
} catch (err) {
|
|
6011
|
+
_iterator12.e(err);
|
|
6012
|
+
} finally {
|
|
6013
|
+
_iterator12.f();
|
|
5764
6014
|
}
|
|
5765
6015
|
this.callBack.triggerEvent('onlayerchange');
|
|
5766
6016
|
} else {
|
|
@@ -6061,10 +6311,19 @@ var WMJSMap = /*#__PURE__*/function () {
|
|
|
6061
6311
|
rightButton: detectRightButton(event),
|
|
6062
6312
|
shiftKey: shiftKey
|
|
6063
6313
|
});
|
|
6064
|
-
|
|
6065
|
-
|
|
6066
|
-
|
|
6314
|
+
var _iterator13 = _createForOfIteratorHelper(triggerResults),
|
|
6315
|
+
_step13;
|
|
6316
|
+
try {
|
|
6317
|
+
for (_iterator13.s(); !(_step13 = _iterator13.n()).done;) {
|
|
6318
|
+
var triggerResult = _step13.value;
|
|
6319
|
+
if (triggerResult === false) {
|
|
6320
|
+
return;
|
|
6321
|
+
}
|
|
6067
6322
|
}
|
|
6323
|
+
} catch (err) {
|
|
6324
|
+
_iterator13.e(err);
|
|
6325
|
+
} finally {
|
|
6326
|
+
_iterator13.f();
|
|
6068
6327
|
}
|
|
6069
6328
|
}
|
|
6070
6329
|
}
|
|
@@ -6190,10 +6449,19 @@ var WMJSMap = /*#__PURE__*/function () {
|
|
|
6190
6449
|
leftButton: detectLeftButton(event),
|
|
6191
6450
|
rightButton: detectRightButton(event)
|
|
6192
6451
|
});
|
|
6193
|
-
|
|
6194
|
-
|
|
6195
|
-
|
|
6452
|
+
var _iterator14 = _createForOfIteratorHelper(triggerResults),
|
|
6453
|
+
_step14;
|
|
6454
|
+
try {
|
|
6455
|
+
for (_iterator14.s(); !(_step14 = _iterator14.n()).done;) {
|
|
6456
|
+
var triggerResult = _step14.value;
|
|
6457
|
+
if (triggerResult === false) {
|
|
6458
|
+
return;
|
|
6459
|
+
}
|
|
6196
6460
|
}
|
|
6461
|
+
} catch (err) {
|
|
6462
|
+
_iterator14.e(err);
|
|
6463
|
+
} finally {
|
|
6464
|
+
_iterator14.f();
|
|
6197
6465
|
}
|
|
6198
6466
|
}
|
|
6199
6467
|
if (this.divBoundingBox.displayed === true && this.mapPanning === 0) {
|
|
@@ -6351,11 +6619,20 @@ var WMJSMap = /*#__PURE__*/function () {
|
|
|
6351
6619
|
mouseDown: false,
|
|
6352
6620
|
event: e
|
|
6353
6621
|
});
|
|
6354
|
-
|
|
6355
|
-
|
|
6356
|
-
|
|
6357
|
-
|
|
6622
|
+
var _iterator15 = _createForOfIteratorHelper(triggerResults),
|
|
6623
|
+
_step15;
|
|
6624
|
+
try {
|
|
6625
|
+
for (_iterator15.s(); !(_step15 = _iterator15.n()).done;) {
|
|
6626
|
+
var triggerResult = _step15.value;
|
|
6627
|
+
if (triggerResult === false) {
|
|
6628
|
+
this.mouseDownPressed = 0;
|
|
6629
|
+
return;
|
|
6630
|
+
}
|
|
6358
6631
|
}
|
|
6632
|
+
} catch (err) {
|
|
6633
|
+
_iterator15.e(err);
|
|
6634
|
+
} finally {
|
|
6635
|
+
_iterator15.f();
|
|
6359
6636
|
}
|
|
6360
6637
|
}
|
|
6361
6638
|
}
|
|
@@ -6447,9 +6724,18 @@ var WMJSMap = /*#__PURE__*/function () {
|
|
|
6447
6724
|
this.zoomTo(this.updateBBOX);
|
|
6448
6725
|
this.wMFlyToBBox.flyZoomToBBOXStop();
|
|
6449
6726
|
this.baseDiv.style.cursor = 'move';
|
|
6450
|
-
|
|
6451
|
-
|
|
6452
|
-
|
|
6727
|
+
var _iterator16 = _createForOfIteratorHelper(this.gfiDialogList),
|
|
6728
|
+
_step16;
|
|
6729
|
+
try {
|
|
6730
|
+
for (_iterator16.s(); !(_step16 = _iterator16.n()).done;) {
|
|
6731
|
+
var gfiDialog = _step16.value;
|
|
6732
|
+
gfiDialog.origX = gfiDialog.x;
|
|
6733
|
+
gfiDialog.origY = gfiDialog.y;
|
|
6734
|
+
}
|
|
6735
|
+
} catch (err) {
|
|
6736
|
+
_iterator16.e(err);
|
|
6737
|
+
} finally {
|
|
6738
|
+
_iterator16.f();
|
|
6453
6739
|
}
|
|
6454
6740
|
this.mapPanning = 1;
|
|
6455
6741
|
debugLogger(DebugType.Log);
|
|
@@ -6675,16 +6961,25 @@ var WMJSMap = /*#__PURE__*/function () {
|
|
|
6675
6961
|
this._updateBoundingBox(this.bbox);
|
|
6676
6962
|
this.drawnBBOX.setBBOX(this.bbox);
|
|
6677
6963
|
var resetMapPinAndDialogs = function resetMapPinAndDialogs() {
|
|
6678
|
-
|
|
6679
|
-
|
|
6680
|
-
|
|
6681
|
-
|
|
6682
|
-
|
|
6683
|
-
|
|
6684
|
-
|
|
6685
|
-
|
|
6964
|
+
var _iterator17 = _createForOfIteratorHelper(_this12.gfiDialogList),
|
|
6965
|
+
_step17;
|
|
6966
|
+
try {
|
|
6967
|
+
for (_iterator17.s(); !(_step17 = _iterator17.n()).done;) {
|
|
6968
|
+
var gfiDialog = _step17.value;
|
|
6969
|
+
var newpos = _this12.getPixelCoordFromGeoCoord({
|
|
6970
|
+
x: gfiDialog.geoPosX,
|
|
6971
|
+
y: gfiDialog.geoPosY
|
|
6972
|
+
});
|
|
6973
|
+
if (gfiDialog.hasBeenDragged === false) {
|
|
6974
|
+
if (gfiDialog.moveToMouseCursor === true) {
|
|
6975
|
+
gfiDialog.setXY(gfiDialog.origX + newpos.x, gfiDialog.origY + newpos.y);
|
|
6976
|
+
}
|
|
6686
6977
|
}
|
|
6687
6978
|
}
|
|
6979
|
+
} catch (err) {
|
|
6980
|
+
_iterator17.e(err);
|
|
6981
|
+
} finally {
|
|
6982
|
+
_iterator17.f();
|
|
6688
6983
|
}
|
|
6689
6984
|
};
|
|
6690
6985
|
resetMapPinAndDialogs();
|
|
@@ -6873,10 +7168,19 @@ var WMJSMap = /*#__PURE__*/function () {
|
|
|
6873
7168
|
}, {
|
|
6874
7169
|
key: "getDimension",
|
|
6875
7170
|
value: function getDimension(name) {
|
|
6876
|
-
|
|
6877
|
-
|
|
6878
|
-
|
|
7171
|
+
var _iterator18 = _createForOfIteratorHelper(this.mapdimensions),
|
|
7172
|
+
_step18;
|
|
7173
|
+
try {
|
|
7174
|
+
for (_iterator18.s(); !(_step18 = _iterator18.n()).done;) {
|
|
7175
|
+
var mapDimension = _step18.value;
|
|
7176
|
+
if (mapDimension.name === name) {
|
|
7177
|
+
return mapDimension;
|
|
7178
|
+
}
|
|
6879
7179
|
}
|
|
7180
|
+
} catch (err) {
|
|
7181
|
+
_iterator18.e(err);
|
|
7182
|
+
} finally {
|
|
7183
|
+
_iterator18.f();
|
|
6880
7184
|
}
|
|
6881
7185
|
return undefined;
|
|
6882
7186
|
}
|
|
@@ -6927,19 +7231,28 @@ var WMJSMap = /*#__PURE__*/function () {
|
|
|
6927
7231
|
this.draw('zoomTolayer');
|
|
6928
7232
|
return;
|
|
6929
7233
|
}
|
|
6930
|
-
|
|
6931
|
-
|
|
6932
|
-
|
|
6933
|
-
|
|
6934
|
-
var
|
|
6935
|
-
|
|
6936
|
-
|
|
6937
|
-
|
|
6938
|
-
|
|
6939
|
-
|
|
6940
|
-
|
|
6941
|
-
|
|
7234
|
+
var _iterator19 = _createForOfIteratorHelper(layer.projectionProperties),
|
|
7235
|
+
_step19;
|
|
7236
|
+
try {
|
|
7237
|
+
for (_iterator19.s(); !(_step19 = _iterator19.n()).done;) {
|
|
7238
|
+
var layerProjProp = _step19.value;
|
|
7239
|
+
if (layerProjProp.srs === this.srs) {
|
|
7240
|
+
var w = layerProjProp.bbox.right - layerProjProp.bbox.left;
|
|
7241
|
+
var h = layerProjProp.bbox.top - layerProjProp.bbox.bottom;
|
|
7242
|
+
var newBBOX = layerProjProp.bbox.clone();
|
|
7243
|
+
newBBOX.left -= w / 100;
|
|
7244
|
+
newBBOX.right += w / 100;
|
|
7245
|
+
newBBOX.bottom -= h / 100;
|
|
7246
|
+
newBBOX.top += h / 100;
|
|
7247
|
+
this.zoomTo(newBBOX);
|
|
7248
|
+
this.draw('zoomTolayer');
|
|
7249
|
+
return;
|
|
7250
|
+
}
|
|
6942
7251
|
}
|
|
7252
|
+
} catch (err) {
|
|
7253
|
+
_iterator19.e(err);
|
|
7254
|
+
} finally {
|
|
7255
|
+
_iterator19.f();
|
|
6943
7256
|
}
|
|
6944
7257
|
debugLogger(DebugType.Error, "WebMapJS: Unable to find the correct bbox with current map projection ".concat(this.srs, " for layer ").concat(layer.title, ". Using default bbox instead."));
|
|
6945
7258
|
this.zoomTo(this.defaultBBOX);
|
|
@@ -6982,14 +7295,14 @@ var WMJSMap = /*#__PURE__*/function () {
|
|
|
6982
7295
|
for (var j = 0; j <= this.UndoPointer; j += 1) {
|
|
6983
7296
|
this.WMProjectionTempUndo[j] = this.WMProjectionUndo[j];
|
|
6984
7297
|
}
|
|
6985
|
-
for (var
|
|
6986
|
-
this.WMProjectionUndo[
|
|
7298
|
+
for (var _j3 = 0; _j3 <= this.UndoPointer; _j3 += 1) {
|
|
7299
|
+
this.WMProjectionUndo[_j3] = this.WMProjectionTempUndo[this.UndoPointer - _j3];
|
|
6987
7300
|
}
|
|
6988
7301
|
this.UndoPointer = 0;
|
|
6989
7302
|
}
|
|
6990
|
-
for (var
|
|
6991
|
-
this.WMProjectionUndo[
|
|
6992
|
-
this.WMProjectionUndo[
|
|
7303
|
+
for (var _j4 = this.MaxUndos - 1; _j4 > 0; _j4 -= 1) {
|
|
7304
|
+
this.WMProjectionUndo[_j4].bbox.setBBOX(this.WMProjectionUndo[_j4 - 1].bbox);
|
|
7305
|
+
this.WMProjectionUndo[_j4].srs = this.WMProjectionUndo[_j4 - 1].srs;
|
|
6993
7306
|
}
|
|
6994
7307
|
this.WMProjectionUndo[0].bbox.setBBOX(this.bbox);
|
|
6995
7308
|
this.WMProjectionUndo[0].srs = this.srs;
|
|
@@ -7529,46 +7842,63 @@ var WMXMLtoJSON = function WMXMLtoJSON(xmlDocument) {
|
|
|
7529
7842
|
// eslint-disable-next-line no-shadow
|
|
7530
7843
|
var traverse = function traverse(data, path, json) {
|
|
7531
7844
|
if (data.children && data.children.length) {
|
|
7532
|
-
|
|
7533
|
-
|
|
7534
|
-
|
|
7535
|
-
|
|
7536
|
-
|
|
7537
|
-
|
|
7538
|
-
newJson =
|
|
7539
|
-
|
|
7540
|
-
|
|
7541
|
-
|
|
7542
|
-
|
|
7543
|
-
|
|
7845
|
+
var _iterator = _createForOfIteratorHelper(data.children),
|
|
7846
|
+
_step;
|
|
7847
|
+
try {
|
|
7848
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
7849
|
+
var child = _step.value;
|
|
7850
|
+
var newPath = "".concat(path, "->").concat(child.nodeName);
|
|
7851
|
+
var newJson = null;
|
|
7852
|
+
var nodeName = child.nodeName;
|
|
7853
|
+
if (json[nodeName]) {
|
|
7854
|
+
newJson = {
|
|
7855
|
+
attr: {}
|
|
7856
|
+
};
|
|
7857
|
+
// eslint-disable-next-line no-empty
|
|
7858
|
+
if (json[nodeName] instanceof Array) {} else {
|
|
7859
|
+
var obj = Object.assign({}, json[nodeName]);
|
|
7860
|
+
// eslint-disable-next-line no-param-reassign
|
|
7861
|
+
json[nodeName] = [];
|
|
7862
|
+
json[nodeName].push(obj);
|
|
7863
|
+
}
|
|
7864
|
+
json[nodeName].push(newJson);
|
|
7865
|
+
} else {
|
|
7544
7866
|
// eslint-disable-next-line no-param-reassign
|
|
7545
|
-
json[nodeName] =
|
|
7546
|
-
|
|
7867
|
+
json[nodeName] = {
|
|
7868
|
+
attr: {}
|
|
7869
|
+
};
|
|
7870
|
+
newJson = json[nodeName];
|
|
7547
7871
|
}
|
|
7548
|
-
|
|
7549
|
-
|
|
7550
|
-
|
|
7551
|
-
|
|
7552
|
-
|
|
7553
|
-
|
|
7554
|
-
|
|
7555
|
-
}
|
|
7556
|
-
// Value
|
|
7557
|
-
if (child.childNodes && child.childNodes.length > 0) {
|
|
7558
|
-
if (child.childNodes[0].nodeValue) {
|
|
7559
|
-
var value = child.childNodes[0].nodeValue.trim();
|
|
7560
|
-
if (value !== '\n' && value.length > 0) {
|
|
7561
|
-
newJson.value = value;
|
|
7872
|
+
// Value
|
|
7873
|
+
if (child.childNodes && child.childNodes.length > 0) {
|
|
7874
|
+
if (child.childNodes[0].nodeValue) {
|
|
7875
|
+
var value = child.childNodes[0].nodeValue.trim();
|
|
7876
|
+
if (value !== '\n' && value.length > 0) {
|
|
7877
|
+
newJson.value = value;
|
|
7878
|
+
}
|
|
7562
7879
|
}
|
|
7563
7880
|
}
|
|
7564
|
-
|
|
7565
|
-
|
|
7566
|
-
|
|
7567
|
-
|
|
7568
|
-
|
|
7881
|
+
// Attributes
|
|
7882
|
+
if (child.attributes && child.attributes.length > 0) {
|
|
7883
|
+
var _iterator2 = _createForOfIteratorHelper(child.attributes),
|
|
7884
|
+
_step2;
|
|
7885
|
+
try {
|
|
7886
|
+
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
7887
|
+
var childAttribute = _step2.value;
|
|
7888
|
+
newJson.attr[childAttribute.name] = childAttribute.value;
|
|
7889
|
+
}
|
|
7890
|
+
} catch (err) {
|
|
7891
|
+
_iterator2.e(err);
|
|
7892
|
+
} finally {
|
|
7893
|
+
_iterator2.f();
|
|
7894
|
+
}
|
|
7569
7895
|
}
|
|
7896
|
+
traverse(child, newPath, newJson);
|
|
7570
7897
|
}
|
|
7571
|
-
|
|
7898
|
+
} catch (err) {
|
|
7899
|
+
_iterator.e(err);
|
|
7900
|
+
} finally {
|
|
7901
|
+
_iterator.f();
|
|
7572
7902
|
}
|
|
7573
7903
|
}
|
|
7574
7904
|
};
|
|
@@ -7583,8 +7913,17 @@ var WMXMLParser = function WMXMLParser(url, headers) {
|
|
|
7583
7913
|
return new Promise(function (resolve, reject) {
|
|
7584
7914
|
var fetchHeaders = new Headers();
|
|
7585
7915
|
if (headers && headers.length > 0) {
|
|
7586
|
-
|
|
7587
|
-
|
|
7916
|
+
var _iterator3 = _createForOfIteratorHelper(headers),
|
|
7917
|
+
_step3;
|
|
7918
|
+
try {
|
|
7919
|
+
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
7920
|
+
var header = _step3.value;
|
|
7921
|
+
fetchHeaders.append(header.name, header.value);
|
|
7922
|
+
}
|
|
7923
|
+
} catch (err) {
|
|
7924
|
+
_iterator3.e(err);
|
|
7925
|
+
} finally {
|
|
7926
|
+
_iterator3.f();
|
|
7588
7927
|
}
|
|
7589
7928
|
}
|
|
7590
7929
|
fetch(url, {
|
|
@@ -8011,27 +8350,20 @@ var WMJSService = /*#__PURE__*/function () {
|
|
|
8011
8350
|
return WMJSService;
|
|
8012
8351
|
}();
|
|
8013
8352
|
|
|
8014
|
-
/* *
|
|
8015
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
8016
|
-
* you may not use this file except in compliance with the License.
|
|
8017
|
-
* You may obtain a copy of the License at
|
|
8018
|
-
*
|
|
8019
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
8020
|
-
*
|
|
8021
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
8022
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
8023
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
8024
|
-
* See the License for the specific language governing permissions and
|
|
8025
|
-
* limitations under the License.
|
|
8026
|
-
*
|
|
8027
|
-
* Copyright 2020 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
8028
|
-
* Copyright 2020 - Finnish Meteorological Institute (FMI)
|
|
8029
|
-
* */
|
|
8030
8353
|
var WMGetServiceFromStore = function WMGetServiceFromStore(serviceName) {
|
|
8031
|
-
|
|
8032
|
-
|
|
8033
|
-
|
|
8354
|
+
var _iterator = _createForOfIteratorHelper(WMServiceStore),
|
|
8355
|
+
_step;
|
|
8356
|
+
try {
|
|
8357
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
8358
|
+
var WMService = _step.value;
|
|
8359
|
+
if (WMService.service === serviceName) {
|
|
8360
|
+
return WMService;
|
|
8361
|
+
}
|
|
8034
8362
|
}
|
|
8363
|
+
} catch (err) {
|
|
8364
|
+
_iterator.e(err);
|
|
8365
|
+
} finally {
|
|
8366
|
+
_iterator.f();
|
|
8035
8367
|
}
|
|
8036
8368
|
var service = new WMJSService({
|
|
8037
8369
|
service: serviceName
|
|
@@ -8147,10 +8479,19 @@ var configureDimensions = function configureDimensions(layerProps, wmLayer) {
|
|
|
8147
8479
|
*/
|
|
8148
8480
|
/* Flag dimensions which are currently in use for this layer, it is possible that the update will remove dimensions from this layer; keep track of the current ones */
|
|
8149
8481
|
var layerDimNamesToRemove = new Set();
|
|
8150
|
-
|
|
8151
|
-
|
|
8482
|
+
var _iterator = _createForOfIteratorHelper(wmLayer.dimensions),
|
|
8483
|
+
_step;
|
|
8484
|
+
try {
|
|
8485
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
8486
|
+
var layerDim = _step.value;
|
|
8487
|
+
layerDimNamesToRemove.add(layerDim.name);
|
|
8488
|
+
}
|
|
8489
|
+
/* Now start adding all dimensions starting with the parent layer. Layers more deeply nested will inherit Dimension info */
|
|
8490
|
+
} catch (err) {
|
|
8491
|
+
_iterator.e(err);
|
|
8492
|
+
} finally {
|
|
8493
|
+
_iterator.f();
|
|
8152
8494
|
}
|
|
8153
|
-
/* Now start adding all dimensions starting with the parent layer. Layers more deeply nested will inherit Dimension info */
|
|
8154
8495
|
addDimsForLayer(layerProps, wmLayer, layerDimNamesToRemove);
|
|
8155
8496
|
/* The list with dimensions to remove is now complete, remove the unneeded dimensions from the layer */
|
|
8156
8497
|
layerDimNamesToRemove.forEach(function (dimName) {
|
|
@@ -8479,13 +8820,22 @@ var WMLayer = /*#__PURE__*/function () {
|
|
|
8479
8820
|
// Get the optimal image format for this layer
|
|
8480
8821
|
try {
|
|
8481
8822
|
var serverFormats = capabilityObject.Request.GetMap.Format;
|
|
8482
|
-
|
|
8483
|
-
|
|
8484
|
-
|
|
8485
|
-
|
|
8486
|
-
|
|
8487
|
-
|
|
8823
|
+
var _iterator2 = _createForOfIteratorHelper(serverFormats),
|
|
8824
|
+
_step2;
|
|
8825
|
+
try {
|
|
8826
|
+
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
8827
|
+
var serverFormat = _step2.value;
|
|
8828
|
+
if (serverFormat.value.indexOf('24') > 0) {
|
|
8829
|
+
this.optimalFormat = serverFormat.value;
|
|
8830
|
+
}
|
|
8831
|
+
if (serverFormat.value.indexOf('32') > 0) {
|
|
8832
|
+
this.optimalFormat = serverFormat.value;
|
|
8833
|
+
}
|
|
8488
8834
|
}
|
|
8835
|
+
} catch (err) {
|
|
8836
|
+
_iterator2.e(err);
|
|
8837
|
+
} finally {
|
|
8838
|
+
_iterator2.f();
|
|
8489
8839
|
}
|
|
8490
8840
|
} catch (e) {
|
|
8491
8841
|
debugLogger(DebugType.Error);
|
|
@@ -8702,12 +9052,21 @@ var WMLayer = /*#__PURE__*/function () {
|
|
|
8702
9052
|
return;
|
|
8703
9053
|
}
|
|
8704
9054
|
var styleFound = false;
|
|
8705
|
-
|
|
8706
|
-
|
|
8707
|
-
|
|
8708
|
-
|
|
8709
|
-
|
|
9055
|
+
var _iterator3 = _createForOfIteratorHelper(this.styles),
|
|
9056
|
+
_step3;
|
|
9057
|
+
try {
|
|
9058
|
+
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
9059
|
+
var style = _step3.value;
|
|
9060
|
+
if (style.name === styleName) {
|
|
9061
|
+
this.legendGraphic = style.legendURL;
|
|
9062
|
+
this.currentStyle = style.name;
|
|
9063
|
+
styleFound = true;
|
|
9064
|
+
}
|
|
8710
9065
|
}
|
|
9066
|
+
} catch (err) {
|
|
9067
|
+
_iterator3.e(err);
|
|
9068
|
+
} finally {
|
|
9069
|
+
_iterator3.f();
|
|
8711
9070
|
}
|
|
8712
9071
|
if (!styleFound) {
|
|
8713
9072
|
debugLogger(DebugType.Log, "WMLayer::setStyle: Style ".concat(styleName, " not found, setting style ").concat(this.styles[0].name));
|
|
@@ -8778,17 +9137,25 @@ var WMLayer = /*#__PURE__*/function () {
|
|
|
8778
9137
|
key: "getCRS",
|
|
8779
9138
|
value: function getCRS() {
|
|
8780
9139
|
var crs = [];
|
|
8781
|
-
|
|
8782
|
-
|
|
8783
|
-
|
|
8784
|
-
|
|
8785
|
-
|
|
8786
|
-
|
|
8787
|
-
|
|
8788
|
-
|
|
8789
|
-
|
|
9140
|
+
var _iterator4 = _createForOfIteratorHelper(this.projectionProperties),
|
|
9141
|
+
_step4;
|
|
9142
|
+
try {
|
|
9143
|
+
for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
|
|
9144
|
+
var projectionProperty = _step4.value;
|
|
9145
|
+
if (projectionProperty) {
|
|
9146
|
+
var bbox = projectionProperty.bbox;
|
|
9147
|
+
if (bbox) {
|
|
9148
|
+
crs.push({
|
|
9149
|
+
srs: "".concat(projectionProperty.srs),
|
|
9150
|
+
bbox: new WMBBOX(bbox.left, bbox.bottom, bbox.right, bbox.top)
|
|
9151
|
+
});
|
|
9152
|
+
}
|
|
8790
9153
|
}
|
|
8791
9154
|
}
|
|
9155
|
+
} catch (err) {
|
|
9156
|
+
_iterator4.e(err);
|
|
9157
|
+
} finally {
|
|
9158
|
+
_iterator4.f();
|
|
8792
9159
|
}
|
|
8793
9160
|
return crs;
|
|
8794
9161
|
}
|
|
@@ -8801,16 +9168,25 @@ var WMLayer = /*#__PURE__*/function () {
|
|
|
8801
9168
|
}, {
|
|
8802
9169
|
key: "getCRSByName",
|
|
8803
9170
|
value: function getCRSByName(srsName) {
|
|
8804
|
-
|
|
8805
|
-
|
|
8806
|
-
|
|
8807
|
-
|
|
8808
|
-
|
|
8809
|
-
|
|
8810
|
-
|
|
8811
|
-
|
|
8812
|
-
|
|
9171
|
+
var _iterator5 = _createForOfIteratorHelper(this.projectionProperties),
|
|
9172
|
+
_step5;
|
|
9173
|
+
try {
|
|
9174
|
+
for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
|
|
9175
|
+
var projProps = _step5.value;
|
|
9176
|
+
if (projProps.srs === srsName) {
|
|
9177
|
+
var returnSRS = {
|
|
9178
|
+
srs: '',
|
|
9179
|
+
bbox: new WMBBOX(undefined, undefined, undefined, undefined)
|
|
9180
|
+
};
|
|
9181
|
+
returnSRS.srs = "".concat(projProps.srs);
|
|
9182
|
+
returnSRS.bbox = new WMBBOX(projProps.bbox.left, projProps.bbox.bottom, projProps.bbox.right, projProps.bbox.top);
|
|
9183
|
+
return returnSRS;
|
|
9184
|
+
}
|
|
8813
9185
|
}
|
|
9186
|
+
} catch (err) {
|
|
9187
|
+
_iterator5.e(err);
|
|
9188
|
+
} finally {
|
|
9189
|
+
_iterator5.f();
|
|
8814
9190
|
}
|
|
8815
9191
|
return undefined;
|
|
8816
9192
|
}
|
|
@@ -10028,22 +10404,6 @@ var mockGetCapabilities = Object.assign(Object.assign({}, getCapabilities$1), {
|
|
|
10028
10404
|
WMS111GetCapabilitiesGeoServicesRADAR: WMS111GetCapabilitiesGeoServicesRADAR
|
|
10029
10405
|
});
|
|
10030
10406
|
|
|
10031
|
-
/* *
|
|
10032
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
10033
|
-
* you may not use this file except in compliance with the License.
|
|
10034
|
-
* You may obtain a copy of the License at
|
|
10035
|
-
*
|
|
10036
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10037
|
-
*
|
|
10038
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
10039
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
10040
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
10041
|
-
* See the License for the specific language governing permissions and
|
|
10042
|
-
* limitations under the License.
|
|
10043
|
-
*
|
|
10044
|
-
* Copyright 2020 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
10045
|
-
* Copyright 2020 - Finnish Meteorological Institute (FMI)
|
|
10046
|
-
* */
|
|
10047
10407
|
/**
|
|
10048
10408
|
* Converts webmapjs node structure to LayerTree
|
|
10049
10409
|
* @param nodesToRecur THe WebMapJS node structure from service.getNodes();
|
|
@@ -10062,8 +10422,17 @@ var recurseNodes = function recurseNodes(nodesToRecur) {
|
|
|
10062
10422
|
geographicBoundingBox: nodesToRecur.geographicBoundingBox || null
|
|
10063
10423
|
};
|
|
10064
10424
|
if (nodesToRecur.children) {
|
|
10065
|
-
|
|
10066
|
-
|
|
10425
|
+
var _iterator = _createForOfIteratorHelper(nodesToRecur.children),
|
|
10426
|
+
_step;
|
|
10427
|
+
try {
|
|
10428
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
10429
|
+
var childNodesToRecur = _step.value;
|
|
10430
|
+
newLayerTreeObj.children.push(recurseNodes(childNodesToRecur));
|
|
10431
|
+
}
|
|
10432
|
+
} catch (err) {
|
|
10433
|
+
_iterator.e(err);
|
|
10434
|
+
} finally {
|
|
10435
|
+
_iterator.f();
|
|
10067
10436
|
}
|
|
10068
10437
|
}
|
|
10069
10438
|
return newLayerTreeObj;
|
|
@@ -10110,4 +10479,4 @@ var getCapabilities = /*#__PURE__*/Object.freeze({
|
|
|
10110
10479
|
getLayersFlattenedFromService: getLayersFlattenedFromService
|
|
10111
10480
|
});
|
|
10112
10481
|
|
|
10113
|
-
export { DateInterval, DebugType, EPSGCode, I18n, LayerType, ParseISOTimeRangeDuration, URLDecode, URLEncode, WMBBOX, WMDateOutSideRange, WMDateTooEarlyString, WMDateTooLateString, WMEmptyLayerName, WMEmptyLayerTitle, WMGetServiceFromStore, WMImage, WMImageEventType, WMJSDimension, WMJSMap, WMJSService, WMJScheckURL, WMLayer, buildWMSGetMapRequest, clearImageCache, debugLogger, generateLayerId, generateMapId, generateTimesliderId, getCapabilities, getLegendGraphicURLForLayer, getMapImageStore, getUriWithParam, getWMJSDimensionForLayerAndDimension, getWMJSMapById, getWMJSMapIds, getWMJSTimeDimensionForLayerId, getWMLayerById, handleMomentISOString, isDefined, legendImageStore, mockGetCapabilities, parseISO8601DateToDate, parseISO8601IntervalToDateInterval, registerWMJSMap, registerWMLayer, tilesettings, toArray, unRegisterAllWMJSLayersAndMaps, unRegisterWMJSLayer, unRegisterWMJSMap, testSettings as webmapTestSettings, utils as webmapUtils };
|
|
10482
|
+
export { DateInterval, DebugType, EPSGCode, I18n, LayerType, ParseISOTimeRangeDuration, URLDecode, URLEncode, WMBBOX, WMDateOutSideRange, WMDateTooEarlyString, WMDateTooLateString, WMEmptyLayerName, WMEmptyLayerTitle, WMGetServiceFromStore, WMImage, WMImageEventType, WMJSDimension, WMJSMap, WMJSService, WMJScheckURL, WMLayer, WMProj4Defs, WMSVersion, bgImageStoreLength, buildWMSGetMapRequest, clearImageCache, debugLogger, epsgDescriptionLookup, generateLayerId, generateMapId, generateTimesliderId, getBBOXandProjString, getCapabilities, getLegendGraphicURLForLayer, getMapImageStore, getUriWithParam, getWMJSDimensionForLayerAndDimension, getWMJSMapById, getWMJSMapIds, getWMJSTimeDimensionForLayerId, getWMLayerById, handleMomentISOString, isDefined, isProjectionSupported, legendImageStore, legendImageStoreLength, mapImageStoreLength, mockGetCapabilities, parseISO8601DateToDate, parseISO8601IntervalToDateInterval, registerWMJSMap, registerWMLayer, tilesettings, toArray, unRegisterAllWMJSLayersAndMaps, unRegisterWMJSLayer, unRegisterWMJSMap, testSettings as webmapTestSettings, utils as webmapUtils };
|