ol-stac 1.0.0-beta.10 → 1.0.0-beta.12

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/README.md CHANGED
@@ -15,6 +15,8 @@ Explore the examples to get started with some more code:
15
15
  Dig into the API documentation for all details:
16
16
  <https://m-mohr.github.io/ol-stac/en/latest/apidoc/>
17
17
 
18
+ **ol-stac requires OpenLayers version >=7.5.2**
19
+
18
20
  ## Sponsors
19
21
 
20
22
  ol-stac appreciates contributions of all kinds.
package/layer/STAC.d.ts CHANGED
@@ -15,6 +15,11 @@ export type Options = {
15
15
  * `data` take precedence over `url`.
16
16
  */
17
17
  data?: STAC | Asset | any;
18
+ /**
19
+ * For STAC Catalogs and Collections, any child entites
20
+ * to show. Can be STAC ItemCollections (as ItemCollection, GeoJSON FeatureCollection, or URL) or a list of STAC entities.
21
+ */
22
+ children?: ItemCollection | any | Array<STAC> | string | null;
18
23
  /**
19
24
  * The selector for the assets to be rendered,
20
25
  * only for STAC Items and Collections.
@@ -45,15 +50,15 @@ export type Options = {
45
50
  */
46
51
  displayGeoTiffByDefault?: boolean | undefined;
47
52
  /**
48
- * Allow to display images that a browser can display (e.g. PNG, JPEG),
49
- * usually assets with role `thumbnail` or the link with relation type `preview`.
53
+ * Allow to display preview images that a browser can display (e.g. PNG, JPEG),
54
+ * i.e. assets with any of the roles `thumbnail`, `overview`, or a link with relation type `preview`.
50
55
  * The previews are usually not covering the full extents and as such may be placed incorrectly on the map.
51
- * For performance reasons, it is recommended to enable this option if you pass in STAC API Items.
56
+ * For performance reasons, it is recommended to enable this option if you pass in STAC API Items instead of `displayOverview`.
52
57
  */
53
58
  displayPreview?: boolean | undefined;
54
59
  /**
55
60
  * Allow to display COGs and, if `displayGeoTiffByDefault` is enabled, GeoTiffs,
56
- * usually the assets with role `overview` or `visual`.
61
+ * usually an asset with role `overview` or `visual`.
57
62
  */
58
63
  displayOverview?: boolean | undefined;
59
64
  /**
@@ -155,6 +160,8 @@ export type Options = {
155
160
  * Can also be used as url for data, if it is absolute and doesn't contain a self link.
156
161
  * @property {STAC|Asset|Object} [data] The STAC metadata. Any of `url` and `data` must be provided.
157
162
  * `data` take precedence over `url`.
163
+ * @property {ItemCollection|Object|Array<STAC>|string|null} [children=null] For STAC Catalogs and Collections, any child entites
164
+ * to show. Can be STAC ItemCollections (as ItemCollection, GeoJSON FeatureCollection, or URL) or a list of STAC entities.
158
165
  * @property {Array<string|Asset>|null} [assets=null] The selector for the assets to be rendered,
159
166
  * only for STAC Items and Collections.
160
167
  * This can be an array of strings corresponding to asset keys or Asset objects.
@@ -170,12 +177,12 @@ export type Options = {
170
177
  * by default.
171
178
  * @property {boolean} [displayGeoTiffByDefault=false] Allow to choose non-cloud-optimized GeoTiffs as default image to show,
172
179
  * which might not work well for larger files or larger amounts of files.
173
- * @property {boolean} [displayPreview=false] Allow to display images that a browser can display (e.g. PNG, JPEG),
174
- * usually assets with role `thumbnail` or the link with relation type `preview`.
180
+ * @property {boolean} [displayPreview=false] Allow to display preview images that a browser can display (e.g. PNG, JPEG),
181
+ * i.e. assets with any of the roles `thumbnail`, `overview`, or a link with relation type `preview`.
175
182
  * The previews are usually not covering the full extents and as such may be placed incorrectly on the map.
176
- * For performance reasons, it is recommended to enable this option if you pass in STAC API Items.
183
+ * For performance reasons, it is recommended to enable this option if you pass in STAC API Items instead of `displayOverview`.
177
184
  * @property {boolean} [displayOverview=true] Allow to display COGs and, if `displayGeoTiffByDefault` is enabled, GeoTiffs,
178
- * usually the assets with role `overview` or `visual`.
185
+ * usually an asset with role `overview` or `visual`.
179
186
  * @property {string|boolean|Array<Link|string>} [displayWebMapLink=false] Allow to display a layer
180
187
  * based on the information provided through the web map links extension.
181
188
  * If an array of links or link ids (property `id` in a Link Object) is provided, all corresponding layers will be shown.
@@ -235,7 +242,12 @@ declare class STACLayer extends LayerGroup {
235
242
  */
236
243
  private data_;
237
244
  /**
238
- * @type {Array<Asset> | null}
245
+ * @type {Array<STAC>|null}
246
+ * @private
247
+ */
248
+ private children_;
249
+ /**
250
+ * @type {Array<Asset>|null}
239
251
  * @private
240
252
  */
241
253
  private assets_;
@@ -245,7 +257,7 @@ declare class STACLayer extends LayerGroup {
245
257
  */
246
258
  private bands_;
247
259
  /**
248
- * @type {string | null}
260
+ * @type {string|null}
249
261
  * @private
250
262
  */
251
263
  private crossOrigin_;
@@ -303,7 +315,7 @@ declare class STACLayer extends LayerGroup {
303
315
  * @return {VectorLayer|null} The vector layer for the bounds
304
316
  * @api
305
317
  */
306
- getBoundsLayer(): VectorLayer<any> | null;
318
+ getBoundsLayer(): VectorLayer | null;
307
319
  /**
308
320
  * @private
309
321
  * @param {Error} error The error.
@@ -313,15 +325,17 @@ declare class STACLayer extends LayerGroup {
313
325
  * @private
314
326
  * @param {STAC|Asset|Object} data The STAC data.
315
327
  * @param {string} url The url to the data.
316
- * @param {Array<Asset|string> | null} assets The assets to show.
328
+ * @param {ItemCollection|Object|Array<STAC>|string|null} children The child STAC entities to show.
329
+ * @param {Array<Asset|string>|null} assets The assets to show.
317
330
  * @param {Array<number>} bands The (one-based) bands to show.
318
331
  */
319
332
  private configure_;
320
333
  /**
321
334
  * @private
335
+ * @param {Array<STAC>} collection The list of STAC entities to show.
322
336
  * @return {Promise} Resolves when complete.
323
337
  */
324
- private addApiCollection_;
338
+ private addChildren_;
325
339
  /**
326
340
  * @private
327
341
  * @return {Promise} Resolves when complete.
@@ -329,16 +343,10 @@ declare class STACLayer extends LayerGroup {
329
343
  private addStacAssets_;
330
344
  /**
331
345
  * @private
332
- * @param {Asset|Link} [ref] A STAC Link or Asset
333
- * @return {Promise<Layer|undefined>} Resolves with a Layer or undefined when complete.
334
- */
335
- private addImagery_;
336
- /**
337
- * @private
338
- * @param {Asset|Link} [thumbnail] A STAC Link or Asset
346
+ * @param {Asset|Link} [image] A STAC Link or Asset
339
347
  * @return {Promise<ImageLayer|undefined>} Resolves with am ImageLayer or udnefined when complete.
340
348
  */
341
- private addThumbnail_;
349
+ private addPreviewImage_;
342
350
  /**
343
351
  * Adds a layer for the web map links available in the STAC links.
344
352
  * @return {Promise<Array<Layer>|undefined>} Resolves with a Layer or undefined when complete.
@@ -400,6 +408,13 @@ declare class STACLayer extends LayerGroup {
400
408
  * @api
401
409
  */
402
410
  setAssets(assets: Array<string | Asset> | null): Promise<any>;
411
+ /**
412
+ * Updates the children STAC entities to be rendered.
413
+ * @param {ItemCollection|Object|Array<STAC>|string|null} childs The children to show.
414
+ * @return {Promise} Resolves when all items are rendered.
415
+ * @api
416
+ */
417
+ setChildren(childs: ItemCollection | any | Array<STAC> | string | null): Promise<any>;
403
418
  /**
404
419
  * Get the STAC object.
405
420
  *
@@ -407,6 +422,13 @@ declare class STACLayer extends LayerGroup {
407
422
  * @api
408
423
  */
409
424
  getData(): STAC | Asset;
425
+ /**
426
+ * Get the children STAC entities.
427
+ *
428
+ * @return {STAC} The STAC child entities.
429
+ * @api
430
+ */
431
+ getChildren(): STAC;
410
432
  /**
411
433
  * Get the STAC assets shown.
412
434
  *
@@ -414,6 +436,18 @@ declare class STACLayer extends LayerGroup {
414
436
  * @api
415
437
  */
416
438
  getAssets(): Array<Asset>;
439
+ /**
440
+ * Get the attributions of the STAC entity assigned to this layer.
441
+ *
442
+ * @return {Array<string>} Attributions for this layer.
443
+ * @api
444
+ */
445
+ getAttributions(): Array<string>;
446
+ /**
447
+ * Get the layer source.
448
+ * @return {SourceType|null} The layer source (or `null` if not yet set).
449
+ */
450
+ getSource(): SourceType | null;
417
451
  }
418
452
  import SourceType from '../source/type.js';
419
453
  import LayerGroup from 'ol/layer/Group.js';
@@ -1 +1 @@
1
- {"version":3,"file":"STAC.d.ts","sourceRoot":"","sources":["../../../src/ol/layer/STAC.js"],"names":[],"mappings":";qBAoCa,OAAO,cAAc,EAAE,MAAM;oBAG7B,OAAO,aAAa,EAAE,KAAK;;oBAM3B,OAAO,aAAa,EAAE,KAAK;4BAG3B,OAAO,mBAAmB,EAAE,aAAa;;;;;;;;;;;WAOxC,kBAAiB;;;;;;;;;;;;;;;;;;;+BAOR,UAAU,QAAE,aAAa,QAAE,CAAC,QAAM,IAAI,CAAC,KAAE,CAAC,aAAa,GAAC,QAAQ,aAAa,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6CA0BxE,MAAM,GAAC,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AArDzC;;GAEG;AACH;;GAEG;AACH;;GAEG;AACH;;GAEG;AACH;;GAEG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyDG;AAEH;;;;;;;;;;GAUG;AACH;IACE;;;OAGG;IACH,qBAHW,OAAO,EAmIjB;IAjHC;;;OAGG;IACH,0BAAiD;IAEjD;;;OAGG;IACH,cAAU;IAEV;;;OAGG;IACH,gBAAmB;IAEnB;;;OAGG;IACH,eAAgB;IAEhB;;;OAGG;IACH,qBAA+C;IAE/C;;;OAGG;IACH,0BAA0E;IAE1E;;;OAGG;IACH,iCAAwE;IAExE;;;OAGG;IACH,wBAAsD;IAEtD;;;OAGG;IACH,yBAAwE;IAExE;;OAEG;IACH,oBAFU,MAAM,GAAC,OAAO,GAAC,MAAM,IAAI,GAAC,MAAM,CAAC,CAEiB;IAE5D;;;OAGG;IACH,8BAAiE;IAEjE;;;OAGG;IACH,gCAAsE;IAEtE;;;OAGG;IACH,qBAA6D;IAE7D;;;OAGG;IACH,yBAAyE;IAEzE;;;OAGG;IACH,qBAAwB;IA4B1B;;;;OAIG;IACH,kBAHY,mBAAY,IAAI,CAK3B;IAED;;;OAGG;IACH,qBASC;IAED;;;;;;OAMG;IACH,mBAuCC;IAED;;;OAGG;IACH,0BAiBC;IAED;;;OAGG;IACH,uBA0BC;IAED;;;;OAIG;IACH,oBAUC;IAED;;;;OAIG;IACH,sBA0BC;IAED;;;OAGG;IACH,mBAFY,QAAQ,MAAM,KAAK,CAAC,GAAC,SAAS,CAAC,CAO1C;IAED;;;;;;;OAOG;IACH,4BAHY,QAAQ,MAAM,KAAK,CAAC,GAAC,SAAS,CAAC,CAuI1C;IAED;;;;OAIG;IACH,oBA+DC;IAED;;;;OAIG;IACH,gCAgBC;IAED;;;;;OAKG;IACH,kBAIC;IAED;;;OAGG;IACH,sBA+BC;IAED;;OAEG;IACH,sBAwBC;IAED;;;;OAIG;IACH,iBAHY,OAAO,CASlB;IAED;;;;OAIG;IACH,kBAHY,MAAM,IAAI,CAAC,CA+BtB;IAED;;;;;OAKG;IACH,kBAJW,MAAM,MAAM,QAAM,CAAC,GAAC,IAAI,gBAmBlC;IAED;;;;;OAKG;IACH,WAHY,YAAU,CAKrB;IAED;;;;;OAKG;IACH,aAHY,YAAY,CAKvB;CAoCF;uBAz2BsB,mBAAmB;uBADnB,mBAAmB;wBAKlB,oBAAoB"}
1
+ {"version":3,"file":"STAC.d.ts","sourceRoot":"","sources":["../../../src/ol/layer/STAC.js"],"names":[],"mappings":";qBAoCa,OAAO,cAAc,EAAE,MAAM;oBAG7B,OAAO,aAAa,EAAE,KAAK;;oBAM3B,OAAO,aAAa,EAAE,KAAK;4BAG3B,OAAO,mBAAmB,EAAE,aAAa;;;;;;;;;;;WAOxC,kBAAiB;;;;;eAEjB,uBAAsB,WAAW,GAAC,MAAM,GAAC,IAAI;;;;;;;;;;;;;;;;;;;+BAOpC,UAAU,QAAE,aAAa,QAAE,CAAC,QAAM,IAAI,CAAC,KAAE,CAAC,aAAa,GAAC,QAAQ,aAAa,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6CA0BxE,MAAM,GAAC,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAvDzC;;GAEG;AACH;;GAEG;AACH;;GAEG;AACH;;GAEG;AACH;;GAEG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2DG;AAEH;;;;;;;;;;GAUG;AACH;IACE;;;OAGG;IACH,qBAHW,OAAO,EAgJjB;IA9HC;;;OAGG;IACH,0BAAiD;IAEjD;;;OAGG;IACH,cAAU;IAEV;;;OAGG;IACH,kBAAqB;IAErB;;;OAGG;IACH,gBAAmB;IAEnB;;;OAGG;IACH,eAAgB;IAEhB;;;OAGG;IACH,qBAA+C;IAE/C;;;OAGG;IACH,0BAA0E;IAE1E;;;OAGG;IACH,iCAAwE;IAExE;;;OAGG;IACH,wBAAsD;IAEtD;;;OAGG;IACH,yBAAwE;IAExE;;OAEG;IACH,oBAFU,MAAM,GAAC,OAAO,GAAC,MAAM,IAAI,GAAC,MAAM,CAAC,CAEiB;IAE5D;;;OAGG;IACH,8BAAiE;IAEjE;;;OAGG;IACH,gCAAsE;IAEtE;;;OAGG;IACH,qBAA6D;IAE7D;;;OAGG;IACH,yBAAyE;IAEzE;;;OAGG;IACH,qBAAwB;IAmC1B;;;;OAIG;IACH,kBAHY,WAAW,GAAC,IAAI,CAK3B;IAED;;;OAGG;IACH,qBASC;IAED;;;;;;;OAOG;IACH,mBAkDC;IAED;;;;OAIG;IACH,qBAeC;IAED;;;OAGG;IACH,uBAqCC;IAED;;;;OAIG;IACH,yBA4BC;IAED;;;OAGG;IACH,mBAFY,QAAQ,MAAM,KAAK,CAAC,GAAC,SAAS,CAAC,CAO1C;IAED;;;;;;;OAOG;IACH,4BAHY,QAAQ,MAAM,KAAK,CAAC,GAAC,SAAS,CAAC,CAuI1C;IAED;;;;OAIG;IACH,oBAmDC;IAED;;;;OAIG;IACH,gCAgBC;IAED;;;;;OAKG;IACH,kBAIC;IAED;;;OAGG;IACH,sBA+BC;IAED;;OAEG;IACH,sBA4BC;IAED;;;;OAIG;IACH,iBAHY,OAAO,CASlB;IAED;;;;OAIG;IACH,kBAHY,MAAM,IAAI,CAAC,CA+BtB;IAED;;;;;OAKG;IACH,kBAJW,MAAM,MAAM,QAAM,CAAC,GAAC,IAAI,gBAmBlC;IAED;;;;;OAKG;IACH,oBAJW,uBAAsB,WAAW,GAAC,MAAM,GAAC,IAAI,gBAiCvD;IAED;;;;;OAKG;IACH,WAHY,YAAU,CAKrB;IAED;;;;;OAKG;IACH,oBAEC;IAED;;;;;OAKG;IACH,aAHY,YAAY,CAKvB;IAqCD;;;;;OAKG;IACH,mBAHY,MAAM,MAAM,CAAC,CAaxB;IAED;;;OAGG;IACH,aAFY,UAAU,GAAC,IAAI,CAI1B;CACF;uBAh8BsB,mBAAmB;uBADnB,mBAAmB;wBAKlB,oBAAoB"}
package/layer/STAC.js CHANGED
@@ -19,7 +19,7 @@ import WMS from 'ol/source/TileWMS.js';
19
19
  import WMTS, { optionsFromCapabilities } from 'ol/source/WMTS.js';
20
20
  import WebGLTileLayer from 'ol/layer/WebGLTile.js';
21
21
  import XYZ from 'ol/source/XYZ.js';
22
- import create, { Asset, STAC } from 'stac-js';
22
+ import create, { Asset, ItemCollection, STAC } from 'stac-js';
23
23
  import { PMTilesRasterSource, PMTilesVectorSource } from 'ol-pmtiles';
24
24
  import { defaultBoundsStyle, defaultCollectionStyle, getBoundsStyle, getGeoTiffSourceInfoFromAsset, getProjection, getSpecificWebMapUrl, getWmtsCapabilities, } from '../util.js';
25
25
  import { toGeoJSON } from 'stac-js/src/geo.js';
@@ -45,6 +45,8 @@ import { transformExtent } from 'ol/proj.js';
45
45
  * Can also be used as url for data, if it is absolute and doesn't contain a self link.
46
46
  * @property {STAC|Asset|Object} [data] The STAC metadata. Any of `url` and `data` must be provided.
47
47
  * `data` take precedence over `url`.
48
+ * @property {ItemCollection|Object|Array<STAC>|string|null} [children=null] For STAC Catalogs and Collections, any child entites
49
+ * to show. Can be STAC ItemCollections (as ItemCollection, GeoJSON FeatureCollection, or URL) or a list of STAC entities.
48
50
  * @property {Array<string|Asset>|null} [assets=null] The selector for the assets to be rendered,
49
51
  * only for STAC Items and Collections.
50
52
  * This can be an array of strings corresponding to asset keys or Asset objects.
@@ -60,12 +62,12 @@ import { transformExtent } from 'ol/proj.js';
60
62
  * by default.
61
63
  * @property {boolean} [displayGeoTiffByDefault=false] Allow to choose non-cloud-optimized GeoTiffs as default image to show,
62
64
  * which might not work well for larger files or larger amounts of files.
63
- * @property {boolean} [displayPreview=false] Allow to display images that a browser can display (e.g. PNG, JPEG),
64
- * usually assets with role `thumbnail` or the link with relation type `preview`.
65
+ * @property {boolean} [displayPreview=false] Allow to display preview images that a browser can display (e.g. PNG, JPEG),
66
+ * i.e. assets with any of the roles `thumbnail`, `overview`, or a link with relation type `preview`.
65
67
  * The previews are usually not covering the full extents and as such may be placed incorrectly on the map.
66
- * For performance reasons, it is recommended to enable this option if you pass in STAC API Items.
68
+ * For performance reasons, it is recommended to enable this option if you pass in STAC API Items instead of `displayOverview`.
67
69
  * @property {boolean} [displayOverview=true] Allow to display COGs and, if `displayGeoTiffByDefault` is enabled, GeoTiffs,
68
- * usually the assets with role `overview` or `visual`.
70
+ * usually an asset with role `overview` or `visual`.
69
71
  * @property {string|boolean|Array<Link|string>} [displayWebMapLink=false] Allow to display a layer
70
72
  * based on the information provided through the web map links extension.
71
73
  * If an array of links or link ids (property `id` in a Link Object) is provided, all corresponding layers will be shown.
@@ -137,7 +139,12 @@ class STACLayer extends LayerGroup {
137
139
  */
138
140
  this.data_;
139
141
  /**
140
- * @type {Array<Asset> | null}
142
+ * @type {Array<STAC>|null}
143
+ * @private
144
+ */
145
+ this.children_ = null;
146
+ /**
147
+ * @type {Array<Asset>|null}
141
148
  * @private
142
149
  */
143
150
  this.assets_ = null;
@@ -147,7 +154,7 @@ class STACLayer extends LayerGroup {
147
154
  */
148
155
  this.bands_ = [];
149
156
  /**
150
- * @type {string | null}
157
+ * @type {string|null}
151
158
  * @private
152
159
  */
153
160
  this.crossOrigin_ = options.crossOrigin || null;
@@ -202,7 +209,7 @@ class STACLayer extends LayerGroup {
202
209
  this.boundsLayer_ = null;
203
210
  if (options.data) {
204
211
  try {
205
- this.configure_(options.data, options.url, options.assets, options.bands);
212
+ this.configure_(options.data, options.url, options.children, options.assets, options.bands);
206
213
  }
207
214
  catch (error) {
208
215
  this.handleError_(error);
@@ -214,7 +221,7 @@ class STACLayer extends LayerGroup {
214
221
  }
215
222
  fetch(options.url)
216
223
  .then((response) => response.json())
217
- .then((data) => this.configure_(data, options.url, options.assets, options.bands))
224
+ .then((data) => this.configure_(data, options.url, options.children, options.assets, options.bands))
218
225
  .catch((error) => this.handleError_(error));
219
226
  }
220
227
  /**
@@ -243,10 +250,11 @@ class STACLayer extends LayerGroup {
243
250
  * @private
244
251
  * @param {STAC|Asset|Object} data The STAC data.
245
252
  * @param {string} url The url to the data.
246
- * @param {Array<Asset|string> | null} assets The assets to show.
253
+ * @param {ItemCollection|Object|Array<STAC>|string|null} children The child STAC entities to show.
254
+ * @param {Array<Asset|string>|null} assets The assets to show.
247
255
  * @param {Array<number>} bands The (one-based) bands to show.
248
256
  */
249
- configure_(data, url = null, assets = null, bands = []) {
257
+ configure_(data, url = null, children = null, assets = null, bands = []) {
250
258
  if (data instanceof Asset || data instanceof STAC) {
251
259
  this.data_ = data;
252
260
  }
@@ -265,6 +273,16 @@ class STACLayer extends LayerGroup {
265
273
  };
266
274
  this.getLayers().on('add', updateBoundsStyle);
267
275
  this.getLayers().on('remove', updateBoundsStyle);
276
+ this.setChildren(children)
277
+ .then(() => {
278
+ /**
279
+ * Invoked once the child STAC entites are loaded and shown on the map.
280
+ *
281
+ * @event childrenready
282
+ */
283
+ return this.dispatchEvent('childrenready');
284
+ })
285
+ .catch((error) => this.handleError_(error));
268
286
  this.setAssets(assets)
269
287
  .then(() => {
270
288
  /**
@@ -286,12 +304,11 @@ class STACLayer extends LayerGroup {
286
304
  }
287
305
  /**
288
306
  * @private
307
+ * @param {Array<STAC>} collection The list of STAC entities to show.
289
308
  * @return {Promise} Resolves when complete.
290
309
  */
291
- async addApiCollection_() {
292
- const promises = this.getData()
293
- .getAll()
294
- .map((obj) => {
310
+ async addChildren_(collection) {
311
+ const promises = collection.map((obj) => {
295
312
  const subgroup = new STACLayer({
296
313
  data: obj,
297
314
  crossOrigin: this.crossOrigin_,
@@ -312,68 +329,65 @@ class STACLayer extends LayerGroup {
312
329
  */
313
330
  async addStacAssets_() {
314
331
  let assets = this.getAssets();
332
+ // No assets provided by the user, guess a sensible default visualization
315
333
  if (assets === null) {
316
334
  assets = [];
317
335
  // No specific asset given by the user, visualize the default geotiff
318
336
  const geotiff = this.getData().getDefaultGeoTIFF(true, !this.displayGeoTiffByDefault_);
319
- if (geotiff) {
320
- assets.push(geotiff);
337
+ let layer;
338
+ // Try to visualize the default GeoTIFF first
339
+ if (geotiff && this.displayOverview_) {
340
+ layer = await this.addGeoTiff_(geotiff);
321
341
  }
322
- else {
342
+ // If no GeoTIFF is available or it can't be shown (e.g. error),
343
+ // try to visualize the default thumbnail
344
+ if (this.displayPreview_ && (!geotiff || !layer)) {
323
345
  // This may return Links or Assets
324
- const thumbnails = this.getData()
325
- .getThumbnails()
326
- .filter((t) => !Array.isArray(t.roles) || !t.roles.includes('example'));
346
+ const thumbnails = this.getData().getThumbnails(true, 'overview');
327
347
  if (thumbnails.length > 0) {
328
- assets.push(thumbnails[0]);
348
+ await this.addPreviewImage_(thumbnails[0]);
329
349
  }
330
350
  }
331
351
  }
332
- const promises = assets.map((asset) => this.addImagery_(asset));
352
+ // Show the assets provided by the user
353
+ const promises = assets.map(async (ref) => {
354
+ if (ref && ref.isGeoTIFF()) {
355
+ return await this.addGeoTiff_(ref);
356
+ }
357
+ if (ref && ref.canBrowserDisplayImage()) {
358
+ return await this.addPreviewImage_(ref);
359
+ }
360
+ });
333
361
  return await Promise.all(promises);
334
362
  }
335
363
  /**
336
364
  * @private
337
- * @param {Asset|Link} [ref] A STAC Link or Asset
338
- * @return {Promise<Layer|undefined>} Resolves with a Layer or undefined when complete.
339
- */
340
- async addImagery_(ref) {
341
- if (!ref) {
342
- return;
343
- }
344
- if (ref.isGeoTIFF()) {
345
- return await this.addGeoTiff_(ref);
346
- }
347
- if (ref.canBrowserDisplayImage()) {
348
- return await this.addThumbnail_(ref);
349
- }
350
- }
351
- /**
352
- * @private
353
- * @param {Asset|Link} [thumbnail] A STAC Link or Asset
365
+ * @param {Asset|Link} [image] A STAC Link or Asset
354
366
  * @return {Promise<ImageLayer|undefined>} Resolves with am ImageLayer or udnefined when complete.
355
367
  */
356
- async addThumbnail_(thumbnail) {
357
- if (!this.displayPreview_) {
368
+ async addPreviewImage_(image) {
369
+ const projection = await getProjection(image, 'EPSG:4326');
370
+ const bbox = image.getContext().getBoundingBox();
371
+ if (!bbox) {
358
372
  return;
359
373
  }
360
374
  /**
361
375
  * @type {import("ol/source/ImageStatic.js").Options}
362
376
  */
363
377
  let options = {
364
- url: thumbnail.getAbsoluteUrl(),
365
- projection: await getProjection(thumbnail, 'EPSG:4326'),
366
- imageExtent: thumbnail.getContext().getBoundingBox(),
378
+ url: image.getAbsoluteUrl(),
379
+ projection,
380
+ imageExtent: transformExtent(bbox, 'EPSG:4326', projection),
367
381
  crossOrigin: this.crossOrigin_,
368
382
  };
369
383
  if (this.getSourceOptions_) {
370
384
  // @ts-ignore
371
- options = await this.getSourceOptions_(SourceType.ImageStatic, options, thumbnail);
385
+ options = await this.getSourceOptions_(SourceType.ImageStatic, options, image);
372
386
  }
373
387
  const layer = new ImageLayer({
374
388
  source: new StaticImage(options),
375
389
  });
376
- this.addLayer_(layer, thumbnail);
390
+ this.addLayer_(layer, image);
377
391
  return layer;
378
392
  }
379
393
  /**
@@ -510,9 +524,6 @@ class STACLayer extends LayerGroup {
510
524
  * @return {Promise<Layer|undefined>} Resolves with a Layer or undefined when complete.
511
525
  */
512
526
  async addGeoTiff_(asset) {
513
- if (!this.displayOverview_) {
514
- return;
515
- }
516
527
  if (this.buildTileUrlTemplate_ && !this.useTileLayerAsFallback_) {
517
528
  return await this.addTileLayerForImagery_(asset);
518
529
  }
@@ -531,35 +542,28 @@ class STACLayer extends LayerGroup {
531
542
  // @ts-ignore
532
543
  options = await this.getSourceOptions_(SourceType.GeoTIFF, options, asset);
533
544
  }
534
- const tileserverFallback = async (asset, layer) => {
535
- if (layer) {
536
- this.getLayers().remove(layer);
537
- }
538
- return await this.addTileLayerForImagery_(asset);
539
- };
545
+ const source = new GeoTIFF(options);
546
+ const status = new Promise((resolve, reject) => {
547
+ source.on('error', reject);
548
+ source.on('change', () => {
549
+ // see https://github.com/openlayers/openlayers/issues/14926
550
+ if (source.getState() === 'error') {
551
+ reject(source.getError());
552
+ }
553
+ else {
554
+ resolve();
555
+ }
556
+ });
557
+ });
540
558
  try {
541
- const source = new GeoTIFF(options);
559
+ await status;
542
560
  const layer = new WebGLTileLayer({ source });
543
- if (this.useTileLayerAsFallback_) {
544
- const errorFn = () => tileserverFallback(asset, layer);
545
- source.on('error', errorFn);
546
- source.on('tileloaderror', errorFn);
547
- // see https://github.com/openlayers/openlayers/issues/14926
548
- source.on('change', () => {
549
- if (source.getState() === 'error') {
550
- tileserverFallback(asset, layer);
551
- }
552
- });
553
- layer.on('error', errorFn);
554
- // Call this to ensure we can load the GeoTIFF, otherwise try fallback
555
- await source.getView();
556
- }
557
561
  this.addLayer_(layer, asset);
558
562
  return layer;
559
563
  }
560
564
  catch (error) {
561
565
  if (this.useTileLayerAsFallback_) {
562
- return await tileserverFallback(asset, null);
566
+ return await this.addTileLayerForImagery_(asset);
563
567
  }
564
568
  this.handleError_(error);
565
569
  }
@@ -648,7 +652,7 @@ class STACLayer extends LayerGroup {
648
652
  // Add new layers
649
653
  const data = this.getData();
650
654
  if (data.isItemCollection() || data.isCollectionCollection()) {
651
- await this.addApiCollection_();
655
+ await this.addChildren_(this.getData().getAll());
652
656
  }
653
657
  else if (data.isItem() || data.isCollection()) {
654
658
  await this.addStacAssets_();
@@ -657,6 +661,9 @@ class STACLayer extends LayerGroup {
657
661
  (Array.isArray(this.displayWebMapLink_) || this.hasOnlyBounds())) {
658
662
  await this.addWebMapLinks_();
659
663
  }
664
+ if (this.children_) {
665
+ await this.addChildren_(this.children_);
666
+ }
660
667
  }
661
668
  /**
662
669
  * Indicates whether the LayerGroup shows only the bounds layer (i.e. no imagery/tile layers).
@@ -725,6 +732,44 @@ class STACLayer extends LayerGroup {
725
732
  }
726
733
  await this.updateLayers_();
727
734
  }
735
+ /**
736
+ * Updates the children STAC entities to be rendered.
737
+ * @param {ItemCollection|Object|Array<STAC>|string|null} childs The children to show.
738
+ * @return {Promise} Resolves when all items are rendered.
739
+ * @api
740
+ */
741
+ async setChildren(childs) {
742
+ if (!childs) {
743
+ this.children_ = null;
744
+ return;
745
+ }
746
+ if (typeof childs === 'string') {
747
+ const response = await fetch(childs);
748
+ childs = await response.json();
749
+ }
750
+ if (typeof childs === 'object' && childs.type === 'FeatureCollection') {
751
+ childs = childs.features;
752
+ }
753
+ if (childs instanceof ItemCollection) {
754
+ this.children_ = childs.getAll();
755
+ }
756
+ else if (Array.isArray(childs)) {
757
+ childs = childs.map((child) => {
758
+ if (child instanceof STAC) {
759
+ return child;
760
+ }
761
+ return create(child);
762
+ });
763
+ this.children_ = childs;
764
+ }
765
+ else {
766
+ this.children_ = null; // Invalid input
767
+ }
768
+ if (this.children_ && this.children_.length === 0) {
769
+ this.children_ = null;
770
+ }
771
+ await this.updateLayers_();
772
+ }
728
773
  /**
729
774
  * Get the STAC object.
730
775
  *
@@ -734,6 +779,15 @@ class STACLayer extends LayerGroup {
734
779
  getData() {
735
780
  return this.data_;
736
781
  }
782
+ /**
783
+ * Get the children STAC entities.
784
+ *
785
+ * @return {STAC} The STAC child entities.
786
+ * @api
787
+ */
788
+ getChildren() {
789
+ return this.children_;
790
+ }
737
791
  /**
738
792
  * Get the STAC assets shown.
739
793
  *
@@ -773,6 +827,30 @@ class STACLayer extends LayerGroup {
773
827
  return transformExtent(bbox, 'EPSG:4326', view.getProjection());
774
828
  }
775
829
  }
830
+ /**
831
+ * Get the attributions of the STAC entity assigned to this layer.
832
+ *
833
+ * @return {Array<string>} Attributions for this layer.
834
+ * @api
835
+ */
836
+ getAttributions() {
837
+ const attribution = [];
838
+ const stac = this.getData();
839
+ if (stac) {
840
+ const attribution = stac.getMetadata('attribution');
841
+ if (attribution) {
842
+ attribution.push(attribution);
843
+ }
844
+ }
845
+ return attribution;
846
+ }
847
+ /**
848
+ * Get the layer source.
849
+ * @return {SourceType|null} The layer source (or `null` if not yet set).
850
+ */
851
+ getSource() {
852
+ return null;
853
+ }
776
854
  }
777
855
  export default STACLayer;
778
856
  //# sourceMappingURL=STAC.js.map
package/layer/STAC.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"STAC.js","sourceRoot":"","sources":["../../../src/ol/layer/STAC.js"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AACnC,OAAO,UAAU,MAAM,yBAAyB,CAAC;AACjD,OAAO,OAAO,MAAM,sBAAsB,CAAC;AAC3C,OAAO,OAAO,MAAM,sBAAsB,CAAC;AAC3C,OAAO,UAAU,MAAM,mBAAmB,CAAC;AAC3C,OAAO,UAAU,MAAM,mBAAmB,CAAC;AAC3C,OAAO,UAAU,MAAM,mBAAmB,CAAC;AAC3C,OAAO,WAAW,MAAM,0BAA0B,CAAC;AACnD,OAAO,QAAQ,MAAM,uBAAuB,CAAC;AAC7C,OAAO,SAAS,MAAM,kBAAkB,CAAC;AACzC,OAAO,WAAW,MAAM,oBAAoB,CAAC;AAC7C,OAAO,YAAY,MAAM,qBAAqB,CAAC;AAC/C,OAAO,eAAe,MAAM,wBAAwB,CAAC;AACrD,OAAO,gBAAgB,MAAM,yBAAyB,CAAC;AACvD,OAAO,GAAG,MAAM,sBAAsB,CAAC;AACvC,OAAO,IAAI,EAAE,EAAC,uBAAuB,EAAC,MAAM,mBAAmB,CAAC;AAChE,OAAO,cAAc,MAAM,uBAAuB,CAAC;AACnD,OAAO,GAAG,MAAM,kBAAkB,CAAC;AACnC,OAAO,MAAM,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAC,mBAAmB,EAAE,mBAAmB,EAAC,MAAM,YAAY,CAAC;AACpE,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,cAAc,EACd,6BAA6B,EAC7B,aAAa,EACb,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAC,SAAS,EAAC,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAC,eAAe,EAAC,MAAM,YAAY,CAAC;AAE3C;;GAEG;AACH;;GAEG;AACH;;GAEG;AACH;;GAEG;AACH;;GAEG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyDG;AAEH;;;;;;;;;;GAUG;AACH,MAAM,SAAU,SAAQ,UAAU;IAChC;;;OAGG;IACH,YAAY,OAAO;QACjB,MAAM,YAAY,GAAG,EAAE,CAAC;QACxB;YACE,SAAS;YACT,SAAS;YACT,QAAQ;YACR,eAAe;YACf,eAAe;YACf,SAAS;YACT,SAAS;YACT,YAAY;SACb,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAEvD,KAAK,CAAC,YAAY,CAAC,CAAC;QAEpB;;;WAGG;QACH,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC;QAElD;;;WAGG;QACH,IAAI,CAAC,KAAK,CAAC;QAEX;;;WAGG;QACH,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QAEpB;;;WAGG;QACH,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QAEjB;;;WAGG;QACH,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC;QAEhD;;;WAGG;QACH,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QAE3E;;;WAGG;QACH,IAAI,CAAC,wBAAwB,GAAG,OAAO,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;QAEzE;;;WAGG;QACH,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAEvD;;;WAGG;QACH,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,eAAe,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QAEzE;;WAEG;QACH,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,IAAI,KAAK,CAAC;QAE7D;;;WAGG;QACH,IAAI,CAAC,qBAAqB,GAAG,OAAO,CAAC,oBAAoB,IAAI,IAAI,CAAC;QAElE;;;WAGG;QACH,IAAI,CAAC,uBAAuB,GAAG,OAAO,CAAC,sBAAsB,IAAI,KAAK,CAAC;QAEvE;;;WAGG;QACH,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,WAAW,IAAI,kBAAkB,CAAC;QAE9D;;;WAGG;QACH,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,eAAe,IAAI,sBAAsB,CAAC;QAE1E;;;WAGG;QACH,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QAEzB,IAAI,OAAO,CAAC,IAAI,EAAE;YAChB,IAAI;gBACF,IAAI,CAAC,UAAU,CACb,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,GAAG,EACX,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,KAAK,CACd,CAAC;aACH;YAAC,OAAO,KAAK,EAAE;gBACd,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;aAC1B;YACD,OAAO;SACR;QAED,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;YAChB,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;SACxD;QAED,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;aACf,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;aACnC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CACb,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,CAClE;aACA,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;IAChD,CAAC;IAED;;;;OAIG;IACH,cAAc;QACZ,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED;;;OAGG;IACH,YAAY,CAAC,KAAK;QAChB;;;;;;WAMG;QACH,IAAI,CAAC,aAAa,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED;;;;;;OAMG;IACH,UAAU,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE,KAAK,GAAG,EAAE;QACpD,IAAI,IAAI,YAAY,KAAK,IAAI,IAAI,YAAY,IAAI,EAAE;YACjD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;SACnB;aAAM;YACL,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;SAC3B;QACD,IAAI,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;YAC9B,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;SAChC;QACD,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QAEpB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACzC,MAAM,iBAAiB,GAAG,GAAG,EAAE;YAC7B,IAAI,IAAI,CAAC,YAAY,EAAE;gBACrB,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC;aACrE;QACH,CAAC,CAAC;QACF,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC;QAC9C,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;QAEjD,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;aACnB,IAAI,CAAC,GAAG,EAAE;YACT;;;;eAIG;YACH,OAAO,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;QAC3C,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;QAE9C;;;;;;WAMG;QACH,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;IACpC,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,iBAAiB;QACrB,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE;aAC5B,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACX,MAAM,QAAQ,GAAG,IAAI,SAAS,CAAC;gBAC7B,IAAI,EAAE,GAAG;gBACT,WAAW,EAAE,IAAI,CAAC,YAAY;gBAC9B,WAAW,EAAE,IAAI,CAAC,gBAAgB;gBAClC,uBAAuB,EAAE,IAAI,CAAC,wBAAwB;gBACtD,eAAe,EAAE,IAAI,CAAC,gBAAgB;gBACtC,cAAc,EAAE,IAAI,CAAC,eAAe;gBACpC,gBAAgB,EAAE,IAAI,CAAC,iBAAiB;aACzC,CAAC,CAAC;YACH,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YACzB,OAAO,QAAQ,CAAC;QAClB,CAAC,CAAC,CAAC;QACL,OAAO,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACrC,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,cAAc;QAClB,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAC9B,IAAI,MAAM,KAAK,IAAI,EAAE;YACnB,MAAM,GAAG,EAAE,CAAC;YACZ,qEAAqE;YACrE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,iBAAiB,CAC9C,IAAI,EACJ,CAAC,IAAI,CAAC,wBAAwB,CAC/B,CAAC;YACF,IAAI,OAAO,EAAE;gBACX,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aACtB;iBAAM;gBACL,kCAAkC;gBAClC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE;qBAC9B,aAAa,EAAE;qBACf,MAAM,CACL,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAC/D,CAAC;gBACJ,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;oBACzB,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC5B;aACF;SACF;QAED,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;QAChE,OAAO,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACrC,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,WAAW,CAAC,GAAG;QACnB,IAAI,CAAC,GAAG,EAAE;YACR,OAAO;SACR;QACD,IAAI,GAAG,CAAC,SAAS,EAAE,EAAE;YACnB,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;SACpC;QACD,IAAI,GAAG,CAAC,sBAAsB,EAAE,EAAE;YAChC,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;SACtC;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,aAAa,CAAC,SAAS;QAC3B,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;YACzB,OAAO;SACR;QACD;;WAEG;QACH,IAAI,OAAO,GAAG;YACZ,GAAG,EAAE,SAAS,CAAC,cAAc,EAAE;YAC/B,UAAU,EAAE,MAAM,aAAa,CAAC,SAAS,EAAE,WAAW,CAAC;YACvD,WAAW,EAAE,SAAS,CAAC,UAAU,EAAE,CAAC,cAAc,EAAE;YACpD,WAAW,EAAE,IAAI,CAAC,YAAY;SAC/B,CAAC;QACF,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC1B,aAAa;YACb,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CACpC,UAAU,CAAC,WAAW,EACtB,OAAO,EACP,SAAS,CACV,CAAC;SACH;QACD,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC;YAC3B,MAAM,EAAE,IAAI,WAAW,CAAC,OAAO,CAAC;SACjC,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QACjC,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,eAAe;QACnB,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACpC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YACpB,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;SAC7C;IACH,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,eAAe,CAAC,IAAI;QACxB,8DAA8D;QAC9D,MAAM,GAAG,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,GAAG,EAAE;YACR,OAAO;SACR;QAED,MAAM,OAAO,GAAG;YACd,YAAY,EACV,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC;gBAC/B,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,aAAa,CAAC;YACvC,WAAW,EAAE,IAAI,CAAC,YAAY;YAC9B,GAAG;SACJ,CAAC;QAEF,MAAM,aAAa,GAAG,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;YAC5C,IAAI,IAAI,CAAC,iBAAiB,EAAE;gBAC1B,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;aAC7D;YACD,OAAO,OAAO,CAAC;QACjB,CAAC,CAAC;QAEF,MAAM,OAAO,GAAG,EAAE,CAAC;QACnB,QAAQ,IAAI,CAAC,GAAG,EAAE;YAChB,KAAK,SAAS;gBACZ,MAAM,CAAC,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBAC3C,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,SAAS,EAAE,CAAC;gBACpC,IAAI,MAAM,CAAC;gBACX,QAAQ,OAAO,CAAC,QAAQ,EAAE;oBACxB,KAAK,OAAO,CAAC,QAAQ,CAAC,GAAG;wBACvB,MAAM,GAAG,IAAI,mBAAmB,CAC9B,MAAM,aAAa,CAAC,UAAU,CAAC,aAAa,EAAE,OAAO,CAAC,CACvD,CAAC;wBACF,MAAM;oBACR,KAAK,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;oBAC3B,KAAK,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;oBAC3B,KAAK,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;oBAC1B,KAAK,OAAO,CAAC,QAAQ,CAAC,IAAI;wBACxB,MAAM,GAAG,IAAI,mBAAmB,CAC9B,MAAM,aAAa,CAAC,UAAU,CAAC,aAAa,EAAE,OAAO,CAAC,CACvD,CAAC;wBACF,MAAM;oBACR;wBACE,OAAO,CAAC,cAAc;iBACzB;gBACD,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACrB,MAAM;YACR,KAAK,UAAU;gBACb,OAAO,CAAC,IAAI,CACV,IAAI,QAAQ,CAAC,MAAM,aAAa,CAAC,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAChE,CAAC;gBACF,MAAM;YACR,KAAK,KAAK;gBACR,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE;oBACtC,MAAM;iBACP;gBACD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,EAAE;oBAClC,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;oBAC3C,IAAI,MAAM,GAAG,EAAE,CAAC;oBAChB,IACE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;wBACjC,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,QAAQ,EACzC;wBACA,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;qBAChC;oBACD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAC1B;wBACE,MAAM,EAAE,MAAM;wBACd,MAAM,EAAE,MAAM;qBACf,EACD,IAAI,CAAC,gBAAgB,CAAC,CACvB,CAAC;oBACF,IAAI,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,SAAS,EAAE;wBAChD,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;qBACtD;oBACD,IACE,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,QAAQ;wBAChC,IAAI,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,EACjC;wBACA,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;qBAC9B;oBACD,MAAM,UAAU,GAAG,MAAM,aAAa,CACpC,UAAU,CAAC,OAAO,EAClB,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE,EAAC,MAAM,EAAC,CAAC,CACrC,CAAC;oBACF,OAAO,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;iBACnC;gBACD,MAAM;YACR,KAAK,MAAM;gBACT,MAAM,gBAAgB,GAAG,MAAM,mBAAmB,CAAC,GAAG,CAAC,CAAC;gBACxD,IAAI,CAAC,gBAAgB,EAAE;oBACrB,OAAO;iBACR;gBACD,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;oBAC9C,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;oBACpB,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;gBACzB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;oBAC1B,IAAI,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE,EAAC,KAAK,EAAC,CAAC,CAAC;oBACtD,IACE,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,QAAQ;wBAChC,IAAI,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,EACjC;wBACA,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;qBACnC;oBACD,WAAW,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;oBAChE,OAAO,CAAC,IAAI,CACV,IAAI,IAAI,CAAC,uBAAuB,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAC,CACjE,CAAC;iBACH;gBACD,MAAM;YACR,KAAK,KAAK;gBACR,OAAO,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,MAAM,aAAa,CAAC,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;gBACpE,MAAM;YACR;gBACE,OAAO;SACV;QAED,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YAC5B,IAAI,KAAK,CAAC;YACV,IAAI,MAAM,YAAY,gBAAgB,EAAE;gBACtC,KAAK,GAAG,IAAI,eAAe,CAAC;oBAC1B,MAAM;oBACN,SAAS,EAAE,IAAI;iBAChB,CAAC,CAAC;aACJ;iBAAM,IAAI,MAAM,YAAY,mBAAmB,EAAE;gBAChD,KAAK,GAAG,IAAI,cAAc,CAAC,EAAC,MAAM,EAAC,CAAC,CAAC;aACtC;iBAAM;gBACL,KAAK,GAAG,IAAI,SAAS,CAAC,EAAC,MAAM,EAAC,CAAC,CAAC;aACjC;YACD,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAC5B,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,WAAW,CAAC,KAAK;QACrB,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;YAC1B,OAAO;SACR;QAED,IAAI,IAAI,CAAC,qBAAqB,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE;YAC/D,OAAO,MAAM,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;SAClD;QAED,MAAM,UAAU,GAAG,6BAA6B,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAErE;;WAEG;QACH,IAAI,OAAO,GAAG;YACZ,OAAO,EAAE,CAAC,UAAU,CAAC;SACtB,CAAC;QAEF,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,KAAK,CAAC,CAAC;QAC9C,IAAI,UAAU,EAAE;YACd,OAAO,CAAC,UAAU,GAAG,UAAU,CAAC;SACjC;QAED,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC1B,aAAa;YACb,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CACpC,UAAU,CAAC,OAAO,EAClB,OAAO,EACP,KAAK,CACN,CAAC;SACH;QAED,MAAM,kBAAkB,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YAChD,IAAI,KAAK,EAAE;gBACT,IAAI,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;aAChC;YACD,OAAO,MAAM,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;QACnD,CAAC,CAAC;QACF,IAAI;YACF,MAAM,MAAM,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;YACpC,MAAM,KAAK,GAAG,IAAI,cAAc,CAAC,EAAC,MAAM,EAAC,CAAC,CAAC;YAC3C,IAAI,IAAI,CAAC,uBAAuB,EAAE;gBAChC,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,kBAAkB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;gBACvD,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBAC5B,MAAM,CAAC,EAAE,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;gBACpC,4DAA4D;gBAC5D,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;oBACvB,IAAI,MAAM,CAAC,QAAQ,EAAE,KAAK,OAAO,EAAE;wBACjC,kBAAkB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;qBAClC;gBACH,CAAC,CAAC,CAAC;gBACH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBAC3B,sEAAsE;gBACtE,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;aACxB;YACD,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YAC7B,OAAO,KAAK,CAAC;SACd;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,IAAI,CAAC,uBAAuB,EAAE;gBAChC,OAAO,MAAM,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;aAC9C;YACD,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;SAC1B;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,uBAAuB,CAAC,IAAI;QAChC;;WAEG;QACH,IAAI,OAAO,GAAG;YACZ,WAAW,EAAE,IAAI,CAAC,YAAY;YAC9B,GAAG,EAAE,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC;SACtC,CAAC;QACF,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC1B,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;SACvE;QACD,MAAM,KAAK,GAAG,IAAI,SAAS,CAAC;YAC1B,MAAM,EAAE,IAAI,GAAG,CAAC,OAAO,CAAC;SACzB,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAC5B,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;OAKG;IACH,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC;QAC/B,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACxB,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACxB,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAED;;;OAGG;IACH,aAAa;QACX,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAC5B,IAAI,IAAI,CAAC,gBAAgB,EAAE,IAAI,IAAI,CAAC,sBAAsB,EAAE,EAAE;YAC5D,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;SAC5C;aAAM;YACL,OAAO,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;SAC5B;QAED,IAAI,OAAO,EAAE;YACX,MAAM,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC;gBAC9B,MAAM;gBACN,MAAM,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE;oBACzC,MAAM,QAAQ,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE;wBAC5C,iBAAiB,EAAE,UAAU;qBAC9B,CAAC,CAAC;oBACH,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;gBAC/B,CAAC;aACF,CAAC,CAAC;YACH,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC;gBAClC,MAAM;gBACN,KAAK,EAAE,cAAc,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC;gBAC9C,OAAO,EAAE,IAAI,CAAC,iBAAiB;aAChC,CAAC,CAAC;YACH,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAChC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YACrC,OAAO,WAAW,CAAC;SACpB;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa;QACjB,oBAAoB;QACpB,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QACnC,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC,SAAS,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;YACnD,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAChC,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC/B,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE;gBAC7C,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;aACvB;SACF;QAED,iBAAiB;QACjB,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAC5B,IAAI,IAAI,CAAC,gBAAgB,EAAE,IAAI,IAAI,CAAC,sBAAsB,EAAE,EAAE;YAC5D,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;SAChC;aAAM,IAAI,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE;YAC/C,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;SAC7B;QACD,IACE,IAAI,CAAC,kBAAkB;YACvB,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC,EAChE;YACA,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;SAC9B;IACH,CAAC;IAED;;;;OAIG;IACH,aAAa;QACX,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC,IAAI,CACzC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,WAAW,CACjC,CAAC;QACF,OAAO,OAAO,QAAQ,KAAK,WAAW,CAAC;IACzC,CAAC;IAED;;;;OAIG;IACH,cAAc;QACZ,IAAI,KAAK,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,iCAAiC;QAC5F,IAAI,OAAO,IAAI,CAAC,kBAAkB,KAAK,QAAQ,EAAE;YAC/C,KAAK,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;SACnC;QACD,IAAI,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAElD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE;YAC1C,QAAQ,GAAG,IAAI,CAAC,kBAAkB;iBAC/B,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gBACZ,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;oBAC5B,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC;oBAClE,IAAI,KAAK,EAAE;wBACT,OAAO,KAAK,CAAC;qBACd;oBACD,OAAO,IAAI,CAAC;iBACb;gBACD,OAAO,IAAI,CAAC;YACd,CAAC,CAAC;iBACD,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;SAC7B;aAAM;YACL,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBACrB,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBACnC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBACnC,OAAO,KAAK,GAAG,KAAK,CAAC;YACvB,CAAC,CAAC,CAAC;SACJ;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,SAAS,CAAC,MAAM;QACpB,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YACzB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;gBAClC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;oBAC7B,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;iBACvC;gBACD,IAAI,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC,EAAE;oBAC7B,OAAO,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;iBACzB;gBACD,OAAO,KAAK,CAAC;YACf,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;SACrB;QACD,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;IAC7B,CAAC;IAED;;;;;OAKG;IACH,OAAO;QACL,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED;;;;;OAKG;IACH,SAAS;QACP,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;;;;;;;;OAQG;IACH,SAAS;QACP,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YACtB,OAAO;SACR;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,CAAC;QAC/C,IAAI,CAAC,GAAG,EAAE;YACR,OAAO;SACR;QAED,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;QAC3B,IAAI,CAAC,IAAI,EAAE;YACT,OAAO;SACR;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAC5B,IAAI,CAAC,IAAI,EAAE;YACT,OAAO;SACR;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACnC,IAAI,IAAI,EAAE;YACR,OAAO,eAAe,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;SACjE;IACH,CAAC;CACF;AAED,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"STAC.js","sourceRoot":"","sources":["../../../src/ol/layer/STAC.js"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ol-stac",
3
- "version": "1.0.0-beta.10",
3
+ "version": "1.0.0-beta.12",
4
4
  "description": "An \"automagical\" STAC LayerGroup for OpenLayers",
5
5
  "homepage": "https://mohr.ws",
6
6
  "license": "Apache-2.0",
@@ -19,10 +19,10 @@
19
19
  },
20
20
  "dependencies": {
21
21
  "ol-pmtiles": "^0.2.0",
22
- "stac-js": "0.0.9"
22
+ "stac-js": "0.1.0"
23
23
  },
24
24
  "peerDependencies": {
25
- "ol": ">=7.5.2"
25
+ "ol": "*"
26
26
  },
27
27
  "browserslist": [
28
28
  "> 1%",
package/util.d.ts CHANGED
@@ -1,10 +1,11 @@
1
1
  /**
2
2
  * Get the STAC objects associated with this event, if any. Excludes API Collections.
3
3
  * @param {import('ol/MapBrowserEvent.js').default} event The asset to read the information from.
4
+ * @param {STAC} [exclude=null] Excludes the given STAC entity from the list.
4
5
  * @return {Promise<Array<STAC>>} A list of STAC objects
5
6
  * @api
6
7
  */
7
- export function getStacObjectsForEvent(event: import("ol/MapBrowserEvent.js").default<any>): Promise<Array<STAC>>;
8
+ export function getStacObjectsForEvent(event: import("ol/MapBrowserEvent.js").default<any>, exclude?: any): Promise<Array<STAC>>;
8
9
  /**
9
10
  * Get the source info for the GeoTiff from the asset.
10
11
  * @param {import('stac-js').Asset} asset The asset to read the information from.
package/util.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/ol/util.js"],"names":[],"mappings":"AAwCA;;;;;GAKG;AACH,6FAHY,QAAQ,WAAW,CAAC,CAsB/B;AAED;;;;;GAKG;AACH,iEAHW,MAAM,MAAM,CAAC,GACZ,OAAO,sBAAsB,EAAE,UAAU,CAiCpD;AAED;;;;;GAKG;AACH,kEAHW,OAAO,YAAY,EAAE,cAAc,GAClC,QAAQ,OAAO,YAAY,EAAE,cAAc,CAAC,CAgBvD;AAED;;;;;;;;GAQG;AACH,+HAHY,KAAK,CAShB;AAED;;;;;GAKG;AACH,iDAFY,MAAM,GAAC,IAAI,CAgBtB;AAED;;;;GAIG;AACH,yCAHW,MAAM,GACL,QAAQ,MAAO,IAAI,CAAC,CAY/B;AAzKD;;;;GAIG;AACH,iCAHU,KAAK,CAWZ;AAEH;;;;GAIG;AACH,qCAHU,KAAK,CAQZ;sBAjC+B,aAAa"}
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/ol/util.js"],"names":[],"mappings":"AAwCA;;;;;;GAMG;AACH,4GAHY,QAAQ,WAAW,CAAC,CA4B/B;AAED;;;;;GAKG;AACH,iEAHW,MAAM,MAAM,CAAC,GACZ,OAAO,sBAAsB,EAAE,UAAU,CAiCpD;AAED;;;;;GAKG;AACH,kEAHW,OAAO,YAAY,EAAE,cAAc,GAClC,QAAQ,OAAO,YAAY,EAAE,cAAc,CAAC,CAmBvD;AAED;;;;;;;;GAQG;AACH,+HAHY,KAAK,CAShB;AAED;;;;;GAKG;AACH,iDAFY,MAAM,GAAC,IAAI,CAgBtB;AAED;;;;GAIG;AACH,yCAHW,MAAM,GACL,QAAQ,MAAO,IAAI,CAAC,CAY/B;AAnLD;;;;GAIG;AACH,iCAHU,KAAK,CAWZ;AAEH;;;;GAIG;AACH,qCAHU,KAAK,CAQZ;sBAjC+B,aAAa"}
package/util.js CHANGED
@@ -28,22 +28,29 @@ export const defaultBoundsStyle = new Style({
28
28
  export const defaultCollectionStyle = new Style({
29
29
  stroke: new Stroke({
30
30
  color: '#ff9933',
31
- width: 1,
31
+ width: 2,
32
32
  }),
33
33
  });
34
34
  /**
35
35
  * Get the STAC objects associated with this event, if any. Excludes API Collections.
36
36
  * @param {import('ol/MapBrowserEvent.js').default} event The asset to read the information from.
37
+ * @param {STAC} [exclude=null] Excludes the given STAC entity from the list.
37
38
  * @return {Promise<Array<STAC>>} A list of STAC objects
38
39
  * @api
39
40
  */
40
- export async function getStacObjectsForEvent(event) {
41
+ export async function getStacObjectsForEvent(event, exclude = null) {
41
42
  const objects = event.map
42
43
  .getAllLayers()
43
44
  .filter((layer) => {
44
45
  if (layer instanceof VectorLayer &&
45
46
  layer.get('bounds') === true &&
46
47
  layer.get('stac') instanceof STAC) {
48
+ if (exclude) {
49
+ const stac = layer.get('stac');
50
+ if (stac.equals(exclude)) {
51
+ return false;
52
+ }
53
+ }
47
54
  const features = layer
48
55
  .getSource()
49
56
  .getFeaturesAtCoordinate(event.coordinate);
@@ -65,13 +72,13 @@ export function getGeoTiffSourceInfoFromAsset(asset, bands) {
65
72
  const sourceInfo = {
66
73
  url: asset.getAbsoluteUrl(),
67
74
  };
68
- let band = null;
75
+ let source = asset;
69
76
  // If there's just one band, we can also read the information from there.
70
77
  if (asset.getBands().length === 1) {
71
- band = 0;
78
+ source = asset.getBand(0);
72
79
  }
73
80
  // TODO: It would be useful if OL would allow min/max values per band
74
- const { minimum, maximum } = asset.getMinMaxValues(band);
81
+ const { minimum, maximum } = source.getMinMaxValues();
75
82
  if (typeof minimum === 'number') {
76
83
  sourceInfo.min = minimum;
77
84
  }
@@ -79,7 +86,7 @@ export function getGeoTiffSourceInfoFromAsset(asset, bands) {
79
86
  sourceInfo.max = maximum;
80
87
  }
81
88
  // TODO: It would be useful if OL would allow multiple no-data values
82
- const nodata = asset.getNoDataValues(band);
89
+ const nodata = source.getNoDataValues();
83
90
  if (nodata.length > 0) {
84
91
  sourceInfo.nodata = nodata[0];
85
92
  }
@@ -98,10 +105,13 @@ export async function getProjection(reference, defaultProjection = undefined) {
98
105
  let projection = defaultProjection;
99
106
  if (isProj4Registered()) {
100
107
  // TODO: It would be great to handle WKT2 and PROJJSON, but is not supported yet by proj4js.
101
- const epsgCode = reference.getMetadata('proj:epsg');
102
- if (epsgCode) {
108
+ const code = reference.getMetadata('proj:code');
109
+ if (code) {
103
110
  try {
104
- projection = await fromEPSGCode(epsgCode);
111
+ if (code.startsWith('EPSG:')) {
112
+ const id = parseInt(code.replace('EPSG:', ''), 10);
113
+ projection = await fromEPSGCode(id);
114
+ }
105
115
  }
106
116
  catch (_) {
107
117
  // pass
package/util.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/ol/util.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/ol/util.js"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,WAAW,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAC,MAAM,aAAa,CAAC;AAChD,OAAO,EAAC,IAAI,EAAC,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAC,gBAAgB,EAAC,MAAM,cAAc,CAAC;AAC9C,OAAO,EACL,YAAY,EACZ,YAAY,IAAI,iBAAiB,GAClC,MAAM,kBAAkB,CAAC;AAE1B;;;;GAIG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,KAAK,CAAC;IAC1C,IAAI,EAAE,IAAI,IAAI,CAAC;QACb,KAAK,EAAE,uBAAuB;KAC/B,CAAC;IACF,MAAM,EAAE,IAAI,MAAM,CAAC;QACjB,KAAK,EAAE,SAAS;QAChB,KAAK,EAAE,CAAC;KACT,CAAC;CACH,CAAC,CAAC;AAEH;;;;GAIG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,KAAK,CAAC;IAC9C,MAAM,EAAE,IAAI,MAAM,CAAC;QACjB,KAAK,EAAE,SAAS;QAChB,KAAK,EAAE,CAAC;KACT,CAAC;CACH,CAAC,CAAC;AAEH;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAChE,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG;SACtB,YAAY,EAAE;SACd,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;QAChB,IACE,KAAK,YAAY,WAAW;YAC5B,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,IAAI;YAC5B,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,IAAI,EACjC;YACA,IAAI,OAAO,EAAE;gBACX,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAC/B,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE;oBACxB,OAAO,KAAK,CAAC;iBACd;aACF;YACD,MAAM,QAAQ,GAAG,KAAK;iBACnB,SAAS,EAAE;iBACX,uBAAuB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YAC7C,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;SAC5B;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;SACD,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IACrC,oCAAoC;IACpC,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;AAC/B,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,6BAA6B,CAAC,KAAK,EAAE,KAAK;IACxD,MAAM,UAAU,GAAG;QACjB,GAAG,EAAE,KAAK,CAAC,cAAc,EAAE;KAC5B,CAAC;IAEF,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,yEAAyE;IACzE,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE;QACjC,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;KAC3B;IAED,qEAAqE;IACrE,MAAM,EAAC,OAAO,EAAE,OAAO,EAAC,GAAG,MAAM,CAAC,eAAe,EAAE,CAAC;IACpD,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;QAC/B,UAAU,CAAC,GAAG,GAAG,OAAO,CAAC;KAC1B;IACD,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;QAC/B,UAAU,CAAC,GAAG,GAAG,OAAO,CAAC;KAC1B;IAED,qEAAqE;IACrE,MAAM,MAAM,GAAG,MAAM,CAAC,eAAe,EAAE,CAAC;IACxC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;QACrB,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;KAC/B;IAED,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;QACpB,UAAU,CAAC,KAAK,GAAG,KAAK,CAAC;KAC1B;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,SAAS,EAAE,iBAAiB,GAAG,SAAS;IAC1E,IAAI,UAAU,GAAG,iBAAiB,CAAC;IACnC,IAAI,iBAAiB,EAAE,EAAE;QACvB,4FAA4F;QAC5F,MAAM,IAAI,GAAG,SAAS,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QAChD,IAAI,IAAI,EAAE;YACR,IAAI;gBACF,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;oBAC5B,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;oBACnD,UAAU,GAAG,MAAM,YAAY,CAAC,EAAE,CAAC,CAAC;iBACrC;aACF;YAAC,OAAO,CAAC,EAAE;gBACV,OAAO;aACR;SACF;KACF;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,cAAc,CAAC,aAAa,EAAE,UAAU;IACtD,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,EAAE,CAAC;IACpC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,EAAE;QAC/B,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;KACrB;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAAI;IACvC,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC;IACpB,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;QACvB,IACE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACnC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,GAAG,CAAC,EAC/B;YACA,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC5D,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SACnD;aAAM;YACL,OAAO,IAAI,CAAC;SACb;KACF;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,GAAG;IAC3C,IAAI;QACF,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QAC5B,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAC3C,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;QACtD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,CAAC;QACrC,OAAO,IAAI,gBAAgB,EAAE,CAAC,IAAI,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;KAC3D;IAAC,OAAO,KAAK,EAAE;QACd,OAAO,IAAI,CAAC;KACb;AACH,CAAC"}