@vcmap/core 6.1.5 → 6.1.7

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.
@@ -13,6 +13,9 @@ class FeatureProviderInteraction extends AbstractInteraction {
13
13
  }
14
14
  // eslint-disable-next-line class-methods-use-this
15
15
  async pipe(event) {
16
+ if (event.feature) {
17
+ return event;
18
+ }
16
19
  const layersWithProvider = [...event.map.layerCollection]
17
20
  .filter((l) => {
18
21
  return (l.featureProvider &&
@@ -23,20 +26,19 @@ class FeatureProviderInteraction extends AbstractInteraction {
23
26
  .reverse();
24
27
  if (layersWithProvider.length > 0) {
25
28
  const resolution = event.map.getCurrentResolution(event.position);
29
+ // TODO make sure the layers are rendered, check min/max RenderingResolution
26
30
  const features = (await Promise.all(layersWithProvider.map((l) => l.featureProvider?.getFeaturesByCoordinate?.(event.position, resolution, l.headers))))
27
31
  .filter((f) => !!f)
28
32
  .flat();
29
- if (features.length > 0) {
30
- if (features.length > 1) {
31
- const feature = new Feature({ features });
32
- feature[isProvidedFeature] = true; // backward compatibility, may remove in future
33
- feature[isProvidedClusterFeature] = true;
34
- feature.setGeometry(new Point(event.position));
35
- event.feature = feature;
36
- }
37
- else if (!event.feature) {
38
- event.feature = features[0];
39
- }
33
+ if (features.length === 1) {
34
+ event.feature = features[0];
35
+ }
36
+ else if (features.length > 1) {
37
+ const feature = new Feature({ features });
38
+ feature[isProvidedFeature] = true; // backward compatibility, may remove in future
39
+ feature[isProvidedClusterFeature] = true;
40
+ feature.setGeometry(new Point(event.position));
41
+ event.feature = feature;
40
42
  }
41
43
  }
42
44
  return event;
@@ -1 +1 @@
1
- {"version":3,"file":"featureProviderInteraction.js","sourceRoot":"","sources":["../../../src/interaction/featureProviderInteraction.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,kBAAkB,CAAC;AACrC,OAAO,OAAO,MAAM,eAAe,CAAC;AACpC,OAAO,mBAEN,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,SAAS,EACT,mBAAmB,EACnB,cAAc,GACf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,wBAAwB,EACxB,iBAAiB,GAClB,MAAM,8CAA8C,CAAC;AAEtD;;GAEG;AACH,MAAM,0BAA2B,SAAQ,mBAAmB;IAC1D;QACE,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,mBAAmB,CAAC,GAAG,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC;QAEpE,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAED,kDAAkD;IAClD,KAAK,CAAC,IAAI,CAAC,KAAuB;QAChC,MAAM,kBAAkB,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC;aACtD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;YACZ,OAAO,CACL,CAAC,CAAC,eAAe;gBACjB,CAAC,CAAC,MAAM;gBACR,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC;gBACxB,CAAC,CAAC,eAAe,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CACzC,CAAC;QACJ,CAAC,CAAC;aACD,OAAO,EAAE,CAAC;QAEb,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,MAAM,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,oBAAoB,CAC/C,KAAK,CAAC,QAAsB,CAC7B,CAAC;YACF,MAAM,QAAQ,GAAG,CACf,MAAM,OAAO,CAAC,GAAG,CACf,kBAAkB,CAAC,GAAG,CACpB,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,eAAe,EAAE,uBAAuB,EAAE,CAC1C,KAAK,CAAC,QAAsB,EAC5B,UAAU,EACV,CAAC,CAAC,OAAO,CACV,CACJ,CACF,CACF;iBACE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;iBAClB,IAAI,EAAE,CAAC;YAEV,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACxB,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;oBAC1C,OAAO,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,CAAC,+CAA+C;oBAClF,OAAO,CAAC,wBAAwB,CAAC,GAAG,IAAI,CAAC;oBACzC,OAAO,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,QAAsB,CAAC,CAAC,CAAC;oBAC7D,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;gBAC1B,CAAC;qBAAM,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;oBAC1B,KAAK,CAAC,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAC9B,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AAED,eAAe,0BAA0B,CAAC"}
1
+ {"version":3,"file":"featureProviderInteraction.js","sourceRoot":"","sources":["../../../src/interaction/featureProviderInteraction.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,kBAAkB,CAAC;AACrC,OAAO,OAAO,MAAM,eAAe,CAAC;AACpC,OAAO,mBAEN,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,SAAS,EACT,mBAAmB,EACnB,cAAc,GACf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,wBAAwB,EACxB,iBAAiB,GAClB,MAAM,8CAA8C,CAAC;AAEtD;;GAEG;AACH,MAAM,0BAA2B,SAAQ,mBAAmB;IAC1D;QACE,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,mBAAmB,CAAC,GAAG,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC;QAEpE,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAED,kDAAkD;IAClD,KAAK,CAAC,IAAI,CAAC,KAAuB;QAChC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAClB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,kBAAkB,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC;aACtD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;YACZ,OAAO,CACL,CAAC,CAAC,eAAe;gBACjB,CAAC,CAAC,MAAM;gBACR,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC;gBACxB,CAAC,CAAC,eAAe,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CACzC,CAAC;QACJ,CAAC,CAAC;aACD,OAAO,EAAE,CAAC;QAEb,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,MAAM,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,oBAAoB,CAC/C,KAAK,CAAC,QAAsB,CAC7B,CAAC;YACF,4EAA4E;YAC5E,MAAM,QAAQ,GAAG,CACf,MAAM,OAAO,CAAC,GAAG,CACf,kBAAkB,CAAC,GAAG,CACpB,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,eAAe,EAAE,uBAAuB,EAAE,CAC1C,KAAK,CAAC,QAAsB,EAC5B,UAAU,EACV,CAAC,CAAC,OAAO,CACV,CACJ,CACF,CACF;iBACE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;iBAClB,IAAI,EAAE,CAAC;YACV,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1B,KAAK,CAAC,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC9B,CAAC;iBAAM,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC/B,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;gBAC1C,OAAO,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,CAAC,+CAA+C;gBAClF,OAAO,CAAC,wBAAwB,CAAC,GAAG,IAAI,CAAC;gBACzC,OAAO,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,QAAsB,CAAC,CAAC,CAAC;gBAC7D,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;YAC1B,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AAED,eAAe,0BAA0B,CAAC"}
@@ -14,6 +14,10 @@ export type TileProviderRTreeEntry = {
14
14
  maxY: number;
15
15
  value: Feature;
16
16
  };
17
+ /**
18
+ * Buffer around the coordinate in pixels
19
+ */
20
+ export declare const FEATURE_BY_COORDINATE_PIXEL_BUFFER = 8;
17
21
  export type TileProviderRtree = RBush<TileProviderRTreeEntry>;
18
22
  /**
19
23
  * resolutions to levels
@@ -9,6 +9,10 @@ import { mercatorProjection, mercatorToWgs84Transformer, wgs84Projection, wgs84T
9
9
  import VcsObject from '../../vcsObject.js';
10
10
  import VcsEvent from '../../vcsEvent.js';
11
11
  import { tileProviderClassRegistry } from '../../classRegistry.js';
12
+ /**
13
+ * Buffer around the coordinate in pixels
14
+ */
15
+ export const FEATURE_BY_COORDINATE_PIXEL_BUFFER = 8;
12
16
  /**
13
17
  * resolutions to levels
14
18
  */
@@ -282,21 +286,38 @@ class TileProvider extends VcsObject {
282
286
  */
283
287
  async getFeaturesByCoordinate(coordinate, resolution, headers) {
284
288
  const extent = createOrUpdateFromCoordinate(coordinate);
285
- buffer(extent, resolution, extent);
289
+ buffer(extent, resolution * FEATURE_BY_COORDINATE_PIXEL_BUFFER, extent);
286
290
  const wgs84Coordinate = mercatorToWgs84Transformer(coordinate);
287
291
  const cartographic = Cartographic.fromDegrees(wgs84Coordinate[0], wgs84Coordinate[1]);
288
292
  const baseLevel = this.getBaseLevelForResolution(resolution, cartographic.latitude);
293
+ // TODO Edge case, if the coordinate is not resolution * FEATURE_BY_COORDINATE_PIXEL_BUFFER away from the tile border
294
+ // we also need to take a look at neighbouring tiles.
289
295
  const rtree = await this._getRtreeForBaseTile(baseLevel, cartographic, headers);
290
296
  if (rtree) {
291
- const features = rtree
297
+ return rtree
292
298
  .search({
293
299
  minX: extent[0],
294
300
  minY: extent[1],
295
301
  maxX: extent[2],
296
302
  maxY: extent[3],
297
303
  })
298
- .map((item) => item.value);
299
- return features;
304
+ .map((item) => item.value)
305
+ .filter((feature) => {
306
+ const geometryType = feature.getGeometry()?.getType();
307
+ if (geometryType === 'Polygon' ||
308
+ geometryType === 'MultiPolygon' ||
309
+ geometryType === 'Circle' ||
310
+ geometryType === 'GeometryCollection') {
311
+ return feature.getGeometry()?.intersectsCoordinate(coordinate);
312
+ }
313
+ else if (geometryType === 'Point' ||
314
+ geometryType === 'MultiPoint' ||
315
+ geometryType === 'LineString' ||
316
+ geometryType === 'MultiLineString') {
317
+ return feature.getGeometry()?.intersectsExtent(extent);
318
+ }
319
+ return false;
320
+ });
300
321
  }
301
322
  return [];
302
323
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tileProvider.js","sourceRoot":"","sources":["../../../../src/layer/tileProvider/tileProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tileProvider.js","sourceRoot":"","sources":["../../../../src/layer/tileProvider/tileProvider.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vcmap/core",
3
- "version": "6.1.5",
3
+ "version": "6.1.7",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",
@@ -27,6 +27,10 @@ class FeatureProviderInteraction extends AbstractInteraction {
27
27
 
28
28
  // eslint-disable-next-line class-methods-use-this
29
29
  async pipe(event: InteractionEvent): Promise<InteractionEvent> {
30
+ if (event.feature) {
31
+ return event;
32
+ }
33
+
30
34
  const layersWithProvider = [...event.map.layerCollection]
31
35
  .filter((l) => {
32
36
  return (
@@ -42,6 +46,7 @@ class FeatureProviderInteraction extends AbstractInteraction {
42
46
  const resolution = event.map.getCurrentResolution(
43
47
  event.position as Coordinate,
44
48
  );
49
+ // TODO make sure the layers are rendered, check min/max RenderingResolution
45
50
  const features = (
46
51
  await Promise.all(
47
52
  layersWithProvider.map(
@@ -56,19 +61,17 @@ class FeatureProviderInteraction extends AbstractInteraction {
56
61
  )
57
62
  .filter((f) => !!f)
58
63
  .flat();
59
-
60
- if (features.length > 0) {
61
- if (features.length > 1) {
62
- const feature = new Feature({ features });
63
- feature[isProvidedFeature] = true; // backward compatibility, may remove in future
64
- feature[isProvidedClusterFeature] = true;
65
- feature.setGeometry(new Point(event.position as Coordinate));
66
- event.feature = feature;
67
- } else if (!event.feature) {
68
- event.feature = features[0];
69
- }
64
+ if (features.length === 1) {
65
+ event.feature = features[0];
66
+ } else if (features.length > 1) {
67
+ const feature = new Feature({ features });
68
+ feature[isProvidedFeature] = true; // backward compatibility, may remove in future
69
+ feature[isProvidedClusterFeature] = true;
70
+ feature.setGeometry(new Point(event.position as Coordinate));
71
+ event.feature = feature;
70
72
  }
71
73
  }
74
+
72
75
  return event;
73
76
  }
74
77
  }
@@ -35,6 +35,11 @@ export type TileProviderRTreeEntry = {
35
35
  value: Feature;
36
36
  };
37
37
 
38
+ /**
39
+ * Buffer around the coordinate in pixels
40
+ */
41
+ export const FEATURE_BY_COORDINATE_PIXEL_BUFFER = 8;
42
+
38
43
  export type TileProviderRtree = RBush<TileProviderRTreeEntry>;
39
44
 
40
45
  /**
@@ -425,7 +430,7 @@ class TileProvider extends VcsObject {
425
430
  headers?: Record<string, string>,
426
431
  ): Promise<Feature[]> {
427
432
  const extent = createOrUpdateFromCoordinate(coordinate);
428
- buffer(extent, resolution, extent);
433
+ buffer(extent, resolution * FEATURE_BY_COORDINATE_PIXEL_BUFFER, extent);
429
434
  const wgs84Coordinate = mercatorToWgs84Transformer(coordinate);
430
435
  const cartographic = Cartographic.fromDegrees(
431
436
  wgs84Coordinate[0],
@@ -435,21 +440,41 @@ class TileProvider extends VcsObject {
435
440
  resolution,
436
441
  cartographic.latitude,
437
442
  );
443
+ // TODO Edge case, if the coordinate is not resolution * FEATURE_BY_COORDINATE_PIXEL_BUFFER away from the tile border
444
+ // we also need to take a look at neighbouring tiles.
438
445
  const rtree = await this._getRtreeForBaseTile(
439
446
  baseLevel,
440
447
  cartographic,
441
448
  headers,
442
449
  );
443
450
  if (rtree) {
444
- const features = rtree
451
+ return rtree
445
452
  .search({
446
453
  minX: extent[0],
447
454
  minY: extent[1],
448
455
  maxX: extent[2],
449
456
  maxY: extent[3],
450
457
  })
451
- .map((item) => item.value);
452
- return features;
458
+ .map((item) => item.value)
459
+ .filter((feature) => {
460
+ const geometryType = feature.getGeometry()?.getType();
461
+ if (
462
+ geometryType === 'Polygon' ||
463
+ geometryType === 'MultiPolygon' ||
464
+ geometryType === 'Circle' ||
465
+ geometryType === 'GeometryCollection'
466
+ ) {
467
+ return feature.getGeometry()?.intersectsCoordinate(coordinate);
468
+ } else if (
469
+ geometryType === 'Point' ||
470
+ geometryType === 'MultiPoint' ||
471
+ geometryType === 'LineString' ||
472
+ geometryType === 'MultiLineString'
473
+ ) {
474
+ return feature.getGeometry()?.intersectsExtent(extent);
475
+ }
476
+ return false;
477
+ });
453
478
  }
454
479
  return [];
455
480
  }