@loaders.gl/wms 3.4.0 → 3.4.2

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 (79) hide show
  1. package/dist/dist.min.js +15 -7
  2. package/dist/es5/csw-capabilities-loader.js +1 -1
  3. package/dist/es5/csw-domain-loader.js +1 -1
  4. package/dist/es5/csw-records-loader.js +1 -1
  5. package/dist/es5/gml-loader.js +1 -1
  6. package/dist/es5/index.js.map +1 -1
  7. package/dist/es5/lerc-loader.js +1 -1
  8. package/dist/es5/lib/parsers/wms/parse-wms-capabilities.js +8 -5
  9. package/dist/es5/lib/parsers/wms/parse-wms-capabilities.js.map +1 -1
  10. package/dist/es5/lib/parsers/wms/parse-wms-layer-description.js +2 -1
  11. package/dist/es5/lib/parsers/wms/parse-wms-layer-description.js.map +1 -1
  12. package/dist/es5/lib/services/ogc/csw-service.js.map +1 -1
  13. package/dist/es5/lib/services/ogc/wms-service.js +7 -2
  14. package/dist/es5/lib/services/ogc/wms-service.js.map +1 -1
  15. package/dist/es5/wip/wcs-capabilities-loader.js +1 -1
  16. package/dist/es5/wip/wfs-capabilities-loader.js +1 -1
  17. package/dist/es5/wip/wms-feature-info-loader.js.map +1 -1
  18. package/dist/es5/wip/wms-layer-description-loader.js.map +1 -1
  19. package/dist/es5/wip/wmts-capabilities-loader.js +1 -1
  20. package/dist/es5/wip/wmts-capabilities-loader.js.map +1 -1
  21. package/dist/es5/wms-capabilities-loader.js +1 -1
  22. package/dist/es5/wms-capabilities-loader.js.map +1 -1
  23. package/dist/es5/wms-error-loader.js +1 -1
  24. package/dist/esm/csw-capabilities-loader.js +1 -1
  25. package/dist/esm/csw-domain-loader.js +1 -1
  26. package/dist/esm/csw-records-loader.js +1 -1
  27. package/dist/esm/gml-loader.js +1 -1
  28. package/dist/esm/index.js.map +1 -1
  29. package/dist/esm/lerc-loader.js +1 -1
  30. package/dist/esm/lib/parsers/wms/parse-wms-capabilities.js +8 -5
  31. package/dist/esm/lib/parsers/wms/parse-wms-capabilities.js.map +1 -1
  32. package/dist/esm/lib/parsers/wms/parse-wms-layer-description.js +2 -1
  33. package/dist/esm/lib/parsers/wms/parse-wms-layer-description.js.map +1 -1
  34. package/dist/esm/lib/services/ogc/csw-service.js.map +1 -1
  35. package/dist/esm/lib/services/ogc/wms-service.js +6 -1
  36. package/dist/esm/lib/services/ogc/wms-service.js.map +1 -1
  37. package/dist/esm/wip/wcs-capabilities-loader.js +1 -1
  38. package/dist/esm/wip/wfs-capabilities-loader.js +1 -1
  39. package/dist/esm/wip/wms-feature-info-loader.js.map +1 -1
  40. package/dist/esm/wip/wms-layer-description-loader.js.map +1 -1
  41. package/dist/esm/wip/wmts-capabilities-loader.js +1 -1
  42. package/dist/esm/wip/wmts-capabilities-loader.js.map +1 -1
  43. package/dist/esm/wms-capabilities-loader.js +1 -1
  44. package/dist/esm/wms-capabilities-loader.js.map +1 -1
  45. package/dist/esm/wms-error-loader.js +1 -1
  46. package/dist/index.d.ts +4 -2
  47. package/dist/index.d.ts.map +1 -1
  48. package/dist/index.js +0 -4
  49. package/dist/lib/parsers/wms/parse-wms-capabilities.d.ts +2 -2
  50. package/dist/lib/parsers/wms/parse-wms-capabilities.d.ts.map +1 -1
  51. package/dist/lib/parsers/wms/parse-wms-capabilities.js +8 -6
  52. package/dist/lib/parsers/wms/parse-wms-layer-description.d.ts +2 -1
  53. package/dist/lib/parsers/wms/parse-wms-layer-description.d.ts.map +1 -1
  54. package/dist/lib/parsers/wms/parse-wms-layer-description.js +1 -1
  55. package/dist/lib/services/ogc/csw-service.d.ts +5 -3
  56. package/dist/lib/services/ogc/csw-service.d.ts.map +1 -1
  57. package/dist/lib/services/ogc/csw-service.js +1 -2
  58. package/dist/lib/services/ogc/wms-service.d.ts +31 -6
  59. package/dist/lib/services/ogc/wms-service.d.ts.map +1 -1
  60. package/dist/lib/services/ogc/wms-service.js +6 -1
  61. package/dist/wip/wms-feature-info-loader.d.ts +3 -3
  62. package/dist/wip/wms-feature-info-loader.d.ts.map +1 -1
  63. package/dist/wip/wms-layer-description-loader.d.ts +3 -3
  64. package/dist/wip/wms-layer-description-loader.d.ts.map +1 -1
  65. package/dist/wip/wmts-capabilities-loader.d.ts +3 -2
  66. package/dist/wip/wmts-capabilities-loader.d.ts.map +1 -1
  67. package/dist/wms-capabilities-loader.d.ts +11 -7
  68. package/dist/wms-capabilities-loader.d.ts.map +1 -1
  69. package/dist/wms-capabilities-loader.js +6 -2
  70. package/package.json +6 -6
  71. package/src/index.ts +10 -3
  72. package/src/lib/parsers/wms/parse-wms-capabilities.ts +10 -9
  73. package/src/lib/parsers/wms/parse-wms-layer-description.ts +6 -2
  74. package/src/lib/services/ogc/csw-service.ts +12 -4
  75. package/src/lib/services/ogc/wms-service.ts +16 -3
  76. package/src/wip/wms-feature-info-loader.ts +4 -3
  77. package/src/wip/wms-layer-description-loader.ts +3 -3
  78. package/src/wip/wmts-capabilities-loader.ts +3 -2
  79. package/src/wms-capabilities-loader.ts +22 -9
@@ -42,6 +42,10 @@ export type WMSParameters = {
42
42
  styles?: unknown;
43
43
  /** Any additional parameters specific to this WMSService (GetMap) */
44
44
  transparent?: boolean;
45
+ /** If layer supports time dimension */
46
+ time?: string;
47
+ /** If layer supports elevation dimension */
48
+ elevation?: string;
45
49
  };
46
50
 
47
51
  /** Parameters for GetCapabilities */
@@ -60,6 +64,8 @@ export type WMSGetMapParameters = {
60
64
  width: number;
61
65
  /** pixels */
62
66
  height: number;
67
+ /** requested format for the return image. can be provided in service constructor */
68
+ format?: 'image/png';
63
69
  /** Layers to render - can be provided in service constructor */
64
70
  layers?: string | string[];
65
71
  /** Coordinate Reference System for the image (not bounding box). can be provided in service constructor. */
@@ -68,8 +74,10 @@ export type WMSGetMapParameters = {
68
74
  styles?: unknown;
69
75
  /** Don't render background when no data. can be provided in service constructor */
70
76
  transparent?: boolean;
71
- /** requested format for the return image. can be provided in service constructor */
72
- format?: 'image/png';
77
+ /** If layer supports time dimension */
78
+ time?: string;
79
+ /** If layer supports elevation dimension */
80
+ elevation?: string;
73
81
  };
74
82
 
75
83
  /** GetMap parameters that are specific to the current view */
@@ -213,6 +221,8 @@ export class WMSService extends ImageSource<WMSServiceProps> {
213
221
  format: 'image/png',
214
222
  info_format: 'text/plain',
215
223
  transparent: undefined!,
224
+ time: undefined!,
225
+ elevation: undefined!,
216
226
  ...props.wmsParameters
217
227
  };
218
228
 
@@ -342,6 +352,8 @@ export class WMSService extends ImageSource<WMSServiceProps> {
342
352
  version: this.wmsParameters.version,
343
353
  format: this.wmsParameters.format,
344
354
  transparent: this.wmsParameters.transparent,
355
+ time: this.wmsParameters.time,
356
+ elevation: this.wmsParameters.elevation,
345
357
  layers: this.wmsParameters.layers,
346
358
  styles: this.wmsParameters.styles,
347
359
  crs: this.wmsParameters.crs,
@@ -440,9 +452,10 @@ export class WMSService extends ImageSource<WMSServiceProps> {
440
452
  };
441
453
 
442
454
  // Encode the keys
455
+ const IGNORE_EMPTY_KEYS = ['transparent', 'time', 'elevation'];
443
456
  for (const [key, value] of Object.entries(allParameters)) {
444
457
  // hack to preserve test cases. Not super clear if keys should be included when values are undefined
445
- if (key !== 'transparent' || value) {
458
+ if (!IGNORE_EMPTY_KEYS.includes(key) || value) {
446
459
  url += first ? '?' : '&';
447
460
  first = false;
448
461
  url += this._getURLParameter(key, value, wmsParameters);
@@ -1,7 +1,8 @@
1
1
  // loaders.gl, MIT license
2
2
 
3
3
  import type {LoaderWithParser} from '@loaders.gl/loader-utils';
4
- import {WMSCapabilitiesLoader, WMSLoaderOptions} from '../wms-capabilities-loader';
4
+ import type {XMLLoaderOptions} from '@loaders.gl/xml';
5
+ import {WMSCapabilitiesLoader} from '../wms-capabilities-loader';
5
6
 
6
7
  import type {WMSFeatureInfo} from '../lib/parsers/wms/parse-wms-features';
7
8
  import {parseWMSFeatureInfo} from '../lib/parsers/wms/parse-wms-features';
@@ -17,9 +18,9 @@ export const WMSFeatureInfoLoader = {
17
18
  id: 'wms-feature-info',
18
19
  name: 'WMS FeatureInfo',
19
20
 
20
- parse: async (arrayBuffer: ArrayBuffer, options?: WMSLoaderOptions) =>
21
+ parse: async (arrayBuffer: ArrayBuffer, options?: XMLLoaderOptions) =>
21
22
  parseWMSFeatureInfo(new TextDecoder().decode(arrayBuffer), options),
22
- parseTextSync: (text: string, options?: WMSLoaderOptions) => parseWMSFeatureInfo(text, options)
23
+ parseTextSync: (text: string, options?: XMLLoaderOptions) => parseWMSFeatureInfo(text, options)
23
24
  };
24
25
 
25
26
  export const _typecheckWMSFeatureInfoLoader: LoaderWithParser = WMSFeatureInfoLoader;
@@ -1,7 +1,7 @@
1
1
  // loaders.gl, MIT license
2
2
 
3
3
  import type {LoaderWithParser} from '@loaders.gl/loader-utils';
4
- import type{WMSLoaderOptions} from '../wms-capabilities-loader';
4
+ import type {XMLLoaderOptions} from '@loaders.gl/xml';
5
5
  import {WMSCapabilitiesLoader} from '../wms-capabilities-loader';
6
6
 
7
7
  import type {WMSLayerDescription} from '../lib/parsers/wms/parse-wms-layer-description';
@@ -18,9 +18,9 @@ export const WMSLayerDescriptionLoader = {
18
18
  id: 'wms-layer-description',
19
19
  name: 'WMS DescribeLayer',
20
20
 
21
- parse: async (arrayBuffer: ArrayBuffer, options?: WMSLoaderOptions) =>
21
+ parse: async (arrayBuffer: ArrayBuffer, options?: XMLLoaderOptions) =>
22
22
  parseWMSLayerDescription(new TextDecoder().decode(arrayBuffer), options),
23
- parseTextSync: (text: string, options?: WMSLoaderOptions) => parseWMSLayerDescription(text, options)
23
+ parseTextSync: (text: string, options?: XMLLoaderOptions) => parseWMSLayerDescription(text, options)
24
24
  };
25
25
 
26
26
  export const _typecheckWMSFeatureInfoLoader: LoaderWithParser = WMSLayerDescriptionLoader;
@@ -1,6 +1,7 @@
1
1
  // loaders.gl, MIT license
2
2
 
3
- import type {LoaderWithParser, LoaderOptions} from '@loaders.gl/loader-utils';
3
+ import type {LoaderWithParser} from '@loaders.gl/loader-utils';
4
+ import type {XMLLoaderOptions} from '@loaders.gl/xml';
4
5
  // import type {WMTSCapabilities} from './lib/wmts/parse-wmts-capabilities';
5
6
  import {parseWMTSCapabilities} from './lib/wmts/parse-wmts-capabilities';
6
7
 
@@ -10,7 +11,7 @@ const VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';
10
11
 
11
12
  // export type {WMTSCapabilities};
12
13
 
13
- export type WMTSLoaderOptions = LoaderOptions & {
14
+ export type WMTSLoaderOptions = XMLLoaderOptions & {
14
15
  wmts?: {};
15
16
  };
16
17
 
@@ -1,21 +1,32 @@
1
1
  // loaders.gl, MIT license
2
2
 
3
- import type {LoaderWithParser, LoaderOptions} from '@loaders.gl/loader-utils';
4
- import type {WMSCapabilities} from './lib/parsers/wms/parse-wms-capabilities';
3
+ import type {LoaderWithParser} from '@loaders.gl/loader-utils';
4
+ import type {XMLLoaderOptions} from '@loaders.gl/xml';
5
5
  import {parseWMSCapabilities} from './lib/parsers/wms/parse-wms-capabilities';
6
6
 
7
7
  // __VERSION__ is injected by babel-plugin-version-inline
8
8
  // @ts-ignore TS2304: Cannot find name '__VERSION__'.
9
9
  const VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';
10
10
 
11
- // Parsed data type
12
- export type {WMSCapabilities};
13
-
14
- export type WMSLoaderOptions = LoaderOptions & {
11
+ // Parsed data types
12
+ export type {
13
+ WMSCapabilities,
14
+ WMSLayer,
15
+ WMSBoundingBox,
16
+ WMSDimension,
17
+ WMSRequest,
18
+ WMSExceptions
19
+ } from './lib/parsers/wms/parse-wms-capabilities';
20
+
21
+ export type WMSCapabilitiesLoaderOptions = XMLLoaderOptions & {
15
22
  wms?: {
16
23
  /** Add inherited layer information to sub layers */
17
24
  inheritedLayerProps?: boolean;
18
- /** Whether to include "raw" XML-derived JSON */
25
+ /** Include the "raw" JSON (parsed but untyped, unprocessed XML). May contain additional fields */
26
+ includeRawData?: boolean;
27
+ /** Include the original XML document text. May contain additional information. */
28
+ includeXMLText?: boolean;
29
+ /** @deprecated Use options.includeRawData` */
19
30
  raw?: boolean;
20
31
  };
21
32
  };
@@ -36,9 +47,11 @@ export const WMSCapabilitiesLoader = {
36
47
  options: {
37
48
  wms: {}
38
49
  },
39
- parse: async (arrayBuffer: ArrayBuffer, options?: WMSLoaderOptions) =>
50
+ parse: async (arrayBuffer: ArrayBuffer, options?: WMSCapabilitiesLoaderOptions) =>
51
+ // TODO pass in XML options
40
52
  parseWMSCapabilities(new TextDecoder().decode(arrayBuffer), options?.wms),
41
- parseTextSync: (text: string, options?: WMSLoaderOptions) =>
53
+ parseTextSync: (text: string, options?: WMSCapabilitiesLoaderOptions) =>
54
+ // TODO pass in XML options
42
55
  parseWMSCapabilities(text, options?.wms)
43
56
  };
44
57