@geospatial-sdk/core 0.0.5-dev.78 → 0.0.5-dev.79

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.
@@ -1,15 +1,6 @@
1
1
  import { FeatureCollection, Geometry } from "geojson";
2
2
  import { VectorStyle } from "./style.js";
3
- export type LayerDimensionValueSingle = string | number | Date;
4
- export type LayerDimensionValueRange = {
5
- start: LayerDimensionValueSingle | null;
6
- end: LayerDimensionValueSingle | null;
7
- };
8
- /**
9
- * @private
10
- * @inline
11
- */
12
- export type LayerDimensionValues = Record<string, LayerDimensionValueSingle>;
3
+ import { WmsLayerDimensionValue } from "@camptocamp/ogc-client";
13
4
  /**
14
5
  * @private
15
6
  * @inline
@@ -70,11 +61,35 @@ export interface MapContextBaseLayer {
70
61
  */
71
62
  referrerPolicy?: ReferrerPolicy;
72
63
  }
64
+ export interface TimeInterval {
65
+ begin: Date;
66
+ end: Date;
67
+ }
68
+ export interface ValueInterval {
69
+ begin: WmsLayerDimensionValue;
70
+ end: WmsLayerDimensionValue;
71
+ }
72
+ export type LayerDimensionValue = WmsLayerDimensionValue | WmsLayerDimensionValue[] | ValueInterval;
73
+ export type LayerTimeDimensionValue = Date | Date[] | TimeInterval | "current";
73
74
  export interface MapContextLayerWms extends MapContextBaseLayer {
74
75
  type: "wms";
75
76
  url: string;
76
77
  name: string;
77
- dimensionValues?: LayerDimensionValues;
78
+ /**
79
+ * value of the built-in TIME dimension to request; can be a single date, a list of dates, a temporal interval, or a list of intervals
80
+ */
81
+ timeValue?: LayerTimeDimensionValue;
82
+ /**
83
+ * value of the built-in ELEVATION dimension to request; can be a single value, a list of discrete values, an interval, or a list of intervals
84
+ */
85
+ elevationValue?: LayerDimensionValue;
86
+ /**
87
+ * value of any other dimension to request (either scalar or temporal); key is the dimension name, it will be prefixed by DIM_ in the request
88
+ */
89
+ otherDimensionValues?: Record<string, LayerDimensionValue | LayerTimeDimensionValue>;
90
+ /**
91
+ * If unspecified, will use the default one
92
+ */
78
93
  style?: string;
79
94
  /**
80
95
  * Vendor-specific WMS parameters that are appended as-is to every GetMap request.
@@ -107,11 +122,16 @@ export interface MapContextLayerWms extends MapContextBaseLayer {
107
122
  */
108
123
  filter?: string;
109
124
  }
125
+ /**
126
+ * @private
127
+ * @inline
128
+ */
129
+ export type LayerDimensionSimpleValue = string | number | Date | "current";
110
130
  export interface MapContextLayerWmts extends MapContextBaseLayer {
111
131
  type: "wmts";
112
132
  url: string;
113
133
  name: string;
114
- dimensionValues?: LayerDimensionValues;
134
+ dimensionValues?: Record<string, LayerDimensionSimpleValue>;
115
135
  style?: string;
116
136
  }
117
137
  export interface MapContextLayerVector {
@@ -1 +1 @@
1
- {"version":3,"file":"map-context.d.ts","sourceRoot":"","sources":["../../lib/model/map-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,MAAM,MAAM,yBAAyB,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;AAC/D,MAAM,MAAM,wBAAwB,GAAG;IACrC,KAAK,EAAE,yBAAyB,GAAG,IAAI,CAAC;IACxC,GAAG,EAAE,yBAAyB,GAAG,IAAI,CAAC;CACvC,CAAC;AAEF;;;GAGG;AAGH,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC;AAE7E;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAElD,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACrB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;;OAIG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;IAErB;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAED,MAAM,WAAW,kBAAmB,SAAQ,mBAAmB;IAC7D,IAAI,EAAE,KAAK,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,CAAC,EAAE,oBAAoB,CAAC;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEtC;;;;;;;;;OASG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,mBAAoB,SAAQ,mBAAmB;IAC9D,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IAEb,eAAe,CAAC,EAAE,oBAAoB,CAAC;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,qBAAqB;IACpC,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,UAAU,CAAC,EAAE,WAAW,CAAC;CAC1B;AAED,MAAM,MAAM,kBAAkB,GAAG,mBAAmB,GAClD,qBAAqB,GAAG;IACtB,IAAI,EAAE,KAAK,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEJ,MAAM,MAAM,qBAAqB,GAAG,mBAAmB,GACrD,qBAAqB,GAAG;IACtB,IAAI,EAAE,QAAQ,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC,CAAC;AAGJ,MAAM,WAAW,4BAA6B,SAAQ,mBAAmB;IACvE,IAAI,EAAE,gBAAgB,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,sBAAuB,SAAQ,mBAAmB;IACjE,IAAI,EAAE,SAAS,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,kBAAmB,SAAQ,mBAAmB;IAC7D,IAAI,EAAE,KAAK,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,CAAC,EAAE,oCAAoC,CAAC;CACnD;AAED,MAAM,MAAM,YAAY,GAAG,mBAAmB,GAC5C,qBAAqB,GAAG;IACtB,IAAI,EAAE,SAAS,CAAC;CACjB,CAAC;AACJ,MAAM,WAAW,mBAAoB,SAAQ,YAAY;IACvD,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,KAAK,CAAC;CACd;AACD,MAAM,WAAW,oBAAqB,SAAQ,YAAY;IACxD,IAAI,EAAE,iBAAiB,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,MAAM,CAAC;IAClD,GAAG,CAAC,EAAE,KAAK,CAAC;CACb;AACD,MAAM,MAAM,sBAAsB,GAAG,mBAAmB,GAAG,oBAAoB,CAAC;AAEhF;;GAEG;AACH,MAAM,MAAM,eAAe,GACvB,kBAAkB,GAClB,mBAAmB,GACnB,kBAAkB,GAClB,kBAAkB,GAClB,sBAAsB,GACtB,qBAAqB,GACrB,4BAA4B,GAC5B,sBAAsB,CAAC;AAE3B,MAAM,MAAM,UAAU,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAE1C;;GAEG;AACH,MAAM,MAAM,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAEtD;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,UAAU,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,QAAQ,CAAC;CACpB;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,cAAc,GAAG,CACzB,mBAAmB,GACnB,YAAY,GACZ,cAAc,CACjB,GAAG;IACF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,IAAI,EAAE,cAAc,GAAG,IAAI,CAAC;CAC7B"}
1
+ {"version":3,"file":"map-context.d.ts","sourceRoot":"","sources":["../../lib/model/map-context.ts"],"names":[],"mappings":"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"}
@@ -1,19 +1,6 @@
1
1
  import { FeatureCollection, Geometry } from "geojson";
2
2
  import { VectorStyle } from "./style.js";
3
-
4
- export type LayerDimensionValueSingle = string | number | Date;
5
- export type LayerDimensionValueRange = {
6
- start: LayerDimensionValueSingle | null;
7
- end: LayerDimensionValueSingle | null;
8
- };
9
-
10
- /**
11
- * @private
12
- * @inline
13
- */
14
- // TODO: support `LayerDimensionValueRange` values (formatted as `start/end` per
15
- // the WMS spec) in the map implementations; only single values are handled today.
16
- export type LayerDimensionValues = Record<string, LayerDimensionValueSingle>;
3
+ import { WmsLayerDimensionValue } from "@camptocamp/ogc-client";
17
4
 
18
5
  /**
19
6
  * @private
@@ -85,11 +72,46 @@ export interface MapContextBaseLayer {
85
72
  referrerPolicy?: ReferrerPolicy;
86
73
  }
87
74
 
75
+ export interface TimeInterval {
76
+ begin: Date;
77
+ end: Date;
78
+ }
79
+ export interface ValueInterval {
80
+ begin: WmsLayerDimensionValue;
81
+ end: WmsLayerDimensionValue;
82
+ }
83
+ export type LayerDimensionValue =
84
+ | WmsLayerDimensionValue
85
+ | WmsLayerDimensionValue[]
86
+ | ValueInterval;
87
+ export type LayerTimeDimensionValue = Date | Date[] | TimeInterval | "current";
88
+
88
89
  export interface MapContextLayerWms extends MapContextBaseLayer {
89
90
  type: "wms";
90
91
  url: string;
91
92
  name: string;
92
- dimensionValues?: LayerDimensionValues;
93
+
94
+ /**
95
+ * value of the built-in TIME dimension to request; can be a single date, a list of dates, a temporal interval, or a list of intervals
96
+ */
97
+ timeValue?: LayerTimeDimensionValue;
98
+
99
+ /**
100
+ * value of the built-in ELEVATION dimension to request; can be a single value, a list of discrete values, an interval, or a list of intervals
101
+ */
102
+ elevationValue?: LayerDimensionValue;
103
+
104
+ /**
105
+ * value of any other dimension to request (either scalar or temporal); key is the dimension name, it will be prefixed by DIM_ in the request
106
+ */
107
+ otherDimensionValues?: Record<
108
+ string,
109
+ LayerDimensionValue | LayerTimeDimensionValue
110
+ >;
111
+
112
+ /**
113
+ * If unspecified, will use the default one
114
+ */
93
115
  style?: string;
94
116
 
95
117
  /**
@@ -127,12 +149,18 @@ export interface MapContextLayerWms extends MapContextBaseLayer {
127
149
  filter?: string;
128
150
  }
129
151
 
152
+ /**
153
+ * @private
154
+ * @inline
155
+ */
156
+ export type LayerDimensionSimpleValue = string | number | Date | "current";
157
+
130
158
  export interface MapContextLayerWmts extends MapContextBaseLayer {
131
159
  type: "wmts";
132
160
  url: string;
133
161
  name: string;
134
162
  // TODO: add support for these
135
- dimensionValues?: LayerDimensionValues;
163
+ dimensionValues?: Record<string, LayerDimensionSimpleValue>;
136
164
  style?: string;
137
165
  }
138
166
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@geospatial-sdk/core",
3
- "version": "0.0.5-dev.78+a20fdde",
3
+ "version": "0.0.5-dev.79+da98e6e",
4
4
  "description": "Core functions and models for the SDK",
5
5
  "author": "Olivia <olivia.guyot@camptocamp.com>",
6
6
  "homepage": "",
@@ -22,7 +22,7 @@
22
22
  "test": "vitest",
23
23
  "build": "tsc"
24
24
  },
25
- "gitHead": "a20fdde0c9265a0a144a38d31c4c09f590f4512d",
25
+ "gitHead": "da98e6e096457f0f2f18f10aa42e3b9b3b9f5871",
26
26
  "dependencies": {
27
27
  "chroma-js": "^2.4.2",
28
28
  "proj4": "^2.9.2"