@vcmap/core 6.0.7 → 6.1.0-rc.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (146) hide show
  1. package/dist/cesium.d.ts +3 -0
  2. package/dist/index.d.ts +16 -1
  3. package/dist/index.js +16 -1
  4. package/dist/index.js.map +1 -1
  5. package/dist/ol.d.ts +8 -1
  6. package/dist/src/featureProvider/featureProviderSymbols.d.ts +5 -0
  7. package/dist/src/featureProvider/featureProviderSymbols.js +5 -1
  8. package/dist/src/featureProvider/featureProviderSymbols.js.map +1 -1
  9. package/dist/src/interaction/featureAtPixelInteraction.js +58 -62
  10. package/dist/src/interaction/featureAtPixelInteraction.js.map +1 -1
  11. package/dist/src/interaction/featureProviderInteraction.js +25 -13
  12. package/dist/src/interaction/featureProviderInteraction.js.map +1 -1
  13. package/dist/src/layer/cesium/sourceVectorContextSync.d.ts +27 -0
  14. package/dist/src/layer/cesium/sourceVectorContextSync.js +94 -0
  15. package/dist/src/layer/cesium/sourceVectorContextSync.js.map +1 -0
  16. package/dist/src/layer/cesium/vectorCesiumImpl.d.ts +4 -27
  17. package/dist/src/layer/cesium/vectorCesiumImpl.js +15 -107
  18. package/dist/src/layer/cesium/vectorCesiumImpl.js.map +1 -1
  19. package/dist/src/layer/cesium/vectorContext.d.ts +12 -1
  20. package/dist/src/layer/cesium/vectorContext.js +6 -0
  21. package/dist/src/layer/cesium/vectorContext.js.map +1 -1
  22. package/dist/src/layer/layerSymbols.js +1 -1
  23. package/dist/src/layer/layerSymbols.js.map +1 -1
  24. package/dist/src/layer/oblique/sourceObliqueSync.d.ts +18 -0
  25. package/dist/src/layer/oblique/sourceObliqueSync.js +319 -0
  26. package/dist/src/layer/oblique/sourceObliqueSync.js.map +1 -0
  27. package/dist/src/layer/oblique/vectorObliqueImpl.d.ts +2 -40
  28. package/dist/src/layer/oblique/vectorObliqueImpl.js +8 -283
  29. package/dist/src/layer/oblique/vectorObliqueImpl.js.map +1 -1
  30. package/dist/src/layer/vectorLayer.d.ts +10 -1
  31. package/dist/src/layer/vectorLayer.js +23 -1
  32. package/dist/src/layer/vectorLayer.js.map +1 -1
  33. package/dist/src/map/baseOLMap.js +8 -1
  34. package/dist/src/map/baseOLMap.js.map +1 -1
  35. package/dist/src/map/cesiumMap.d.ts +2 -0
  36. package/dist/src/map/cesiumMap.js +26 -1
  37. package/dist/src/map/cesiumMap.js.map +1 -1
  38. package/dist/src/map/vcsMap.d.ts +24 -12
  39. package/dist/src/map/vcsMap.js +92 -38
  40. package/dist/src/map/vcsMap.js.map +1 -1
  41. package/dist/src/ol/source/ClusterEnhancedVectorSource.d.ts +6 -4
  42. package/dist/src/ol/source/ClusterEnhancedVectorSource.js +4 -9
  43. package/dist/src/ol/source/ClusterEnhancedVectorSource.js.map +1 -1
  44. package/dist/src/ol/source/VcsCluster.d.ts +10 -10
  45. package/dist/src/ol/source/VcsCluster.js +23 -7
  46. package/dist/src/ol/source/VcsCluster.js.map +1 -1
  47. package/dist/src/util/clipping/clippingPolygonHelper.d.ts +7 -0
  48. package/dist/src/util/clipping/clippingPolygonHelper.js +53 -0
  49. package/dist/src/util/clipping/clippingPolygonHelper.js.map +1 -0
  50. package/dist/src/util/clipping/clippingPolygonObject.d.ts +59 -0
  51. package/dist/src/util/clipping/clippingPolygonObject.js +158 -0
  52. package/dist/src/util/clipping/clippingPolygonObject.js.map +1 -0
  53. package/dist/src/util/clipping/clippingPolygonObjectCollection.d.ts +18 -0
  54. package/dist/src/util/clipping/clippingPolygonObjectCollection.js +167 -0
  55. package/dist/src/util/clipping/clippingPolygonObjectCollection.js.map +1 -0
  56. package/dist/src/util/layerCollection.d.ts +11 -1
  57. package/dist/src/util/layerCollection.js +67 -12
  58. package/dist/src/util/layerCollection.js.map +1 -1
  59. package/dist/src/util/mapCollection.d.ts +16 -1
  60. package/dist/src/util/mapCollection.js +37 -3
  61. package/dist/src/util/mapCollection.js.map +1 -1
  62. package/dist/src/util/renderScreenshot.d.ts +9 -0
  63. package/dist/src/util/renderScreenshot.js +162 -0
  64. package/dist/src/util/renderScreenshot.js.map +1 -0
  65. package/dist/src/util/rotation.d.ts +30 -0
  66. package/dist/src/util/rotation.js +145 -0
  67. package/dist/src/util/rotation.js.map +1 -0
  68. package/dist/src/util/vcsTemplate.d.ts +7 -0
  69. package/dist/src/util/vcsTemplate.js +248 -0
  70. package/dist/src/util/vcsTemplate.js.map +1 -0
  71. package/dist/src/vcsApp.d.ts +7 -0
  72. package/dist/src/vcsApp.js +29 -0
  73. package/dist/src/vcsApp.js.map +1 -1
  74. package/dist/src/vcsModule.d.ts +6 -2
  75. package/dist/src/vcsModule.js.map +1 -1
  76. package/dist/src/vectorCluster/vectorClusterCesiumContext.d.ts +18 -0
  77. package/dist/src/{layer/cesium/clusterContext.js → vectorCluster/vectorClusterCesiumContext.js} +28 -42
  78. package/dist/src/vectorCluster/vectorClusterCesiumContext.js.map +1 -0
  79. package/dist/src/vectorCluster/vectorClusterGroup.d.ts +96 -0
  80. package/dist/src/vectorCluster/vectorClusterGroup.js +320 -0
  81. package/dist/src/vectorCluster/vectorClusterGroup.js.map +1 -0
  82. package/dist/src/vectorCluster/vectorClusterGroupCesiumImpl.d.ts +20 -0
  83. package/dist/src/vectorCluster/vectorClusterGroupCesiumImpl.js +115 -0
  84. package/dist/src/vectorCluster/vectorClusterGroupCesiumImpl.js.map +1 -0
  85. package/dist/src/vectorCluster/vectorClusterGroupCollection.d.ts +19 -0
  86. package/dist/src/vectorCluster/vectorClusterGroupCollection.js +37 -0
  87. package/dist/src/vectorCluster/vectorClusterGroupCollection.js.map +1 -0
  88. package/dist/src/vectorCluster/vectorClusterGroupImpl.d.ts +31 -0
  89. package/dist/src/vectorCluster/vectorClusterGroupImpl.js +76 -0
  90. package/dist/src/vectorCluster/vectorClusterGroupImpl.js.map +1 -0
  91. package/dist/src/vectorCluster/vectorClusterGroupObliqueImpl.d.ts +17 -0
  92. package/dist/src/vectorCluster/vectorClusterGroupObliqueImpl.js +62 -0
  93. package/dist/src/vectorCluster/vectorClusterGroupObliqueImpl.js.map +1 -0
  94. package/dist/src/vectorCluster/vectorClusterGroupOpenlayersImpl.d.ts +17 -0
  95. package/dist/src/vectorCluster/vectorClusterGroupOpenlayersImpl.js +62 -0
  96. package/dist/src/vectorCluster/vectorClusterGroupOpenlayersImpl.js.map +1 -0
  97. package/dist/src/vectorCluster/vectorClusterStyleItem.d.ts +110 -0
  98. package/dist/src/vectorCluster/vectorClusterStyleItem.js +374 -0
  99. package/dist/src/vectorCluster/vectorClusterStyleItem.js.map +1 -0
  100. package/dist/src/vectorCluster/vectorClusterSymbols.d.ts +1 -0
  101. package/dist/src/vectorCluster/vectorClusterSymbols.js +3 -0
  102. package/dist/src/vectorCluster/vectorClusterSymbols.js.map +1 -0
  103. package/index.ts +42 -1
  104. package/package.json +3 -1
  105. package/src/cesium/cesium.d.ts +3 -0
  106. package/src/featureProvider/featureProviderSymbols.ts +6 -1
  107. package/src/interaction/featureAtPixelInteraction.ts +109 -84
  108. package/src/interaction/featureProviderInteraction.ts +42 -28
  109. package/src/layer/cesium/sourceVectorContextSync.ts +134 -0
  110. package/src/layer/cesium/vcsTile/vcsDebugTile.ts +1 -1
  111. package/src/layer/cesium/vcsTile/vcsVectorTile.ts +1 -1
  112. package/src/layer/cesium/vectorCesiumImpl.ts +30 -144
  113. package/src/layer/cesium/vectorContext.ts +17 -1
  114. package/src/layer/layerSymbols.ts +1 -1
  115. package/src/layer/oblique/sourceObliqueSync.ts +436 -0
  116. package/src/layer/oblique/vectorObliqueImpl.ts +11 -397
  117. package/src/layer/vectorLayer.ts +35 -2
  118. package/src/map/baseOLMap.ts +8 -1
  119. package/src/map/cesiumMap.ts +36 -3
  120. package/src/map/vcsMap.ts +121 -47
  121. package/src/ol/ol.d.ts +8 -1
  122. package/src/ol/source/{ClusterEnhancedVectorSource.js → ClusterEnhancedVectorSource.ts} +7 -10
  123. package/src/ol/source/VcsCluster.ts +58 -0
  124. package/src/util/clipping/clippingPolygonHelper.ts +86 -0
  125. package/src/util/clipping/clippingPolygonObject.ts +223 -0
  126. package/src/util/clipping/clippingPolygonObjectCollection.ts +249 -0
  127. package/src/util/layerCollection.ts +90 -12
  128. package/src/util/mapCollection.ts +53 -2
  129. package/src/util/renderScreenshot.ts +193 -0
  130. package/src/util/rotation.ts +215 -0
  131. package/src/util/vcsTemplate.ts +373 -0
  132. package/src/vcsApp.ts +65 -0
  133. package/src/vcsModule.ts +6 -2
  134. package/src/vectorCluster/vectorClusterCesiumContext.ts +123 -0
  135. package/src/vectorCluster/vectorClusterGroup.ts +463 -0
  136. package/src/vectorCluster/vectorClusterGroupCesiumImpl.ts +176 -0
  137. package/src/vectorCluster/vectorClusterGroupCollection.ts +43 -0
  138. package/src/vectorCluster/vectorClusterGroupImpl.ts +107 -0
  139. package/src/vectorCluster/vectorClusterGroupObliqueImpl.ts +84 -0
  140. package/src/vectorCluster/vectorClusterGroupOpenlayersImpl.ts +81 -0
  141. package/src/vectorCluster/vectorClusterStyleItem.ts +490 -0
  142. package/src/vectorCluster/vectorClusterSymbols.ts +2 -0
  143. package/dist/src/layer/cesium/clusterContext.d.ts +0 -20
  144. package/dist/src/layer/cesium/clusterContext.js.map +0 -1
  145. package/src/layer/cesium/clusterContext.ts +0 -140
  146. package/src/ol/source/VcsCluster.js +0 -37
@@ -0,0 +1,320 @@
1
+ import { unByKey } from 'ol/Observable.js';
2
+ import { parseInteger } from '@vcsuite/parsers';
3
+ import { check, maybe } from '@vcsuite/check';
4
+ import VcsObject from '../vcsObject.js';
5
+ import VectorLayer from '../layer/vectorLayer.js';
6
+ import ClusterEnhancedVectorSource from '../ol/source/ClusterEnhancedVectorSource.js';
7
+ import FeatureVisibility, { synchronizeFeatureVisibility, } from '../layer/featureVisibility.js';
8
+ import LayerState from '../layer/layerState.js';
9
+ import VectorClusterStyleItem, { getDefaultClusterStyleItem, } from './vectorClusterStyleItem.js';
10
+ import GlobalHider from '../layer/globalHider.js';
11
+ import VectorProperties from '../layer/vectorProperties.js';
12
+ import CesiumMap from '../map/cesiumMap.js';
13
+ import VectorClusterGroupCesiumImpl from './vectorClusterGroupCesiumImpl.js';
14
+ import VectorClusterGroupOpenlayersImpl from './vectorClusterGroupOpenlayersImpl.js';
15
+ import OpenlayersMap from '../map/openlayersMap.js';
16
+ import ObliqueMap from '../map/obliqueMap.js';
17
+ import VectorClusterGroupObliqueImpl from './vectorClusterGroupObliqueImpl.js';
18
+ function featureIsClusterable(feature, vectorProperties) {
19
+ if (feature) {
20
+ const geometry = feature?.getGeometry();
21
+ return (!!geometry &&
22
+ geometry.getType() === 'Point' &&
23
+ vectorProperties.renderAs(feature) === 'geometry');
24
+ }
25
+ return false;
26
+ }
27
+ function getStyleOrDefaultStyle(styleOptions, defaultValue) {
28
+ if (styleOptions) {
29
+ if (styleOptions instanceof VectorClusterStyleItem) {
30
+ return styleOptions;
31
+ }
32
+ else {
33
+ return new VectorClusterStyleItem(styleOptions);
34
+ }
35
+ }
36
+ return defaultValue;
37
+ }
38
+ export default class VectorClusterGroup extends VcsObject {
39
+ static get className() {
40
+ return 'VectorClusterGroup';
41
+ }
42
+ static getDefaultOptions() {
43
+ return {
44
+ type: 'VectorClusterGroup',
45
+ name: '',
46
+ style: undefined,
47
+ highlightStyle: undefined,
48
+ clusterDistance: 40,
49
+ vectorProperties: {
50
+ ...VectorProperties.getDefaultOptions(),
51
+ eyeOffset: [0, 0, -100],
52
+ heightAboveGround: 60,
53
+ altitudeMode: 'clampToTerrain',
54
+ },
55
+ };
56
+ }
57
+ _layerListeners = new Map();
58
+ _activeSourceListeners = new Map();
59
+ _source = new ClusterEnhancedVectorSource({});
60
+ _featureVisibility = new FeatureVisibility();
61
+ _style;
62
+ highlightStyle;
63
+ _styleFunction;
64
+ _activeMaps = new Set();
65
+ _implementations = new Map();
66
+ _globalHider;
67
+ vectorProperties;
68
+ clusterDistance;
69
+ constructor(options) {
70
+ super(options);
71
+ const defaultOptions = VectorClusterGroup.getDefaultOptions();
72
+ this._style = getStyleOrDefaultStyle(options.style, getDefaultClusterStyleItem());
73
+ if (options.highlightStyle) {
74
+ this.highlightStyle =
75
+ options.highlightStyle instanceof VectorClusterStyleItem
76
+ ? options.highlightStyle
77
+ : new VectorClusterStyleItem(options.highlightStyle);
78
+ }
79
+ this.clusterDistance = parseInteger(options.clusterDistance, defaultOptions.clusterDistance);
80
+ this.vectorProperties = new VectorProperties(options.vectorProperties ?? defaultOptions.vectorProperties);
81
+ this._styleFunction = this._style.createStyleFunction((layerName) => [...this._layerListeners.keys()].find((l) => l.name === layerName));
82
+ }
83
+ get featureVisibility() {
84
+ return this._featureVisibility;
85
+ }
86
+ get style() {
87
+ return this._style;
88
+ }
89
+ get globalHider() {
90
+ return this._globalHider;
91
+ }
92
+ setStyle(style) {
93
+ this._style = getStyleOrDefaultStyle(style, this._style);
94
+ this._styleFunction = this._style.createStyleFunction((layerName) => [...this._layerListeners.keys()].find((l) => l.name === layerName));
95
+ this._implementations.forEach((impl) => {
96
+ if (impl) {
97
+ impl.style = this._styleFunction;
98
+ }
99
+ });
100
+ this._source
101
+ .getFeatures()
102
+ .filter((f) => !f.getStyle())
103
+ .forEach((f) => f.changed());
104
+ }
105
+ getHighlightStyleForFeature(feature) {
106
+ if (this.highlightStyle) {
107
+ return this.highlightStyle.createStyleFunction((layerName) => [...this._layerListeners.keys()].find((l) => l.name === layerName))(feature, 1);
108
+ }
109
+ return undefined;
110
+ }
111
+ addLayer(layer) {
112
+ check(layer, VectorLayer);
113
+ this._layerListeners.set(layer, [
114
+ layer.stateChanged.addEventListener((state) => {
115
+ if (state === LayerState.ACTIVE) {
116
+ this._handleActivation(layer);
117
+ }
118
+ else if (state === LayerState.INACTIVE) {
119
+ this._handleDeactivation(layer);
120
+ }
121
+ }),
122
+ synchronizeFeatureVisibility(layer.featureVisibility, this._featureVisibility),
123
+ ]);
124
+ if (layer.active) {
125
+ this._handleActivation(layer);
126
+ }
127
+ }
128
+ removeLayer(layer) {
129
+ this._handleDeactivation(layer);
130
+ this._layerListeners.get(layer)?.forEach((cb) => cb());
131
+ this._layerListeners.delete(layer);
132
+ }
133
+ getFeatures() {
134
+ return this._source.getFeatures();
135
+ }
136
+ /**
137
+ * destroys all current implementations and recreates the ones which have an active map.
138
+ * called for instance when the URL for a layer changes
139
+ */
140
+ async forceRedraw() {
141
+ const maps = [...this._implementations.keys()];
142
+ const promises = maps.map((map) => {
143
+ this.removedFromMap(map);
144
+ if (map.active) {
145
+ return this.mapActivated(map);
146
+ }
147
+ return Promise.resolve();
148
+ });
149
+ await Promise.all(promises);
150
+ }
151
+ setGlobalHider(globalHider) {
152
+ check(globalHider, maybe(GlobalHider));
153
+ this._globalHider = globalHider;
154
+ this.forceRedraw().catch((_e) => {
155
+ this.getLogger().error('Failed to redraw after setting global hider');
156
+ });
157
+ }
158
+ _handleActivation(layer) {
159
+ if (!this._activeSourceListeners.has(layer)) {
160
+ const source = layer.getSource();
161
+ if (source.getState() === 'ready') {
162
+ const features = source
163
+ .getFeatures()
164
+ .filter((f) => featureIsClusterable(f, layer.vectorProperties));
165
+ this._source.addFeatures(features);
166
+ const listeners = [
167
+ source.on('addfeature', ({ feature }) => {
168
+ if (featureIsClusterable(feature, layer.vectorProperties)) {
169
+ this._source.addFeature(feature);
170
+ }
171
+ }),
172
+ source.on('removefeature', ({ feature }) => {
173
+ this._source.removeFeature(feature);
174
+ }),
175
+ ];
176
+ this._activeSourceListeners.set(layer, () => unByKey(listeners));
177
+ }
178
+ else {
179
+ source.once('change', this._handleActivation.bind(this, layer));
180
+ }
181
+ }
182
+ }
183
+ _handleDeactivation(layer) {
184
+ if (this._activeSourceListeners.has(layer)) {
185
+ const source = layer.getSource();
186
+ source
187
+ .getFeatures()
188
+ .filter((f) => featureIsClusterable(f, layer.vectorProperties))
189
+ .forEach((feat) => {
190
+ this._source.removeFeature(feat, true);
191
+ });
192
+ this._source.changed();
193
+ this._activeSourceListeners.get(layer)();
194
+ this._activeSourceListeners.delete(layer);
195
+ // previous result item & last feature clicked handling
196
+ }
197
+ }
198
+ // eslint-disable-next-line class-methods-use-this
199
+ isSupported(map) {
200
+ return (map.className === 'OpenlayersMap' ||
201
+ map.className === 'CesiumMap' ||
202
+ map.className === 'ObliqueMap');
203
+ }
204
+ getImplementationOptions() {
205
+ return {
206
+ clusterDistance: this.clusterDistance,
207
+ featureVisibility: this._featureVisibility,
208
+ globalHider: this._globalHider,
209
+ maxResolution: 0,
210
+ minResolution: 0,
211
+ name: this.name,
212
+ source: this._source,
213
+ style: this._styleFunction,
214
+ vectorProperties: this.vectorProperties,
215
+ getLayerByName: (layerName) => [...this._layerListeners.keys()].find((l) => l.name === layerName),
216
+ };
217
+ }
218
+ _createImplementationForMap(map) {
219
+ if (map instanceof CesiumMap) {
220
+ return new VectorClusterGroupCesiumImpl(map, this.getImplementationOptions());
221
+ }
222
+ else if (map instanceof OpenlayersMap) {
223
+ return new VectorClusterGroupOpenlayersImpl(map, this.getImplementationOptions());
224
+ }
225
+ else if (map instanceof ObliqueMap) {
226
+ return new VectorClusterGroupObliqueImpl(map, this.getImplementationOptions());
227
+ }
228
+ return undefined;
229
+ }
230
+ /**
231
+ * creates or returns a cached array of cluster group implementations for the given map.
232
+ * @param map initialized Map
233
+ * @returns return the specific implementation
234
+ */
235
+ getImplementationForMap(map) {
236
+ if (!this._implementations.has(map)) {
237
+ this._implementations.set(map, this._createImplementationForMap(map));
238
+ }
239
+ return this._implementations.get(map);
240
+ }
241
+ /**
242
+ * Returns all implementation of this vector cluster group for all maps
243
+ */
244
+ getImplementations() {
245
+ return [...this._implementations.values()].flat().filter((i) => !!i);
246
+ }
247
+ /**
248
+ * is called from the map when the map is activated and this vector cluster group belongs to the maps layer collections vector cluster group collection.
249
+ * Will create an implementation if it does not exists and will forward the activation call to the implementation.
250
+ * @param map
251
+ */
252
+ async mapActivated(map) {
253
+ this._activeMaps.add(map);
254
+ await this._activateImplsForMap(map);
255
+ }
256
+ /**
257
+ * is called from the map when the map is deactivated, and this vector cluster group belongs to the maps layer collections vector cluster group collection.
258
+ * will forward deactivation call to the map specific implementation
259
+ * @param map
260
+ */
261
+ mapDeactivated(map) {
262
+ this._activeMaps.delete(map);
263
+ const impl = this.getImplementationForMap(map);
264
+ impl?.deactivate();
265
+ }
266
+ /**
267
+ * is called when a vector cluster group is removed from a maps layer collections vector cluster group collection or said map is destroyed.
268
+ * destroys the associated implementation.
269
+ * @param map
270
+ */
271
+ removedFromMap(map) {
272
+ this._activeMaps.delete(map);
273
+ const impl = this.getImplementationForMap(map);
274
+ impl?.destroy();
275
+ this._implementations.delete(map);
276
+ }
277
+ async _activateImplsForMap(map) {
278
+ const impl = this.getImplementationForMap(map);
279
+ if (impl) {
280
+ try {
281
+ await impl.activate();
282
+ }
283
+ catch (err) {
284
+ this.getLogger().error(`Layer ${this.name} could not activate impl for map ${map.name}`);
285
+ this.getLogger().error(String(err));
286
+ this._implementations.set(map, undefined);
287
+ impl.destroy();
288
+ }
289
+ }
290
+ }
291
+ toJSON() {
292
+ const config = super.toJSON();
293
+ const defaultOptions = VectorClusterGroup.getDefaultOptions();
294
+ if (!this.style.equals(new VectorClusterStyleItem({}))) {
295
+ config.style = this.style.toJSON();
296
+ delete config.style.name;
297
+ delete config.style.type;
298
+ }
299
+ if (this.highlightStyle) {
300
+ config.highlightStyle = this.highlightStyle.toJSON();
301
+ delete config.highlightStyle.name;
302
+ delete config.highlightStyle.type;
303
+ }
304
+ if (this.clusterDistance !== defaultOptions.clusterDistance) {
305
+ config.clusterDistance = this.clusterDistance;
306
+ }
307
+ const vectorProperties = this.vectorProperties.getVcsMeta(defaultOptions.vectorProperties);
308
+ if (Object.keys(vectorProperties).length > 0) {
309
+ config.vectorProperties = vectorProperties;
310
+ }
311
+ return config;
312
+ }
313
+ destroy() {
314
+ this._featureVisibility.destroy();
315
+ [...this._layerListeners.values()].forEach((arr) => arr.forEach((cb) => cb()));
316
+ this._layerListeners.clear();
317
+ super.destroy();
318
+ }
319
+ }
320
+ //# sourceMappingURL=vectorClusterGroup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vectorClusterGroup.js","sourceRoot":"","sources":["../../../src/vectorCluster/vectorClusterGroup.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import CesiumMap from '../map/cesiumMap.js';
2
+ import { VectorClusterGroupImplementationOptions } from './vectorClusterGroup.js';
3
+ import VectorClusterGroupImpl from './vectorClusterGroupImpl.js';
4
+ /**
5
+ * Clusters for vector layers containing point features only
6
+ */
7
+ export default class VectorClusterGroupCesiumImpl extends VectorClusterGroupImpl<CesiumMap> {
8
+ static get className(): string;
9
+ private _rootCollection;
10
+ private _removeClusterEventListener;
11
+ private _context;
12
+ private _sourceVectorContextSync;
13
+ private _getLayerByName;
14
+ constructor(map: CesiumMap, options: VectorClusterGroupImplementationOptions);
15
+ private _onCluster;
16
+ initialize(): Promise<void>;
17
+ activate(): Promise<void>;
18
+ deactivate(): void;
19
+ destroy(): void;
20
+ }
@@ -0,0 +1,115 @@
1
+ import { Cartographic, CustomDataSource, Math as CesiumMath, } from '@vcmap-cesium/engine';
2
+ import Feature from 'ol/Feature.js';
3
+ import Point from 'ol/geom/Point.js';
4
+ import { getStylesArray } from '../util/featureconverter/convert.js';
5
+ import { getBillboardOptions } from '../util/featureconverter/pointToCesium.js';
6
+ import Projection from '../util/projection.js';
7
+ import VectorClusterCesiumContext from './vectorClusterCesiumContext.js';
8
+ import { createSourceVectorContextSync, } from '../layer/cesium/sourceVectorContextSync.js';
9
+ import VectorClusterGroupImpl from './vectorClusterGroupImpl.js';
10
+ import { vectorClusterGroupName } from './vectorClusterSymbols.js';
11
+ import { vcsLayerName } from '../layer/layerSymbols.js';
12
+ let scratchCartographic = new Cartographic();
13
+ /**
14
+ * Clusters for vector layers containing point features only
15
+ */
16
+ export default class VectorClusterGroupCesiumImpl extends VectorClusterGroupImpl {
17
+ static get className() {
18
+ return 'VectorClusterGroupCesiumImpl';
19
+ }
20
+ _rootCollection;
21
+ _removeClusterEventListener;
22
+ _context;
23
+ _sourceVectorContextSync;
24
+ _getLayerByName;
25
+ constructor(map, options) {
26
+ super(map, options);
27
+ this._rootCollection = new CustomDataSource(this.name);
28
+ this._rootCollection.clustering.clusterLabels = true;
29
+ this._rootCollection.clustering.clusterPoints = false;
30
+ this._rootCollection.clustering.enabled = true;
31
+ this._rootCollection.clustering.minimumClusterSize = 2;
32
+ this._rootCollection.clustering.pixelRange = options.clusterDistance;
33
+ this._getLayerByName = options.getLayerByName;
34
+ }
35
+ _onCluster(entities, cluster) {
36
+ const size = entities.length;
37
+ if (size < 2) {
38
+ return;
39
+ }
40
+ const features = entities.map((e) => e.olFeature);
41
+ const feature = new Feature({ features });
42
+ feature[vectorClusterGroupName] = this.name;
43
+ const style = getStylesArray(this.style, feature, 0)[0];
44
+ scratchCartographic = Cartographic.fromCartesian(cluster.billboard.position, undefined, scratchCartographic);
45
+ const position = Projection.wgs84ToMercator([
46
+ CesiumMath.toDegrees(scratchCartographic.longitude),
47
+ CesiumMath.toDegrees(scratchCartographic.latitude),
48
+ scratchCartographic.height,
49
+ ], true);
50
+ feature.setGeometry(new Point(position));
51
+ const bbOptions = getBillboardOptions(feature, style, this.vectorProperties.getAltitudeMode(feature), this.vectorProperties);
52
+ if (bbOptions) {
53
+ cluster.billboard.image = bbOptions.image;
54
+ cluster.billboard.scale = bbOptions.scale;
55
+ cluster.billboard.heightReference =
56
+ bbOptions.heightReference;
57
+ cluster.billboard.verticalOrigin =
58
+ bbOptions.verticalOrigin;
59
+ if (bbOptions.eyeOffset) {
60
+ cluster.billboard.eyeOffset = bbOptions.eyeOffset;
61
+ }
62
+ if (bbOptions.scaleByDistance) {
63
+ cluster.billboard.scaleByDistance = bbOptions.scaleByDistance;
64
+ }
65
+ cluster.billboard.olFeature = feature;
66
+ cluster.label.show = false;
67
+ cluster.billboard.show = true;
68
+ }
69
+ else {
70
+ cluster.label.show = false;
71
+ cluster.billboard.show = false;
72
+ }
73
+ }
74
+ async initialize() {
75
+ if (!this.initialized) {
76
+ this._context = new VectorClusterCesiumContext(this._rootCollection);
77
+ this._rootCollection[vectorClusterGroupName] = this.name;
78
+ await this.map.addClusterDataSource(this._rootCollection);
79
+ this._sourceVectorContextSync = createSourceVectorContextSync(this._source, this._context, this.map.getScene(), this.style, (f) => this._getLayerByName(f[vcsLayerName])?.vectorProperties ??
80
+ this.vectorProperties);
81
+ this._removeClusterEventListener =
82
+ this._rootCollection.clustering.clusterEvent.addEventListener((entities, cluster) => {
83
+ this._onCluster(entities, cluster);
84
+ });
85
+ }
86
+ await super.initialize();
87
+ }
88
+ async activate() {
89
+ if (!this.active) {
90
+ await super.activate();
91
+ if (this.active) {
92
+ this._sourceVectorContextSync?.activate();
93
+ this._rootCollection.show = true;
94
+ }
95
+ }
96
+ }
97
+ deactivate() {
98
+ this._rootCollection.show = false;
99
+ this._sourceVectorContextSync?.deactivate();
100
+ super.deactivate();
101
+ }
102
+ destroy() {
103
+ if (this._removeClusterEventListener) {
104
+ this._removeClusterEventListener();
105
+ }
106
+ if (this.initialized) {
107
+ this._sourceVectorContextSync?.destroy();
108
+ this._context?.destroy();
109
+ this.map.removeClusterDataSource(this._rootCollection);
110
+ }
111
+ this._context = undefined;
112
+ super.destroy();
113
+ }
114
+ }
115
+ //# sourceMappingURL=vectorClusterGroupCesiumImpl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vectorClusterGroupCesiumImpl.js","sourceRoot":"","sources":["../../../src/vectorCluster/vectorClusterGroupCesiumImpl.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import VectorClusterGroup from './vectorClusterGroup.js';
2
+ import Collection from '../util/collection.js';
3
+ import GlobalHider from '../layer/globalHider.js';
4
+ export default class VectorClusterGroupCollection extends Collection<VectorClusterGroup> {
5
+ /**
6
+ * The global hider for this collection.
7
+ */
8
+ private _globalHider;
9
+ constructor(globalHider: GlobalHider);
10
+ /**
11
+ * The current global hider of these layers
12
+ */
13
+ get globalHider(): GlobalHider;
14
+ /**
15
+ * The current global hider of these layers
16
+ * @param globalHider
17
+ */
18
+ set globalHider(globalHider: GlobalHider);
19
+ }
@@ -0,0 +1,37 @@
1
+ import { check } from '@vcsuite/check';
2
+ import Collection from '../util/collection.js';
3
+ import GlobalHider from '../layer/globalHider.js';
4
+ export default class VectorClusterGroupCollection extends Collection {
5
+ /**
6
+ * The global hider for this collection.
7
+ */
8
+ _globalHider;
9
+ constructor(globalHider) {
10
+ super();
11
+ this._globalHider = globalHider;
12
+ this.added.addEventListener((g) => {
13
+ g.setGlobalHider(this._globalHider);
14
+ });
15
+ this.removed.addEventListener((g) => {
16
+ g.setGlobalHider();
17
+ });
18
+ }
19
+ /**
20
+ * The current global hider of these layers
21
+ */
22
+ get globalHider() {
23
+ return this._globalHider;
24
+ }
25
+ /**
26
+ * The current global hider of these layers
27
+ * @param globalHider
28
+ */
29
+ set globalHider(globalHider) {
30
+ check(globalHider, GlobalHider);
31
+ this._globalHider = globalHider;
32
+ this._array.forEach((vectorClusterGroup) => {
33
+ vectorClusterGroup.setGlobalHider(this._globalHider);
34
+ });
35
+ }
36
+ }
37
+ //# sourceMappingURL=vectorClusterGroupCollection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vectorClusterGroupCollection.js","sourceRoot":"","sources":["../../../src/vectorCluster/vectorClusterGroupCollection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEvC,OAAO,UAAU,MAAM,uBAAuB,CAAC;AAC/C,OAAO,WAAW,MAAM,yBAAyB,CAAC;AAElD,MAAM,CAAC,OAAO,OAAO,4BAA6B,SAAQ,UAA8B;IACtF;;OAEG;IACK,YAAY,CAAc;IAElC,YAAY,WAAwB;QAClC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;QAEhC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,EAAE;YAChC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,EAAE;YAClC,CAAC,CAAC,cAAc,EAAE,CAAC;QACrB,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED;;;OAGG;IACH,IAAI,WAAW,CAAC,WAAwB;QACtC,KAAK,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QAEhC,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;QAChC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,kBAAkB,EAAE,EAAE;YACzC,kBAAkB,CAAC,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -0,0 +1,31 @@
1
+ import { StyleFunction } from 'ol/style/Style.js';
2
+ import type { VectorClusterGroupImplementationOptions } from './vectorClusterGroup.js';
3
+ import VcsObject from '../vcsObject.js';
4
+ import VectorProperties from '../layer/vectorProperties.js';
5
+ import ClusterEnhancedVectorSource from '../ol/source/ClusterEnhancedVectorSource.js';
6
+ import type GlobalHider from '../layer/globalHider.js';
7
+ import FeatureVisibility from '../layer/featureVisibility.js';
8
+ import VcsMap from '../map/vcsMap.js';
9
+ /**
10
+ * Clusters for vector layers containing point features only
11
+ */
12
+ export default class VectorClusterGroupImpl<M extends VcsMap> extends VcsObject {
13
+ static get className(): string;
14
+ private _map;
15
+ private _state;
16
+ private _initialized;
17
+ style: StyleFunction;
18
+ protected _source: ClusterEnhancedVectorSource;
19
+ private _featureVisibilityListeners;
20
+ protected _featureVisibility: FeatureVisibility;
21
+ protected _globalHider: GlobalHider | undefined;
22
+ vectorProperties: VectorProperties;
23
+ constructor(map: M, options: VectorClusterGroupImplementationOptions);
24
+ get map(): M;
25
+ get active(): boolean;
26
+ get initialized(): boolean;
27
+ initialize(): Promise<void>;
28
+ activate(): Promise<void>;
29
+ deactivate(): void;
30
+ destroy(): void;
31
+ }
@@ -0,0 +1,76 @@
1
+ import VcsObject from '../vcsObject.js';
2
+ import LayerState from '../layer/layerState.js';
3
+ import { synchronizeFeatureVisibilityWithSource } from '../layer/vectorHelpers.js';
4
+ /**
5
+ * Clusters for vector layers containing point features only
6
+ */
7
+ export default class VectorClusterGroupImpl extends VcsObject {
8
+ static get className() {
9
+ return 'VectorClusterCesiumImpl';
10
+ }
11
+ _map;
12
+ _state = LayerState.INACTIVE;
13
+ _initialized = false;
14
+ style;
15
+ _source;
16
+ _featureVisibilityListeners = [];
17
+ _featureVisibility;
18
+ _globalHider;
19
+ vectorProperties;
20
+ constructor(map, options) {
21
+ super(options);
22
+ this._map = map;
23
+ this.style = options.style;
24
+ this._source = options.source;
25
+ this.vectorProperties = options.vectorProperties;
26
+ this._featureVisibility = options.featureVisibility;
27
+ this._globalHider = options.globalHider;
28
+ }
29
+ get map() {
30
+ if (!this._map) {
31
+ throw new Error('Trying to access uninitialized VectorClusterGroupImpl');
32
+ }
33
+ return this._map;
34
+ }
35
+ get active() {
36
+ return this._state === LayerState.ACTIVE;
37
+ }
38
+ get initialized() {
39
+ return this._initialized;
40
+ }
41
+ initialize() {
42
+ this._initialized = true;
43
+ return Promise.resolve();
44
+ }
45
+ async activate() {
46
+ if (this.map.active && !this.active) {
47
+ this._state = LayerState.LOADING;
48
+ await this.initialize();
49
+ if (this._state === LayerState.LOADING) {
50
+ this._state = LayerState.ACTIVE;
51
+ if (this._featureVisibilityListeners.length === 0) {
52
+ this._featureVisibilityListeners =
53
+ synchronizeFeatureVisibilityWithSource(this._featureVisibility, this._source, this._globalHider);
54
+ }
55
+ }
56
+ }
57
+ }
58
+ deactivate() {
59
+ this._state = LayerState.INACTIVE;
60
+ this._featureVisibilityListeners.forEach((cb) => {
61
+ cb();
62
+ });
63
+ this._featureVisibilityListeners = [];
64
+ }
65
+ destroy() {
66
+ this._featureVisibilityListeners.forEach((cb) => {
67
+ cb();
68
+ });
69
+ this._featureVisibilityListeners = [];
70
+ this._initialized = false;
71
+ this._state = LayerState.INACTIVE;
72
+ this._map = undefined;
73
+ super.destroy();
74
+ }
75
+ }
76
+ //# sourceMappingURL=vectorClusterGroupImpl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vectorClusterGroupImpl.js","sourceRoot":"","sources":["../../../src/vectorCluster/vectorClusterGroupImpl.ts"],"names":[],"mappings":"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"}