@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.
- package/dist/src/interaction/featureProviderInteraction.js +13 -11
- package/dist/src/interaction/featureProviderInteraction.js.map +1 -1
- package/dist/src/layer/tileProvider/tileProvider.d.ts +4 -0
- package/dist/src/layer/tileProvider/tileProvider.js +25 -4
- package/dist/src/layer/tileProvider/tileProvider.js.map +1 -1
- package/package.json +1 -1
- package/src/interaction/featureProviderInteraction.ts +14 -11
- package/src/layer/tileProvider/tileProvider.ts +29 -4
|
@@ -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
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
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;
|
|
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
|
-
|
|
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
|
-
|
|
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
|
@@ -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
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
}
|