@opengeoweb/webmap 9.34.0 → 9.35.1-spike-oltanstack.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.
Files changed (40) hide show
  1. package/index.esm.js +4460 -3328
  2. package/package.json +2 -1
  3. package/src/index.d.ts +13 -0
  4. package/src/lib/components/IWMJSMap.d.ts +2 -0
  5. package/src/lib/components/WMJSMap.d.ts +2 -0
  6. package/src/lib/components/WMJSTools.d.ts +1 -15
  7. package/src/lib/components/WMLayer.d.ts +6 -78
  8. package/src/lib/components/WMLayerTypes.d.ts +57 -0
  9. package/src/lib/components/WMLayerUtils.d.ts +22 -0
  10. package/src/lib/components/WMTime.d.ts +1 -0
  11. package/src/lib/components/index.d.ts +8 -5
  12. package/src/lib/components/types.d.ts +26 -1
  13. package/src/lib/query/queryWMS.d.ts +51 -0
  14. package/src/lib/specs/getCapabilitySpecs/WMS130GetCapabilitiesRadarTestWithInheritLayerpropsToLayerTree.d.ts +71 -0
  15. package/src/lib/specs/getCapabilitySpecs/WMSSmartMet.d.ts +2 -0
  16. package/src/lib/specs/getCapabilitySpecs/radarGetCapabilities.d.ts +244 -0
  17. package/src/lib/{utils/getCapabilities/mocks → specs}/index.d.ts +6 -4
  18. package/src/lib/{utils/testSettings.d.ts → specs/layerSpecs.d.ts} +24 -5
  19. package/src/lib/{utils/getCapabilities/mocks → specs}/mockGetCapabilities.d.ts +2 -1
  20. package/src/lib/utils/getCapabilities/getWMSServiceId.d.ts +10 -0
  21. package/src/lib/utils/getCapabilities/index.d.ts +4 -2
  22. package/src/lib/utils/getCapabilities/utils.d.ts +38 -0
  23. package/src/lib/utils/getCapabilities/wmsQueryClient.d.ts +7 -0
  24. package/src/lib/utils/index.d.ts +0 -6
  25. package/src/lib/utils/utils.d.ts +0 -5
  26. package/src/lib/components/WMGetServiceFromStore.d.ts +0 -3
  27. package/src/lib/components/WMGlobals.d.ts +0 -8
  28. package/src/lib/components/WMJSService.d.ts +0 -69
  29. package/src/lib/utils/getCapabilities/getCapabilities.d.ts +0 -18
  30. package/src/lib/utils/getCapabilities/getCapabilities.spec.d.ts +0 -1
  31. package/src/lib/utils/mapConstants.d.ts +0 -7
  32. package/src/lib/utils/specs/WMS111GetCapabilitiesGeoServicesRADAR.d.ts +0 -2
  33. package/src/lib/utils/specs/WMSSmartMet.d.ts +0 -2
  34. package/src/lib/utils/testUtils.d.ts +0 -21
  35. /package/src/lib/{utils/getCapabilities/mocks → specs/getCapabilitySpecs}/WMS111GetCapabilitiesGeoServicesRADAR.d.ts +0 -0
  36. /package/src/lib/{utils/specs → specs/getCapabilitySpecs}/WMS130GetCapabilitiesHarmN25.d.ts +0 -0
  37. /package/src/lib/{utils/specs → specs/getCapabilitySpecs}/WMS130GetCapabilitiesRadarTestWithInheritAndReplaceLayerprops.d.ts +0 -0
  38. /package/src/lib/{utils/specs → specs/getCapabilitySpecs}/WMS130GetCapabilitiesRadarTestWithInheritLayerprops.d.ts +0 -0
  39. /package/src/lib/{utils/specs → specs/getCapabilitySpecs}/WMS130GetCapabilitiesRadarTestWithoutInheritLayerprops.d.ts +0 -0
  40. /package/src/lib/{components/WMJSService.spec.d.ts → utils/getCapabilities/utils.spec.d.ts} +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opengeoweb/webmap",
3
- "version": "9.34.0",
3
+ "version": "9.35.1-spike-oltanstack.0",
4
4
  "description": "GeoWeb webmap library for the opengeoweb project",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -9,6 +9,7 @@
9
9
  },
10
10
  "dependencies": {
11
11
  "@opengeoweb/shared": "*",
12
+ "@tanstack/query-core": "^5.61.5",
12
13
  "proj4": "^2.9.2",
13
14
  "lodash": "^4.17.21",
14
15
  "i18next": "^23.11.5"
package/src/index.d.ts CHANGED
@@ -1 +1,14 @@
1
+ import WMImageStore from './lib/components/WMImageStore';
2
+ import { mockGetCapabilities } from './lib/specs';
1
3
  export * from './lib';
4
+ export * as webmapUtils from './lib/utils/utils';
5
+ export * as webmapTestSettings from './lib/specs';
6
+ export { mockGetCapabilities };
7
+ declare const privateWebMapUtils: {
8
+ privateWmsGetCapabilities: (serviceUrl: string, headers?: import("./lib").Header[], forceReload?: boolean) => Promise<import("./lib").GetCapabilitiesJson>;
9
+ privateGetWMSServiceInfo: (getCapabilitiesJson: import("./lib").GetCapabilitiesJson, serviceUrl: string) => import("./lib").WMSServiceInfo;
10
+ privateWmsGetLayerTree: (jsonData: import("./lib").GetCapabilitiesJson) => import("./lib").LayerTree;
11
+ privateWmsFlattenLayerTree: (layerTree: import("./lib").LayerTree) => import("./lib").LayerProps[];
12
+ };
13
+ export { privateWebMapUtils };
14
+ export { WMImageStore };
@@ -311,5 +311,7 @@ interface IWMJSMap {
311
311
  */
312
312
  getAlternativeImage(imageUrl: string, bbox: CanvasBBOX, filterBad: boolean): CanvasGeoLayer[];
313
313
  configureMapDimensions(layer: WMLayer): void;
314
+ detachWheelEvent(): void;
315
+ attachWheelEvent(): void;
314
316
  }
315
317
  export default IWMJSMap;
@@ -115,6 +115,8 @@ export default class WMJSMap implements IWMJSMap {
115
115
  _display(): void;
116
116
  _updateBoundingBox(_mapbbox: WMBBOX, triggerEvent?: boolean): void;
117
117
  _mouseWheelEvent(event: WheelEvent): void;
118
+ detachWheelEvent(): void;
119
+ attachWheelEvent(): void;
118
120
  _detachEvents(): void;
119
121
  _attachEvents(): void;
120
122
  _onContextMenu: () => boolean;
@@ -1,4 +1,4 @@
1
- import type { Dimension, GeographicBoundingBox, LayerProps, LayerTree, Style, WMSLayerFromGetCapabilities } from './types';
1
+ import type { Dimension, GeographicBoundingBox, LayerProps, Style, WMSLayerFromGetCapabilities } from './types';
2
2
  import type WMLayer from './WMLayer';
3
3
  export declare const enableConsoleDebugging = false;
4
4
  export declare enum DebugType {
@@ -75,12 +75,6 @@ export declare const addBoundingBoxForLayer: (layerObjectFromWMS: WMSLayerFromGe
75
75
  * @returns Sorted array.
76
76
  */
77
77
  export declare function sortArrayOfObjectsByKey<ArrayOfObjects>(array: ArrayOfObjects[], key: string): ArrayOfObjects[];
78
- /**
79
- * A LayerTree with deeply nested children will be flattened into a 1D array. Children properties are removed and result is sorted alphabetically by the layers title.
80
- * @param layerTree a WMS LayerTree
81
- * @returns Flat array of layers as LayerProps[]
82
- */
83
- export declare const flattenLayerTree: (layerTree: LayerTree) => LayerProps[];
84
78
  /**
85
79
  * Makes a LayerProps object from the WMSLayerFromGetCapabilities and nestedLayerPath
86
80
  * @param layer WMSLayerFromGetCapabilities
@@ -90,11 +84,3 @@ export declare const flattenLayerTree: (layerTree: LayerTree) => LayerProps[];
90
84
  * @returns
91
85
  */
92
86
  export declare const makeNodeLayerFromWMSGetCapabilityLayer: (layer: WMSLayerFromGetCapabilities, path?: string[], isleaf?: boolean, nestedLayerPath?: LayerProps[]) => LayerProps;
93
- /**
94
- * Builds a standardized LayerTree object based on WMSLayerFromGetCapabilities object.
95
- * @param wmsLayer The WMSLayerFromGetCapabilities object
96
- * @param nestedPath - Optional, only to be used by buildLayerTreeFromNestedWMSLayer
97
- * @param nestedLayerPath - Optional, only to be used by buildLayerTreeFromNestedWMSLayer
98
- * @returns A LayerTree object.
99
- */
100
- export declare const buildLayerTreeFromNestedWMSLayer: (wmsLayer: WMSLayerFromGetCapabilities, nestedPath?: string[], nestedLayerPath?: LayerProps[]) => LayerTree;
@@ -1,74 +1,9 @@
1
1
  /// <reference types="node" />
2
- import { FeatureCollection } from 'geojson';
3
2
  import type IWMJSMap from './IWMJSMap';
4
3
  import WMJSDimension from './WMJSDimension';
5
4
  import WMProjection from './WMProjection';
6
- import { GetCapabilitiesJson } from './WMJSService';
7
- import { Style, Dimension, LayerProps, GeographicBoundingBox } from './types';
8
- import type { TileServerSettings } from '../utils/tilesettings';
9
- export declare enum LayerType {
10
- mapLayer = "mapLayer",
11
- baseLayer = "baseLayer",
12
- overLayer = "overLayer",
13
- featureLayer = "featureLayer"
14
- }
15
- export interface TiledLayerFoundation {
16
- tileServer?: TileServerSettings;
17
- }
18
- export interface LayerFoundation extends TiledLayerFoundation {
19
- acceptanceTimeInMinutes?: number;
20
- dimensions?: Dimension[];
21
- enabled?: boolean;
22
- format?: string;
23
- id?: string;
24
- layerType?: LayerType;
25
- name?: string;
26
- opacity?: number;
27
- service?: string;
28
- style?: string;
29
- title?: string;
30
- type?: string;
31
- geojson?: FeatureCollection;
32
- }
33
- export interface LayerOptions extends LayerFoundation {
34
- id: string;
35
- layerType: LayerType;
36
- service: string;
37
- active?: boolean;
38
- getgraphinfoURL?: string;
39
- currentStyle?: string;
40
- sldURL?: string;
41
- keepOnTop?: boolean;
42
- transparent?: boolean;
43
- onReady?: (param: LayerOptions) => void;
44
- parentMap?: IWMJSMap;
45
- headers?: Headers[];
46
- failure?: (layer: WMLayer, message: string) => void;
47
- ReactWMJSLayerId?: string;
48
- onLayerError?: (layer: WMLayer, error: Error, webmapInstance: IWMJSMap) => void;
49
- onLayerReady?: (layer: WMLayer, webmap?: IWMJSMap) => void;
50
- geojson?: GeoJSON.FeatureCollection;
51
- }
52
- /**
53
- * Helper function to figure out the dimensions from the WMS layer object (From WMS GetCapabilities). Parses both WMS 1.1.1 and WMS 1.3.0.
54
- * @param layerObjectFromWMS The corresponding layer object from the WMS GetCapabilities.
55
- * @param layer THe WMLayer to configure
56
- * @param layerDimNamesToRemove A set of dimensions names which are flagged for removal, this function removes the dimension from the set if found in the layer.
57
- */
58
- export declare const addDimsForLayer: (layerProps: LayerProps, layer: WMLayer, layerDimNamesToRemove: Set<string>) => void;
59
- /**
60
- * Helper function to configure the WMS Styles from the WMS GetCapabilities document.
61
- * @param nestedLayerPath Array of WMS Layers from `[Root WMS Layer] => [Parent(s) WMS Layer] => [This WMS layer]`.
62
- * @param wmLayer The WMLayer object to configure
63
- */
64
- export declare const configureStyles: (layerProps: LayerProps, wmLayer: WMLayer) => void;
65
- /**
66
- * Helper function to configure the dimensions for this layer from the WMS GetCapabilities document.
67
- * @param nestedLayerPath Array of WMS Layers from `[Root WMS Layer] => [Parent(s) WMS Layer] => [This WMS layer]`.
68
- * @param wmLayer The WMLayer object to configure
69
- */
70
- export declare const configureDimensions: (layerProps: LayerProps, wmLayer: WMLayer) => void;
71
- export declare const configureGeographicBoundingBox: (layerProps: LayerProps, wmLayer: WMLayer) => void;
5
+ import { Style, GeographicBoundingBox, GetCapabilitiesJson } from './types';
6
+ import type { LayerType, LayerOptions } from './WMLayerTypes';
72
7
  export default class WMLayer {
73
8
  id: string;
74
9
  name?: string;
@@ -125,7 +60,7 @@ export default class WMLayer {
125
60
  constructor(options?: LayerOptions);
126
61
  getLayerName(): string;
127
62
  toggleAutoUpdate(): void;
128
- setAutoUpdate(val: boolean, interval?: number, callback?: () => void): void;
63
+ setAutoUpdate(val: boolean, interval?: number): void;
129
64
  setOpacity(opacityValue: number): void;
130
65
  getOpacity(): number;
131
66
  remove(): void;
@@ -134,19 +69,12 @@ export default class WMLayer {
134
69
  handleReferenceTime(name: string, value: string, updateMapDimensions?: boolean): void;
135
70
  getDimensions(): WMJSDimension[];
136
71
  setDimension(name: string, value: string, updateMapDimensions?: boolean): void;
137
- __parseGetCapForLayer(getcapabilitiesjson: GetCapabilitiesJson, layerDoneCallback: (layer: WMLayer) => void, fail: (layer: WMLayer, message: string) => void): void;
138
- /**
139
- * Calls success with a configured layer object
140
- * Calls options.failure with error message.
141
- * Throws string exceptions when someting goes wrong
142
- */
143
- parseLayer(_layerDoneCallback: (layer: WMLayer) => void, forceReload: boolean, origin: string): void;
144
- /**
145
- * A Promise to parse the layer, it will fetch the WMS GetCapabilities document, configure the layer and resolve to a WMLayer object
72
+ _setWMSGetCapabilities(getCapabilitiesJson: GetCapabilitiesJson): void;
73
+ /** A Promise to parse the layer, it will fetch the WMS GetCapabilities document, configure the layer and resolve to a WMLayer object
146
74
  * @param forceReload Do not use the cache of the WMS GetCapabilities document, but instead fetch new data from the server
147
75
  * @returns WMLayer object
148
76
  */
149
- parseLayerPromise(forceReload?: boolean): Promise<WMLayer>;
77
+ parseLayer(forceReload?: boolean): Promise<WMLayer>;
150
78
  cloneLayer(): WMLayer;
151
79
  /**
152
80
  * Set or change the name of this layer. This involves re-parsing the WMS GetCapabilities document and updating the affected layer properties. When done, it resolves the WMLayer
@@ -0,0 +1,57 @@
1
+ import type { FeatureCollection } from 'geojson';
2
+ import type { TileServerSettings } from '../utils';
3
+ import type IWMJSMap from './IWMJSMap';
4
+ import type { Dimension } from './types';
5
+ import type WMLayer from './WMLayer';
6
+ export declare enum LayerType {
7
+ mapLayer = "mapLayer",
8
+ baseLayer = "baseLayer",
9
+ overLayer = "overLayer",
10
+ featureLayer = "featureLayer"
11
+ }
12
+ export interface TiledLayerFoundation {
13
+ tileServer?: TileServerSettings;
14
+ }
15
+ export interface LayerFoundation extends TiledLayerFoundation {
16
+ acceptanceTimeInMinutes?: number;
17
+ dimensions?: Dimension[];
18
+ enabled?: boolean;
19
+ format?: string;
20
+ id?: string;
21
+ layerType?: LayerType;
22
+ name?: string;
23
+ opacity?: number;
24
+ service?: string;
25
+ style?: string;
26
+ title?: string;
27
+ type?: string;
28
+ geojson?: FeatureCollection;
29
+ }
30
+ export interface LayerOptions extends LayerFoundation {
31
+ id: string;
32
+ layerType: LayerType;
33
+ service: string;
34
+ getmapURL?: string;
35
+ active?: boolean;
36
+ getgraphinfoURL?: string;
37
+ currentStyle?: string;
38
+ sldURL?: string;
39
+ keepOnTop?: boolean;
40
+ transparent?: boolean;
41
+ onReady?: (param: LayerOptions) => void;
42
+ parentMap?: IWMJSMap;
43
+ headers?: Headers[];
44
+ failure?: (layer: WMLayer, message: string) => void;
45
+ ReactWMJSLayerId?: string;
46
+ onLayerError?: (layer: WMLayer, error: Error, webmapInstance: IWMJSMap) => void;
47
+ onLayerReady?: (layer: WMLayer, webmap?: IWMJSMap) => void;
48
+ geojson?: GeoJSON.FeatureCollection;
49
+ }
50
+ export interface WMSLayerDimInfo {
51
+ name: string;
52
+ units: string;
53
+ unitSymbol: string;
54
+ value: string;
55
+ default: string;
56
+ linkDimensionToMap: boolean;
57
+ }
@@ -0,0 +1,22 @@
1
+ import { LayerProps } from './types';
2
+ import type WMLayer from './WMLayer';
3
+ /**
4
+ * Helper function to figure out the dimensions from the WMS layer object (From WMS GetCapabilities). Parses both WMS 1.1.1 and WMS 1.3.0.
5
+ * @param layerObjectFromWMS The corresponding layer object from the WMS GetCapabilities.
6
+ * @param layer THe WMLayer to configure
7
+ * @param layerDimNamesToRemove A set of dimensions names which are flagged for removal, this function removes the dimension from the set if found in the layer.
8
+ */
9
+ export declare const addDimsForLayer: (layerProps: LayerProps, layer: WMLayer, layerDimNamesToRemove: Set<string>) => void;
10
+ /**
11
+ * Helper function to configure the WMS Styles from the WMS GetCapabilities document.
12
+ * @param nestedLayerPath Array of WMS Layers from `[Root WMS Layer] => [Parent(s) WMS Layer] => [This WMS layer]`.
13
+ * @param wmLayer The WMLayer object to configure
14
+ */
15
+ export declare const configureStyles: (layerProps: LayerProps, wmLayer: WMLayer) => void;
16
+ /**
17
+ * Helper function to configure the dimensions for this layer from the WMS GetCapabilities document.
18
+ * @param nestedLayerPath Array of WMS Layers from `[Root WMS Layer] => [Parent(s) WMS Layer] => [This WMS layer]`.
19
+ * @param wmLayer The WMLayer object to configure
20
+ */
21
+ export declare const configureDimensions: (layerProps: LayerProps, wmLayer: WMLayer) => void;
22
+ export declare const configureGeographicBoundingBox: (layerProps: LayerProps, wmLayer: WMLayer) => void;
@@ -23,6 +23,7 @@ export declare const parseISO8601DateToDate: (unvalidatedIsotime: string) => Cus
23
23
  /** ****************************************************** */
24
24
  /** ****************************************************** */
25
25
  export declare const parseISO8601IntervalToDateInterval: (_isotime: string) => DateInterval;
26
+ export declare function isTimeOnIntervalStep(time: Date, intervalStart: Date, interval: DateInterval): boolean;
26
27
  /** ******************************************************* */
27
28
  /** ******************************************************* */
28
29
  export declare function getNumberOfTimeSteps(starttime: CustomDate, stoptime: CustomDate, interval: DateInterval): number;
@@ -1,24 +1,27 @@
1
1
  import type IWMJSMap from './IWMJSMap';
2
2
  import { isDefined, WMJScheckURL, URLDecode, URLEncode, toArray, debugLogger, DebugType, getUriWithParam } from './WMJSTools';
3
- import WMGetServiceFromStore from './WMGetServiceFromStore';
4
3
  import { parseISO8601DateToDate, DateInterval, parseISO8601IntervalToDateInterval, ParseISOTimeRangeDuration } from './WMTime';
5
4
  import WMImage from './WMImage';
6
5
  import { getLegendGraphicURLForLayer, legendImageStore } from './WMLegend';
7
6
  import { WMImageEventType } from './WMImageStore';
8
- import { WMJSService, wmServiceListener } from './WMJSService';
9
7
  import WMListener from './WMListener';
10
8
  import WMJSMap from './WMJSMap';
11
9
  import WMProjection from './WMProjection';
10
+ import { LayerType } from './WMLayerTypes';
11
+ import { WMXMLStringToJson } from './WMXMLParser';
12
12
  export { default as WMJSDimension, handleDateUtilsISOString, } from './WMJSDimension';
13
- export { default as WMLayer, LayerType } from './WMLayer';
14
- export type { LayerOptions, LayerFoundation } from './WMLayer';
13
+ export { default as WMLayer } from './WMLayer';
14
+ export type { LayerOptions, LayerFoundation } from './WMLayerTypes';
15
+ export { LayerType };
15
16
  export { default as WMBBOX } from './WMBBOX';
16
17
  export type { Bbox } from './WMBBOX';
17
18
  export type { WMProjectionWH } from './WMProjection';
18
19
  export { WMProjection };
19
- export { IWMJSMap, WMJSMap, DateInterval, parseISO8601IntervalToDateInterval, ParseISOTimeRangeDuration, isDefined, WMGetServiceFromStore, WMJScheckURL, URLEncode, URLDecode, parseISO8601DateToDate, toArray, getLegendGraphicURLForLayer, legendImageStore, WMImage, debugLogger, DebugType, WMImageEventType, WMJSService, getUriWithParam, wmServiceListener, WMListener, };
20
+ export { IWMJSMap, WMJSMap, DateInterval, parseISO8601IntervalToDateInterval, ParseISOTimeRangeDuration, isDefined, WMJScheckURL, URLEncode, URLDecode, parseISO8601DateToDate, toArray, getLegendGraphicURLForLayer, legendImageStore, WMImage, debugLogger, DebugType, WMImageEventType, getUriWithParam, WMListener, WMXMLStringToJson, };
20
21
  export * from './types';
21
22
  export * from './WMTimeTypes';
22
23
  export * from './WMConstants';
23
24
  export * from './WMJSMapHelpers';
24
25
  export * from './WMCanvasDrawFunctions';
26
+ declare const wmServiceListener: WMListener;
27
+ export { wmServiceListener };
@@ -72,7 +72,7 @@ export interface LayerProps {
72
72
  name: string | null;
73
73
  leaf: boolean;
74
74
  path: string[];
75
- title: string;
75
+ title?: string;
76
76
  abstract?: string;
77
77
  keywords?: string[];
78
78
  styles?: Style[];
@@ -172,3 +172,28 @@ export interface IWMProj4 {
172
172
  crs: string;
173
173
  proj4: typeof proj4;
174
174
  }
175
+ export interface GetCapabilitiesJson {
176
+ WMS_Capabilities?: any;
177
+ WMT_MS_Capabilities?: any;
178
+ ServiceExceptionReport?: any;
179
+ }
180
+ export interface WMSServiceInfo {
181
+ id?: string;
182
+ version: string;
183
+ abstract: string;
184
+ title: string;
185
+ onlineresource: string;
186
+ getmapURL: string;
187
+ getCapabilitiesJson: GetCapabilitiesJson;
188
+ }
189
+ export interface Capability {
190
+ Layer: WMSLayerFromGetCapabilities;
191
+ Request: any;
192
+ }
193
+ export interface XLINK {
194
+ 'xlink:href': string;
195
+ }
196
+ export interface Header {
197
+ name: string;
198
+ value: string;
199
+ }
@@ -0,0 +1,51 @@
1
+ import { GetCapabilitiesJson, LayerProps, LayerTree, WMSServiceInfo } from '../components/types';
2
+ /**
3
+ * Invalidates the tanstack store for this getcapabilities service. Used to force refetch.
4
+ *
5
+ * @async
6
+ * @param {string} serviceUrl
7
+ * @returns {Promise<void>}
8
+ */
9
+ export declare const invalidateWMSGetCapabilities: (serviceUrl: string) => Promise<void>;
10
+ /**
11
+ * Fetches the WMS GetCapabilities document and converts it to a json object. It is cached by TanStack.
12
+ *
13
+ * @async
14
+ * @param {string} serviceUrl
15
+ * @returns {Promise<GetCapabilitiesJson>}
16
+ */
17
+ export declare const queryWMSGetCapabilities: (serviceUrl: string) => Promise<GetCapabilitiesJson>;
18
+ /**
19
+ * Gets the layer tree in hierarchical order for a WMS service. Cached by TanStack. Uses the same store as in queryWMSGetCapabilities.
20
+ *
21
+ * @async
22
+ * @param {string} serviceUrl
23
+ * @returns {Promise<LayerTree>}
24
+ */
25
+ export declare const queryWMSLayersTree: (serviceUrl: string) => Promise<LayerTree>;
26
+ /**
27
+ * Gets the flat layer list (without hierarchy) for a WMS service. Cached by TanStack. Uses the same store as in queryWMSGetCapabilities.
28
+ *
29
+ * @async
30
+ * @param {string} serviceUrl
31
+ * @param {boolean} [forceReload=false]
32
+ * @returns {Promise<LayerProps[]>}
33
+ */
34
+ export declare const queryWMSLayers: (serviceUrl: string, forceReload?: boolean) => Promise<LayerProps[]>;
35
+ /**
36
+ * Returns details about the WMS service
37
+ *
38
+ * @async
39
+ * @param {string} serviceUrl
40
+ * @returns {Promise<WMSServiceInfo>}
41
+ */
42
+ export declare const queryWMSServiceInfo: (serviceUrl: string) => Promise<WMSServiceInfo>;
43
+ /**
44
+ * Returns specific layer from the WMS service
45
+ *
46
+ * @async
47
+ * @param {string} serviceUrl
48
+ * @param {string} name
49
+ * @returns {Promise<LayerProps>}
50
+ */
51
+ export declare const queryWMSLayer: (serviceUrl: string, name: string) => Promise<LayerProps>;
@@ -0,0 +1,71 @@
1
+ declare const _default: {
2
+ name: null;
3
+ title: string;
4
+ leaf: boolean;
5
+ path: never[];
6
+ keywords: never[];
7
+ abstract: undefined;
8
+ styles: {
9
+ title: string;
10
+ name: string;
11
+ legendURL: string;
12
+ abstract: string;
13
+ }[];
14
+ dimensions: {
15
+ name: string;
16
+ units: string;
17
+ currentValue: string;
18
+ values: string;
19
+ unitSymbol: undefined;
20
+ }[];
21
+ geographicBoundingBox: undefined;
22
+ queryable: boolean;
23
+ crs: {
24
+ name: string;
25
+ bbox: {
26
+ left: number;
27
+ right: number;
28
+ bottom: number;
29
+ top: number;
30
+ };
31
+ }[];
32
+ children: {
33
+ name: string;
34
+ title: string;
35
+ leaf: boolean;
36
+ path: string[];
37
+ keywords: never[];
38
+ abstract: undefined;
39
+ styles: {
40
+ title: string;
41
+ name: string;
42
+ legendURL: string;
43
+ abstract: string;
44
+ }[];
45
+ dimensions: {
46
+ name: string;
47
+ units: string;
48
+ currentValue: string;
49
+ values: string;
50
+ unitSymbol: undefined;
51
+ }[];
52
+ geographicBoundingBox: {
53
+ east: string;
54
+ west: string;
55
+ north: string;
56
+ south: string;
57
+ };
58
+ queryable: boolean;
59
+ crs: {
60
+ name: string;
61
+ bbox: {
62
+ left: number;
63
+ right: number;
64
+ bottom: number;
65
+ top: number;
66
+ };
67
+ }[];
68
+ children: never[];
69
+ }[];
70
+ };
71
+ export default _default;
@@ -0,0 +1,2 @@
1
+ declare const _default: "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<WMS_Capabilities version=\"1.3.0\" xmlns=\"http://www.opengis.net/wms\" xmlns:xsi=\"https://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://www.opengis.net/wms http://schemas.opengis.net/wms/1.3.0/capabilities_1_3_0.xsd\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n<Service>\n <Name>WMS</Name>\n <Title>SmartMet Web Map Service</Title>\n <Abstract>Web Map Service Powered by SmartMet Server</Abstract>\n <KeywordList>\n <Keyword>weather</Keyword>\n <Keyword>forecast</Keyword>\n <Keyword>hirlam</Keyword>\n <Keyword>meps</Keyword>\n <Keyword>smartmetserver</Keyword>\n </KeywordList>\n <OnlineResource xlink:href=\"https://github.com/fmidev/smartmet-server\"/>\n</Service>\n<Capability>\n <Request>\n <GetCapabilities>\n <Format>text/xml</Format>\n <DCPType>\n <HTTP>\n <Get>\n <OnlineResource xlink:type=\"simple\"\n xlink:href=\"https://data.apps.meteo.fi/wms\"/>\n </Get>\n\n </HTTP>\n </DCPType>\n </GetCapabilities>\n <GetMap>\n <Format>image/png</Format>\n <Format>image/svg+xml</Format>\n <DCPType>\n <HTTP>\n <Get>\n <OnlineResource xlink:type=\"simple\"\n xlink:href=\"https://data.apps.meteo.fi/wms\"/>\n </Get>\n\n </HTTP>\n </DCPType>\n </GetMap>\n </Request>\n <Exception>\n <Format>XML</Format>\n </Exception>\n <Layer>\n <Title>SmartMet Web Map Service</Title>\n\n <Layer queryable=\"0\">\n <Title>hbm</Title>\n <CRS>CRS:27</CRS>\n <CRS>CRS:83</CRS>\n <CRS>CRS:84</CRS>\n <CRS>EPSG:2393</CRS>\n <CRS>EPSG:3035</CRS>\n <CRS>EPSG:3047</CRS>\n <CRS>EPSG:3067</CRS>\n <CRS>EPSG:3857</CRS>\n <CRS>EPSG:4258</CRS>\n <CRS>EPSG:4326</CRS>\n <EX_GeographicBoundingBox>\n <westBoundLongitude>9.041</westBoundLongitude>\n <eastBoundLongitude>30.291</eastBoundLongitude>\n <southBoundLatitude>53.025</southBoundLatitude>\n <northBoundLatitude>65.875</northBoundLatitude>\n </EX_GeographicBoundingBox>\n <BoundingBox CRS=\"CRS:27\" minx=\"9.041\" miny=\"53.025\" maxx=\"30.291\" maxy=\"65.875\"/>\n <BoundingBox CRS=\"CRS:83\" minx=\"9.041\" miny=\"53.025\" maxx=\"30.291\" maxy=\"65.875\"/>\n <BoundingBox CRS=\"CRS:84\" minx=\"9.041\" miny=\"53.025\" maxx=\"30.291\" maxy=\"65.875\"/>\n <BoundingBox CRS=\"EPSG:2393\" minx=\"3064557.21476\" miny=\"6651895.28724\" maxx=\"3650275.30418\" maxy=\"7312969.19512\"/>\n <BoundingBox CRS=\"EPSG:3035\" minx=\"4256650.93596\" miny=\"3324481.13996\" maxx=\"5238179.54401\" maxy=\"4886764.90153\"/>\n <BoundingBox CRS=\"EPSG:3047\" minx=\"330890.119265\" miny=\"6615141.39345\" maxx=\"636784.191878\" maxy=\"7309246.52372\"/>\n <BoundingBox CRS=\"EPSG:3067\" minx=\"43547.7892277\" miny=\"6549298.62199\" maxx=\"650042.964634\" maxy=\"7309911.51299\"/>\n <BoundingBox CRS=\"EPSG:3857\" minx=\"1006439.51626\" miny=\"6987623.58323\" maxx=\"3371978.69562\" maxy=\"9842718.24518\"/>\n <BoundingBox CRS=\"EPSG:4258\" minx=\"9.041\" miny=\"53.025\" maxx=\"30.291\" maxy=\"65.875\"/>\n <BoundingBox CRS=\"EPSG:4326\" minx=\"9.041\" miny=\"53.025\" maxx=\"30.291\" maxy=\"65.875\"/>\n <Dimension name=\"time\" units=\"ISO8601\" multipleValues=\"0\" nearestValue=\"0\" current=\"1\">2021-05-14T01:00:00Z/2021-05-16T04:00:00Z/PT1H</Dimension>\n\n <Dimension name=\"reference_time\" units=\"ISO8601\" default=\"2021-05-14T00:00:00Z\" multipleValues=\"0\" nearestValue=\"0\" current=\"1\">2021-05-13T12:00:00Z,2021-05-14T00:00:00Z</Dimension>\n\n <Dimension name=\"elevation\" units=\"DepthBelowMeanSeaLevel\" unitSymbol=\"m\" default=\"0\" multipleValues=\"0\" nearestValue=\"0\">0,5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100,150,200,300,400</Dimension>\n\n\n\n\t <Layer queryable=\"1\">\n <Name>hbm:temperature</Name>\n <Title>Sea Surface Temperature</Title>\n <Abstract>Sea Surface Temperature from HBM</Abstract>\n <Style>\n <Name>temperaturestyleforhbm</Name>\n <Title>Default style for HBM Temperature</Title>\n <LegendURL>\n <Format>image/png</Format>\n <OnlineResource xlink:type=\"simple\" xlink:href=\"https://data.apps.meteo.fi/wms?service=WMS&amp;request=GetLegendGraphic&amp;version=1.3.0&amp;sld_version=1.1.0&amp;style=default&amp;format=image%2Fpng&amp;layer=hbm%3Atemperature\"/>\n </LegendURL>\n </Style>\n </Layer>\n\n\t </Layer>\n <Layer queryable=\"0\">\n <Title>hirlam</Title>\n <CRS>CRS:27</CRS>\n <CRS>CRS:83</CRS>\n <CRS>CRS:84</CRS>\n <CRS>EPSG:2393</CRS>\n <CRS>EPSG:3035</CRS>\n <CRS>EPSG:3047</CRS>\n <CRS>EPSG:3067</CRS>\n <CRS>EPSG:3857</CRS>\n <CRS>EPSG:4258</CRS>\n <CRS>EPSG:4326</CRS>\n <EX_GeographicBoundingBox>\n <westBoundLongitude>-101.480400722</westBoundLongitude>\n <eastBoundLongitude>102.056746641</eastBoundLongitude>\n <southBoundLatitude>25.6476611912</southBoundLatitude>\n <northBoundLatitude>61.2739846713</northBoundLatitude>\n </EX_GeographicBoundingBox>\n <BoundingBox CRS=\"CRS:27\" minx=\"-101.480400722\" miny=\"25.6476611912\" maxx=\"102.056746641\" maxy=\"61.2739846713\"/>\n <BoundingBox CRS=\"CRS:83\" minx=\"-101.480400722\" miny=\"25.6476611912\" maxx=\"102.056746641\" maxy=\"61.2739846713\"/>\n <BoundingBox CRS=\"CRS:84\" minx=\"-101.480400722\" miny=\"25.6476611912\" maxx=\"102.056746641\" maxy=\"61.2739846713\"/>\n <BoundingBox CRS=\"EPSG:2393\" minx=\"3064557.21476\" miny=\"6651895.28724\" maxx=\"3746240.35345\" maxy=\"6804804.9047\"/>\n <BoundingBox CRS=\"EPSG:3035\" minx=\"-96211.1051714\" miny=\"1631190.4604\" maxx=\"6106555.77383\" maxy=\"4695810.9123\"/>\n <BoundingBox CRS=\"EPSG:3047\" minx=\"330890.119265\" miny=\"6615141.39345\" maxx=\"660818.533807\" maxy=\"6796998.92435\"/>\n <BoundingBox CRS=\"EPSG:3067\" minx=\"43547.7892277\" miny=\"6549298.62199\" maxx=\"745971.121814\" maxy=\"6801952.28915\"/>\n <BoundingBox CRS=\"EPSG:3857\" minx=\"-11296746.5338\" miny=\"2955507.31159\" maxx=\"11360905.0681\" maxy=\"8689007.32535\"/>\n <BoundingBox CRS=\"EPSG:4258\" minx=\"-101.480400722\" miny=\"25.6476611912\" maxx=\"102.056746641\" maxy=\"61.2739846713\"/>\n <BoundingBox CRS=\"EPSG:4326\" minx=\"-101.480400722\" miny=\"25.6476611912\" maxx=\"102.056746641\" maxy=\"61.2739846713\"/>\n <Dimension name=\"time\" units=\"ISO8601\" multipleValues=\"0\" nearestValue=\"0\" current=\"1\">2021-05-14T06:00:00Z/2021-05-16T12:00:00Z/PT1H</Dimension>\n\n <Dimension name=\"reference_time\" units=\"ISO8601\" default=\"2021-05-14T06:00:00Z\" multipleValues=\"0\" nearestValue=\"0\" current=\"1\">2021-05-13T12:00:00Z,2021-05-13T18:00:00Z,2021-05-14T00:00:00Z,2021-05-14T06:00:00Z</Dimension>\n\n\n\n\t <Layer queryable=\"1\">\n <Name>hirlam:precipitation</Name>\n <Title>HIRLAM Precipitation Rate</Title>\n <Abstract>Precipitation Rate from HIRLAM</Abstract>\n <Style>\n <Name>precipitationstyleforhirlam</Name>\n <Title>Default style for hirlam</Title>\n <LegendURL>\n <Format>image/png</Format>\n <OnlineResource xlink:type=\"simple\" xlink:href=\"https://data.apps.meteo.fi/wms?service=WMS&amp;request=GetLegendGraphic&amp;version=1.3.0&amp;sld_version=1.1.0&amp;style=default&amp;format=image%2Fpng&amp;layer=hirlam%3Aprecipitation\"/>\n </LegendURL>\n </Style>\n </Layer>\n\n\n\t <Layer queryable=\"1\">\n <Name>hirlam:relativehumidity</Name>\n <Title>HIRLAM Relative Humidity 2m</Title>\n <Abstract>Relative Humidity 2m from HIRLAM</Abstract>\n <Style>\n <Name>default</Name>\n <Title>Default style</Title>\n <LegendURL>\n <Format>image/png</Format>\n <OnlineResource xlink:type=\"simple\" xlink:href=\"https://data.apps.meteo.fi/wms?service=WMS&amp;request=GetLegendGraphic&amp;version=1.3.0&amp;sld_version=1.1.0&amp;style=default&amp;format=image%2Fpng&amp;layer=hirlam%3Arelativehumidity\"/>\n </LegendURL>\n </Style>\n </Layer>\n\n\n\t <Layer queryable=\"1\">\n <Name>hirlam:temperature</Name>\n <Title>HIRLAM Temperature 2m</Title>\n <Abstract>Temperature 2m from HIRLAM</Abstract>\n <Style>\n <Name>default</Name>\n <Title>Default style</Title>\n <LegendURL>\n <Format>image/png</Format>\n <OnlineResource xlink:type=\"simple\" xlink:href=\"https://data.apps.meteo.fi/wms?service=WMS&amp;request=GetLegendGraphic&amp;version=1.3.0&amp;sld_version=1.1.0&amp;style=default&amp;format=image%2Fpng&amp;layer=hirlam%3Atemperature\"/>\n </LegendURL>\n </Style>\n </Layer>\n\n\n\t <Layer queryable=\"1\">\n <Name>hirlam:temperature-850hpa</Name>\n <Title>HIRLAM Temperature 850hPa</Title>\n <Abstract>Temperature 850hPa from HIRLAM</Abstract>\n <Dimension name=\"time\" units=\"ISO8601\" multipleValues=\"0\" nearestValue=\"0\" current=\"1\">2021-05-14T06:00:00Z/2021-05-16T12:00:00Z/PT1H</Dimension>\n\n <Dimension name=\"reference_time\" units=\"ISO8601\" default=\"2021-05-14T06:00:00Z\" multipleValues=\"0\" nearestValue=\"0\" current=\"1\">2021-05-14T00:00:00Z,2021-05-14T06:00:00Z</Dimension>\n\n <Dimension name=\"elevation\" units=\"IsobaricLevel\" unitSymbol=\"hPa\" default=\"1000\" multipleValues=\"0\" nearestValue=\"0\">1000,925,850,700,600,500,400,300,250,200,100,50</Dimension>\n\n <Style>\n <Name>default</Name>\n <Title>Default style</Title>\n <LegendURL>\n <Format>image/png</Format>\n <OnlineResource xlink:type=\"simple\" xlink:href=\"https://data.apps.meteo.fi/wms?service=WMS&amp;request=GetLegendGraphic&amp;version=1.3.0&amp;sld_version=1.1.0&amp;style=default&amp;format=image%2Fpng&amp;layer=hirlam%3Atemperature-850hpa\"/>\n </LegendURL>\n </Style>\n </Layer>\n\n\n\t <Layer queryable=\"1\">\n <Name>hirlam:totalcloudcover</Name>\n <Title>HIRLAM Total Cloud Cover</Title>\n <Abstract>Total cloud cover from HIRLAM forecast model.</Abstract>\n <Style>\n <Name>default</Name>\n <Title>Default style</Title>\n <LegendURL>\n <Format>image/png</Format>\n <OnlineResource xlink:type=\"simple\" xlink:href=\"https://data.apps.meteo.fi/wms?service=WMS&amp;request=GetLegendGraphic&amp;version=1.3.0&amp;sld_version=1.1.0&amp;style=default&amp;format=image%2Fpng&amp;layer=hirlam%3Atotalcloudcover\"/>\n </LegendURL>\n </Style>\n </Layer>\n\n\n\t <Layer queryable=\"1\">\n <Name>hirlam:winddirection</Name>\n <Title>HIRLAM Wind Direction 10m</Title>\n <Abstract>Wind direction from HIRLAM forecast model.</Abstract>\n </Layer>\n\n\n\t <Layer queryable=\"1\">\n <Name>hirlam:windspeed</Name>\n <Title>HIRLAM Wind Speed 10m</Title>\n <Abstract>Wind speed in m/s from HIRLAM forecast model.</Abstract>\n <Style>\n <Name>default</Name>\n <Title>Default style</Title>\n <LegendURL>\n <Format>image/png</Format>\n <OnlineResource xlink:type=\"simple\" xlink:href=\"https://data.apps.meteo.fi/wms?service=WMS&amp;request=GetLegendGraphic&amp;version=1.3.0&amp;sld_version=1.1.0&amp;style=default&amp;format=image%2Fpng&amp;layer=hirlam%3Awindspeed\"/>\n </LegendURL>\n </Style>\n </Layer>\n\n\t </Layer>\n <Layer queryable=\"0\">\n <Title>meps</Title>\n <CRS>CRS:27</CRS>\n <CRS>CRS:83</CRS>\n <CRS>CRS:84</CRS>\n <CRS>EPSG:2393</CRS>\n <CRS>EPSG:3035</CRS>\n <CRS>EPSG:3047</CRS>\n <CRS>EPSG:3067</CRS>\n <CRS>EPSG:3857</CRS>\n <CRS>EPSG:4258</CRS>\n <CRS>EPSG:4326</CRS>\n <EX_GeographicBoundingBox>\n <westBoundLongitude>-18.1181798512</westBoundLongitude>\n <eastBoundLongitude>54.237</eastBoundLongitude>\n <southBoundLatitude>49.7657866394</southBoundLatitude>\n <northBoundLatitude>72.7612723061</northBoundLatitude>\n </EX_GeographicBoundingBox>\n <BoundingBox CRS=\"CRS:27\" minx=\"-18.1181798512\" miny=\"49.7657866394\" maxx=\"54.237\" maxy=\"72.7612723061\"/>\n <BoundingBox CRS=\"CRS:83\" minx=\"-18.1181798512\" miny=\"49.7657866394\" maxx=\"54.237\" maxy=\"72.7612723061\"/>\n <BoundingBox CRS=\"CRS:84\" minx=\"-18.1181798512\" miny=\"49.7657866394\" maxx=\"54.237\" maxy=\"72.7612723061\"/>\n <BoundingBox CRS=\"EPSG:2393\" minx=\"3064557.21476\" miny=\"6651895.28724\" maxx=\"3674549.99025\" maxy=\"7785726.69717\"/>\n <BoundingBox CRS=\"EPSG:3035\" minx=\"2351945.35175\" miny=\"3346053.06304\" maxx=\"5431836.28888\" maxy=\"5804319.83173\"/>\n <BoundingBox CRS=\"EPSG:3047\" minx=\"330890.119265\" miny=\"6615141.39345\" maxx=\"599196.301358\" maxy=\"8076330.30937\"/>\n <BoundingBox CRS=\"EPSG:3067\" minx=\"43547.7892277\" miny=\"6549298.62199\" maxx=\"674306.988933\" maxy=\"7782478.68382\"/>\n <BoundingBox CRS=\"EPSG:3857\" minx=\"-2016906.55513\" miny=\"6405812.58171\" maxx=\"6037635.22215\" maxy=\"12033196.7337\"/>\n <BoundingBox CRS=\"EPSG:4258\" minx=\"-18.1181798512\" miny=\"49.7657866394\" maxx=\"54.237\" maxy=\"72.7612723061\"/>\n <BoundingBox CRS=\"EPSG:4326\" minx=\"-18.1181798512\" miny=\"49.7657866394\" maxx=\"54.237\" maxy=\"72.7612723061\"/>\n <Dimension name=\"time\" units=\"ISO8601\" multipleValues=\"0\" nearestValue=\"0\" current=\"1\">2021-05-14T06:00:00Z/2021-05-17T00:00:00Z/PT1H</Dimension>\n\n <Dimension name=\"reference_time\" units=\"ISO8601\" default=\"2021-05-14T06:00:00Z\" multipleValues=\"0\" nearestValue=\"0\" current=\"1\">2021-05-13T12:00:00Z,2021-05-13T18:00:00Z,2021-05-14T00:00:00Z,2021-05-14T06:00:00Z</Dimension>\n\n\n\n\t <Layer queryable=\"1\">\n <Name>meps:precipitation</Name>\n <Title>MEPS Precipitation Rate</Title>\n <Abstract>Precipitation Rate from MEPS</Abstract>\n <Style>\n <Name>default</Name>\n <Title>Default style</Title>\n <LegendURL>\n <Format>image/png</Format>\n <OnlineResource xlink:type=\"simple\" xlink:href=\"https://data.apps.meteo.fi/wms?service=WMS&amp;request=GetLegendGraphic&amp;version=1.3.0&amp;sld_version=1.1.0&amp;style=default&amp;format=image%2Fpng&amp;layer=meps%3Aprecipitation\"/>\n </LegendURL>\n </Style>\n </Layer>\n\n\n\t <Layer queryable=\"1\">\n <Name>meps:relativehumidity</Name>\n <Title>MEPS Relative Humidity 2m</Title>\n <Abstract>Relative Humidity 2m from MEPS</Abstract>\n <Style>\n <Name>default</Name>\n <Title>Default style</Title>\n <LegendURL>\n <Format>image/png</Format>\n <OnlineResource xlink:type=\"simple\" xlink:href=\"https://data.apps.meteo.fi/wms?service=WMS&amp;request=GetLegendGraphic&amp;version=1.3.0&amp;sld_version=1.1.0&amp;style=default&amp;format=image%2Fpng&amp;layer=meps%3Arelativehumidity\"/>\n </LegendURL>\n </Style>\n </Layer>\n\n\n\t <Layer queryable=\"1\">\n <Name>meps:temperature</Name>\n <Title>MEPS Temperature 2m</Title>\n <Abstract>Temperature 2m from MEPS</Abstract>\n <Style>\n <Name>default</Name>\n <Title>Default style</Title>\n <LegendURL>\n <Format>image/png</Format>\n <OnlineResource xlink:type=\"simple\" xlink:href=\"https://data.apps.meteo.fi/wms?service=WMS&amp;request=GetLegendGraphic&amp;version=1.3.0&amp;sld_version=1.1.0&amp;style=default&amp;format=image%2Fpng&amp;layer=meps%3Atemperature\"/>\n </LegendURL>\n </Style>\n </Layer>\n\n\n\t <Layer queryable=\"1\">\n <Name>meps:windspeed</Name>\n <Title>MEPS Wind Speed 10m</Title>\n <Abstract>Wind speed in m/s from MEPS forecast model.</Abstract>\n <Style>\n <Name>default</Name>\n <Title>Default style</Title>\n <LegendURL>\n <Format>image/png</Format>\n <OnlineResource xlink:type=\"simple\" xlink:href=\"https://data.apps.meteo.fi/wms?service=WMS&amp;request=GetLegendGraphic&amp;version=1.3.0&amp;sld_version=1.1.0&amp;style=default&amp;format=image%2Fpng&amp;layer=meps%3Awindspeed\"/>\n </LegendURL>\n </Style>\n </Layer>\n <Layer queryable=\"1\">\n <Name>meps:dailymeantemperature</Name>\n <Title>Mean Temperature</Title>\n <Abstract>Daily mean temperature</Abstract>\n <Dimension name=\"time\" units=\"ISO8601\" multipleValues=\"0\" nearestValue=\"0\" current=\"1\">2024-11-26T00:00:00Z/2024-12-07T00:00:00Z/PT24H</Dimension>\n <Dimension name=\"reference_time\" units=\"ISO8601\" default=\"2024-12-02T10:30:00Z\" multipleValues=\"0\" nearestValue=\"0\" current=\"1\">2024-11-26T09:30:00Z,2024-11-26T10:30:00Z</Dimension>\n <Style>\n <Name>default</Name>\n <Title>Default style</Title>\n <LegendURL width=\"201\" height=\"950\">\n <Format>image/png</Format>\n <OnlineResource xlink:type=\"simple\" xlink:href=\"https://data.apps.meteo.fi/wms?service=WMS&amp;request=GetLegendGraphic&amp;version=1.3.0&amp;sld_version=1.1.0&amp;style=default&amp;format=image%2Fpng&amp;layer=meps%3Adailymeantemperature\"/>\n </LegendURL>\n </Style>\n </Layer>\n\t </Layer>\n </Layer>\n</Capability>\n</WMS_Capabilities>";
2
+ export default _default;