@opengeoweb/webmap 9.25.3 → 9.27.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 +215 -567
- package/package.json +3 -2
- package/src/lib/components/WMConstants.d.ts +1 -16
- package/src/lib/components/WMTileRenderer.d.ts +2 -1
- package/src/lib/components/index.d.ts +1 -2
- package/src/lib/index.d.ts +3 -0
- package/src/lib/utils/consoleErrorMessages.d.ts +11 -0
- package/src/lib/utils/i18n.d.ts +2 -0
- package/src/lib/utils/tilesettings.d.ts +2 -14
- package/src/lib/utils/I18n/lang.en.d.ts +0 -387
- package/src/lib/utils/I18n/lang.nl.d.ts +0 -387
package/index.esm.js
CHANGED
|
@@ -1,7 +1,44 @@
|
|
|
1
1
|
import { compact, range, isEqual } from 'lodash';
|
|
2
|
-
import { dateUtils, defaultDelay as defaultDelay$1 } from '@opengeoweb/shared';
|
|
2
|
+
import { PROJECTION, dateUtils, defaultDelay as defaultDelay$1 } from '@opengeoweb/shared';
|
|
3
3
|
import { debounce, throttle } from 'throttle-debounce';
|
|
4
4
|
import proj4 from 'proj4';
|
|
5
|
+
import i18n from 'i18next';
|
|
6
|
+
|
|
7
|
+
var en = {
|
|
8
|
+
"map-projection": "Map projection",
|
|
9
|
+
"hold-shift-to-zoom": "Hold SHIFT to zoom",
|
|
10
|
+
"layer-failed-to-load": "Layer failed to load.",
|
|
11
|
+
"layer-failed-to-load-message": "Layer with title \"{{title}}\" failed to load{{message}}",
|
|
12
|
+
"time-too-early": "Time too early",
|
|
13
|
+
"time-too-late": "Time too late",
|
|
14
|
+
"time-outside-range": "Time outside range"
|
|
15
|
+
};
|
|
16
|
+
var fi = {
|
|
17
|
+
"map-projection": "Karttaprojektio",
|
|
18
|
+
"hold-shift-to-zoom": "Zoomaa SHIFT painettuna",
|
|
19
|
+
"layer-failed-to-load": "Tason lataus epäonnistui",
|
|
20
|
+
"layer-failed-to-load-message": "Tason \"{{title}}\" lataus epäonnistui{{message}}",
|
|
21
|
+
"time-too-early": "Liian varhainen aika",
|
|
22
|
+
"time-too-late": "Liian myöhäinen aika",
|
|
23
|
+
"time-outside-range": "Aika valintavälin ulkopuolella"
|
|
24
|
+
};
|
|
25
|
+
var no = {
|
|
26
|
+
"map-projection": "Kartprojeksjon",
|
|
27
|
+
"hold-shift-to-zoom": "Hold SHIFT for å zoome",
|
|
28
|
+
"layer-failed-to-load": "Kartlaget kunne ikke lastes.",
|
|
29
|
+
"layer-failed-to-load-message": "Kartlaget med tittelen \"{{title}}\" kunne ikke lastes{{message}}",
|
|
30
|
+
"time-too-early": "Tid for tidlig",
|
|
31
|
+
"time-too-late": "Tid for sent",
|
|
32
|
+
"time-outside-range": "Tid utenfor spekteret"
|
|
33
|
+
};
|
|
34
|
+
var nl = {
|
|
35
|
+
};
|
|
36
|
+
var webmapTranslations = {
|
|
37
|
+
en: en,
|
|
38
|
+
fi: fi,
|
|
39
|
+
no: no,
|
|
40
|
+
nl: nl
|
|
41
|
+
};
|
|
5
42
|
|
|
6
43
|
var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
|
|
7
44
|
|
|
@@ -5150,28 +5187,13 @@ const WMSVersion = {
|
|
|
5150
5187
|
version111: '1.1.1',
|
|
5151
5188
|
version130: '1.3.0'
|
|
5152
5189
|
};
|
|
5153
|
-
const WMProj4Defs = [[
|
|
5154
|
-
const epsgDescriptionLookup = {
|
|
5155
|
-
'EPSG:3411': 'NSIDC Sea Ice Polar Stereographic North',
|
|
5156
|
-
'EPSG:3412': 'NSIDC Sea Ice Polar Stereographic South',
|
|
5157
|
-
'EPSG:3575': 'Lambert azimuthal equal-area projection Europe',
|
|
5158
|
-
'EPSG:3785': 'Mercator (deprecated)',
|
|
5159
|
-
'EPSG:3857': 'Mercator',
|
|
5160
|
-
'EPSG:4258': 'ETRS89',
|
|
5161
|
-
'EPSG:4326': 'World Lat lon WGS84',
|
|
5162
|
-
'CRS:84': 'World Lat lon WGS84',
|
|
5163
|
-
'EPSG:25831': 'ETRS89 / UTM zone 31N',
|
|
5164
|
-
'EPSG:25832': 'ETRS89 / UTM zone 32N',
|
|
5165
|
-
'EPSG:28992': 'Dutch Amersfoort / RD New',
|
|
5166
|
-
'EPSG:32661': 'Polar Stereographic WGS 84 / UPS North',
|
|
5167
|
-
'EPSG:3067': 'ETRS89 / TM35FIN(E,N) -- Finland'
|
|
5168
|
-
};
|
|
5190
|
+
const WMProj4Defs = [[PROJECTION.EPSG_4326.value, '+title=WGS 84 (long/lat) +proj=longlat +ellps=WGS84 +datum=WGS84 +units=degrees'], [PROJECTION.EPSG_4269.value, '+title=NAD83 (long/lat) +proj=longlat +a=6378137.0 +b=6356752.31414036 +ellps=GRS80 +datum=NAD83 +units=degrees'], [PROJECTION.EPSG_3575.value, '+proj=laea +lat_0=90 +lon_0=10 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs'], [PROJECTION.EPSG_3785.value, '+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'], [PROJECTION.EPSG_3857.value, '+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'], [PROJECTION.EPSG_3411.value, '+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'], [PROJECTION.EPSG_3412.value, '+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'], [PROJECTION.EPSG_28992.value, '+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 <>'], [PROJECTION.EPSG_32661.value, '+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'], [PROJECTION.EPSG_102100.value, '+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'], [PROJECTION.EPSG_3067.value, '+proj=utm +zone=35 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs +type=crs']];
|
|
5169
5191
|
const mapImageStoreLength = 1000;
|
|
5170
5192
|
const bgImageStoreLength = 360;
|
|
5171
5193
|
const legendImageStoreLength = 500;
|
|
5172
5194
|
const EVENT_GETCAPABILITIES_START = 'onstartgetcapabilities';
|
|
5173
5195
|
const EVENT_GETCAPABILITIES_READY = 'onreadygetcapabilities';
|
|
5174
|
-
const WMJSMAP_LONLAT_EPSGCODE =
|
|
5196
|
+
const WMJSMAP_LONLAT_EPSGCODE = PROJECTION.EPSG_4326.value;
|
|
5175
5197
|
|
|
5176
5198
|
/* debug helper */
|
|
5177
5199
|
const enableConsoleDebugging = false;
|
|
@@ -5529,6 +5551,7 @@ const flattenLayerTree = layerTree => {
|
|
|
5529
5551
|
* @returns
|
|
5530
5552
|
*/
|
|
5531
5553
|
const makeNodeLayerFromWMSGetCapabilityLayer = (layer, path = [], isleaf = false, nestedLayerPath = []) => {
|
|
5554
|
+
var _a, _b;
|
|
5532
5555
|
const geographicBoundingBox = nestedLayerPath.reverse().reduce((p, c) => {
|
|
5533
5556
|
return p || c.geographicBoundingBox;
|
|
5534
5557
|
}, addBoundingBoxForLayer(layer));
|
|
@@ -5567,7 +5590,7 @@ const makeNodeLayerFromWMSGetCapabilityLayer = (layer, path = [], isleaf = false
|
|
|
5567
5590
|
title: layerTitle || 'Layer',
|
|
5568
5591
|
leaf: isleaf,
|
|
5569
5592
|
path,
|
|
5570
|
-
keywords: toArray(layer.KeywordList
|
|
5593
|
+
keywords: toArray((_b = (_a = layer.KeywordList) === null || _a === void 0 ? void 0 : _a.Keyword) !== null && _b !== void 0 ? _b : []).map(keyword => keyword.value).filter(Boolean),
|
|
5571
5594
|
abstract: layer.Abstract ? layer.Abstract.value : undefined,
|
|
5572
5595
|
styles,
|
|
5573
5596
|
dimensions,
|
|
@@ -6620,395 +6643,20 @@ $$b({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_RE
|
|
|
6620
6643
|
* See the License for the specific language governing permissions and
|
|
6621
6644
|
* limitations under the License.
|
|
6622
6645
|
*
|
|
6623
|
-
* Copyright
|
|
6624
|
-
* Copyright
|
|
6646
|
+
* Copyright 2024 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
6647
|
+
* Copyright 2024 - Finnish Meteorological Institute (FMI)
|
|
6625
6648
|
* Copyright 2024 - The Norwegian Meteorological Institute (MET Norway)
|
|
6626
6649
|
* */
|
|
6627
|
-
|
|
6628
|
-
|
|
6629
|
-
|
|
6630
|
-
|
|
6631
|
-
|
|
6632
|
-
|
|
6633
|
-
|
|
6634
|
-
|
|
6635
|
-
|
|
6636
|
-
|
|
6637
|
-
are_you_sure: {
|
|
6638
|
-
text: 'Are you sure about deleting this flag?'
|
|
6639
|
-
},
|
|
6640
|
-
delete_title_confirm: {
|
|
6641
|
-
text: 'Delete flag'
|
|
6642
|
-
},
|
|
6643
|
-
default_selected_flag: {
|
|
6644
|
-
text: 'None'
|
|
6645
|
-
},
|
|
6646
|
-
selected_flag: {
|
|
6647
|
-
text: 'Nearest flag:'
|
|
6648
|
-
},
|
|
6649
|
-
add_point_interest_abstract: {
|
|
6650
|
-
text: 'Add or update your point of interest here with a latitude, a longitude and a name of choice.'
|
|
6651
|
-
},
|
|
6652
|
-
insert_name: {
|
|
6653
|
-
text: 'Name:'
|
|
6654
|
-
},
|
|
6655
|
-
add_point_interest: {
|
|
6656
|
-
text: 'Add point of interest'
|
|
6657
|
-
},
|
|
6658
|
-
add: {
|
|
6659
|
-
text: 'Add'
|
|
6660
|
-
},
|
|
6661
|
-
place_search_term: {
|
|
6662
|
-
text: 'Search for location…'
|
|
6663
|
-
},
|
|
6664
|
-
debug_searching_location: {
|
|
6665
|
-
text: 'Searching for location in SQLite DB:'
|
|
6666
|
-
},
|
|
6667
|
-
debug_searching_sqlite_location: {
|
|
6668
|
-
text: 'Searching for location with GeoNames API:'
|
|
6669
|
-
},
|
|
6670
|
-
geonames_api_call_failed: {
|
|
6671
|
-
text: 'GeoNames API request failed'
|
|
6672
|
-
},
|
|
6673
|
-
geonames_sqlite_call_failed: {
|
|
6674
|
-
text: 'GeoNames SQLite request failed.'
|
|
6675
|
-
},
|
|
6676
|
-
no_results_search: {
|
|
6677
|
-
text: 'No results for search'
|
|
6678
|
-
},
|
|
6679
|
-
unable_to_connect_server: {
|
|
6680
|
-
text: 'Unable to connect to the service.'
|
|
6681
|
-
},
|
|
6682
|
-
unable_to_search: {
|
|
6683
|
-
text: 'Unable to perform a search'
|
|
6684
|
-
},
|
|
6685
|
-
no_urls_in_config: {
|
|
6686
|
-
text: 'No GeoNames URLs defined in config file'
|
|
6687
|
-
},
|
|
6688
|
-
only_alpha_num_allowed: {
|
|
6689
|
-
text: 'Search may only contain alpha numeric characters'
|
|
6690
|
-
},
|
|
6691
|
-
no_search_definition: {
|
|
6692
|
-
text: 'Search term is empty'
|
|
6693
|
-
},
|
|
6694
|
-
service_has_error: {
|
|
6695
|
-
text: '--- service has an error ---'
|
|
6696
|
-
},
|
|
6697
|
-
no_time_dimension_in_layer: {
|
|
6698
|
-
text: 'No time dimension found in this layer'
|
|
6699
|
-
},
|
|
6700
|
-
no_service_defined: {
|
|
6701
|
-
text: 'No service defined'
|
|
6702
|
-
},
|
|
6703
|
-
service_url_empty: {
|
|
6704
|
-
text: 'Service URL is empty'
|
|
6705
|
-
},
|
|
6706
|
-
wms_service_exception_code: {
|
|
6707
|
-
text: 'WMS Service exception with code '
|
|
6708
|
-
},
|
|
6709
|
-
unnamed_service: {
|
|
6710
|
-
text: 'Unnamed service'
|
|
6711
|
-
},
|
|
6712
|
-
add_layers: {
|
|
6713
|
-
text: 'Add layers…',
|
|
6714
|
-
tooltip: 'Add new datasets, layers and services'
|
|
6715
|
-
},
|
|
6716
|
-
add_custom_service: {
|
|
6717
|
-
text: 'Add a custom version 1.1.1 Web Map Service (WMS)'
|
|
6718
|
-
},
|
|
6719
|
-
properties_for: {
|
|
6720
|
-
text: 'Properties for'
|
|
6721
|
-
},
|
|
6722
|
-
color_range: {
|
|
6723
|
-
text: 'Color range'
|
|
6724
|
-
},
|
|
6725
|
-
reset: {
|
|
6726
|
-
text: 'Reset'
|
|
6727
|
-
},
|
|
6728
|
-
apply: {
|
|
6729
|
-
text: 'Apply'
|
|
6730
|
-
},
|
|
6731
|
-
min_value: {
|
|
6732
|
-
text: 'Min value'
|
|
6733
|
-
},
|
|
6734
|
-
max_value: {
|
|
6735
|
-
text: 'Max value'
|
|
6736
|
-
},
|
|
6737
|
-
wms_version: {
|
|
6738
|
-
text: 'WMS version'
|
|
6739
|
-
},
|
|
6740
|
-
wms_comp_mode: {
|
|
6741
|
-
text: 'WMS 1.3.0 BBOX compatibility mode'
|
|
6742
|
-
},
|
|
6743
|
-
projections: {
|
|
6744
|
-
text: 'Projections'
|
|
6745
|
-
},
|
|
6746
|
-
projection: {
|
|
6747
|
-
text: 'Projection'
|
|
6748
|
-
},
|
|
6749
|
-
epsg_code: {
|
|
6750
|
-
text: 'EPSG Code'
|
|
6751
|
-
},
|
|
6752
|
-
bounding_box: {
|
|
6753
|
-
text: 'Bounding Box'
|
|
6754
|
-
},
|
|
6755
|
-
file_metadata: {
|
|
6756
|
-
text: 'File metadata'
|
|
6757
|
-
},
|
|
6758
|
-
show_file_metadata: {
|
|
6759
|
-
text: 'Show file metadata'
|
|
6760
|
-
},
|
|
6761
|
-
download_data_wcs: {
|
|
6762
|
-
text: 'Download data via WCS'
|
|
6763
|
-
},
|
|
6764
|
-
coordinate_reference_system: {
|
|
6765
|
-
text: 'Coordinate reference system'
|
|
6766
|
-
},
|
|
6767
|
-
area_bounding_box: {
|
|
6768
|
-
text: 'Area / Bounding box'
|
|
6769
|
-
},
|
|
6770
|
-
dimensions: {
|
|
6771
|
-
text: 'Dimensions'
|
|
6772
|
-
},
|
|
6773
|
-
dimension: {
|
|
6774
|
-
text: 'Dimension'
|
|
6775
|
-
},
|
|
6776
|
-
formats: {
|
|
6777
|
-
text: 'Formats'
|
|
6778
|
-
},
|
|
6779
|
-
north: {
|
|
6780
|
-
text: 'North'
|
|
6781
|
-
},
|
|
6782
|
-
west: {
|
|
6783
|
-
text: 'West'
|
|
6784
|
-
},
|
|
6785
|
-
east: {
|
|
6786
|
-
text: 'East'
|
|
6787
|
-
},
|
|
6788
|
-
south: {
|
|
6789
|
-
text: 'South'
|
|
6790
|
-
},
|
|
6791
|
-
cell_size: {
|
|
6792
|
-
text: 'Cell size'
|
|
6793
|
-
},
|
|
6794
|
-
x_resolution: {
|
|
6795
|
-
text: 'X Resolution'
|
|
6796
|
-
},
|
|
6797
|
-
y_resolution: {
|
|
6798
|
-
text: 'Y Resolution'
|
|
6799
|
-
},
|
|
6800
|
-
raster_size: {
|
|
6801
|
-
text: 'Raster size'
|
|
6802
|
-
},
|
|
6803
|
-
raster_width: {
|
|
6804
|
-
text: 'Raster width'
|
|
6805
|
-
},
|
|
6806
|
-
raster_height: {
|
|
6807
|
-
text: 'Raster height'
|
|
6808
|
-
},
|
|
6809
|
-
format: {
|
|
6810
|
-
text: 'Format'
|
|
6811
|
-
},
|
|
6812
|
-
show: {
|
|
6813
|
-
text: 'Show'
|
|
6814
|
-
},
|
|
6815
|
-
create_permanent_links: {
|
|
6816
|
-
text: 'Create permanent links'
|
|
6817
|
-
},
|
|
6818
|
-
please_select_product: {
|
|
6819
|
-
text: 'Please select a product'
|
|
6820
|
-
},
|
|
6821
|
-
no_capability_element_found: {
|
|
6822
|
-
text: 'No Capability element found in service'
|
|
6823
|
-
},
|
|
6824
|
-
no_wms_capability_element_found: {
|
|
6825
|
-
text: 'No WMS Capability element found'
|
|
6826
|
-
},
|
|
6827
|
-
no_wms_layer_element_found: {
|
|
6828
|
-
text: 'No WMS Layer element found'
|
|
6829
|
-
},
|
|
6830
|
-
settings_and_options: {
|
|
6831
|
-
tooltip: 'Settings and options'
|
|
6832
|
-
},
|
|
6833
|
-
show_time_selection_window: {
|
|
6834
|
-
text: 'Show time selection window…'
|
|
6835
|
-
},
|
|
6836
|
-
create_animation: {
|
|
6837
|
-
text: 'Create animation…'
|
|
6838
|
-
},
|
|
6839
|
-
create_link: {
|
|
6840
|
-
text: 'Create link…'
|
|
6841
|
-
},
|
|
6842
|
-
show_debug_information: {
|
|
6843
|
-
text: 'Show debug information…'
|
|
6844
|
-
},
|
|
6845
|
-
add_custom_wms_service: {
|
|
6846
|
-
text: 'Add custom WMS service…'
|
|
6847
|
-
},
|
|
6848
|
-
undo_zoom_pan_action: {
|
|
6849
|
-
text: 'Undo zoom/pan action'
|
|
6850
|
-
},
|
|
6851
|
-
redo_zoom_pan_action: {
|
|
6852
|
-
text: 'Redo zoom/pan action'
|
|
6853
|
-
},
|
|
6854
|
-
abort_loading: {
|
|
6855
|
-
text: 'Abort loading'
|
|
6856
|
-
},
|
|
6857
|
-
about_the_adaguc_viewer: {
|
|
6858
|
-
text: 'About the ADAGUC viewer',
|
|
6859
|
-
tooptip: 'Display info about the ADAGUC viewer'
|
|
6860
|
-
},
|
|
6861
|
-
about_adaguc: {
|
|
6862
|
-
text: 'About ADAGUC'
|
|
6863
|
-
},
|
|
6864
|
-
about_adaguc_more_information: {
|
|
6865
|
-
text: '<br/><br/>Please visit <a target="_blank" href="http://adaguc.knmi.nl/">http://adaguc.knmi.nl/</a> for more information.<div>'
|
|
6866
|
-
},
|
|
6867
|
-
layers: {
|
|
6868
|
-
text: 'Layers',
|
|
6869
|
-
tooltip: 'Layers'
|
|
6870
|
-
},
|
|
6871
|
-
predefined_areas: {
|
|
6872
|
-
tooltip: 'Select predefined areas'
|
|
6873
|
-
},
|
|
6874
|
-
basemaps_overlays: {
|
|
6875
|
-
tooltip: 'Select basemaps and overlays'
|
|
6876
|
-
},
|
|
6877
|
-
add_layers_and_services: {
|
|
6878
|
-
text: 'Add Layers and Services'
|
|
6879
|
-
},
|
|
6880
|
-
add_new_layer: {
|
|
6881
|
-
tooltip: 'Add new layer'
|
|
6882
|
-
},
|
|
6883
|
-
clone_this_layer: {
|
|
6884
|
-
tooltip: 'Clone this layer and place it on top of the layerlist'
|
|
6885
|
-
},
|
|
6886
|
-
remove_this_layer: {
|
|
6887
|
-
tooltip: 'Remove this layer'
|
|
6888
|
-
},
|
|
6889
|
-
move_layer_up: {
|
|
6890
|
-
tooltip: 'Move this layer up in the list and the map view'
|
|
6891
|
-
},
|
|
6892
|
-
move_layer_down: {
|
|
6893
|
-
tooltip: 'Move this layer down in the list and the map view'
|
|
6894
|
-
},
|
|
6895
|
-
title: {
|
|
6896
|
-
text: 'Title'
|
|
6897
|
-
},
|
|
6898
|
-
layer: {
|
|
6899
|
-
text: 'Layer'
|
|
6900
|
-
},
|
|
6901
|
-
type: {
|
|
6902
|
-
text: 'Type'
|
|
6903
|
-
},
|
|
6904
|
-
name: {
|
|
6905
|
-
text: 'Name'
|
|
6906
|
-
},
|
|
6907
|
-
abstract: {
|
|
6908
|
-
text: 'Abstract'
|
|
6909
|
-
},
|
|
6910
|
-
service: {
|
|
6911
|
-
text: 'Service'
|
|
6912
|
-
},
|
|
6913
|
-
description: {
|
|
6914
|
-
text: 'Description'
|
|
6915
|
-
},
|
|
6916
|
-
no_dimensions_available: {
|
|
6917
|
-
text: 'No layers with a time dimension available.'
|
|
6918
|
-
},
|
|
6919
|
-
load_all: {
|
|
6920
|
-
text: 'Load all'
|
|
6921
|
-
},
|
|
6922
|
-
play_animation: {
|
|
6923
|
-
text: 'Play animation'
|
|
6924
|
-
},
|
|
6925
|
-
stop: {
|
|
6926
|
-
text: 'Stop'
|
|
6927
|
-
},
|
|
6928
|
-
start: {
|
|
6929
|
-
text: 'Start'
|
|
6930
|
-
},
|
|
6931
|
-
opacity: {
|
|
6932
|
-
text: 'Opacity:'
|
|
6933
|
-
},
|
|
6934
|
-
zoom_to_this_layer: {
|
|
6935
|
-
tooltip: 'Zoom to this layer'
|
|
6936
|
-
},
|
|
6937
|
-
start_or_stop_animation: {
|
|
6938
|
-
tooltip: 'Start or stop animation'
|
|
6939
|
-
},
|
|
6940
|
-
reload_this_layer: {
|
|
6941
|
-
tooltip: 'Reload this layer'
|
|
6942
|
-
},
|
|
6943
|
-
layer_properties: {
|
|
6944
|
-
tooltip: 'Layer properties'
|
|
6945
|
-
},
|
|
6946
|
-
hide_or_display_layer: {
|
|
6947
|
-
tooltip: 'Hide or display this layer'
|
|
6948
|
-
},
|
|
6949
|
-
select_layer_product_from_service: {
|
|
6950
|
-
tooltip: 'Select a layer or product from the service'
|
|
6951
|
-
},
|
|
6952
|
-
change_style_layer: {
|
|
6953
|
-
tooltip: 'Change the style of this layer'
|
|
6954
|
-
},
|
|
6955
|
-
available_styles: {
|
|
6956
|
-
text: 'Available styles'
|
|
6957
|
-
},
|
|
6958
|
-
no_styles_available: {
|
|
6959
|
-
text: 'No styles available'
|
|
6960
|
-
},
|
|
6961
|
-
default: {
|
|
6962
|
-
text: 'Default'
|
|
6963
|
-
},
|
|
6964
|
-
embed: {
|
|
6965
|
-
text: 'Embed'
|
|
6966
|
-
},
|
|
6967
|
-
time_selection: {
|
|
6968
|
-
text: 'Time selection'
|
|
6969
|
-
},
|
|
6970
|
-
local_time: {
|
|
6971
|
-
text: 'Local time'
|
|
6972
|
-
},
|
|
6973
|
-
year: {
|
|
6974
|
-
text: 'Year'
|
|
6975
|
-
},
|
|
6976
|
-
month: {
|
|
6977
|
-
text: 'Month'
|
|
6978
|
-
},
|
|
6979
|
-
day: {
|
|
6980
|
-
text: 'Day'
|
|
6981
|
-
},
|
|
6982
|
-
hour: {
|
|
6983
|
-
text: 'Hour'
|
|
6984
|
-
},
|
|
6985
|
-
min: {
|
|
6986
|
-
text: 'Min'
|
|
6987
|
-
},
|
|
6988
|
-
select_layer: {
|
|
6989
|
-
text: 'Select layer'
|
|
6990
|
-
},
|
|
6991
|
-
select_dimension: {
|
|
6992
|
-
text: 'Select dimension'
|
|
6993
|
-
},
|
|
6994
|
-
start_at: {
|
|
6995
|
-
text: 'Start at'
|
|
6996
|
-
},
|
|
6997
|
-
number_of_steps: {
|
|
6998
|
-
text: 'Number of steps'
|
|
6999
|
-
},
|
|
7000
|
-
delay_ms: {
|
|
7001
|
-
text: 'Delay (ms)'
|
|
7002
|
-
},
|
|
7003
|
-
enter_wms_version_url: {
|
|
7004
|
-
text: 'Enter WMS version 1.1.1 URL here...'
|
|
7005
|
-
},
|
|
7006
|
-
enter_search_term: {
|
|
7007
|
-
text: 'Enter your location here…'
|
|
7008
|
-
},
|
|
7009
|
-
not_available_message: {
|
|
7010
|
-
text: 'Not available'
|
|
7011
|
-
}
|
|
6650
|
+
const consoleErrorMessages = {
|
|
6651
|
+
noCapabilityElementFound: 'No Capability element found in service',
|
|
6652
|
+
noServiceDefined: 'No service defined',
|
|
6653
|
+
noWmsCapabilityElementFound: 'No WMS Capability element found',
|
|
6654
|
+
noWmsLayerElementFound: 'No WMS Layer element found',
|
|
6655
|
+
notAvailableMessage: 'Not available',
|
|
6656
|
+
serviceHasError: '--- service has an error ---',
|
|
6657
|
+
serviceUrlEmpty: 'Service URL is empty',
|
|
6658
|
+
unableToConnectServer: 'Unable to connect to the service.',
|
|
6659
|
+
wmsServiceExceptionCode: 'WMS Service exception with code'
|
|
7012
6660
|
};
|
|
7013
6661
|
|
|
7014
6662
|
class WMListener {
|
|
@@ -7347,12 +6995,12 @@ const WMJSGetCapabilities = (service, succes, fail, options, disableCache = fals
|
|
|
7347
6995
|
headers = options.headers;
|
|
7348
6996
|
}
|
|
7349
6997
|
if (!isDefined(service)) {
|
|
7350
|
-
fail(
|
|
6998
|
+
fail(consoleErrorMessages.noServiceDefined);
|
|
7351
6999
|
return;
|
|
7352
7000
|
}
|
|
7353
7001
|
if (service.length === 0) {
|
|
7354
7002
|
debugLogger(DebugType.Error);
|
|
7355
|
-
fail(
|
|
7003
|
+
fail(consoleErrorMessages.serviceUrlEmpty);
|
|
7356
7004
|
return;
|
|
7357
7005
|
}
|
|
7358
7006
|
/* Allow relative URL's */
|
|
@@ -7364,7 +7012,7 @@ const WMJSGetCapabilities = (service, succes, fail, options, disableCache = fals
|
|
|
7364
7012
|
}
|
|
7365
7013
|
if (!service.startsWith('http://') && !service.startsWith('https:') && !service.startsWith('//')) {
|
|
7366
7014
|
debugLogger(DebugType.Error);
|
|
7367
|
-
fail(
|
|
7015
|
+
fail(consoleErrorMessages.serviceUrlEmpty);
|
|
7368
7016
|
return;
|
|
7369
7017
|
}
|
|
7370
7018
|
if (service.indexOf('?') === -1) {
|
|
@@ -7439,10 +7087,10 @@ class WMJSService {
|
|
|
7439
7087
|
throw new Error(message);
|
|
7440
7088
|
}
|
|
7441
7089
|
if (!jsonData.WMT_MS_Capabilities.Capability) {
|
|
7442
|
-
throw new Error(
|
|
7090
|
+
throw new Error(consoleErrorMessages.noWmsCapabilityElementFound);
|
|
7443
7091
|
}
|
|
7444
7092
|
if (!jsonData.WMT_MS_Capabilities.Capability.Layer) {
|
|
7445
|
-
throw new Error(
|
|
7093
|
+
throw new Error(consoleErrorMessages.noWmsLayerElementFound);
|
|
7446
7094
|
}
|
|
7447
7095
|
}
|
|
7448
7096
|
}
|
|
@@ -7458,10 +7106,10 @@ class WMJSService {
|
|
|
7458
7106
|
throw new Error(message);
|
|
7459
7107
|
}
|
|
7460
7108
|
if (!jsonData.WMS_Capabilities.Capability) {
|
|
7461
|
-
throw new Error(
|
|
7109
|
+
throw new Error(consoleErrorMessages.noWmsCapabilityElementFound);
|
|
7462
7110
|
}
|
|
7463
7111
|
if (!jsonData.WMS_Capabilities.Capability.Layer) {
|
|
7464
|
-
throw new Error(
|
|
7112
|
+
throw new Error(consoleErrorMessages.noWmsLayerElementFound);
|
|
7465
7113
|
}
|
|
7466
7114
|
}
|
|
7467
7115
|
}
|
|
@@ -7474,7 +7122,7 @@ class WMJSService {
|
|
|
7474
7122
|
try {
|
|
7475
7123
|
capabilityObject = jsonData.WMS_Capabilities.Capability;
|
|
7476
7124
|
} catch (_a) {
|
|
7477
|
-
throw new Error(
|
|
7125
|
+
throw new Error(consoleErrorMessages.noCapabilityElementFound);
|
|
7478
7126
|
}
|
|
7479
7127
|
}
|
|
7480
7128
|
return capabilityObject;
|
|
@@ -7578,13 +7226,13 @@ class WMJSService {
|
|
|
7578
7226
|
try {
|
|
7579
7227
|
this.abstract = WMSCapabilities.Service.Abstract.value;
|
|
7580
7228
|
} catch (e) {
|
|
7581
|
-
this.abstract =
|
|
7229
|
+
this.abstract = consoleErrorMessages.notAvailableMessage;
|
|
7582
7230
|
}
|
|
7583
7231
|
// Get Title
|
|
7584
7232
|
try {
|
|
7585
7233
|
this.title = WMSCapabilities.Service.Title.value;
|
|
7586
7234
|
} catch (e) {
|
|
7587
|
-
this.title =
|
|
7235
|
+
this.title = consoleErrorMessages.notAvailableMessage;
|
|
7588
7236
|
}
|
|
7589
7237
|
// Get OnlineResource
|
|
7590
7238
|
try {
|
|
@@ -7596,7 +7244,7 @@ class WMJSService {
|
|
|
7596
7244
|
WMSCapabilities.Service.OnlineResource.attr['xlink:href'];
|
|
7597
7245
|
}
|
|
7598
7246
|
} catch (e) {
|
|
7599
|
-
this.onlineresource =
|
|
7247
|
+
this.onlineresource = consoleErrorMessages.notAvailableMessage;
|
|
7600
7248
|
}
|
|
7601
7249
|
// Fill in flatlayer object
|
|
7602
7250
|
this.getLayerObjectsFlat(() => null, () => null, false, options);
|
|
@@ -7631,7 +7279,7 @@ class WMJSService {
|
|
|
7631
7279
|
return `Exception: ${code}.\n${value}`;
|
|
7632
7280
|
}
|
|
7633
7281
|
}
|
|
7634
|
-
return
|
|
7282
|
+
return `${consoleErrorMessages.wmsServiceExceptionCode} ${code}`;
|
|
7635
7283
|
}
|
|
7636
7284
|
} catch (e) {
|
|
7637
7285
|
// do nothing
|
|
@@ -11716,6 +11364,33 @@ class WMCanvasBuffer {
|
|
|
11716
11364
|
}
|
|
11717
11365
|
}
|
|
11718
11366
|
|
|
11367
|
+
const WEBMAP_NAMESPACE = 'webmap';
|
|
11368
|
+
// do not use `initReactI18next` as this is not a react library
|
|
11369
|
+
i18n.init({
|
|
11370
|
+
lng: 'en',
|
|
11371
|
+
ns: WEBMAP_NAMESPACE,
|
|
11372
|
+
interpolation: {
|
|
11373
|
+
escapeValue: false
|
|
11374
|
+
},
|
|
11375
|
+
resources: {
|
|
11376
|
+
en: {
|
|
11377
|
+
[WEBMAP_NAMESPACE]: webmapTranslations.en
|
|
11378
|
+
},
|
|
11379
|
+
fi: {
|
|
11380
|
+
[WEBMAP_NAMESPACE]: webmapTranslations.fi
|
|
11381
|
+
},
|
|
11382
|
+
no: {
|
|
11383
|
+
[WEBMAP_NAMESPACE]: webmapTranslations.no
|
|
11384
|
+
},
|
|
11385
|
+
nl: {
|
|
11386
|
+
[WEBMAP_NAMESPACE]: webmapTranslations.nl
|
|
11387
|
+
}
|
|
11388
|
+
}
|
|
11389
|
+
});
|
|
11390
|
+
const translateKeyOutsideComponents = (key, params = undefined) => i18n.t(key, Object.assign({
|
|
11391
|
+
ns: WEBMAP_NAMESPACE
|
|
11392
|
+
}, params));
|
|
11393
|
+
|
|
11719
11394
|
const getBBOXandProjString = (layer, projection) => {
|
|
11720
11395
|
let request = '';
|
|
11721
11396
|
const {
|
|
@@ -11728,7 +11403,7 @@ const getBBOXandProjString = (layer, projection) => {
|
|
|
11728
11403
|
}
|
|
11729
11404
|
if (layer.version === WMSVersion.version130) {
|
|
11730
11405
|
request += `CRS=${URLEncode(srs)}&`;
|
|
11731
|
-
if (srs ===
|
|
11406
|
+
if (srs === PROJECTION.EPSG_4326.value && layer.wms130bboxcompatibilitymode === false) {
|
|
11732
11407
|
request += `BBOX=${bbox.bottom},${bbox.left},${bbox.top},${bbox.right}&`;
|
|
11733
11408
|
} else {
|
|
11734
11409
|
request += `BBOX=${bbox.left},${bbox.bottom},${bbox.right},${bbox.top}&`;
|
|
@@ -12019,10 +11694,13 @@ const getErrorsToDisplay = (canvasErrors, getLayerByServiceAndName) => {
|
|
|
12019
11694
|
// Only show if layer is present and enabled
|
|
12020
11695
|
if (layer && layer.enabled) {
|
|
12021
11696
|
const message = error.linkedInfo.message ? `, ${error.linkedInfo.message}` : '';
|
|
12022
|
-
return list.concat(
|
|
11697
|
+
return list.concat(translateKeyOutsideComponents('layer-failed-to-load-message', {
|
|
11698
|
+
title: error.linkedInfo.layer.title || '',
|
|
11699
|
+
message
|
|
11700
|
+
}));
|
|
12023
11701
|
}
|
|
12024
11702
|
} else {
|
|
12025
|
-
return list.concat('
|
|
11703
|
+
return list.concat(translateKeyOutsideComponents('layer-failed-to-load'));
|
|
12026
11704
|
}
|
|
12027
11705
|
return list;
|
|
12028
11706
|
}, []);
|
|
@@ -12531,7 +12209,7 @@ class WMTileRenderer {
|
|
|
12531
12209
|
}
|
|
12532
12210
|
}
|
|
12533
12211
|
};
|
|
12534
|
-
if (srs ===
|
|
12212
|
+
if (srs === PROJECTION.EPSG_4326.value || srs === PROJECTION.EPSG_4258.value) {
|
|
12535
12213
|
numTilesAtLevelX *= 2;
|
|
12536
12214
|
}
|
|
12537
12215
|
if (tilenbottom < 1) {
|
|
@@ -13325,23 +13003,6 @@ class MapPin {
|
|
|
13325
13003
|
}
|
|
13326
13004
|
}
|
|
13327
13005
|
|
|
13328
|
-
/* *
|
|
13329
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
13330
|
-
* you may not use this file except in compliance with the License.
|
|
13331
|
-
* You may obtain a copy of the License at
|
|
13332
|
-
*
|
|
13333
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
13334
|
-
*
|
|
13335
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
13336
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13337
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13338
|
-
* See the License for the specific language governing permissions and
|
|
13339
|
-
* limitations under the License.
|
|
13340
|
-
*
|
|
13341
|
-
* Copyright 2024 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
13342
|
-
* Copyright 2024 - Finnish Meteorological Institute (FMI)
|
|
13343
|
-
* Copyright 2024 - The Norwegian Meteorological Institute (MET Norway)
|
|
13344
|
-
* */
|
|
13345
13006
|
/* eslint-disable no-param-reassign */
|
|
13346
13007
|
const drawTextBG = (ctx, txt, x, y, fontSize) => {
|
|
13347
13008
|
ctx.textBaseline = 'top';
|
|
@@ -13451,34 +13112,34 @@ const drawScaleBar = (scaleBarProps, ctx) => {
|
|
|
13451
13112
|
ctx.moveTo(offsetX + scaleBarProps.width * 2 + 1, scaleBarHeight - 2 + offsetY);
|
|
13452
13113
|
ctx.lineTo(offsetX + scaleBarProps.width * 2 + 1, scaleBarHeight - 2 - 7 + offsetY);
|
|
13453
13114
|
let units = '';
|
|
13454
|
-
if (srs ===
|
|
13455
|
-
units = '
|
|
13115
|
+
if (srs === PROJECTION.EPSG_3411.value) {
|
|
13116
|
+
units = 'm';
|
|
13456
13117
|
}
|
|
13457
|
-
if (srs ===
|
|
13458
|
-
units = '
|
|
13118
|
+
if (srs === PROJECTION.EPSG_3412.value) {
|
|
13119
|
+
units = 'm';
|
|
13459
13120
|
}
|
|
13460
|
-
if (srs ===
|
|
13461
|
-
units = '
|
|
13121
|
+
if (srs === PROJECTION.EPSG_3575.value) {
|
|
13122
|
+
units = 'm';
|
|
13462
13123
|
}
|
|
13463
|
-
if (srs ===
|
|
13464
|
-
units = '
|
|
13124
|
+
if (srs === PROJECTION.EPSG_4326.value) {
|
|
13125
|
+
units = 'deg';
|
|
13465
13126
|
}
|
|
13466
|
-
if (srs ===
|
|
13467
|
-
units = '
|
|
13127
|
+
if (srs === PROJECTION.EPSG_28992.value) {
|
|
13128
|
+
units = 'm';
|
|
13468
13129
|
}
|
|
13469
|
-
if (srs ===
|
|
13470
|
-
units = '
|
|
13130
|
+
if (srs === PROJECTION.EPSG_32661.value) {
|
|
13131
|
+
units = 'm';
|
|
13471
13132
|
}
|
|
13472
|
-
if (srs ===
|
|
13473
|
-
units = '
|
|
13133
|
+
if (srs === PROJECTION.EPSG_3857.value) {
|
|
13134
|
+
units = 'm';
|
|
13474
13135
|
}
|
|
13475
|
-
if (srs ===
|
|
13476
|
-
units = '
|
|
13136
|
+
if (srs === PROJECTION.EPSG_900913.value) {
|
|
13137
|
+
units = 'm';
|
|
13477
13138
|
}
|
|
13478
|
-
if (srs ===
|
|
13479
|
-
units = '
|
|
13139
|
+
if (srs === PROJECTION.EPSG_102100.value) {
|
|
13140
|
+
units = 'm';
|
|
13480
13141
|
}
|
|
13481
|
-
if (units === '
|
|
13142
|
+
if (units === 'm') {
|
|
13482
13143
|
if (scaleBarProps.mapunits > 1000) {
|
|
13483
13144
|
scaleBarProps.mapunits /= 1000;
|
|
13484
13145
|
units = 'km';
|
|
@@ -13691,21 +13352,21 @@ class WMJSMap {
|
|
|
13691
13352
|
this.canvasErrors.push({
|
|
13692
13353
|
linkedInfo: {
|
|
13693
13354
|
layer,
|
|
13694
|
-
message: '
|
|
13355
|
+
message: translateKeyOutsideComponents('time-outside-range')
|
|
13695
13356
|
}
|
|
13696
13357
|
});
|
|
13697
13358
|
} else if (dimension.currentValue === WMDateTooEarlyString) {
|
|
13698
13359
|
this.canvasErrors.push({
|
|
13699
13360
|
linkedInfo: {
|
|
13700
13361
|
layer,
|
|
13701
|
-
message: '
|
|
13362
|
+
message: translateKeyOutsideComponents('time-too-early')
|
|
13702
13363
|
}
|
|
13703
13364
|
});
|
|
13704
13365
|
} else if (dimension.currentValue === WMDateTooLateString) {
|
|
13705
13366
|
this.canvasErrors.push({
|
|
13706
13367
|
linkedInfo: {
|
|
13707
13368
|
layer,
|
|
13708
|
-
message: '
|
|
13369
|
+
message: translateKeyOutsideComponents('time-too-late')
|
|
13709
13370
|
}
|
|
13710
13371
|
});
|
|
13711
13372
|
}
|
|
@@ -13762,8 +13423,8 @@ class WMJSMap {
|
|
|
13762
13423
|
const xText = Math.round(this.mouseGeoCoordXY.x * roundingFactor) / roundingFactor;
|
|
13763
13424
|
const yText = Math.round(this.mouseGeoCoordXY.y * roundingFactor) / roundingFactor;
|
|
13764
13425
|
let units = '';
|
|
13765
|
-
if (this._srs ===
|
|
13766
|
-
units = '
|
|
13426
|
+
if (this._srs === PROJECTION.EPSG_3857.value) {
|
|
13427
|
+
units = 'm';
|
|
13767
13428
|
}
|
|
13768
13429
|
ctx.fillText(`CoordYX: (${yText}, ${xText}) ${units}`, 5, this._height - 50);
|
|
13769
13430
|
}
|
|
@@ -13775,11 +13436,11 @@ class WMJSMap {
|
|
|
13775
13436
|
ctx.fillStyle = '#000000';
|
|
13776
13437
|
const xText = Math.round(llCoord.x * roundingFactor) / roundingFactor;
|
|
13777
13438
|
const yText = Math.round(llCoord.y * roundingFactor) / roundingFactor;
|
|
13778
|
-
ctx.fillText(`Lat/Lon: (${yText.toFixed(2)}, ${xText.toFixed(2)})
|
|
13439
|
+
ctx.fillText(`Lat/Lon: (${yText.toFixed(2)}, ${xText.toFixed(2)}) deg`, 5, this._height - 38);
|
|
13779
13440
|
}
|
|
13780
13441
|
}
|
|
13781
13442
|
ctx.fillStyle = '#000000';
|
|
13782
|
-
ctx.fillText(
|
|
13443
|
+
ctx.fillText(`${translateKeyOutsideComponents('map-projection')}: ${this._srs}`, 5, this._height - 26);
|
|
13783
13444
|
}
|
|
13784
13445
|
/* Show layer metadata */
|
|
13785
13446
|
if (this.showLayerInfo === true) {
|
|
@@ -13892,7 +13553,7 @@ class WMJSMap {
|
|
|
13892
13553
|
this._bbox.bottom = -90;
|
|
13893
13554
|
this._bbox.right = 180;
|
|
13894
13555
|
this._bbox.top = 90;
|
|
13895
|
-
this._srs =
|
|
13556
|
+
this._srs = PROJECTION.EPSG_4326.value;
|
|
13896
13557
|
// IMAGE buffer
|
|
13897
13558
|
this.canvasLayerBuffer = new WMCanvasBuffer(this, this._width, this._height, {
|
|
13898
13559
|
beforecanvasstartdraw: this._adagucBeforeDraw,
|
|
@@ -13996,7 +13657,7 @@ class WMJSMap {
|
|
|
13996
13657
|
}
|
|
13997
13658
|
if (!projinfo.srs || !projinfo.bbox) {
|
|
13998
13659
|
debugLogger(DebugType.Error);
|
|
13999
|
-
projinfo.srs =
|
|
13660
|
+
projinfo.srs = PROJECTION.EPSG_4326.value;
|
|
14000
13661
|
projinfo.bbox.left = -180;
|
|
14001
13662
|
projinfo.bbox.bottom = -90;
|
|
14002
13663
|
projinfo.bbox.right = 180;
|
|
@@ -14589,7 +14250,7 @@ class WMJSMap {
|
|
|
14589
14250
|
}
|
|
14590
14251
|
_mouseWheelEvent(event) {
|
|
14591
14252
|
if (this.holdShiftToScroll && !event.shiftKey) {
|
|
14592
|
-
this.setMessageValue = '
|
|
14253
|
+
this.setMessageValue = translateKeyOutsideComponents('hold-shift-to-zoom');
|
|
14593
14254
|
this.draw();
|
|
14594
14255
|
// Clear text after 500ms
|
|
14595
14256
|
setTimeout(() => {
|
|
@@ -14986,14 +14647,14 @@ class WMJSMap {
|
|
|
14986
14647
|
*/
|
|
14987
14648
|
setProjection(_srs, _bbox) {
|
|
14988
14649
|
if (!_srs) {
|
|
14989
|
-
_srs =
|
|
14650
|
+
_srs = PROJECTION.EPSG_4326.value;
|
|
14990
14651
|
}
|
|
14991
14652
|
if (typeof _srs === 'object') {
|
|
14992
14653
|
_bbox = new WMBBOX(_srs.bbox);
|
|
14993
14654
|
_srs = _srs.srs;
|
|
14994
14655
|
}
|
|
14995
14656
|
if (!_srs) {
|
|
14996
|
-
_srs =
|
|
14657
|
+
_srs = PROJECTION.EPSG_4326.value;
|
|
14997
14658
|
}
|
|
14998
14659
|
if (this._srs !== _srs) {
|
|
14999
14660
|
this._defaultBBOX.setBBOX(_bbox);
|
|
@@ -15682,7 +15343,7 @@ class WMJSMap {
|
|
|
15682
15343
|
class WMProjection {
|
|
15683
15344
|
constructor() {
|
|
15684
15345
|
this.bbox = new WMBBOX();
|
|
15685
|
-
this.srs =
|
|
15346
|
+
this.srs = PROJECTION.EPSG_4326.value;
|
|
15686
15347
|
}
|
|
15687
15348
|
}
|
|
15688
15349
|
|
|
@@ -15927,7 +15588,7 @@ class WMLayer {
|
|
|
15927
15588
|
if (options.title) {
|
|
15928
15589
|
this.title = options.title;
|
|
15929
15590
|
}
|
|
15930
|
-
this.abstract =
|
|
15591
|
+
this.abstract = consoleErrorMessages.notAvailableMessage;
|
|
15931
15592
|
if (options.enabled === false) {
|
|
15932
15593
|
this.enabled = false;
|
|
15933
15594
|
}
|
|
@@ -16041,9 +15702,9 @@ class WMLayer {
|
|
|
16041
15702
|
}
|
|
16042
15703
|
__parseGetCapForLayer(getcapabilitiesjson, layerDoneCallback, fail) {
|
|
16043
15704
|
if (!getcapabilitiesjson) {
|
|
16044
|
-
this.title =
|
|
16045
|
-
this.abstract =
|
|
16046
|
-
fail(this,
|
|
15705
|
+
this.title = consoleErrorMessages.serviceHasError;
|
|
15706
|
+
this.abstract = consoleErrorMessages.notAvailableMessage;
|
|
15707
|
+
fail(this, consoleErrorMessages.unableToConnectServer);
|
|
16047
15708
|
return;
|
|
16048
15709
|
}
|
|
16049
15710
|
const wmjsService = WMGetServiceFromStore(this.service);
|
|
@@ -16084,7 +15745,7 @@ class WMLayer {
|
|
|
16084
15745
|
}
|
|
16085
15746
|
if (this.name === undefined || this.name.length < 1) {
|
|
16086
15747
|
this.title = WMEmptyLayerTitle;
|
|
16087
|
-
this.abstract =
|
|
15748
|
+
this.abstract = consoleErrorMessages.notAvailableMessage;
|
|
16088
15749
|
layerDoneCallback(this);
|
|
16089
15750
|
return;
|
|
16090
15751
|
}
|
|
@@ -16130,7 +15791,7 @@ class WMLayer {
|
|
|
16130
15791
|
// Function will be called when the layer with the right name is found in the getcap doc
|
|
16131
15792
|
const populateLayerFromTreeElement = jsonlayer => {
|
|
16132
15793
|
this.title = jsonlayer.title || jsonlayer.name || '';
|
|
16133
|
-
this.abstract = jsonlayer.abstract ||
|
|
15794
|
+
this.abstract = jsonlayer.abstract || consoleErrorMessages.notAvailableMessage;
|
|
16134
15795
|
this.path = jsonlayer.path.join('/');
|
|
16135
15796
|
/** ***************** Go through styles **************** */
|
|
16136
15797
|
configureStyles(jsonlayer, this);
|
|
@@ -16144,7 +15805,7 @@ class WMLayer {
|
|
|
16144
15805
|
const wmProjection = new WMProjection();
|
|
16145
15806
|
wmProjection.srs = p.name || '';
|
|
16146
15807
|
if (p.bbox) {
|
|
16147
|
-
const swapBBOX = this.version === WMSVersion.version130 && wmProjection.srs ===
|
|
15808
|
+
const swapBBOX = this.version === WMSVersion.version130 && wmProjection.srs === PROJECTION.EPSG_4326.value && this.wms130bboxcompatibilitymode === false;
|
|
16148
15809
|
if (swapBBOX) {
|
|
16149
15810
|
wmProjection.bbox.setBBOX(p.bbox.bottom, p.bbox.left, p.bbox.top, p.bbox.right);
|
|
16150
15811
|
} else {
|
|
@@ -16181,7 +15842,7 @@ class WMLayer {
|
|
|
16181
15842
|
message = `Unable to find layer '${this.title}' in service '${this.service}'`;
|
|
16182
15843
|
}
|
|
16183
15844
|
this.title = '--- layer not found in service ---';
|
|
16184
|
-
this.abstract =
|
|
15845
|
+
this.abstract = consoleErrorMessages.notAvailableMessage;
|
|
16185
15846
|
fail(this, message);
|
|
16186
15847
|
return;
|
|
16187
15848
|
}
|
|
@@ -16214,7 +15875,7 @@ class WMLayer {
|
|
|
16214
15875
|
const fail = (_layer, message) => {
|
|
16215
15876
|
this.hasError = true;
|
|
16216
15877
|
this.lastError = message;
|
|
16217
|
-
this.title =
|
|
15878
|
+
this.title = consoleErrorMessages.serviceHasError;
|
|
16218
15879
|
layerDoneCallback(_layer);
|
|
16219
15880
|
if (isDefined(this._options.failure)) {
|
|
16220
15881
|
this._options.failure(_layer, message);
|
|
@@ -16224,7 +15885,7 @@ class WMLayer {
|
|
|
16224
15885
|
this.__parseGetCapForLayer(data, layerDoneCallback, fail);
|
|
16225
15886
|
};
|
|
16226
15887
|
const requestfail = () => {
|
|
16227
|
-
fail(this,
|
|
15888
|
+
fail(this, consoleErrorMessages.noCapabilityElementFound);
|
|
16228
15889
|
};
|
|
16229
15890
|
const options = {
|
|
16230
15891
|
headers: {}
|
|
@@ -16438,13 +16099,13 @@ const defaultTimeSpan = 24 * 3600;
|
|
|
16438
16099
|
const speedFactors = [0.1, 0.2, 0.5, 1, 2, 4, 8, 16]; // Declares available animation speed multipliers for default delay
|
|
16439
16100
|
|
|
16440
16101
|
var mapConstants = /*#__PURE__*/Object.freeze({
|
|
16441
|
-
|
|
16442
|
-
|
|
16443
|
-
|
|
16444
|
-
|
|
16445
|
-
|
|
16446
|
-
|
|
16447
|
-
|
|
16102
|
+
__proto__: null,
|
|
16103
|
+
defaultAnimationDelayAtStart: defaultAnimationDelayAtStart,
|
|
16104
|
+
defaultDelay: defaultDelay,
|
|
16105
|
+
defaultSecondsPerPx: defaultSecondsPerPx,
|
|
16106
|
+
defaultTimeSpan: defaultTimeSpan,
|
|
16107
|
+
defaultTimeStep: defaultTimeStep,
|
|
16108
|
+
speedFactors: speedFactors
|
|
16448
16109
|
});
|
|
16449
16110
|
|
|
16450
16111
|
/* *
|
|
@@ -16622,23 +16283,23 @@ const getSpeedDelay = speedFactor => {
|
|
|
16622
16283
|
};
|
|
16623
16284
|
|
|
16624
16285
|
var utils = /*#__PURE__*/Object.freeze({
|
|
16625
|
-
|
|
16626
|
-
|
|
16627
|
-
|
|
16628
|
-
|
|
16629
|
-
|
|
16630
|
-
|
|
16631
|
-
|
|
16632
|
-
|
|
16633
|
-
|
|
16634
|
-
|
|
16635
|
-
|
|
16636
|
-
|
|
16637
|
-
|
|
16638
|
-
|
|
16639
|
-
|
|
16640
|
-
|
|
16641
|
-
|
|
16286
|
+
__proto__: null,
|
|
16287
|
+
clearImageCacheForAllMaps: clearImageCacheForAllMaps,
|
|
16288
|
+
generateLayerId: generateLayerId,
|
|
16289
|
+
generateMapId: generateMapId,
|
|
16290
|
+
generateTimesliderId: generateTimesliderId,
|
|
16291
|
+
getSpeedDelay: getSpeedDelay,
|
|
16292
|
+
getWMJSDimensionForLayerAndDimension: getWMJSDimensionForLayerAndDimension,
|
|
16293
|
+
getWMJSMapById: getWMJSMapById,
|
|
16294
|
+
getWMJSMapIds: getWMJSMapIds,
|
|
16295
|
+
getWMJSTimeDimensionForLayerId: getWMJSTimeDimensionForLayerId,
|
|
16296
|
+
getWMLayerById: getWMLayerById,
|
|
16297
|
+
registerWMJSMap: registerWMJSMap,
|
|
16298
|
+
registerWMLayer: registerWMLayer,
|
|
16299
|
+
roundWithTimeStep: roundWithTimeStep,
|
|
16300
|
+
unRegisterAllWMJSLayersAndMaps: unRegisterAllWMJSLayersAndMaps,
|
|
16301
|
+
unRegisterWMJSLayer: unRegisterWMJSLayer,
|
|
16302
|
+
unRegisterWMJSMap: unRegisterWMJSMap
|
|
16642
16303
|
});
|
|
16643
16304
|
|
|
16644
16305
|
/* *
|
|
@@ -17017,18 +16678,18 @@ const multiDimensionLayer3 = {
|
|
|
17017
16678
|
};
|
|
17018
16679
|
|
|
17019
16680
|
var testSettings = /*#__PURE__*/Object.freeze({
|
|
17020
|
-
|
|
17021
|
-
|
|
17022
|
-
|
|
17023
|
-
|
|
17024
|
-
|
|
17025
|
-
|
|
17026
|
-
|
|
17027
|
-
|
|
17028
|
-
|
|
17029
|
-
|
|
17030
|
-
|
|
17031
|
-
|
|
16681
|
+
__proto__: null,
|
|
16682
|
+
WmLayerWithoutTimeDimension: WmLayerWithoutTimeDimension,
|
|
16683
|
+
WmMultiDimensionLayer: WmMultiDimensionLayer,
|
|
16684
|
+
WmdefaultReduxLayerRadarKNMI: WmdefaultReduxLayerRadarKNMI,
|
|
16685
|
+
crsListForRADNL25PCPCMLayer: crsListForRADNL25PCPCMLayer,
|
|
16686
|
+
defaultReduxLayerRadarColor: defaultReduxLayerRadarColor,
|
|
16687
|
+
defaultReduxLayerRadarKNMI: defaultReduxLayerRadarKNMI$1,
|
|
16688
|
+
layerWithoutTimeDimension: layerWithoutTimeDimension,
|
|
16689
|
+
makeGeoservicesRadarLayer: makeGeoservicesRadarLayer,
|
|
16690
|
+
multiDimensionLayer: multiDimensionLayer$1,
|
|
16691
|
+
multiDimensionLayer3: multiDimensionLayer3,
|
|
16692
|
+
styleListForRADNL25PCPCMLayer: styleListForRADNL25PCPCMLayer
|
|
17032
16693
|
});
|
|
17033
16694
|
|
|
17034
16695
|
/* *
|
|
@@ -17048,20 +16709,6 @@ var testSettings = /*#__PURE__*/Object.freeze({
|
|
|
17048
16709
|
* Copyright 2020 - Finnish Meteorological Institute (FMI)
|
|
17049
16710
|
* Copyright 2024 - The Norwegian Meteorological Institute (MET Norway)
|
|
17050
16711
|
* */
|
|
17051
|
-
var EPSGCode;
|
|
17052
|
-
(function (EPSGCode) {
|
|
17053
|
-
EPSGCode["EPSG3857"] = "EPSG:3857";
|
|
17054
|
-
EPSGCode["EPSG28992"] = "EPSG:28992";
|
|
17055
|
-
EPSGCode["TODO_EPSG4326"] = "TODO__EPSG:4326";
|
|
17056
|
-
EPSGCode["EPSG3411"] = "EPSG:3411";
|
|
17057
|
-
EPSGCode["EPSG32661"] = "EPSG:32661";
|
|
17058
|
-
EPSGCode["EPSG54030"] = "EPSG:54030";
|
|
17059
|
-
EPSGCode["EPSG4326"] = "EPSG:4326";
|
|
17060
|
-
EPSGCode["EPSG4258"] = "EPSG:4258";
|
|
17061
|
-
EPSGCode["EPSG3412"] = "EPSG:3412";
|
|
17062
|
-
EPSGCode["EPSG3575"] = "EPSG:3575";
|
|
17063
|
-
EPSGCode["EPSG3067"] = "EPSG:3067";
|
|
17064
|
-
})(EPSGCode || (EPSGCode = {}));
|
|
17065
16712
|
const tilesettings = {
|
|
17066
16713
|
WorldMap_Light_Grey_Canvas: {
|
|
17067
16714
|
'EPSG:3857': {
|
|
@@ -17157,16 +16804,17 @@ const tilesettings = {
|
|
|
17157
16804
|
tileServerType: 'osm',
|
|
17158
16805
|
copyRight: 'Natural Earth II | Ingmapping'
|
|
17159
16806
|
},
|
|
17160
|
-
|
|
17161
|
-
|
|
17162
|
-
|
|
17163
|
-
|
|
17164
|
-
|
|
17165
|
-
|
|
17166
|
-
|
|
17167
|
-
|
|
17168
|
-
|
|
17169
|
-
|
|
16807
|
+
/* TODO
|
|
16808
|
+
'EPSG:4326': {
|
|
16809
|
+
home: 'https://geoweb-maps-assets.pmc.knmi.cloud/WorldMap/EPSG4326/',
|
|
16810
|
+
minLevel: 0,
|
|
16811
|
+
maxLevel: 9,
|
|
16812
|
+
origX: -180,
|
|
16813
|
+
origY: 90,
|
|
16814
|
+
resolution: 1.422222,
|
|
16815
|
+
tileServerType: 'osm',
|
|
16816
|
+
copyRight: 'Natural Earth II | Ingmapping',
|
|
16817
|
+
}, */
|
|
17170
16818
|
'EPSG:3411': {
|
|
17171
16819
|
home: 'https://geoweb-maps-assets.pmc.knmi.cloud/WorldMap/EPSG3411/',
|
|
17172
16820
|
minLevel: 3,
|
|
@@ -17864,27 +17512,27 @@ const mockGetLayersFlattenedFromService = url => __awaiter(void 0, void 0, void
|
|
|
17864
17512
|
});
|
|
17865
17513
|
|
|
17866
17514
|
var getCapabilities$1 = /*#__PURE__*/Object.freeze({
|
|
17867
|
-
|
|
17868
|
-
|
|
17869
|
-
|
|
17870
|
-
|
|
17871
|
-
|
|
17872
|
-
|
|
17873
|
-
|
|
17874
|
-
|
|
17875
|
-
|
|
17876
|
-
|
|
17877
|
-
|
|
17878
|
-
|
|
17879
|
-
|
|
17880
|
-
|
|
17881
|
-
|
|
17882
|
-
|
|
17883
|
-
|
|
17884
|
-
|
|
17885
|
-
|
|
17886
|
-
|
|
17887
|
-
|
|
17515
|
+
__proto__: null,
|
|
17516
|
+
MOCK_URL_DEFAULT: MOCK_URL_DEFAULT,
|
|
17517
|
+
MOCK_URL_DEFAULT2: MOCK_URL_DEFAULT2,
|
|
17518
|
+
MOCK_URL_HTTP: MOCK_URL_HTTP,
|
|
17519
|
+
MOCK_URL_INVALID: MOCK_URL_INVALID,
|
|
17520
|
+
MOCK_URL_NO_CHILDREN: MOCK_URL_NO_CHILDREN,
|
|
17521
|
+
MOCK_URL_SLOW: MOCK_URL_SLOW,
|
|
17522
|
+
MOCK_URL_SLOW_FAILS: MOCK_URL_SLOW_FAILS,
|
|
17523
|
+
MOCK_URL_WITH_CHILDREN: MOCK_URL_WITH_CHILDREN,
|
|
17524
|
+
MOCK_URL_WITH_NO_TITLE: MOCK_URL_WITH_NO_TITLE,
|
|
17525
|
+
MOCK_URL_WITH_NO_TITLE_OR_NAME: MOCK_URL_WITH_NO_TITLE_OR_NAME,
|
|
17526
|
+
MOCK_URL_WITH_SUBCATEGORY: MOCK_URL_WITH_SUBCATEGORY,
|
|
17527
|
+
mockGetLayersFlattenedFromService: mockGetLayersFlattenedFromService,
|
|
17528
|
+
mockGetLayersFromService: mockGetLayersFromService,
|
|
17529
|
+
mockLayersDefault: mockLayersDefault,
|
|
17530
|
+
mockLayersDefault2: mockLayersDefault2,
|
|
17531
|
+
mockLayersNoChildren: mockLayersNoChildren,
|
|
17532
|
+
mockLayersWithChildren: mockLayersWithChildren,
|
|
17533
|
+
mockLayersWithNoTitle: mockLayersWithNoTitle,
|
|
17534
|
+
mockLayersWithNoTitleOrName: mockLayersWithNoTitleOrName,
|
|
17535
|
+
mockLayersWithSubcategory: mockLayersWithSubcategory
|
|
17888
17536
|
});
|
|
17889
17537
|
|
|
17890
17538
|
const mockGetCapabilities = Object.assign(Object.assign({}, getCapabilities$1), {
|
|
@@ -17949,10 +17597,10 @@ const getLayersFlattenedFromService = (serviceUrl, forceReload = false) => {
|
|
|
17949
17597
|
};
|
|
17950
17598
|
|
|
17951
17599
|
var getCapabilities = /*#__PURE__*/Object.freeze({
|
|
17952
|
-
|
|
17953
|
-
|
|
17954
|
-
|
|
17955
|
-
|
|
17600
|
+
__proto__: null,
|
|
17601
|
+
getLayersFlattenedFromService: getLayersFlattenedFromService,
|
|
17602
|
+
getLayersFromService: getLayersFromService,
|
|
17603
|
+
recurseNodes: recurseNodes
|
|
17956
17604
|
});
|
|
17957
17605
|
|
|
17958
|
-
export { DateInterval, DebugType,
|
|
17606
|
+
export { DateInterval, DebugType, EVENT_GETCAPABILITIES_READY, EVENT_GETCAPABILITIES_START, LayerType, ParseISOTimeRangeDuration, URLDecode, URLEncode, WEBMAP_NAMESPACE, WMBBOX, WMDateOutSideRange, WMDateTooEarlyString, WMDateTooLateString, WMEmptyLayerName, WMEmptyLayerTitle, WMGetServiceFromStore, WMImage, WMImageEventType, WMJSDimension, WMJSMAP_LONLAT_EPSGCODE, WMJSMap, WMJSService, WMJScheckURL, WMLayer, WMListener, WMProj4Defs, WMProjection, WMSJSMAP_MINIMUM_MAP_HEIGHT, WMSJSMAP_MINIMUM_MAP_WIDTH, WMSVersion, bgImageStoreLength, buildMapLayerDims, buildWMSGetMapRequest, clearImageCacheForAllMaps, debugLogger, defaultReduxLayerRadarKNMI, detectLeftButton, detectRightButton, drawScaleBar, drawTextBG, generateLayerId, generateMapId, generateTimesliderId, getBBOXandProjString, getCapabilities, getErrorsToDisplay, getGeoCoordFromLatLong, getGeoCoordFromPixelCoord, getLatLongFromPixelCoord, getLayerIndex, getLegendGraphicURLForLayer, getPixelCoordFromGeoCoord, getPixelCoordFromLatLong, getScaleBarProperties, getSpeedDelay, getUriWithParam, getWMJSDimensionForLayerAndDimension, getWMJSMapById, getWMJSMapIds, getWMJSTimeDimensionForLayerId, getWMLayerById, getWMSGetFeatureInfoRequestURL, getWMSRequests, handleDateUtilsISOString, isDefined, isProjectionSupported, legendImageStore, legendImageStoreLength, mapConstants, mapImageStoreLength, mockGetCapabilities, multiDimensionLayer, parseISO8601DateToDate, parseISO8601IntervalToDateInterval, registerWMJSMap, registerWMLayer, roundWithTimeStep, speedFactors, tilesettings, toArray, unRegisterAllWMJSLayersAndMaps, unRegisterWMJSLayer, unRegisterWMJSMap, testSettings as webmapTestSettings, webmapTranslations, utils as webmapUtils, wmServiceListener };
|