@opengeoweb/webmap-react 20.0.1 → 20.1.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/dist/index.esm.js +432 -65
- package/dist/src/lib/components/LayerInfo/LayerInfoDialog.d.ts +14 -0
- package/dist/src/lib/components/OpenLayers/utils/TimeAwareImageWrapper.d.ts +6 -1
- package/dist/src/lib/components/OpenLayers/utils/TimeawareImageSource.d.ts +4 -0
- package/dist/src/lib/components/OpenLayers/utils/constants.d.ts +1 -0
- package/dist/src/lib/edr-layer-api/api.d.ts +2 -0
- package/dist/src/lib/edr-layer-api/hooks.d.ts +1 -1
- package/dist/src/lib/edr-layer-api/index.d.ts +1 -0
- package/package.json +4 -4
package/dist/index.esm.js
CHANGED
|
@@ -420,6 +420,15 @@ function _defineProperty(e, r, t) {
|
|
|
420
420
|
writable: true
|
|
421
421
|
}) : e[r] = t, e;
|
|
422
422
|
}
|
|
423
|
+
function _get() {
|
|
424
|
+
return _get = "undefined" != typeof Reflect && Reflect.get ? Reflect.get.bind() : function (e, t, r) {
|
|
425
|
+
var p = _superPropBase(e, t);
|
|
426
|
+
if (p) {
|
|
427
|
+
var n = Object.getOwnPropertyDescriptor(p, t);
|
|
428
|
+
return n.get ? n.get.call(arguments.length < 3 ? e : r) : n.value;
|
|
429
|
+
}
|
|
430
|
+
}, _get.apply(null, arguments);
|
|
431
|
+
}
|
|
423
432
|
function _getPrototypeOf(t) {
|
|
424
433
|
return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) {
|
|
425
434
|
return t.__proto__ || Object.getPrototypeOf(t);
|
|
@@ -643,6 +652,16 @@ function _setPrototypeOf(t, e) {
|
|
|
643
652
|
function _slicedToArray(r, e) {
|
|
644
653
|
return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest();
|
|
645
654
|
}
|
|
655
|
+
function _superPropBase(t, o) {
|
|
656
|
+
for (; !{}.hasOwnProperty.call(t, o) && null !== (t = _getPrototypeOf(t)););
|
|
657
|
+
return t;
|
|
658
|
+
}
|
|
659
|
+
function _superPropGet(t, o, e, r) {
|
|
660
|
+
var p = _get(_getPrototypeOf(t.prototype ), o, e);
|
|
661
|
+
return "function" == typeof p ? function (t) {
|
|
662
|
+
return p.apply(e, t);
|
|
663
|
+
} : p;
|
|
664
|
+
}
|
|
646
665
|
function _toConsumableArray(r) {
|
|
647
666
|
return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread();
|
|
648
667
|
}
|
|
@@ -699,6 +718,7 @@ var MAX_NUMBER_STEPS_IN_TIME_SLIDER_TO_PREFETCH = 10000;
|
|
|
699
718
|
var NUMBER_PREFETCH_WORKERS = 4;
|
|
700
719
|
var NUM_IMAGES_TO_CACHE = 10000;
|
|
701
720
|
var WMS_EXTENT_RATIO_TO_VIEWPORT = 1.2;
|
|
721
|
+
var FAILED_IMAGE_RETRY_CHECK_INTERVAL_MS = 10000;
|
|
702
722
|
var TIMEAWAREIMAGEWRAPPER_IMAGEDIDNOTLOADSUCCESFULLY = 'Image did not load succesfully';
|
|
703
723
|
// // To debug what dimensions are actually being used in the map, use:
|
|
704
724
|
// export const ADD_SHOW_DIMS_OPTION = true;
|
|
@@ -843,6 +863,50 @@ var openLayersGetMapImageStore = new WMImageStore(NUM_IMAGES_TO_CACHE, {
|
|
|
843
863
|
var clearImageCacheForAllMaps = function clearImageCacheForAllMaps() {
|
|
844
864
|
openLayersGetMapImageStore.clear();
|
|
845
865
|
};
|
|
866
|
+
var splitExtentAtWorldSeams = function splitExtentAtWorldSeams(extent, worldExtent) {
|
|
867
|
+
var worldWidth = worldExtent[2] - worldExtent[0];
|
|
868
|
+
if (worldWidth <= 0 || extent[2] <= extent[0]) {
|
|
869
|
+
return [{
|
|
870
|
+
requestExtent: extent,
|
|
871
|
+
displayExtent: extent
|
|
872
|
+
}];
|
|
873
|
+
}
|
|
874
|
+
var segments = [];
|
|
875
|
+
var segmentStart = extent[0];
|
|
876
|
+
var worldIndex = Math.floor((segmentStart - worldExtent[0]) / worldWidth);
|
|
877
|
+
while (segmentStart < extent[2]) {
|
|
878
|
+
var worldEnd = worldExtent[0] + (worldIndex + 1) * worldWidth;
|
|
879
|
+
while (worldEnd <= segmentStart) {
|
|
880
|
+
worldIndex += 1;
|
|
881
|
+
worldEnd = worldExtent[0] + (worldIndex + 1) * worldWidth;
|
|
882
|
+
}
|
|
883
|
+
var segmentEnd = Math.min(extent[2], worldEnd);
|
|
884
|
+
var worldOffset = worldIndex * worldWidth;
|
|
885
|
+
segments.push({
|
|
886
|
+
requestExtent: [segmentStart - worldOffset, extent[1], segmentEnd - worldOffset, extent[3]],
|
|
887
|
+
displayExtent: [segmentStart, extent[1], segmentEnd, extent[3]]
|
|
888
|
+
});
|
|
889
|
+
segmentStart = segmentEnd;
|
|
890
|
+
worldIndex += 1;
|
|
891
|
+
}
|
|
892
|
+
return segments;
|
|
893
|
+
};
|
|
894
|
+
var combineExtents = function combineExtents(extents) {
|
|
895
|
+
return [Math.min.apply(Math, _toConsumableArray(extents.map(function (extent) {
|
|
896
|
+
return extent[0];
|
|
897
|
+
}))), Math.min.apply(Math, _toConsumableArray(extents.map(function (extent) {
|
|
898
|
+
return extent[1];
|
|
899
|
+
}))), Math.max.apply(Math, _toConsumableArray(extents.map(function (extent) {
|
|
900
|
+
return extent[2];
|
|
901
|
+
}))), Math.max.apply(Math, _toConsumableArray(extents.map(function (extent) {
|
|
902
|
+
return extent[3];
|
|
903
|
+
})))];
|
|
904
|
+
};
|
|
905
|
+
var getExtentOverlapArea = function getExtentOverlapArea(extentA, extentB) {
|
|
906
|
+
var width = Math.max(0, Math.min(extentA[2], extentB[2]) - Math.max(extentA[0], extentB[0]));
|
|
907
|
+
var height = Math.max(0, Math.min(extentA[3], extentB[3]) - Math.max(extentA[1], extentB[1]));
|
|
908
|
+
return width * height;
|
|
909
|
+
};
|
|
846
910
|
var TimeAwareImageWrapper = /*#__PURE__*/function (_ImageWrapper) {
|
|
847
911
|
function TimeAwareImageWrapper(extent, resolution, pixelRatio) {
|
|
848
912
|
var _this;
|
|
@@ -855,6 +919,8 @@ var TimeAwareImageWrapper = /*#__PURE__*/function (_ImageWrapper) {
|
|
|
855
919
|
_this._resolvers = [];
|
|
856
920
|
_this._styleName = 'default';
|
|
857
921
|
_this._layerName = null;
|
|
922
|
+
_this._compositeImageKey = '';
|
|
923
|
+
_this._compositeImage = null;
|
|
858
924
|
_this.extent = extent;
|
|
859
925
|
_this.resolution = resolution;
|
|
860
926
|
_this.state = ImageState.IDLE;
|
|
@@ -907,44 +973,184 @@ var TimeAwareImageWrapper = /*#__PURE__*/function (_ImageWrapper) {
|
|
|
907
973
|
}, {
|
|
908
974
|
key: "getAlternativeImage",
|
|
909
975
|
value: function getAlternativeImage(extent, resolution, pixelRatio, projection, getMapUrl, params, layerName, styleName, dimsProps) {
|
|
910
|
-
var
|
|
911
|
-
|
|
912
|
-
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
|
|
976
|
+
var requests = this.getWMSGetMapRequestURLs(extent, resolution, pixelRatio, projection, getMapUrl, params, layerName, styleName, dimsProps);
|
|
977
|
+
var images = requests.map(function (request) {
|
|
978
|
+
var _candidates$filter$ma;
|
|
979
|
+
var candidates = openLayersGetMapImageStore.getAltGeoReferencedImages(request.src, request.extent, request.resolution);
|
|
980
|
+
return (_candidates$filter$ma = candidates.filter(function (image) {
|
|
981
|
+
return image.isLoadedWithoutErrors() && image.geoReference;
|
|
982
|
+
}).map(function (image) {
|
|
983
|
+
return {
|
|
984
|
+
image: image,
|
|
985
|
+
overlapArea: getExtentOverlapArea(image.geoReference.extent, request.extent)
|
|
986
|
+
};
|
|
987
|
+
}).filter(function (_ref) {
|
|
988
|
+
var overlapArea = _ref.overlapArea;
|
|
989
|
+
return overlapArea > 0;
|
|
990
|
+
}).sort(function (imageA, imageB) {
|
|
991
|
+
return imageB.overlapArea - imageA.overlapArea;
|
|
992
|
+
})[0]) === null || _candidates$filter$ma === void 0 ? void 0 : _candidates$filter$ma.image;
|
|
993
|
+
});
|
|
994
|
+
if (images.some(function (image) {
|
|
995
|
+
return !image;
|
|
996
|
+
})) {
|
|
997
|
+
return false;
|
|
998
|
+
}
|
|
999
|
+
var completeImages = images;
|
|
1000
|
+
if (completeImages.length > 1) {
|
|
1001
|
+
var uniqueImages = _toConsumableArray(new Set(completeImages));
|
|
1002
|
+
if (uniqueImages.length !== completeImages.length) {
|
|
1003
|
+
if (uniqueImages.length !== 1) {
|
|
1004
|
+
return false;
|
|
1005
|
+
}
|
|
1006
|
+
var _uniqueImages = _slicedToArray(uniqueImages, 1),
|
|
1007
|
+
_image = _uniqueImages[0];
|
|
1008
|
+
var imageExtent = _image.geoReference.extent;
|
|
1009
|
+
var requestedExtent = combineExtents(requests.map(function (request) {
|
|
1010
|
+
return request.extent;
|
|
1011
|
+
}));
|
|
1012
|
+
if (imageExtent[0] > requestedExtent[0] || imageExtent[1] > requestedExtent[1] || imageExtent[2] < requestedExtent[2] || imageExtent[3] < requestedExtent[3]) {
|
|
1013
|
+
return false;
|
|
1014
|
+
}
|
|
1015
|
+
return {
|
|
1016
|
+
el: _image.getElement(),
|
|
1017
|
+
extent: imageExtent,
|
|
1018
|
+
resolution: _image.geoReference.resolution,
|
|
1019
|
+
isLoaded: _image.isLoaded(),
|
|
1020
|
+
isLoadedWithoutErrors: _image.isLoadedWithoutErrors(),
|
|
1021
|
+
hasError: _image.hasError(),
|
|
1022
|
+
isLoading: _image.isLoading()
|
|
1023
|
+
};
|
|
1024
|
+
}
|
|
1025
|
+
var imageRequests = completeImages.map(function (image, index) {
|
|
1026
|
+
return _objectSpread2(_objectSpread2({}, requests[index]), {}, {
|
|
1027
|
+
extent: image.geoReference.extent,
|
|
1028
|
+
resolution: image.geoReference.resolution
|
|
1029
|
+
});
|
|
1030
|
+
});
|
|
1031
|
+
var image = this.createCompositeImage(completeImages, imageRequests);
|
|
1032
|
+
if (!image) {
|
|
1033
|
+
return false;
|
|
1034
|
+
}
|
|
916
1035
|
return {
|
|
917
|
-
el:
|
|
918
|
-
extent:
|
|
919
|
-
|
|
920
|
-
|
|
921
|
-
|
|
922
|
-
|
|
923
|
-
|
|
1036
|
+
el: image,
|
|
1037
|
+
extent: combineExtents(imageRequests.map(function (request) {
|
|
1038
|
+
return request.extent;
|
|
1039
|
+
})),
|
|
1040
|
+
resolution: imageRequests[0].resolution,
|
|
1041
|
+
isLoaded: completeImages.every(function (loadedImage) {
|
|
1042
|
+
return loadedImage.isLoaded();
|
|
1043
|
+
}),
|
|
1044
|
+
isLoadedWithoutErrors: completeImages.every(function (loadedImage) {
|
|
1045
|
+
return loadedImage.isLoadedWithoutErrors();
|
|
1046
|
+
}),
|
|
1047
|
+
hasError: completeImages.some(function (loadedImage) {
|
|
1048
|
+
return loadedImage.hasError();
|
|
1049
|
+
}),
|
|
1050
|
+
isLoading: completeImages.some(function (loadedImage) {
|
|
1051
|
+
return loadedImage.isLoading();
|
|
1052
|
+
})
|
|
924
1053
|
};
|
|
925
1054
|
}
|
|
926
|
-
|
|
1055
|
+
var _completeImages = _slicedToArray(completeImages, 1),
|
|
1056
|
+
geoRef = _completeImages[0];
|
|
1057
|
+
return {
|
|
1058
|
+
el: geoRef.getElement(),
|
|
1059
|
+
extent: geoRef.geoReference.extent,
|
|
1060
|
+
resolution: geoRef.geoReference.resolution,
|
|
1061
|
+
isLoaded: geoRef.isLoaded(),
|
|
1062
|
+
isLoadedWithoutErrors: geoRef.isLoadedWithoutErrors(),
|
|
1063
|
+
hasError: geoRef.hasError(),
|
|
1064
|
+
isLoading: geoRef.isLoading()
|
|
1065
|
+
};
|
|
927
1066
|
}
|
|
928
1067
|
}, {
|
|
929
1068
|
key: "hasImage",
|
|
930
1069
|
value: function hasImage(extent, resolution, pixelRatio, projection, getMapUrl, params, layerName, styleName, dimsProps) {
|
|
931
|
-
var
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
|
|
936
|
-
|
|
1070
|
+
var requests = this.getWMSGetMapRequestURLs(extent, resolution, pixelRatio, projection, getMapUrl, params, layerName, styleName, dimsProps);
|
|
1071
|
+
var images = requests.map(function (request) {
|
|
1072
|
+
return openLayersGetMapImageStore.getImage(request.src);
|
|
1073
|
+
});
|
|
1074
|
+
if (images.some(function (image) {
|
|
1075
|
+
return !image;
|
|
1076
|
+
})) {
|
|
1077
|
+
return false;
|
|
1078
|
+
}
|
|
1079
|
+
if (images.length === 1) {
|
|
1080
|
+
var _images = _slicedToArray(images, 1),
|
|
1081
|
+
imageEl = _images[0];
|
|
937
1082
|
return {
|
|
938
1083
|
el: imageEl.getElement(),
|
|
939
|
-
extent:
|
|
940
|
-
resolution:
|
|
1084
|
+
extent: requests[0].extent,
|
|
1085
|
+
resolution: requests[0].resolution,
|
|
941
1086
|
isLoaded: imageEl.isLoaded(),
|
|
942
1087
|
isLoadedWithoutErrors: imageEl.isLoadedWithoutErrors(),
|
|
943
1088
|
hasError: imageEl.hasError(),
|
|
944
1089
|
isLoading: imageEl.isLoading()
|
|
945
1090
|
};
|
|
946
1091
|
}
|
|
947
|
-
|
|
1092
|
+
var completeImages = images;
|
|
1093
|
+
if (!completeImages.every(function (image) {
|
|
1094
|
+
return image.isLoaded();
|
|
1095
|
+
})) {
|
|
1096
|
+
return false;
|
|
1097
|
+
}
|
|
1098
|
+
var image = this.createCompositeImage(completeImages, requests);
|
|
1099
|
+
if (!image) {
|
|
1100
|
+
return false;
|
|
1101
|
+
}
|
|
1102
|
+
return {
|
|
1103
|
+
el: image,
|
|
1104
|
+
extent: combineExtents(requests.map(function (request) {
|
|
1105
|
+
return request.extent;
|
|
1106
|
+
})),
|
|
1107
|
+
resolution: requests[0].resolution,
|
|
1108
|
+
isLoaded: true,
|
|
1109
|
+
isLoadedWithoutErrors: completeImages.every(function (loadedImage) {
|
|
1110
|
+
return loadedImage.isLoadedWithoutErrors();
|
|
1111
|
+
}),
|
|
1112
|
+
hasError: completeImages.some(function (loadedImage) {
|
|
1113
|
+
return loadedImage.hasError();
|
|
1114
|
+
}),
|
|
1115
|
+
isLoading: completeImages.some(function (loadedImage) {
|
|
1116
|
+
return loadedImage.isLoading();
|
|
1117
|
+
})
|
|
1118
|
+
};
|
|
1119
|
+
}
|
|
1120
|
+
}, {
|
|
1121
|
+
key: "createCompositeImage",
|
|
1122
|
+
value: function createCompositeImage(images, requests) {
|
|
1123
|
+
var extent = combineExtents(requests.map(function (request) {
|
|
1124
|
+
return request.extent;
|
|
1125
|
+
}));
|
|
1126
|
+
var resolution = requests[0].resolution;
|
|
1127
|
+
var imageKey = JSON.stringify([images.map(function (image) {
|
|
1128
|
+
return image.getElement().src;
|
|
1129
|
+
}), requests.map(function (request) {
|
|
1130
|
+
return request.extent;
|
|
1131
|
+
}), resolution]);
|
|
1132
|
+
if (this._compositeImage && this._compositeImageKey === imageKey) {
|
|
1133
|
+
return this._compositeImage;
|
|
1134
|
+
}
|
|
1135
|
+
var canvas = document.createElement('canvas');
|
|
1136
|
+
canvas.width = Math.ceil((extent[2] - extent[0]) / resolution);
|
|
1137
|
+
canvas.height = Math.ceil((extent[3] - extent[1]) / resolution);
|
|
1138
|
+
var context = canvas.getContext('2d');
|
|
1139
|
+
if (!context) {
|
|
1140
|
+
return false;
|
|
1141
|
+
}
|
|
1142
|
+
images.forEach(function (image, index) {
|
|
1143
|
+
if (image.hasError()) {
|
|
1144
|
+
return;
|
|
1145
|
+
}
|
|
1146
|
+
var imageExtent = requests[index].extent;
|
|
1147
|
+
var overlapsNextSegment = index < images.length - 1;
|
|
1148
|
+
var destinationWidth = (imageExtent[2] - imageExtent[0]) / resolution + (overlapsNextSegment ? 1 : 0);
|
|
1149
|
+
context.drawImage(image.getElement(), (imageExtent[0] - extent[0]) / resolution, (extent[3] - imageExtent[3]) / resolution, destinationWidth, (imageExtent[3] - imageExtent[1]) / resolution);
|
|
1150
|
+
});
|
|
1151
|
+
this._compositeImageKey = imageKey;
|
|
1152
|
+
this._compositeImage = canvas;
|
|
1153
|
+
return canvas;
|
|
948
1154
|
}
|
|
949
1155
|
}, {
|
|
950
1156
|
key: "setGeoReferencedImage",
|
|
@@ -960,22 +1166,33 @@ var TimeAwareImageWrapper = /*#__PURE__*/function (_ImageWrapper) {
|
|
|
960
1166
|
key: "load",
|
|
961
1167
|
value: function load() {
|
|
962
1168
|
var _this2 = this;
|
|
963
|
-
var
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
resolution: newResolution
|
|
1169
|
+
var requests = this.getWMSGetMapRequestURLs(this._extentToLoad, this._resolutionToLoad, this._pixelRatioToLoad, this.projection, this._getMapUrl, this._paramsToLoad, this._layerName, this._styleName, this._dimPropsToLoad);
|
|
1170
|
+
var images = requests.map(function (request) {
|
|
1171
|
+
return openLayersGetMapImageStore.getImageAndSetGeoReference(request.src, {
|
|
1172
|
+
extent: request.extent,
|
|
1173
|
+
resolution: request.resolution
|
|
1174
|
+
});
|
|
970
1175
|
});
|
|
971
|
-
if (
|
|
1176
|
+
if (images.some(function (image) {
|
|
1177
|
+
return !image;
|
|
1178
|
+
})) {
|
|
972
1179
|
return;
|
|
973
1180
|
}
|
|
974
|
-
if (
|
|
1181
|
+
if (images.length === 1) {
|
|
1182
|
+
var _images2 = _slicedToArray(images, 1),
|
|
1183
|
+
imageEl = _images2[0];
|
|
1184
|
+
if (!imageEl.isLoaded()) {
|
|
1185
|
+
this.state = ImageState.LOADING;
|
|
1186
|
+
this.changed();
|
|
1187
|
+
void imageEl.loadAwait()["finally"](function () {
|
|
1188
|
+
return _this2.load();
|
|
1189
|
+
});
|
|
1190
|
+
return;
|
|
1191
|
+
}
|
|
975
1192
|
this.state = ImageState.LOADED;
|
|
976
1193
|
this.setImage(imageEl.getElement());
|
|
977
|
-
this.extent =
|
|
978
|
-
this.resolution =
|
|
1194
|
+
this.extent = requests[0].extent;
|
|
1195
|
+
this.resolution = requests[0].resolution;
|
|
979
1196
|
this.changed();
|
|
980
1197
|
if (imageEl.hasError()) {
|
|
981
1198
|
this._rejectAll(imageEl.getSrc());
|
|
@@ -984,10 +1201,50 @@ var TimeAwareImageWrapper = /*#__PURE__*/function (_ImageWrapper) {
|
|
|
984
1201
|
}
|
|
985
1202
|
return;
|
|
986
1203
|
}
|
|
1204
|
+
var loadedImages = images;
|
|
1205
|
+
if (loadedImages.every(function (image) {
|
|
1206
|
+
return image.isLoaded();
|
|
1207
|
+
})) {
|
|
1208
|
+
this.state = ImageState.LOADED;
|
|
1209
|
+
var image = this.createCompositeImage(loadedImages, requests);
|
|
1210
|
+
if (!image) {
|
|
1211
|
+
this.state = ImageState.ERROR;
|
|
1212
|
+
this.changed();
|
|
1213
|
+
this._rejectAll(loadedImages[0].getSrc());
|
|
1214
|
+
return;
|
|
1215
|
+
}
|
|
1216
|
+
this.setImage(image);
|
|
1217
|
+
this.extent = combineExtents(requests.map(function (request) {
|
|
1218
|
+
return request.extent;
|
|
1219
|
+
}));
|
|
1220
|
+
this.resolution = requests[0].resolution;
|
|
1221
|
+
this.changed();
|
|
1222
|
+
var failedImage = loadedImages.find(function (loadedImage) {
|
|
1223
|
+
return loadedImage.hasError();
|
|
1224
|
+
});
|
|
1225
|
+
if (failedImage) {
|
|
1226
|
+
this._rejectAll(failedImage.getSrc());
|
|
1227
|
+
} else {
|
|
1228
|
+
this._resolveAll(loadedImages[0]);
|
|
1229
|
+
}
|
|
1230
|
+
return;
|
|
1231
|
+
}
|
|
987
1232
|
this.state = ImageState.LOADING;
|
|
988
1233
|
this.changed();
|
|
989
|
-
void
|
|
990
|
-
|
|
1234
|
+
void Promise.all(loadedImages.map(/*#__PURE__*/function () {
|
|
1235
|
+
var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(image) {
|
|
1236
|
+
return _regenerator().w(function (_context) {
|
|
1237
|
+
while (1) switch (_context.n) {
|
|
1238
|
+
case 0:
|
|
1239
|
+
return _context.a(2, image.loadAwait());
|
|
1240
|
+
}
|
|
1241
|
+
}, _callee);
|
|
1242
|
+
}));
|
|
1243
|
+
return function (_x) {
|
|
1244
|
+
return _ref2.apply(this, arguments);
|
|
1245
|
+
};
|
|
1246
|
+
}()))["finally"](function () {
|
|
1247
|
+
return _this2.load();
|
|
991
1248
|
});
|
|
992
1249
|
}
|
|
993
1250
|
}, {
|
|
@@ -1017,10 +1274,10 @@ var TimeAwareImageWrapper = /*#__PURE__*/function (_ImageWrapper) {
|
|
|
1017
1274
|
}, {
|
|
1018
1275
|
key: "loadAndResolve",
|
|
1019
1276
|
value: function () {
|
|
1020
|
-
var _loadAndResolve = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function
|
|
1277
|
+
var _loadAndResolve = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(extentToLoad, resolutionToLoad, pixelRatio, projection, getMapUrl, params, layerName, styleName, dimProps) {
|
|
1021
1278
|
var _this3 = this;
|
|
1022
|
-
return _regenerator().w(function (
|
|
1023
|
-
while (1) switch (
|
|
1279
|
+
return _regenerator().w(function (_context2) {
|
|
1280
|
+
while (1) switch (_context2.n) {
|
|
1024
1281
|
case 0:
|
|
1025
1282
|
this._extentToLoad = _toConsumableArray(extentToLoad || []);
|
|
1026
1283
|
this._resolutionToLoad = resolutionToLoad;
|
|
@@ -1031,7 +1288,7 @@ var TimeAwareImageWrapper = /*#__PURE__*/function (_ImageWrapper) {
|
|
|
1031
1288
|
this.projection = projection;
|
|
1032
1289
|
this._styleName = styleName;
|
|
1033
1290
|
this._dimPropsToLoad = _objectSpread2({}, dimProps);
|
|
1034
|
-
return
|
|
1291
|
+
return _context2.a(2, new Promise(function (resolve, reject) {
|
|
1035
1292
|
_this3._resolvers.push({
|
|
1036
1293
|
resolve: resolve,
|
|
1037
1294
|
reject: reject
|
|
@@ -1039,13 +1296,41 @@ var TimeAwareImageWrapper = /*#__PURE__*/function (_ImageWrapper) {
|
|
|
1039
1296
|
_this3.load();
|
|
1040
1297
|
}));
|
|
1041
1298
|
}
|
|
1042
|
-
},
|
|
1299
|
+
}, _callee2, this);
|
|
1043
1300
|
}));
|
|
1044
|
-
function loadAndResolve(
|
|
1301
|
+
function loadAndResolve(_x2, _x3, _x4, _x5, _x6, _x7, _x8, _x9, _x0) {
|
|
1045
1302
|
return _loadAndResolve.apply(this, arguments);
|
|
1046
1303
|
}
|
|
1047
1304
|
return loadAndResolve;
|
|
1048
1305
|
}()
|
|
1306
|
+
}, {
|
|
1307
|
+
key: "getWMSGetMapRequestURLs",
|
|
1308
|
+
value: function getWMSGetMapRequestURLs(extentToLoad, resolutionToLoad, pixelRatio, projection, getMapUrl, params, layerName, styleName, dimProps) {
|
|
1309
|
+
var request = this.getWMSGetMapRequestURL(extentToLoad, resolutionToLoad, pixelRatio, projection, getMapUrl, params, layerName, styleName, dimProps);
|
|
1310
|
+
var worldExtent = projection !== null && projection !== void 0 && projection.canWrapX() ? projection.getExtent() : null;
|
|
1311
|
+
if (!request.src || !worldExtent) {
|
|
1312
|
+
return [request];
|
|
1313
|
+
}
|
|
1314
|
+
var segments = splitExtentAtWorldSeams(request.extent, worldExtent);
|
|
1315
|
+
if (segments.length === 1 && segments[0].requestExtent.every(function (value, index) {
|
|
1316
|
+
return value === request.extent[index];
|
|
1317
|
+
})) {
|
|
1318
|
+
return [request];
|
|
1319
|
+
}
|
|
1320
|
+
var paramsToUse = _objectSpread2({}, params);
|
|
1321
|
+
return segments.map(function (_ref3) {
|
|
1322
|
+
var requestExtent = _ref3.requestExtent,
|
|
1323
|
+
displayExtent = _ref3.displayExtent;
|
|
1324
|
+
return {
|
|
1325
|
+
src: getImageSrc(requestExtent, request.resolution, 1, projection, getMapUrl, getRequestParams(_objectSpread2(_objectSpread2(_objectSpread2({}, paramsToUse), dimProps), {}, {
|
|
1326
|
+
LAYERS: layerName,
|
|
1327
|
+
STYLES: styleName
|
|
1328
|
+
}), 'GetMap'), 'mapserver'),
|
|
1329
|
+
extent: displayExtent,
|
|
1330
|
+
resolution: request.resolution
|
|
1331
|
+
};
|
|
1332
|
+
});
|
|
1333
|
+
}
|
|
1049
1334
|
}]);
|
|
1050
1335
|
}(ImageWrapper);
|
|
1051
1336
|
|
|
@@ -1140,6 +1425,7 @@ var TimeawareImageSource = /*#__PURE__*/function (_ImageSource) {
|
|
|
1140
1425
|
visible = _ref.visible;
|
|
1141
1426
|
_classCallCheck(this, TimeawareImageSource);
|
|
1142
1427
|
_this = _callSuper(this, TimeawareImageSource, [{}]);
|
|
1428
|
+
_this._failedImageRetryTimer = null;
|
|
1143
1429
|
_this._wmsUrl = wmsUrl;
|
|
1144
1430
|
_this._extraWMSParams = _objectSpread2({}, params);
|
|
1145
1431
|
_this._layerName = layerName;
|
|
@@ -1244,8 +1530,7 @@ var TimeawareImageSource = /*#__PURE__*/function (_ImageSource) {
|
|
|
1244
1530
|
cancelled: false,
|
|
1245
1531
|
task: function () {
|
|
1246
1532
|
var _task = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {
|
|
1247
|
-
var
|
|
1248
|
-
var jobWrapper, dimPropsWithTime, _jobWrapper$getWMSGet, src;
|
|
1533
|
+
var jobWrapper, dimPropsWithTime, requests;
|
|
1249
1534
|
return _regenerator().w(function (_context) {
|
|
1250
1535
|
while (1) switch (_context.n) {
|
|
1251
1536
|
case 0:
|
|
@@ -1253,8 +1538,12 @@ var TimeawareImageSource = /*#__PURE__*/function (_ImageSource) {
|
|
|
1253
1538
|
dimPropsWithTime = _objectSpread2(_objectSpread2({}, _this3._dimProperties), {}, {
|
|
1254
1539
|
TIME: dimValue
|
|
1255
1540
|
});
|
|
1256
|
-
|
|
1257
|
-
(
|
|
1541
|
+
requests = jobWrapper.getWMSGetMapRequestURLs(extent, resolution, pixelRatio, projection, _this3._wmsUrl, _this3._extraWMSParams, _this3._layerName, _this3._styleName, dimPropsWithTime);
|
|
1542
|
+
requests.forEach(function (_ref2) {
|
|
1543
|
+
var _openLayersGetMapImag;
|
|
1544
|
+
var src = _ref2.src;
|
|
1545
|
+
(_openLayersGetMapImag = openLayersGetMapImageStore.getImage(src)) === null || _openLayersGetMapImag === void 0 || _openLayersGetMapImag.clearError();
|
|
1546
|
+
});
|
|
1258
1547
|
_context.n = 1;
|
|
1259
1548
|
return jobWrapper.loadAndResolve(extent, resolution, pixelRatio, projection, _this3._wmsUrl, _this3._extraWMSParams, _this3._layerName, _this3._styleName, dimPropsWithTime)["catch"](function (e) {
|
|
1260
1549
|
// Do not log errors, as they are not very useful and can better be inspected via the network console
|
|
@@ -1296,8 +1585,13 @@ var TimeawareImageSource = /*#__PURE__*/function (_ImageSource) {
|
|
|
1296
1585
|
var requestedImageHasWantedExtent = (this._loadedExtent && containsExtent$1(this._loadedExtent, requestExtent) || containsExtent$1(this._imWrapperForOlSource.getExtent(), requestExtent)) && (this._loadedResolution && fromResolutionLike(this._loadedResolution) === requestResolution || fromResolutionLike(this._imWrapperForOlSource.getResolution()) === requestResolution);
|
|
1297
1586
|
var hasExactImage = this._loadedExtent && this._imWrapperForOlSource.hasImage(this._loadedExtent, this._loadedResolution, pixelRatio, projection, this._wmsUrl, this._extraWMSParams, this._layerName, this._styleName, requestDimProperties);
|
|
1298
1587
|
if (hasExactImage && hasExactImage.isLoaded && requestedImageHasWantedExtent) {
|
|
1299
|
-
|
|
1300
|
-
|
|
1588
|
+
if (!hasExactImage.hasError) {
|
|
1589
|
+
this._imWrapperForOlSource.setGeoReferencedImage(hasExactImage);
|
|
1590
|
+
return this._imWrapperForOlSource;
|
|
1591
|
+
}
|
|
1592
|
+
// The image failed to load. Do not display the broken image, but check again later: the image is reloaded once it becomes stale.
|
|
1593
|
+
this._scheduleFailedImageRetry();
|
|
1594
|
+
return this._getAltImageOrEmpty(requestExtent, requestResolution, pixelRatio, projection, requestDimProperties);
|
|
1301
1595
|
}
|
|
1302
1596
|
this._lastRequestedExtent = requestExtent;
|
|
1303
1597
|
this._lastRequestedResolution = requestResolution;
|
|
@@ -1305,7 +1599,12 @@ var TimeawareImageSource = /*#__PURE__*/function (_ImageSource) {
|
|
|
1305
1599
|
this._lastRequestedProjection = projection;
|
|
1306
1600
|
this.throttledImageLoad();
|
|
1307
1601
|
// While we are loading, check if there is an alternative image available
|
|
1308
|
-
|
|
1602
|
+
return this._getAltImageOrEmpty(this._lastRequestedExtent, this._lastRequestedResolution, this._lastRequestedPixelRatio, this._lastRequestedProjection, requestDimProperties);
|
|
1603
|
+
}
|
|
1604
|
+
}, {
|
|
1605
|
+
key: "_getAltImageOrEmpty",
|
|
1606
|
+
value: function _getAltImageOrEmpty(extent, resolution, pixelRatio, projection, dimProperties) {
|
|
1607
|
+
var altImage = this._loadedExtent && this._imWrapperForOlSource.getAlternativeImage(extent, resolution, pixelRatio, projection, this._wmsUrl, this._extraWMSParams, this._layerName, this._styleName, dimProperties);
|
|
1309
1608
|
if (altImage && altImage.isLoaded) {
|
|
1310
1609
|
// A similar image is available for display, show it
|
|
1311
1610
|
this._imWrapperForAltImage.setGeoReferencedImage(altImage);
|
|
@@ -1314,6 +1613,28 @@ var TimeawareImageSource = /*#__PURE__*/function (_ImageSource) {
|
|
|
1314
1613
|
// This thing is has nothing to show yet.
|
|
1315
1614
|
return this._imWrapperEmptyButLoading;
|
|
1316
1615
|
}
|
|
1616
|
+
}, {
|
|
1617
|
+
key: "_scheduleFailedImageRetry",
|
|
1618
|
+
value: function _scheduleFailedImageRetry() {
|
|
1619
|
+
var _this4 = this;
|
|
1620
|
+
if (this._failedImageRetryTimer) {
|
|
1621
|
+
return;
|
|
1622
|
+
}
|
|
1623
|
+
this._failedImageRetryTimer = setTimeout(function () {
|
|
1624
|
+
_this4._failedImageRetryTimer = null;
|
|
1625
|
+
_this4.changed();
|
|
1626
|
+
}, FAILED_IMAGE_RETRY_CHECK_INTERVAL_MS);
|
|
1627
|
+
}
|
|
1628
|
+
}, {
|
|
1629
|
+
key: "disposeInternal",
|
|
1630
|
+
value: function disposeInternal() {
|
|
1631
|
+
if (this._failedImageRetryTimer) {
|
|
1632
|
+
clearTimeout(this._failedImageRetryTimer);
|
|
1633
|
+
this._failedImageRetryTimer = null;
|
|
1634
|
+
}
|
|
1635
|
+
this.cancelPrefetch();
|
|
1636
|
+
_superPropGet(TimeawareImageSource, "disposeInternal", this)([]);
|
|
1637
|
+
}
|
|
1317
1638
|
}, {
|
|
1318
1639
|
key: "setDimProps",
|
|
1319
1640
|
value: function setDimProps(params) {
|
|
@@ -1358,12 +1679,13 @@ var TimeawareImageSource = /*#__PURE__*/function (_ImageSource) {
|
|
|
1358
1679
|
}
|
|
1359
1680
|
var dimPropWithRequestedDate = _objectSpread2({}, this._dimProperties);
|
|
1360
1681
|
dimPropWithRequestedDate['TIME'] = isoTime;
|
|
1361
|
-
var
|
|
1362
|
-
|
|
1363
|
-
|
|
1364
|
-
|
|
1365
|
-
|
|
1366
|
-
|
|
1682
|
+
var requests = this._imWrapperForOlSource.getWMSGetMapRequestURLs(this._lastRequestedExtent, this._lastRequestedResolution, this._lastRequestedPixelRatio, this._lastRequestedProjection, this._wmsUrl, this._extraWMSParams, this._layerName, this._styleName, dimPropWithRequestedDate);
|
|
1683
|
+
return requests.flatMap(function (_ref3) {
|
|
1684
|
+
var src = _ref3.src,
|
|
1685
|
+
extent = _ref3.extent,
|
|
1686
|
+
resolution = _ref3.resolution;
|
|
1687
|
+
return openLayersGetMapImageStore.getAltGeoReferencedImages(src, extent, resolution);
|
|
1688
|
+
});
|
|
1367
1689
|
}
|
|
1368
1690
|
/**
|
|
1369
1691
|
* This function can be used to determine if the animation can proceed to the next step.
|
|
@@ -1727,6 +2049,36 @@ var fetchEDRParameter = /*#__PURE__*/function () {
|
|
|
1727
2049
|
return _ref6.apply(this, arguments);
|
|
1728
2050
|
};
|
|
1729
2051
|
}();
|
|
2052
|
+
var fetchEDRJson = /*#__PURE__*/function () {
|
|
2053
|
+
var _ref7 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee7(url) {
|
|
2054
|
+
var response;
|
|
2055
|
+
return _regenerator().w(function (_context7) {
|
|
2056
|
+
while (1) switch (_context7.n) {
|
|
2057
|
+
case 0:
|
|
2058
|
+
_context7.n = 1;
|
|
2059
|
+
return fetch(withJsonFormat(url));
|
|
2060
|
+
case 1:
|
|
2061
|
+
response = _context7.v;
|
|
2062
|
+
return _context7.a(2, handleResponse(response));
|
|
2063
|
+
}
|
|
2064
|
+
}, _callee7);
|
|
2065
|
+
}));
|
|
2066
|
+
return function fetchEDRJson(_x1) {
|
|
2067
|
+
return _ref7.apply(this, arguments);
|
|
2068
|
+
};
|
|
2069
|
+
}();
|
|
2070
|
+
// EDR labels can be plain strings or language maps (e.g. { en: 'Temperature' }).
|
|
2071
|
+
var normalizeEDRLabel = function normalizeEDRLabel(label, fallback) {
|
|
2072
|
+
if (typeof label === 'string' && label) {
|
|
2073
|
+
return label;
|
|
2074
|
+
}
|
|
2075
|
+
if (label && _typeof(label) === 'object' && 'en' in label) {
|
|
2076
|
+
if (typeof label.en === 'string' && label.en) {
|
|
2077
|
+
return label.en;
|
|
2078
|
+
}
|
|
2079
|
+
}
|
|
2080
|
+
return fallback;
|
|
2081
|
+
};
|
|
1730
2082
|
|
|
1731
2083
|
/* *
|
|
1732
2084
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
@@ -1853,13 +2205,14 @@ var useEDRGetCollectionDetails = function useEDRGetCollectionDetails(edrBaseUrlW
|
|
|
1853
2205
|
return useQuery(webmapEDRQueryOptions.getCollectionDetailsQuery(edrBaseUrlWithCollection, enabled, instanceId));
|
|
1854
2206
|
};
|
|
1855
2207
|
var useEDRGetParameterData = function useEDRGetParameterData(edrBaseUrlWithCollection, parameterName) {
|
|
2208
|
+
var _datetime$length;
|
|
1856
2209
|
var datetime = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';
|
|
1857
2210
|
var instanceId = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '';
|
|
1858
2211
|
var _useEDRGetCollectionD = useEDRGetCollectionDetails(edrBaseUrlWithCollection, instanceId),
|
|
1859
2212
|
collection = _useEDRGetCollectionD.data;
|
|
1860
2213
|
return useQuery({
|
|
1861
2214
|
staleTime: DEFAULT_STALE_TIME$1,
|
|
1862
|
-
queryKey: generateWebmapQueryKeys(['get-parameter-data', edrBaseUrlWithCollection, instanceId, parameterName, datetime]),
|
|
2215
|
+
queryKey: generateWebmapQueryKeys(['get-parameter-data', edrBaseUrlWithCollection, instanceId, parameterName, datetime !== null && datetime !== void 0 ? datetime : '']),
|
|
1863
2216
|
queryFn: function () {
|
|
1864
2217
|
var _queryFn2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2() {
|
|
1865
2218
|
var data;
|
|
@@ -1867,7 +2220,7 @@ var useEDRGetParameterData = function useEDRGetParameterData(edrBaseUrlWithColle
|
|
|
1867
2220
|
while (1) switch (_context2.n) {
|
|
1868
2221
|
case 0:
|
|
1869
2222
|
_context2.n = 1;
|
|
1870
|
-
return fetchEDRParameter(collection, edrBaseUrlWithCollection, parameterName, datetime, instanceId);
|
|
2223
|
+
return fetchEDRParameter(collection, edrBaseUrlWithCollection, parameterName, datetime !== null && datetime !== void 0 ? datetime : '', instanceId);
|
|
1871
2224
|
case 1:
|
|
1872
2225
|
data = _context2.v;
|
|
1873
2226
|
return _context2.a(2, coverageCollectionToFeatureCollection(data, parameterName));
|
|
@@ -1879,7 +2232,7 @@ var useEDRGetParameterData = function useEDRGetParameterData(edrBaseUrlWithColle
|
|
|
1879
2232
|
}
|
|
1880
2233
|
return queryFn;
|
|
1881
2234
|
}(),
|
|
1882
|
-
enabled: collection !== undefined && parameterName.length > 0 && datetime.length > 0
|
|
2235
|
+
enabled: collection !== undefined && parameterName.length > 0 && ((_datetime$length = datetime === null || datetime === void 0 ? void 0 : datetime.length) !== null && _datetime$length !== void 0 ? _datetime$length : 0) > 0
|
|
1883
2236
|
});
|
|
1884
2237
|
};
|
|
1885
2238
|
|
|
@@ -3464,7 +3817,7 @@ var getDimensionsList = function getDimensionsList(dimensions) {
|
|
|
3464
3817
|
};
|
|
3465
3818
|
|
|
3466
3819
|
var LayerInfoDialog = function LayerInfoDialog(_ref) {
|
|
3467
|
-
var _layer$styles, _layer$styles2, _layer$path, _layer$keywords;
|
|
3820
|
+
var _layer$styles, _layer$styles2, _edrParameterMetadata, _edrParameterMetadata2, _edrParameterMetadata3, _layer$path, _layer$keywords;
|
|
3468
3821
|
var onClose = _ref.onClose,
|
|
3469
3822
|
layer = _ref.layer,
|
|
3470
3823
|
serviceName = _ref.serviceName,
|
|
@@ -3484,7 +3837,8 @@ var LayerInfoDialog = function LayerInfoDialog(_ref) {
|
|
|
3484
3837
|
} : _ref$startPosition,
|
|
3485
3838
|
selectedStyle = _ref.selectedStyle,
|
|
3486
3839
|
showLayerLegend = _ref.showLayerLegend,
|
|
3487
|
-
onToggleLayerLegendVisibility = _ref.onToggleLayerLegendVisibility
|
|
3840
|
+
onToggleLayerLegendVisibility = _ref.onToggleLayerLegendVisibility,
|
|
3841
|
+
edrParameterMetadata = _ref.edrParameterMetadata;
|
|
3488
3842
|
var styles = getLayerStyles(layer);
|
|
3489
3843
|
var dimensions = getDimensionsList(layer.dimensions);
|
|
3490
3844
|
var _useWebmapReactTransl = useWebmapReactTranslation(),
|
|
@@ -3517,6 +3871,17 @@ var LayerInfoDialog = function LayerInfoDialog(_ref) {
|
|
|
3517
3871
|
}), jsx(LayerInfoText, {
|
|
3518
3872
|
label: t('webmap-react-name'),
|
|
3519
3873
|
value: layer.name
|
|
3874
|
+
}), !!edrParameterMetadata && jsxs(Fragment, {
|
|
3875
|
+
children: [jsx(LayerInfoText, {
|
|
3876
|
+
label: "EDR parameter",
|
|
3877
|
+
value: edrParameterMetadata.id || layer.name
|
|
3878
|
+
}), jsx(LayerInfoText, {
|
|
3879
|
+
label: "Observed property",
|
|
3880
|
+
value: ((_edrParameterMetadata = edrParameterMetadata.observedProperty) === null || _edrParameterMetadata === void 0 ? void 0 : _edrParameterMetadata.label) || '-'
|
|
3881
|
+
}), jsx(LayerInfoText, {
|
|
3882
|
+
label: "Unit",
|
|
3883
|
+
value: ((_edrParameterMetadata2 = edrParameterMetadata.unit) === null || _edrParameterMetadata2 === void 0 || (_edrParameterMetadata2 = _edrParameterMetadata2.symbol) === null || _edrParameterMetadata2 === void 0 ? void 0 : _edrParameterMetadata2.value) || ((_edrParameterMetadata3 = edrParameterMetadata.unit) === null || _edrParameterMetadata3 === void 0 ? void 0 : _edrParameterMetadata3.label) || '-'
|
|
3884
|
+
})]
|
|
3520
3885
|
}), jsx(LayerInfoText, {
|
|
3521
3886
|
label: t('webmap-react-service'),
|
|
3522
3887
|
value: serviceName
|
|
@@ -6982,11 +7347,12 @@ var TimeawareImageSourceWMSLayer = function TimeawareImageSourceWMSLayer(_ref) {
|
|
|
6982
7347
|
// Assign olSource in wmlayer for metronome
|
|
6983
7348
|
wmLayer.olSource = olLayer === null || olLayer === void 0 ? void 0 : olLayer.getSource();
|
|
6984
7349
|
return function () {
|
|
6985
|
-
var
|
|
6986
|
-
|
|
7350
|
+
var olSource = olLayer.getSource();
|
|
7351
|
+
olSource === null || olSource === void 0 || olSource.cancelPrefetch();
|
|
6987
7352
|
wmLayer.olSource = null;
|
|
6988
7353
|
map.removeLayer(olLayer);
|
|
6989
7354
|
olLayer.dispose();
|
|
7355
|
+
olSource === null || olSource === void 0 || olSource.dispose();
|
|
6990
7356
|
};
|
|
6991
7357
|
// The dependency list should only contain the map, wmLayer, visible and dimensionValues. Other prop changes are handled by other effects.
|
|
6992
7358
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
@@ -11528,8 +11894,9 @@ var OpenLayersMapDraw = function OpenLayersMapDraw(_ref) {
|
|
|
11528
11894
|
}
|
|
11529
11895
|
// Transform back to orig
|
|
11530
11896
|
var splitResultAsGeoJson = geojsonFormatter.writeFeaturesObject(geojsonFormatterNoTransform.readFeatures(splitResult));
|
|
11531
|
-
//
|
|
11532
|
-
|
|
11897
|
+
// Round like updateFeature does, so a later edit of one part does not
|
|
11898
|
+
// move the shared edge away from the other part.
|
|
11899
|
+
var splitFeatures = keepIdentityOnFirstSplitFeature(splitResultAsGeoJson.features.map(roundFeatureCoordinates), selectedFeature);
|
|
11533
11900
|
// Assemble the result.
|
|
11534
11901
|
var newGeoJson = _objectSpread2(_objectSpread2({}, geojson), {}, {
|
|
11535
11902
|
features: [].concat(_toConsumableArray(geojson.features.slice(0, selectedFeatureIndex)), _toConsumableArray(splitFeatures), _toConsumableArray(geojson.features.slice(selectedFeatureIndex + 1)))
|
|
@@ -14470,4 +14837,4 @@ var getLayerUpdateInfo = function getLayerUpdateInfo(wmLayer, mapId) {
|
|
|
14470
14837
|
return updateObject;
|
|
14471
14838
|
};
|
|
14472
14839
|
|
|
14473
|
-
export { BaseLayerType, CLASSNAME_MAP_MEASURE_TOOLTIP, CONSTRAINED_SELECTION_TYPES, COORDINATE_DECIMALS, ClickOnMapTool, Clock, DEFAULT_GEOJSON_STYLE_FILL_OPACITY, DRAWMODE, DefaultBaseLayers, DimensionSelectButton, DimensionSelectDialog, DimensionSelectSlider, EditModeButton as EditModeButtonField, FEATURE_DRAW_FILL_COLOR, FEATURE_DRAW_FILL_COLOR_TRANSPARENT, FEATURE_DRAW_SECONDARY_FILL_COLOR, FEATURE_DRAW_SECONDARY_STROKE_COLOR, FEATURE_DRAW_STROKE_COLOR, FEATURE_FILL, FEATURE_FILL_SELECTED, FEATURE_STROKE, FEATURE_STROKE_EDIT, FEATURE_STROKE_SELECTED, FEATURE_VERTICES_EDIT_HANDLES, FEATURE_VERTICE_HANDLE_IMAGE, FEATURE_VERTICE_IMAGE, FeatureLayer, FeatureLayers, GeoJSONTextField, IntersectionSelect, LayerInfoButton, LayerInfoDialog, LayerInfoLegend, LayerInfoList, LayerInfoText, Legend, LegendButton, LegendDialog, LegendLayout, MIN_HEIGHT, MIN_WIDTH, MapContext, MapControlButton, MapControls, MapDimensionSelect, MapFeatureClass, MapMeasure, MapTime, MapWarningProperties, NEW_FEATURE_CREATED, NEW_LINESTRING_CREATED, NEW_POINT_CREATED, OpenLayersFeatureLayer, OpenLayersGetFeatureInfo, OpenLayersLayer, OpenLayersMapDraw, OpenLayersMapView, OpenLayersZoomControl, POINTER_CLICK_TOLERANCE_PX, SELECTED_FEATURE_COLOR, SELECTED_POINT_HALO_STYLE, STAC_ASSET_STYLE_PREFIX, STAC_ITEM_PAGE_LIMIT, STAC_ITEM_SEARCH_FIELDS_CONFORMANCE, STAC_TEMPORAL_STEP_SAMPLE_LIMIT, SelectField, StoryLayoutGrid, TRANSIENT_FEATURE_PROPERTIES, TimeAwareEDRLocationLayer, TimeAwareGeoTIFFLayer, TimeAwareWMTSLayer, TimeContext, TimeawareImageSource, TimeawareImageSourceWMSLayer, WEBMAP_REACT_NAMESPACE, WMSLayer, WMTSLayer, XYZLayer, ZoomControls, addFeatureProperties, addGeoJSONProperties, addSelectionTypeToGeoJSON, asNewFeature, basicExampleDrawOptions, basicExampleMultipleShapeDrawOptions, basicExampleMultipleShapeWithValuesDrawOptions, basicExampleSharedVertexDrawOptions, calculateBoxSelection, calculateNewSelection, catmullRomSpline, clearImageCacheForAllMaps, colorMaps, connectSharedVertices, createBoxBasedOnModifiedVertex, createIconStyle, createInterSections, createModifyFeatures, createMoveFeatures, createOval, currentlySupportedDrawModes, defaultBox, defaultCircle, defaultDelete, defaultEdrStyles, defaultFreehandLine, defaultGeoJSONStyleProperties, defaultIntersectionStyleProperties, defaultLayers, defaultLineString, defaultLocation, defaultModes, defaultOval, defaultPoint, defaultPolygon, defaultRotatableBox, defaultSmoothLine, defaultSplit, defaultSquare, defaultTimeFormat, dimensionConfig, drawPolyStoryStyles, drawStyles, emptyGeoJSON, endToolExampleConfig, exampleIntersectionOptions, exampleIntersectionWithShapeOptions, exampleIntersections, exampleIntersectionsMultiDrawTool, featureMultiPoint, featurePoint, featurePolygon, fetchStacCatalogCollections, fetchStacCatalogRoot, fetchStacCollection, fetchStacItem, fetchStacItems, fetchStacItemsPage, fetchStacItemsWithPagination, fillOptions, firSelectionType, formatTime, generateImageFromLegend, genericOpenLayersFeatureStyle, geowebColorToOpenLayersColor, getAffectedIndices, getBoxRotateHandlePoints, getBoxSelectPreviewStyle, getDimensionIcon, getDimensionLabel, getDimensionValue, getDimensionsList, getDoubleControlToolIcon, getDrawModeIdFromSelectionType, getFeatureCollection, getFeatureExtent, getFeaturePointStyle, getFirTitle, getGeoJSONPropertyValue, getGeoJson, getIcon, getIntersectionToolIcon, getIsInsideAcceptanceTime, getLastEmptyFeatureIndex, getLayerBbox, getLayerExtentForProjection, getLayerStyles, getLayerUpdateInfo, getLegendClass, getOlFeatureKey, getProj4, getRendersAsStyles, getStacAssetKeyFromStyle, getStacAssetStyles, getStacCollectionStyles, getStacFrameItemsToRender, getStacItemLookupWindowForTimes, getStacItemSearchUrl, getStacItemsUrl, getTimeDimension, getToolIcon, hasEditableVertices, initializeOpenLayersProjections, inlineFeatureStyle, intersectPointGeoJSONS, intersectPolygonGeoJSONS, intersectionFeatureBE, intersectionFeatureNL, isBrowserReadableGeoTIFFAsset, isClickFromDrag, isDefaultModifiable, isDefaultMovable, isGeoJSONFeatureCreatedByTool, isGeoJSONGeometryEmpty, isGeoTIFFAsset, isPointFeatureCollection, keepIdentityOnFirstSplitFeature, labelOptions, lineString, lineStringCollection, makeFeatureStyleDisc, makeFeatureStyleLoading, makeFeatureStyleMultiParam, makeFeatureStyleMultiParamLoading, makeFeatureStyleWind, makeLegendFromColorMap, makeLegendFromStyleName, makeTimeList, makeView, marksByDimension, measureResultStyle, measureToolStyle, modifyHandleStyle$1 as modifyHandleStyle, modifyStyles, moveFeature, multiLineStringLabelStyle, multiPolygonLabelStyle, opacityOptions, openLayersGetMapImageStore, polygonCleanDangling, polygonCleanDanglingCoords, polygonFeatureCollectionCleanDangling, precipitationMMLegendColorsWoW, projectorCache, publicLayers, publicServices, removeFeatureProperties, removeOverlappingLines, removeTransientFeatureProperties, resolvePreferredStyleName$1 as resolvePreferredStyleName, resolveStacAssetKey, rewindGeometry, roundCoordinates, roundFeatureCoordinates, selectPreferredWMSProjection, setMapCenter, setViewFromExtent, setViewFromFeature, shouldEnterEditMode, shouldExitEditModeForMultiSelect, simpleBoxGeoJSON, simpleBoxGeoJSONWrongOrder, simpleFlightRouteLineStringGeoJSON, simpleFlightRoutePointsGeoJSON, simpleGeometryCollectionGeoJSON, simpleLineStringGeoJSON, simpleMultiPolygon, simplePointsGeojson, simplePolygonGeoJSON, simpleSmallLineStringGeoJSON, splitLine, splitPolygon, splitStyle, stacCatalogCollectionToLayerProps, stacColormapToOlStyle, stacGrayscaleOlStyle, stacNormalizedGrayscaleOlStyle, startToolExampleConfig, strokeWidthOptions, styleNameToStyleLike, temperatureLegendColorsCWK, temperatureLegendColorsWoW, textLabelStyle, textStyle, textStyleWithMargin, toMovedFeatures, updateEditModeButtonsWithFir, useAnimationForLayer, useEDRGetCollectionDetails, useEDRGetParameterData, useEDRWMLayer, useGeoJSON, useGetWMLayerInstance, useGetWMSLayerStyleList, useIconStyle, useMapDrawTool, useModifyFeatures, useMoveFeatures, useProjection, useQueryGetWMSGetCapabilities, useQueryGetWMSLayer, useQueryGetWMSLayers, useQueryGetWMSLayersTree, useQueryGetWMSServiceInfo, useQueryWMTSGetCapabilities, useSetIntervalWhenVisible, useStacCatalogRoot, useStacCollection, useStacItems, useStacOverviewItems, useStacTemporalStepItems, useViewFromLayer, viewUtils, webmapEDRQueryOptions, webmapReactTranslations };
|
|
14840
|
+
export { BaseLayerType, CLASSNAME_MAP_MEASURE_TOOLTIP, CONSTRAINED_SELECTION_TYPES, COORDINATE_DECIMALS, ClickOnMapTool, Clock, DEFAULT_GEOJSON_STYLE_FILL_OPACITY, DRAWMODE, DefaultBaseLayers, DimensionSelectButton, DimensionSelectDialog, DimensionSelectSlider, EditModeButton as EditModeButtonField, FEATURE_DRAW_FILL_COLOR, FEATURE_DRAW_FILL_COLOR_TRANSPARENT, FEATURE_DRAW_SECONDARY_FILL_COLOR, FEATURE_DRAW_SECONDARY_STROKE_COLOR, FEATURE_DRAW_STROKE_COLOR, FEATURE_FILL, FEATURE_FILL_SELECTED, FEATURE_STROKE, FEATURE_STROKE_EDIT, FEATURE_STROKE_SELECTED, FEATURE_VERTICES_EDIT_HANDLES, FEATURE_VERTICE_HANDLE_IMAGE, FEATURE_VERTICE_IMAGE, FeatureLayer, FeatureLayers, GeoJSONTextField, IntersectionSelect, LayerInfoButton, LayerInfoDialog, LayerInfoLegend, LayerInfoList, LayerInfoText, Legend, LegendButton, LegendDialog, LegendLayout, MIN_HEIGHT, MIN_WIDTH, MapContext, MapControlButton, MapControls, MapDimensionSelect, MapFeatureClass, MapMeasure, MapTime, MapWarningProperties, NEW_FEATURE_CREATED, NEW_LINESTRING_CREATED, NEW_POINT_CREATED, OpenLayersFeatureLayer, OpenLayersGetFeatureInfo, OpenLayersLayer, OpenLayersMapDraw, OpenLayersMapView, OpenLayersZoomControl, POINTER_CLICK_TOLERANCE_PX, SELECTED_FEATURE_COLOR, SELECTED_POINT_HALO_STYLE, STAC_ASSET_STYLE_PREFIX, STAC_ITEM_PAGE_LIMIT, STAC_ITEM_SEARCH_FIELDS_CONFORMANCE, STAC_TEMPORAL_STEP_SAMPLE_LIMIT, SelectField, StoryLayoutGrid, TRANSIENT_FEATURE_PROPERTIES, TimeAwareEDRLocationLayer, TimeAwareGeoTIFFLayer, TimeAwareWMTSLayer, TimeContext, TimeawareImageSource, TimeawareImageSourceWMSLayer, WEBMAP_REACT_NAMESPACE, WMSLayer, WMTSLayer, XYZLayer, ZoomControls, addFeatureProperties, addGeoJSONProperties, addSelectionTypeToGeoJSON, asNewFeature, basicExampleDrawOptions, basicExampleMultipleShapeDrawOptions, basicExampleMultipleShapeWithValuesDrawOptions, basicExampleSharedVertexDrawOptions, calculateBoxSelection, calculateNewSelection, catmullRomSpline, clearImageCacheForAllMaps, colorMaps, connectSharedVertices, createBoxBasedOnModifiedVertex, createIconStyle, createInterSections, createModifyFeatures, createMoveFeatures, createOval, currentlySupportedDrawModes, defaultBox, defaultCircle, defaultDelete, defaultEdrStyles, defaultFreehandLine, defaultGeoJSONStyleProperties, defaultIntersectionStyleProperties, defaultLayers, defaultLineString, defaultLocation, defaultModes, defaultOval, defaultPoint, defaultPolygon, defaultRotatableBox, defaultSmoothLine, defaultSplit, defaultSquare, defaultTimeFormat, dimensionConfig, drawPolyStoryStyles, drawStyles, emptyGeoJSON, endToolExampleConfig, exampleIntersectionOptions, exampleIntersectionWithShapeOptions, exampleIntersections, exampleIntersectionsMultiDrawTool, featureMultiPoint, featurePoint, featurePolygon, fetchEDRArea, fetchEDRCollectionDetails, fetchEDRCube, fetchEDRJson, fetchEDRParameter, fetchStacCatalogCollections, fetchStacCatalogRoot, fetchStacCollection, fetchStacItem, fetchStacItems, fetchStacItemsPage, fetchStacItemsWithPagination, fillOptions, firSelectionType, formatTime, generateImageFromLegend, genericOpenLayersFeatureStyle, geowebColorToOpenLayersColor, getAffectedIndices, getBoxRotateHandlePoints, getBoxSelectPreviewStyle, getDimensionIcon, getDimensionLabel, getDimensionValue, getDimensionsList, getDoubleControlToolIcon, getDrawModeIdFromSelectionType, getFeatureCollection, getFeatureExtent, getFeaturePointStyle, getFirTitle, getGeoJSONPropertyValue, getGeoJson, getIcon, getIntersectionToolIcon, getIsInsideAcceptanceTime, getLastEmptyFeatureIndex, getLayerBbox, getLayerExtentForProjection, getLayerStyles, getLayerUpdateInfo, getLegendClass, getOlFeatureKey, getProj4, getRendersAsStyles, getStacAssetKeyFromStyle, getStacAssetStyles, getStacCollectionStyles, getStacFrameItemsToRender, getStacItemLookupWindowForTimes, getStacItemSearchUrl, getStacItemsUrl, getTimeDimension, getToolIcon, handleResponse, hasEditableVertices, initializeOpenLayersProjections, inlineFeatureStyle, intersectPointGeoJSONS, intersectPolygonGeoJSONS, intersectionFeatureBE, intersectionFeatureNL, isBrowserReadableGeoTIFFAsset, isClickFromDrag, isDefaultModifiable, isDefaultMovable, isGeoJSONFeatureCreatedByTool, isGeoJSONGeometryEmpty, isGeoTIFFAsset, isPointFeatureCollection, joinUrlParams, keepIdentityOnFirstSplitFeature, labelOptions, lineString, lineStringCollection, makeFeatureStyleDisc, makeFeatureStyleLoading, makeFeatureStyleMultiParam, makeFeatureStyleMultiParamLoading, makeFeatureStyleWind, makeLegendFromColorMap, makeLegendFromStyleName, makeTimeList, makeView, marksByDimension, measureResultStyle, measureToolStyle, modifyHandleStyle$1 as modifyHandleStyle, modifyStyles, moveFeature, multiLineStringLabelStyle, multiPolygonLabelStyle, normalizeEDRLabel, opacityOptions, openLayersGetMapImageStore, polygonCleanDangling, polygonCleanDanglingCoords, polygonFeatureCollectionCleanDangling, precipitationMMLegendColorsWoW, projectorCache, publicLayers, publicServices, removeFeatureProperties, removeOverlappingLines, removeTransientFeatureProperties, resolvePreferredStyleName$1 as resolvePreferredStyleName, resolveStacAssetKey, rewindGeometry, roundCoordinates, roundFeatureCoordinates, selectPreferredWMSProjection, setMapCenter, setViewFromExtent, setViewFromFeature, shouldEnterEditMode, shouldExitEditModeForMultiSelect, simpleBoxGeoJSON, simpleBoxGeoJSONWrongOrder, simpleFlightRouteLineStringGeoJSON, simpleFlightRoutePointsGeoJSON, simpleGeometryCollectionGeoJSON, simpleLineStringGeoJSON, simpleMultiPolygon, simplePointsGeojson, simplePolygonGeoJSON, simpleSmallLineStringGeoJSON, splitLine, splitPolygon, splitStyle, stacCatalogCollectionToLayerProps, stacColormapToOlStyle, stacGrayscaleOlStyle, stacNormalizedGrayscaleOlStyle, startToolExampleConfig, strokeWidthOptions, styleNameToStyleLike, temperatureLegendColorsCWK, temperatureLegendColorsWoW, textLabelStyle, textStyle, textStyleWithMargin, toMovedFeatures, updateEditModeButtonsWithFir, useAnimationForLayer, useEDRGetCollectionDetails, useEDRGetParameterData, useEDRWMLayer, useGeoJSON, useGetWMLayerInstance, useGetWMSLayerStyleList, useIconStyle, useMapDrawTool, useModifyFeatures, useMoveFeatures, useProjection, useQueryGetWMSGetCapabilities, useQueryGetWMSLayer, useQueryGetWMSLayers, useQueryGetWMSLayersTree, useQueryGetWMSServiceInfo, useQueryWMTSGetCapabilities, useSetIntervalWhenVisible, useStacCatalogRoot, useStacCollection, useStacItems, useStacOverviewItems, useStacTemporalStepItems, useViewFromLayer, viewUtils, webmapEDRQueryOptions, webmapReactTranslations };
|
|
@@ -14,5 +14,19 @@ export interface LayerInfoDialogProps {
|
|
|
14
14
|
selectedStyle?: string;
|
|
15
15
|
showLayerLegend: boolean;
|
|
16
16
|
onToggleLayerLegendVisibility: (showLegend: boolean) => void;
|
|
17
|
+
edrParameterMetadata?: {
|
|
18
|
+
id?: string;
|
|
19
|
+
label?: string;
|
|
20
|
+
description?: string;
|
|
21
|
+
observedProperty?: {
|
|
22
|
+
label?: string;
|
|
23
|
+
};
|
|
24
|
+
unit?: {
|
|
25
|
+
label?: string;
|
|
26
|
+
symbol?: {
|
|
27
|
+
value?: string;
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
};
|
|
17
31
|
}
|
|
18
32
|
export declare const LayerInfoDialog: React.FC<LayerInfoDialogProps>;
|
|
@@ -11,7 +11,7 @@ interface TimeAwareGeoreferencedImageSrc {
|
|
|
11
11
|
resolution: number;
|
|
12
12
|
}
|
|
13
13
|
interface TimeAwareGeoreferencedImage {
|
|
14
|
-
el: HTMLImageElement;
|
|
14
|
+
el: HTMLImageElement | HTMLCanvasElement;
|
|
15
15
|
extent: Extent;
|
|
16
16
|
resolution: number;
|
|
17
17
|
isLoaded: boolean;
|
|
@@ -19,6 +19,7 @@ interface TimeAwareGeoreferencedImage {
|
|
|
19
19
|
isLoadedWithoutErrors: boolean;
|
|
20
20
|
isLoading: boolean;
|
|
21
21
|
}
|
|
22
|
+
type TimeAwareGeoreferencedImageRequest = TimeAwareGeoreferencedImageSrc;
|
|
22
23
|
declare class TimeAwareImageWrapper extends ImageWrapper {
|
|
23
24
|
private _extentToLoad;
|
|
24
25
|
private _resolutionToLoad;
|
|
@@ -30,15 +31,19 @@ declare class TimeAwareImageWrapper extends ImageWrapper {
|
|
|
30
31
|
private _resolvers;
|
|
31
32
|
private _styleName;
|
|
32
33
|
private _layerName;
|
|
34
|
+
private _compositeImageKey;
|
|
35
|
+
private _compositeImage;
|
|
33
36
|
constructor(extent: Extent, resolution: number, pixelRatio: number);
|
|
34
37
|
getWMSGetMapRequestURL(extentToLoad: Extent, resolutionToLoad: number, __pixelRatio: number, projection: Projection | null, getMapUrl: string | null, params: Record<string, string>, layerName: string | null, styleName: string, dimProps: Record<string, string>): TimeAwareGeoreferencedImageSrc;
|
|
35
38
|
getAlternativeImage(extent: Extent, resolution: number, pixelRatio: number, projection: Projection, getMapUrl: string, params: Record<string, string>, layerName: string, styleName: string, dimsProps: Record<string, string>): TimeAwareGeoreferencedImage | false;
|
|
36
39
|
hasImage(extent: Extent, resolution: number, pixelRatio: number, projection: Projection, getMapUrl: string, params: Record<string, string>, layerName: string, styleName: string, dimsProps: Record<string, string>): TimeAwareGeoreferencedImage | false;
|
|
40
|
+
private createCompositeImage;
|
|
37
41
|
setGeoReferencedImage(image: TimeAwareGeoreferencedImage): void;
|
|
38
42
|
load(): void;
|
|
39
43
|
setState(state: number): void;
|
|
40
44
|
private _rejectAll;
|
|
41
45
|
private _resolveAll;
|
|
42
46
|
loadAndResolve(extentToLoad: Extent, resolutionToLoad: number, pixelRatio: number, projection: Projection, getMapUrl: string, params: Record<string, string>, layerName: string, styleName: string, dimProps: Record<string, string>): Promise<WMImage>;
|
|
47
|
+
getWMSGetMapRequestURLs(extentToLoad: Extent, resolutionToLoad: number, pixelRatio: number, projection: Projection | null, getMapUrl: string | null, params: Record<string, string>, layerName: string | null, styleName: string, dimProps: Record<string, string>): TimeAwareGeoreferencedImageRequest[];
|
|
43
48
|
}
|
|
44
49
|
export default TimeAwareImageWrapper;
|
|
@@ -38,6 +38,7 @@ export declare class TimeawareImageSource extends ImageSource {
|
|
|
38
38
|
private throttledPrefetch;
|
|
39
39
|
private throttledImageLoad;
|
|
40
40
|
private _layerId;
|
|
41
|
+
private _failedImageRetryTimer;
|
|
41
42
|
constructor({ wmsUrl, timeStampsToPrefetch, layerName, layerId, styleName, dimProps, params, visible, }: TimeawareImageSourceOptions);
|
|
42
43
|
private _conditionalPrefetch;
|
|
43
44
|
private _loadImagery;
|
|
@@ -45,6 +46,9 @@ export declare class TimeawareImageSource extends ImageSource {
|
|
|
45
46
|
triggerPrefetch(): void;
|
|
46
47
|
cancelPrefetch(): void;
|
|
47
48
|
getImage(extent: Extent, resolution: number, pixelRatio: number, projection: Projection): ImageWrapper;
|
|
49
|
+
private _getAltImageOrEmpty;
|
|
50
|
+
private _scheduleFailedImageRetry;
|
|
51
|
+
disposeInternal(): void;
|
|
48
52
|
setDimProps(params: Record<string, string>): void;
|
|
49
53
|
/**
|
|
50
54
|
* Check if an image is available and loaded for requested date. Used for showlayerinfo to proceed.
|
|
@@ -5,4 +5,5 @@ export declare const ENABLE_PREFETCH = true;
|
|
|
5
5
|
export declare const ADD_SHOW_DIMS_OPTION = false;
|
|
6
6
|
export declare const NUM_IMAGES_TO_CACHE = 10000;
|
|
7
7
|
export declare const WMS_EXTENT_RATIO_TO_VIEWPORT = 1.2;
|
|
8
|
+
export declare const FAILED_IMAGE_RETRY_CHECK_INTERVAL_MS = 10000;
|
|
8
9
|
export declare const TIMEAWAREIMAGEWRAPPER_IMAGEDIDNOTLOADSUCCESFULLY = "Image did not load succesfully";
|
|
@@ -5,3 +5,5 @@ export declare const fetchEDRCollectionDetails: (edrBaseUrlWithCollection: strin
|
|
|
5
5
|
export declare const fetchEDRCube: (edrBaseUrlWithCollection: string, parameterName: string, datetime?: string, instanceId?: string, bbox?: string) => Promise<CoverageCollection<PointDomain | PointSeriesDomain> | Coverage<PointDomain | PointSeriesDomain>>;
|
|
6
6
|
export declare const fetchEDRArea: (edrBaseUrlWithCollection: string, parameterName: string, datetime?: string, instanceId?: string, coords?: string) => Promise<CoverageCollection<PointDomain | PointSeriesDomain> | Coverage<PointDomain | PointSeriesDomain>>;
|
|
7
7
|
export declare const fetchEDRParameter: (collection: EDRInstance | undefined, edrBaseUrlWithCollection: string, parameterName: string, datetime?: string, instanceId?: string) => Promise<CoverageCollection<PointDomain | PointSeriesDomain> | Coverage<PointDomain | PointSeriesDomain> | undefined>;
|
|
8
|
+
export declare const fetchEDRJson: <T>(url: string) => Promise<T>;
|
|
9
|
+
export declare const normalizeEDRLabel: (label: unknown, fallback: string) => string;
|
|
@@ -11,4 +11,4 @@ export declare const webmapEDRQueryOptions: {
|
|
|
11
11
|
};
|
|
12
12
|
};
|
|
13
13
|
export declare const useEDRGetCollectionDetails: (edrBaseUrlWithCollection: string, instanceId?: string, enabled?: boolean) => UseQueryResult<EDRInstance>;
|
|
14
|
-
export declare const useEDRGetParameterData: (edrBaseUrlWithCollection: string, parameterName: string, datetime?: string, instanceId?: string) => UseQueryResult<GeoJSON.FeatureCollection | undefined>;
|
|
14
|
+
export declare const useEDRGetParameterData: (edrBaseUrlWithCollection: string, parameterName: string, datetime?: string | null, instanceId?: string) => UseQueryResult<GeoJSON.FeatureCollection | undefined>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@opengeoweb/webmap-react",
|
|
3
|
-
"version": "20.0
|
|
3
|
+
"version": "20.1.0",
|
|
4
4
|
"description": "GeoWeb react wrapper for webmap",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"repository": {
|
|
@@ -20,9 +20,9 @@
|
|
|
20
20
|
}
|
|
21
21
|
},
|
|
22
22
|
"dependencies": {
|
|
23
|
-
"@opengeoweb/webmap": "20.0
|
|
24
|
-
"@opengeoweb/theme": "20.0
|
|
25
|
-
"@opengeoweb/shared": "20.0
|
|
23
|
+
"@opengeoweb/webmap": "20.1.0",
|
|
24
|
+
"@opengeoweb/theme": "20.1.0",
|
|
25
|
+
"@opengeoweb/shared": "20.1.0",
|
|
26
26
|
"lodash": "^4.18.1",
|
|
27
27
|
"ol": "^10.4.0",
|
|
28
28
|
"proj4": "^2.9.2",
|