@deck.gl-community/editable-layers 9.0.0-alpha.1 → 9.0.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.
- package/LICENSE +19 -0
- package/README.md +2 -81
- package/dist/constants.js +4 -1
- package/dist/edit-modes/composite-mode.d.ts +1 -1
- package/dist/edit-modes/composite-mode.js +4 -1
- package/dist/edit-modes/draw-90degree-polygon-mode.d.ts +1 -1
- package/dist/edit-modes/draw-90degree-polygon-mode.js +29 -24
- package/dist/edit-modes/draw-circle-by-diameter-mode.d.ts +1 -1
- package/dist/edit-modes/draw-circle-by-diameter-mode.js +7 -4
- package/dist/edit-modes/draw-circle-from-center-mode.d.ts +1 -1
- package/dist/edit-modes/draw-circle-from-center-mode.js +7 -4
- package/dist/edit-modes/draw-ellipse-by-bounding-box-mode.d.ts +1 -1
- package/dist/edit-modes/draw-ellipse-by-bounding-box-mode.js +3 -0
- package/dist/edit-modes/draw-ellipse-using-three-points-mode.d.ts +1 -1
- package/dist/edit-modes/draw-ellipse-using-three-points-mode.js +3 -0
- package/dist/edit-modes/draw-line-string-mode.d.ts +1 -1
- package/dist/edit-modes/draw-line-string-mode.js +19 -16
- package/dist/edit-modes/draw-point-mode.d.ts +1 -1
- package/dist/edit-modes/draw-point-mode.js +7 -4
- package/dist/edit-modes/draw-polygon-by-dragging-mode.d.ts +1 -1
- package/dist/edit-modes/draw-polygon-by-dragging-mode.js +10 -5
- package/dist/edit-modes/draw-polygon-mode.d.ts +1 -1
- package/dist/edit-modes/draw-polygon-mode.js +20 -16
- package/dist/edit-modes/draw-rectangle-from-center-mode.d.ts +1 -1
- package/dist/edit-modes/draw-rectangle-from-center-mode.js +3 -0
- package/dist/edit-modes/draw-rectangle-mode.d.ts +1 -1
- package/dist/edit-modes/draw-rectangle-mode.js +3 -0
- package/dist/edit-modes/draw-rectangle-using-three-points-mode.d.ts +1 -1
- package/dist/edit-modes/draw-rectangle-using-three-points-mode.js +8 -5
- package/dist/edit-modes/draw-square-from-center-mode.d.ts +1 -1
- package/dist/edit-modes/draw-square-from-center-mode.js +3 -0
- package/dist/edit-modes/draw-square-mode.d.ts +1 -1
- package/dist/edit-modes/draw-square-mode.js +3 -0
- package/dist/edit-modes/duplicate-mode.d.ts +1 -1
- package/dist/edit-modes/duplicate-mode.js +3 -0
- package/dist/edit-modes/edit-mode.js +3 -1
- package/dist/edit-modes/elevation-mode.d.ts +2 -2
- package/dist/edit-modes/elevation-mode.js +8 -5
- package/dist/edit-modes/extend-line-string-mode.d.ts +1 -1
- package/dist/edit-modes/extend-line-string-mode.js +9 -6
- package/dist/edit-modes/extrude-mode.d.ts +1 -1
- package/dist/edit-modes/extrude-mode.js +10 -7
- package/dist/edit-modes/geojson-edit-mode.d.ts +1 -1
- package/dist/edit-modes/geojson-edit-mode.js +18 -15
- package/dist/edit-modes/immutable-feature-collection.d.ts +2 -1
- package/dist/edit-modes/immutable-feature-collection.js +25 -20
- package/dist/edit-modes/measure-angle-mode.d.ts +1 -1
- package/dist/edit-modes/measure-angle-mode.js +8 -8
- package/dist/edit-modes/measure-area-mode.d.ts +1 -1
- package/dist/edit-modes/measure-area-mode.js +7 -5
- package/dist/edit-modes/measure-distance-mode.d.ts +1 -1
- package/dist/edit-modes/measure-distance-mode.js +17 -14
- package/dist/edit-modes/modify-mode.d.ts +1 -1
- package/dist/edit-modes/modify-mode.js +17 -14
- package/dist/edit-modes/resize-circle-mode.d.ts +2 -2
- package/dist/edit-modes/resize-circle-mode.js +3 -1
- package/dist/edit-modes/rotate-mode.d.ts +1 -1
- package/dist/edit-modes/rotate-mode.js +8 -5
- package/dist/edit-modes/scale-mode.d.ts +1 -1
- package/dist/edit-modes/scale-mode.js +8 -5
- package/dist/edit-modes/snappable-mode.d.ts +1 -1
- package/dist/edit-modes/snappable-mode.js +8 -5
- package/dist/edit-modes/split-polygon-mode.d.ts +1 -1
- package/dist/edit-modes/split-polygon-mode.js +12 -9
- package/dist/edit-modes/three-click-polygon-mode.d.ts +1 -1
- package/dist/edit-modes/three-click-polygon-mode.js +9 -6
- package/dist/edit-modes/transform-mode.d.ts +1 -1
- package/dist/edit-modes/transform-mode.js +4 -1
- package/dist/edit-modes/translate-mode.d.ts +1 -1
- package/dist/edit-modes/translate-mode.js +7 -4
- package/dist/edit-modes/two-click-polygon-mode.d.ts +1 -1
- package/dist/edit-modes/two-click-polygon-mode.js +9 -6
- package/dist/edit-modes/types.d.ts +1 -1
- package/dist/edit-modes/types.js +3 -0
- package/dist/edit-modes/utils.d.ts +1 -1
- package/dist/edit-modes/utils.js +21 -19
- package/dist/edit-modes/view-mode.js +3 -0
- package/dist/editable-layers/editable-geojson-layer.d.ts +4 -4
- package/dist/editable-layers/editable-geojson-layer.js +27 -26
- package/dist/editable-layers/editable-h3-cluster-layer.d.ts +2 -2
- package/dist/editable-layers/editable-h3-cluster-layer.js +6 -3
- package/dist/editable-layers/editable-layer.d.ts +5 -5
- package/dist/editable-layers/editable-layer.js +18 -15
- package/dist/editable-layers/editable-path-layer.d.ts +1 -1
- package/dist/editable-layers/editable-path-layer.js +10 -7
- package/dist/editable-layers/elevated-edit-handle-layer.d.ts +1 -1
- package/dist/editable-layers/elevated-edit-handle-layer.js +6 -3
- package/dist/editable-layers/junction-scatterplot-layer.d.ts +2 -2
- package/dist/editable-layers/junction-scatterplot-layer.js +10 -7
- package/dist/editable-layers/selection-layer.d.ts +1 -1
- package/dist/editable-layers/selection-layer.js +5 -2
- package/dist/index.cjs +65 -537
- package/dist/index.cjs.map +4 -4
- package/dist/index.d.ts +19 -20
- package/dist/index.js +20 -18
- package/dist/lib/constants.js +3 -0
- package/dist/lib/deck-renderer/deck-cache.d.ts +1 -1
- package/dist/lib/deck-renderer/deck-cache.js +1 -1
- package/dist/lib/deck-renderer/deck-drawer.d.ts +2 -3
- package/dist/lib/deck-renderer/deck-drawer.js +12 -12
- package/dist/lib/feature.d.ts +4 -4
- package/dist/lib/feature.js +4 -1
- package/dist/lib/layer-mouse-event.d.ts +2 -2
- package/dist/lib/layer-mouse-event.js +4 -1
- package/dist/lib/layers/junctions-layer.d.ts +4 -4
- package/dist/lib/layers/junctions-layer.js +10 -7
- package/dist/lib/layers/segments-layer.d.ts +4 -4
- package/dist/lib/layers/segments-layer.js +11 -8
- package/dist/lib/layers/texts-layer.d.ts +3 -3
- package/dist/lib/layers/texts-layer.js +8 -5
- package/dist/lib/math.d.ts +1 -1
- package/dist/lib/math.js +3 -0
- package/dist/lib/{nebula.d.ts → nebula-core.d.ts} +2 -2
- package/dist/lib/{nebula.js → nebula-core.js} +7 -4
- package/dist/lib/nebula-layer.d.ts +2 -2
- package/dist/lib/nebula-layer.js +4 -1
- package/dist/lib/style.js +5 -2
- package/dist/mode-handlers/composite-mode-handler.d.ts +1 -1
- package/dist/mode-handlers/draw-90degree-polygon-handler.d.ts +1 -1
- package/dist/mode-handlers/draw-90degree-polygon-handler.js +13 -10
- package/dist/mode-handlers/draw-circle-by-bounding-box-handler.js +3 -0
- package/dist/mode-handlers/draw-circle-from-center-handler.js +3 -0
- package/dist/mode-handlers/draw-ellipse-by-bounding-box-handler.js +3 -0
- package/dist/mode-handlers/draw-ellipse-using-three-points-handler.js +5 -2
- package/dist/mode-handlers/draw-line-string-handler.js +7 -4
- package/dist/mode-handlers/draw-point-handler.js +4 -1
- package/dist/mode-handlers/draw-polygon-handler.d.ts +1 -1
- package/dist/mode-handlers/draw-polygon-handler.js +10 -7
- package/dist/mode-handlers/draw-rectangle-handler.js +3 -0
- package/dist/mode-handlers/draw-rectangle-using-three-points-handler.js +11 -8
- package/dist/mode-handlers/duplicate-handler.js +3 -0
- package/dist/mode-handlers/elevation-handler.d.ts +2 -2
- package/dist/mode-handlers/elevation-handler.js +8 -5
- package/dist/mode-handlers/extrude-handler.js +10 -7
- package/dist/mode-handlers/mode-handler.d.ts +1 -1
- package/dist/mode-handlers/mode-handler.js +17 -14
- package/dist/mode-handlers/modify-handler.d.ts +2 -2
- package/dist/mode-handlers/modify-handler.js +18 -15
- package/dist/mode-handlers/rotate-handler.d.ts +1 -1
- package/dist/mode-handlers/rotate-handler.js +4 -1
- package/dist/mode-handlers/scale-handler.d.ts +1 -1
- package/dist/mode-handlers/scale-handler.js +5 -2
- package/dist/mode-handlers/snappable-handler.d.ts +1 -1
- package/dist/mode-handlers/snappable-handler.js +6 -3
- package/dist/mode-handlers/split-polygon-handler.js +11 -8
- package/dist/mode-handlers/three-click-polygon-handler.js +3 -0
- package/dist/mode-handlers/translate-handler.d.ts +1 -1
- package/dist/mode-handlers/translate-handler.js +4 -1
- package/dist/mode-handlers/two-click-polygon-handler.js +3 -0
- package/dist/mode-handlers/view-handler.d.ts +1 -1
- package/dist/mode-handlers/view-handler.js +3 -0
- package/dist/shaderlib/color/color.d.ts +7 -6
- package/dist/shaderlib/color/color.js +7 -4
- package/dist/shaderlib/utils/utils.d.ts +2 -2
- package/dist/shaderlib/utils/utils.js +5 -2
- package/dist/{curve-utils.js → utils/curve-utils.js} +7 -4
- package/dist/{geojson-types.d.ts → utils/geojson-types.d.ts} +2 -25
- package/dist/utils/geojson-types.js +4 -0
- package/dist/{memoize.d.ts → utils/memoize.d.ts} +1 -1
- package/dist/{memoize.js → utils/memoize.js} +4 -1
- package/dist/{translateFromCenter.js → utils/translate-from-center.js} +4 -1
- package/dist/utils/types.js +4 -0
- package/dist/{utils.js → utils/utils.js} +8 -6
- package/package.json +10 -10
- package/src/constants.ts +5 -1
- package/src/edit-modes/composite-mode.ts +9 -5
- package/src/edit-modes/draw-90degree-polygon-mode.ts +38 -34
- package/src/edit-modes/draw-circle-by-diameter-mode.ts +16 -12
- package/src/edit-modes/draw-circle-from-center-mode.ts +15 -11
- package/src/edit-modes/draw-ellipse-by-bounding-box-mode.ts +8 -4
- package/src/edit-modes/draw-ellipse-using-three-points-mode.ts +9 -5
- package/src/edit-modes/draw-line-string-mode.ts +29 -25
- package/src/edit-modes/draw-point-mode.ts +13 -9
- package/src/edit-modes/draw-polygon-by-dragging-mode.ts +16 -16
- package/src/edit-modes/draw-polygon-mode.ts +28 -23
- package/src/edit-modes/draw-rectangle-from-center-mode.ts +6 -2
- package/src/edit-modes/draw-rectangle-mode.ts +6 -2
- package/src/edit-modes/draw-rectangle-using-three-points-mode.ts +12 -8
- package/src/edit-modes/draw-square-from-center-mode.ts +7 -3
- package/src/edit-modes/draw-square-mode.ts +7 -3
- package/src/edit-modes/duplicate-mode.ts +7 -3
- package/src/edit-modes/edit-mode.ts +5 -1
- package/src/edit-modes/elevation-mode.ts +13 -9
- package/src/edit-modes/extend-line-string-mode.ts +16 -12
- package/src/edit-modes/extrude-mode.ts +22 -18
- package/src/edit-modes/geojson-edit-mode.ts +37 -33
- package/src/edit-modes/immutable-feature-collection.ts +28 -22
- package/src/edit-modes/measure-angle-mode.ts +66 -59
- package/src/edit-modes/measure-area-mode.ts +13 -10
- package/src/edit-modes/measure-distance-mode.ts +37 -33
- package/src/edit-modes/modify-mode.ts +36 -32
- package/src/edit-modes/resize-circle-mode.ts +8 -5
- package/src/edit-modes/rotate-mode.ts +22 -18
- package/src/edit-modes/scale-mode.ts +29 -23
- package/src/edit-modes/snappable-mode.ts +19 -15
- package/src/edit-modes/split-polygon-mode.ts +25 -21
- package/src/edit-modes/three-click-polygon-mode.ts +15 -11
- package/src/edit-modes/transform-mode.ts +15 -11
- package/src/edit-modes/translate-mode.ts +15 -11
- package/src/edit-modes/two-click-polygon-mode.ts +15 -11
- package/src/edit-modes/types.ts +5 -1
- package/src/edit-modes/utils.ts +33 -30
- package/src/edit-modes/view-mode.ts +5 -1
- package/src/editable-layers/editable-geojson-layer.ts +44 -41
- package/src/editable-layers/editable-h3-cluster-layer.ts +17 -14
- package/src/editable-layers/editable-layer.ts +42 -32
- package/src/editable-layers/editable-path-layer.ts +12 -8
- package/src/editable-layers/elevated-edit-handle-layer.ts +11 -7
- package/src/editable-layers/junction-scatterplot-layer.ts +15 -11
- package/src/editable-layers/selection-layer.ts +11 -7
- package/src/index.ts +68 -65
- package/src/lib/constants.ts +4 -0
- package/src/lib/deck-renderer/deck-cache.ts +1 -1
- package/src/lib/deck-renderer/deck-drawer.ts +28 -28
- package/src/lib/feature.ts +7 -3
- package/src/lib/layer-mouse-event.ts +7 -6
- package/src/lib/layers/junctions-layer.ts +14 -10
- package/src/lib/layers/segments-layer.ts +24 -20
- package/src/lib/layers/texts-layer.ts +18 -14
- package/src/lib/math.ts +5 -1
- package/src/lib/{nebula.ts → nebula-core.ts} +8 -4
- package/src/lib/nebula-layer.ts +9 -5
- package/src/lib/style.ts +6 -2
- package/src/mode-handlers/composite-mode-handler.ts +6 -6
- package/src/mode-handlers/draw-90degree-polygon-handler.ts +22 -18
- package/src/mode-handlers/draw-circle-by-bounding-box-handler.ts +10 -6
- package/src/mode-handlers/draw-circle-from-center-handler.ts +10 -6
- package/src/mode-handlers/draw-ellipse-by-bounding-box-handler.ts +9 -5
- package/src/mode-handlers/draw-ellipse-using-three-points-handler.ts +12 -8
- package/src/mode-handlers/draw-line-string-handler.ts +12 -8
- package/src/mode-handlers/draw-point-handler.ts +9 -5
- package/src/mode-handlers/draw-polygon-handler.ts +16 -12
- package/src/mode-handlers/draw-rectangle-handler.ts +8 -4
- package/src/mode-handlers/draw-rectangle-using-three-points-handler.ts +17 -13
- package/src/mode-handlers/duplicate-handler.ts +8 -4
- package/src/mode-handlers/elevation-handler.ts +14 -10
- package/src/mode-handlers/extrude-handler.ts +15 -11
- package/src/mode-handlers/mode-handler.ts +26 -28
- package/src/mode-handlers/modify-handler.ts +29 -25
- package/src/mode-handlers/rotate-handler.ts +13 -17
- package/src/mode-handlers/scale-handler.ts +13 -13
- package/src/mode-handlers/snappable-handler.ts +28 -24
- package/src/mode-handlers/split-polygon-handler.ts +22 -18
- package/src/mode-handlers/three-click-polygon-handler.ts +6 -2
- package/src/mode-handlers/translate-handler.ts +12 -8
- package/src/mode-handlers/two-click-polygon-handler.ts +6 -2
- package/src/mode-handlers/view-handler.ts +7 -3
- package/src/shaderlib/color/color.ts +10 -5
- package/src/shaderlib/utils/utils.ts +6 -2
- package/src/{curve-utils.ts → utils/curve-utils.ts} +11 -7
- package/src/{geojson-types.ts → utils/geojson-types.ts} +16 -31
- package/src/{memoize.ts → utils/memoize.ts} +5 -1
- package/src/{translateFromCenter.ts → utils/translate-from-center.ts} +8 -4
- package/src/{types.ts → utils/types.ts} +4 -0
- package/src/{utils.ts → utils/utils.ts} +14 -11
- package/dist/editable-layers/path-marker-layer/arrow-2d-geometry.d.ts +0 -4
- package/dist/editable-layers/path-marker-layer/arrow-2d-geometry.js +0 -55
- package/dist/editable-layers/path-marker-layer/create-path-markers.d.ts +0 -16
- package/dist/editable-layers/path-marker-layer/create-path-markers.js +0 -75
- package/dist/editable-layers/path-marker-layer/path-marker-layer.d.ts +0 -40
- package/dist/editable-layers/path-marker-layer/path-marker-layer.js +0 -121
- package/dist/editable-layers/path-marker-layer/polyline.d.ts +0 -18
- package/dist/editable-layers/path-marker-layer/polyline.js +0 -37
- package/dist/editable-layers/path-outline-layer/path-outline-layer.d.ts +0 -26
- package/dist/editable-layers/path-outline-layer/path-outline-layer.js +0 -106
- package/dist/geojson-types.js +0 -2
- package/dist/shaderlib/outline/outline.d.ts +0 -8
- package/dist/shaderlib/outline/outline.js +0 -97
- package/dist/types.js +0 -1
- package/src/editable-layers/path-marker-layer/arrow-2d-geometry.ts +0 -61
- package/src/editable-layers/path-marker-layer/create-path-markers.ts +0 -107
- package/src/editable-layers/path-marker-layer/path-marker-layer.ts +0 -179
- package/src/editable-layers/path-marker-layer/polyline.ts +0 -40
- package/src/editable-layers/path-outline-layer/path-outline-layer.ts +0 -147
- package/src/shaderlib/outline/outline.ts +0 -101
- /package/dist/{curve-utils.d.ts → utils/curve-utils.d.ts} +0 -0
- /package/dist/{translateFromCenter.d.ts → utils/translate-from-center.d.ts} +0 -0
- /package/dist/{types.d.ts → utils/types.d.ts} +0 -0
- /package/dist/{utils.d.ts → utils/utils.d.ts} +0 -0
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
// deck.gl-community
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
1
4
|
import lineIntersect from '@turf/line-intersect';
|
|
2
5
|
import { lineString as turfLineString } from '@turf/helpers';
|
|
3
6
|
import { getPickedEditHandle } from './utils';
|
|
@@ -12,24 +15,24 @@ export class DrawPolygonMode extends GeoJsonEditMode {
|
|
|
12
15
|
tentativeFeature = {
|
|
13
16
|
type: 'Feature',
|
|
14
17
|
properties: {
|
|
15
|
-
guideType: 'tentative'
|
|
18
|
+
guideType: 'tentative'
|
|
16
19
|
},
|
|
17
20
|
geometry: {
|
|
18
21
|
type: 'LineString',
|
|
19
|
-
coordinates: [...clickSequence, ...lastCoords]
|
|
20
|
-
}
|
|
22
|
+
coordinates: [...clickSequence, ...lastCoords]
|
|
23
|
+
}
|
|
21
24
|
};
|
|
22
25
|
}
|
|
23
26
|
else if (clickSequence.length > 2) {
|
|
24
27
|
tentativeFeature = {
|
|
25
28
|
type: 'Feature',
|
|
26
29
|
properties: {
|
|
27
|
-
guideType: 'tentative'
|
|
30
|
+
guideType: 'tentative'
|
|
28
31
|
},
|
|
29
32
|
geometry: {
|
|
30
33
|
type: 'Polygon',
|
|
31
|
-
coordinates: [[...clickSequence, ...lastCoords, clickSequence[0]]]
|
|
32
|
-
}
|
|
34
|
+
coordinates: [[...clickSequence, ...lastCoords, clickSequence[0]]]
|
|
35
|
+
}
|
|
33
36
|
};
|
|
34
37
|
}
|
|
35
38
|
return tentativeFeature;
|
|
@@ -38,7 +41,7 @@ export class DrawPolygonMode extends GeoJsonEditMode {
|
|
|
38
41
|
const clickSequence = this.getClickSequence();
|
|
39
42
|
const guides = {
|
|
40
43
|
type: 'FeatureCollection',
|
|
41
|
-
features: []
|
|
44
|
+
features: []
|
|
42
45
|
};
|
|
43
46
|
const tentativeFeature = this.createTentativeFeature(props);
|
|
44
47
|
if (tentativeFeature) {
|
|
@@ -50,16 +53,17 @@ export class DrawPolygonMode extends GeoJsonEditMode {
|
|
|
50
53
|
guideType: 'editHandle',
|
|
51
54
|
editHandleType: 'existing',
|
|
52
55
|
featureIndex: -1,
|
|
53
|
-
positionIndexes: [index]
|
|
56
|
+
positionIndexes: [index]
|
|
54
57
|
},
|
|
55
58
|
geometry: {
|
|
56
59
|
type: 'Point',
|
|
57
|
-
coordinates: clickedCoord
|
|
58
|
-
}
|
|
60
|
+
coordinates: clickedCoord
|
|
61
|
+
}
|
|
59
62
|
}));
|
|
60
63
|
guides.features.push(...editHandles);
|
|
61
64
|
return guides;
|
|
62
65
|
}
|
|
66
|
+
// eslint-disable-next-line complexity
|
|
63
67
|
handleClick(event, props) {
|
|
64
68
|
const { picks } = event;
|
|
65
69
|
const clickedEditHandle = getPickedEditHandle(picks);
|
|
@@ -68,7 +72,7 @@ export class DrawPolygonMode extends GeoJsonEditMode {
|
|
|
68
72
|
if (clickSequence.length > 2 && props.modeConfig && props.modeConfig.preventOverlappingLines) {
|
|
69
73
|
const currentLine = turfLineString([
|
|
70
74
|
clickSequence[clickSequence.length - 1],
|
|
71
|
-
event.mapCoords
|
|
75
|
+
event.mapCoords
|
|
72
76
|
]);
|
|
73
77
|
const otherLines = turfLineString([...clickSequence.slice(0, clickSequence.length - 1)]);
|
|
74
78
|
const intersectingPoints = lineIntersect(currentLine, otherLines);
|
|
@@ -91,7 +95,7 @@ export class DrawPolygonMode extends GeoJsonEditMode {
|
|
|
91
95
|
// Remove the hovered position
|
|
92
96
|
const polygonToAdd = {
|
|
93
97
|
type: 'Polygon',
|
|
94
|
-
coordinates: [[...clickSequence, clickSequence[0]]]
|
|
98
|
+
coordinates: [[...clickSequence, clickSequence[0]]]
|
|
95
99
|
};
|
|
96
100
|
this.resetClickSequence();
|
|
97
101
|
const editAction = this.getAddFeatureOrBooleanPolygonAction(polygonToAdd, props);
|
|
@@ -106,8 +110,8 @@ export class DrawPolygonMode extends GeoJsonEditMode {
|
|
|
106
110
|
updatedData: props.data,
|
|
107
111
|
editType: 'addTentativePosition',
|
|
108
112
|
editContext: {
|
|
109
|
-
position: event.mapCoords
|
|
110
|
-
}
|
|
113
|
+
position: event.mapCoords
|
|
114
|
+
}
|
|
111
115
|
});
|
|
112
116
|
}
|
|
113
117
|
}
|
|
@@ -117,7 +121,7 @@ export class DrawPolygonMode extends GeoJsonEditMode {
|
|
|
117
121
|
if (clickSequence.length > 2) {
|
|
118
122
|
const polygonToAdd = {
|
|
119
123
|
type: 'Polygon',
|
|
120
|
-
coordinates: [[...clickSequence, clickSequence[0]]]
|
|
124
|
+
coordinates: [[...clickSequence, clickSequence[0]]]
|
|
121
125
|
};
|
|
122
126
|
this.resetClickSequence();
|
|
123
127
|
const editAction = this.getAddFeatureOrBooleanPolygonAction(polygonToAdd, props);
|
|
@@ -132,7 +136,7 @@ export class DrawPolygonMode extends GeoJsonEditMode {
|
|
|
132
136
|
// Because the new drawing feature is dropped, so the data will keep as the same.
|
|
133
137
|
updatedData: props.data,
|
|
134
138
|
editType: 'cancelFeature',
|
|
135
|
-
editContext: {}
|
|
139
|
+
editContext: {}
|
|
136
140
|
});
|
|
137
141
|
}
|
|
138
142
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Position, Polygon, FeatureOf } from '../geojson-types';
|
|
1
|
+
import { Position, Polygon, FeatureOf } from '../utils/geojson-types';
|
|
2
2
|
import { TwoClickPolygonMode } from './two-click-polygon-mode';
|
|
3
3
|
export declare class DrawRectangleFromCenterMode extends TwoClickPolygonMode {
|
|
4
4
|
getTwoClickPolygon(coord1: Position, coord2: Position, modeConfig: any): FeatureOf<Polygon>;
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
// deck.gl-community
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
1
4
|
import bboxPolygon from '@turf/bbox-polygon';
|
|
2
5
|
import { TwoClickPolygonMode } from './two-click-polygon-mode';
|
|
3
6
|
export class DrawRectangleFromCenterMode extends TwoClickPolygonMode {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Position, Polygon, FeatureOf } from '../geojson-types';
|
|
1
|
+
import { Position, Polygon, FeatureOf } from '../utils/geojson-types';
|
|
2
2
|
import { TwoClickPolygonMode } from './two-click-polygon-mode';
|
|
3
3
|
export declare class DrawRectangleMode extends TwoClickPolygonMode {
|
|
4
4
|
getTwoClickPolygon(coord1: Position, coord2: Position, modeConfig: any): FeatureOf<Polygon>;
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
// deck.gl-community
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
1
4
|
import bboxPolygon from '@turf/bbox-polygon';
|
|
2
5
|
import { TwoClickPolygonMode } from './two-click-polygon-mode';
|
|
3
6
|
export class DrawRectangleMode extends TwoClickPolygonMode {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Position, Polygon, FeatureOf } from '../geojson-types';
|
|
1
|
+
import { Position, Polygon, FeatureOf } from '../utils/geojson-types';
|
|
2
2
|
import { ThreeClickPolygonMode } from './three-click-polygon-mode';
|
|
3
3
|
export declare class DrawRectangleUsingThreePointsMode extends ThreeClickPolygonMode {
|
|
4
4
|
getThreeClickPolygon(coord1: Position, coord2: Position, coord3: Position, modeConfig: any): FeatureOf<Polygon> | null | undefined;
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
// deck.gl-community
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
1
4
|
import { generatePointsParallelToLinePoints } from './utils';
|
|
2
5
|
import { ThreeClickPolygonMode } from './three-click-polygon-mode';
|
|
3
6
|
export class DrawRectangleUsingThreePointsMode extends ThreeClickPolygonMode {
|
|
@@ -6,7 +9,7 @@ export class DrawRectangleUsingThreePointsMode extends ThreeClickPolygonMode {
|
|
|
6
9
|
return {
|
|
7
10
|
type: 'Feature',
|
|
8
11
|
properties: {
|
|
9
|
-
shape: 'Rectangle'
|
|
12
|
+
shape: 'Rectangle'
|
|
10
13
|
},
|
|
11
14
|
geometry: {
|
|
12
15
|
type: 'Polygon',
|
|
@@ -19,10 +22,10 @@ export class DrawRectangleUsingThreePointsMode extends ThreeClickPolygonMode {
|
|
|
19
22
|
coord2,
|
|
20
23
|
p3,
|
|
21
24
|
p4,
|
|
22
|
-
coord1
|
|
23
|
-
]
|
|
24
|
-
]
|
|
25
|
-
}
|
|
25
|
+
coord1
|
|
26
|
+
]
|
|
27
|
+
]
|
|
28
|
+
}
|
|
26
29
|
};
|
|
27
30
|
}
|
|
28
31
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Position, Polygon, FeatureOf } from '../geojson-types';
|
|
1
|
+
import { Position, Polygon, FeatureOf } from '../utils/geojson-types';
|
|
2
2
|
import { TwoClickPolygonMode } from './two-click-polygon-mode';
|
|
3
3
|
export declare class DrawSquareFromCenterMode extends TwoClickPolygonMode {
|
|
4
4
|
getTwoClickPolygon(coord1: Position, coord2: Position, modeConfig: any): FeatureOf<Polygon>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Position, Polygon, FeatureOf } from '../geojson-types';
|
|
1
|
+
import { Position, Polygon, FeatureOf } from '../utils/geojson-types';
|
|
2
2
|
import { TwoClickPolygonMode } from './two-click-polygon-mode';
|
|
3
3
|
export declare class DrawSquareMode extends TwoClickPolygonMode {
|
|
4
4
|
getTwoClickPolygon(coord1: Position, coord2: Position, modeConfig: any): FeatureOf<Polygon>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { StartDraggingEvent, ModeProps } from './types';
|
|
2
|
-
import { FeatureCollection } from '../geojson-types';
|
|
2
|
+
import { FeatureCollection } from '../utils/geojson-types';
|
|
3
3
|
import { TranslateMode } from './translate-mode';
|
|
4
4
|
export declare class DuplicateMode extends TranslateMode {
|
|
5
5
|
handleStartDragging(event: StartDraggingEvent, props: ModeProps<FeatureCollection>): void;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { ModeProps, PointerMoveEvent, StopDraggingEvent } from './types';
|
|
2
|
-
import { Position, FeatureCollection } from '../geojson-types';
|
|
2
|
+
import { Position, FeatureCollection } from '../utils/geojson-types';
|
|
3
3
|
import { ModifyMode } from './modify-mode';
|
|
4
4
|
export declare class ElevationMode extends ModifyMode {
|
|
5
5
|
makeElevatedEvent(event: PointerMoveEvent | StopDraggingEvent, position: Position, props: ModeProps<FeatureCollection>): Record<string, any>;
|
|
6
6
|
handlePointerMove(event: PointerMoveEvent, props: ModeProps<FeatureCollection>): void;
|
|
7
7
|
handleStopDragging(event: StopDraggingEvent, props: ModeProps<FeatureCollection>): void;
|
|
8
8
|
getCursor(event: PointerMoveEvent): string | null | undefined;
|
|
9
|
-
static calculateElevationChangeWithViewport(viewport: any, { pointerDownScreenCoords, screenCoords
|
|
9
|
+
static calculateElevationChangeWithViewport(viewport: any, { pointerDownScreenCoords, screenCoords }: {
|
|
10
10
|
pointerDownScreenCoords: Position;
|
|
11
11
|
screenCoords: Position;
|
|
12
12
|
}): number;
|
|
@@ -1,11 +1,14 @@
|
|
|
1
|
+
// deck.gl-community
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
1
4
|
import { getPickedEditHandle } from './utils';
|
|
2
5
|
import { ModifyMode } from './modify-mode';
|
|
3
|
-
function defaultCalculateElevationChange({ pointerDownScreenCoords, screenCoords
|
|
6
|
+
function defaultCalculateElevationChange({ pointerDownScreenCoords, screenCoords }) {
|
|
4
7
|
return 10 * (pointerDownScreenCoords[1] - screenCoords[1]);
|
|
5
8
|
}
|
|
6
9
|
export class ElevationMode extends ModifyMode {
|
|
7
10
|
makeElevatedEvent(event, position, props) {
|
|
8
|
-
const { minElevation = 0, maxElevation = 20000, calculateElevationChange = defaultCalculateElevationChange
|
|
11
|
+
const { minElevation = 0, maxElevation = 20000, calculateElevationChange = defaultCalculateElevationChange } = props.modeConfig || {};
|
|
9
12
|
if (!event.pointerDownScreenCoords) {
|
|
10
13
|
return event;
|
|
11
14
|
}
|
|
@@ -14,12 +17,12 @@ export class ElevationMode extends ModifyMode {
|
|
|
14
17
|
// calculateElevationChange is configurable because (at this time) modes are not aware of the viewport
|
|
15
18
|
elevation += calculateElevationChange({
|
|
16
19
|
pointerDownScreenCoords: event.pointerDownScreenCoords,
|
|
17
|
-
screenCoords: event.screenCoords
|
|
20
|
+
screenCoords: event.screenCoords
|
|
18
21
|
});
|
|
19
22
|
elevation = Math.min(elevation, maxElevation);
|
|
20
23
|
elevation = Math.max(elevation, minElevation);
|
|
21
24
|
return Object.assign({}, event, {
|
|
22
|
-
mapCoords: [position[0], position[1], elevation]
|
|
25
|
+
mapCoords: [position[0], position[1], elevation]
|
|
23
26
|
});
|
|
24
27
|
}
|
|
25
28
|
handlePointerMove(event, props) {
|
|
@@ -41,7 +44,7 @@ export class ElevationMode extends ModifyMode {
|
|
|
41
44
|
}
|
|
42
45
|
return cursor;
|
|
43
46
|
}
|
|
44
|
-
static calculateElevationChangeWithViewport(viewport, { pointerDownScreenCoords, screenCoords
|
|
47
|
+
static calculateElevationChangeWithViewport(viewport, { pointerDownScreenCoords, screenCoords }) {
|
|
45
48
|
// Source: https://gis.stackexchange.com/a/127949/111804
|
|
46
49
|
const metersPerPixel = (156543.03392 * Math.cos((viewport.latitude * Math.PI) / 180)) / Math.pow(2, viewport.zoom);
|
|
47
50
|
return (metersPerPixel * (pointerDownScreenCoords[1] - screenCoords[1])) / 2;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { LineString, FeatureCollection } from '../geojson-types';
|
|
1
|
+
import { LineString, FeatureCollection } from '../utils/geojson-types';
|
|
2
2
|
import { ClickEvent, PointerMoveEvent, ModeProps, GuideFeatureCollection } from './types';
|
|
3
3
|
import { GeoJsonEditMode } from './geojson-edit-mode';
|
|
4
4
|
export declare class ExtendLineStringMode extends GeoJsonEditMode {
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
// deck.gl-community
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
1
4
|
import { GeoJsonEditMode } from './geojson-edit-mode';
|
|
2
5
|
import { ImmutableFeatureCollection } from './immutable-feature-collection';
|
|
3
6
|
export class ExtendLineStringMode extends GeoJsonEditMode {
|
|
@@ -31,14 +34,14 @@ export class ExtendLineStringMode extends GeoJsonEditMode {
|
|
|
31
34
|
editContext: {
|
|
32
35
|
featureIndexes: [featureIndex],
|
|
33
36
|
positionIndexes,
|
|
34
|
-
position: event.mapCoords
|
|
35
|
-
}
|
|
37
|
+
position: event.mapCoords
|
|
38
|
+
}
|
|
36
39
|
});
|
|
37
40
|
}
|
|
38
41
|
getGuides(props) {
|
|
39
42
|
const guides = {
|
|
40
43
|
type: 'FeatureCollection',
|
|
41
|
-
features: []
|
|
44
|
+
features: []
|
|
42
45
|
};
|
|
43
46
|
const selectedLineString = this.getSingleSelectedLineString(props);
|
|
44
47
|
if (!selectedLineString) {
|
|
@@ -57,12 +60,12 @@ export class ExtendLineStringMode extends GeoJsonEditMode {
|
|
|
57
60
|
guides.features.push({
|
|
58
61
|
type: 'Feature',
|
|
59
62
|
properties: {
|
|
60
|
-
guideType: 'tentative'
|
|
63
|
+
guideType: 'tentative'
|
|
61
64
|
},
|
|
62
65
|
geometry: {
|
|
63
66
|
type: 'LineString',
|
|
64
|
-
coordinates: [startPosition, mapCoords]
|
|
65
|
-
}
|
|
67
|
+
coordinates: [startPosition, mapCoords]
|
|
68
|
+
}
|
|
66
69
|
});
|
|
67
70
|
return guides;
|
|
68
71
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FeatureCollection } from '../geojson-types';
|
|
1
|
+
import { FeatureCollection } from '../utils/geojson-types';
|
|
2
2
|
import { ModeProps, StartDraggingEvent, StopDraggingEvent, DraggingEvent } from './types';
|
|
3
3
|
import { ModifyMode } from './modify-mode';
|
|
4
4
|
export declare class ExtrudeMode extends ModifyMode {
|
|
@@ -1,5 +1,8 @@
|
|
|
1
|
+
// deck.gl-community
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
1
4
|
import bearing from '@turf/bearing';
|
|
2
|
-
import { generatePointsParallelToLinePoints, getPickedEditHandle, getPickedIntermediateEditHandle
|
|
5
|
+
import { generatePointsParallelToLinePoints, getPickedEditHandle, getPickedIntermediateEditHandle } from './utils';
|
|
3
6
|
import { ModifyMode } from './modify-mode';
|
|
4
7
|
import { ImmutableFeatureCollection } from './immutable-feature-collection';
|
|
5
8
|
export class ExtrudeMode extends ModifyMode {
|
|
@@ -30,8 +33,8 @@ export class ExtrudeMode extends ModifyMode {
|
|
|
30
33
|
editContext: {
|
|
31
34
|
featureIndexes: [featureIndex],
|
|
32
35
|
positionIndexes: this.nextPositionIndexes(positionIndexes, size),
|
|
33
|
-
position: p3
|
|
34
|
-
}
|
|
36
|
+
position: p3
|
|
37
|
+
}
|
|
35
38
|
});
|
|
36
39
|
event.cancelPan();
|
|
37
40
|
}
|
|
@@ -61,8 +64,8 @@ export class ExtrudeMode extends ModifyMode {
|
|
|
61
64
|
editContext: {
|
|
62
65
|
featureIndexes: [featureIndex],
|
|
63
66
|
positionIndexes,
|
|
64
|
-
position: p1
|
|
65
|
-
}
|
|
67
|
+
position: p1
|
|
68
|
+
}
|
|
66
69
|
});
|
|
67
70
|
}
|
|
68
71
|
}
|
|
@@ -93,8 +96,8 @@ export class ExtrudeMode extends ModifyMode {
|
|
|
93
96
|
editContext: {
|
|
94
97
|
featureIndexes: [featureIndex],
|
|
95
98
|
positionIndexes,
|
|
96
|
-
position: p3
|
|
97
|
-
}
|
|
99
|
+
position: p3
|
|
100
|
+
}
|
|
98
101
|
});
|
|
99
102
|
}
|
|
100
103
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { EditAction, ClickEvent, PointerMoveEvent, StartDraggingEvent, StopDraggingEvent, DraggingEvent, Pick, Tooltip, ModeProps, GuideFeatureCollection, TentativeFeature } from './types';
|
|
2
|
-
import { FeatureCollection, Feature, Polygon, Geometry, Position } from '../geojson-types';
|
|
2
|
+
import { FeatureCollection, Feature, Polygon, Geometry, Position } from '../utils/geojson-types';
|
|
3
3
|
import { EditMode } from './edit-mode';
|
|
4
4
|
export type GeoJsonEditAction = EditAction<FeatureCollection>;
|
|
5
5
|
export type GeoJsonEditModeType = EditMode<FeatureCollection, FeatureCollection>;
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
// deck.gl-community
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
1
4
|
import turfUnion from '@turf/union';
|
|
2
5
|
import turfDifference from '@turf/difference';
|
|
3
6
|
import turfIntersect from '@turf/intersect';
|
|
@@ -6,7 +9,7 @@ import { getPickedEditHandles, getNonGuidePicks } from './utils';
|
|
|
6
9
|
import { ImmutableFeatureCollection } from './immutable-feature-collection';
|
|
7
10
|
const DEFAULT_GUIDES = {
|
|
8
11
|
type: 'FeatureCollection',
|
|
9
|
-
features: []
|
|
12
|
+
features: []
|
|
10
13
|
};
|
|
11
14
|
const DEFAULT_TOOLTIPS = [];
|
|
12
15
|
export class GeoJsonEditMode {
|
|
@@ -35,7 +38,7 @@ export class GeoJsonEditMode {
|
|
|
35
38
|
const selectedFeatures = props.selectedIndexes.map((selectedIndex) => features[selectedIndex]);
|
|
36
39
|
return {
|
|
37
40
|
type: 'FeatureCollection',
|
|
38
|
-
features: selectedFeatures
|
|
41
|
+
features: selectedFeatures
|
|
39
42
|
};
|
|
40
43
|
}
|
|
41
44
|
getClickSequence() {
|
|
@@ -76,7 +79,7 @@ export class GeoJsonEditMode {
|
|
|
76
79
|
: {
|
|
77
80
|
type: 'Feature',
|
|
78
81
|
properties: {},
|
|
79
|
-
geometry: featureOrGeometryAsAny
|
|
82
|
+
geometry: featureOrGeometryAsAny
|
|
80
83
|
};
|
|
81
84
|
const rewindFeature = this.rewindPolygon(feature);
|
|
82
85
|
const updatedData = new ImmutableFeatureCollection(features)
|
|
@@ -86,8 +89,8 @@ export class GeoJsonEditMode {
|
|
|
86
89
|
updatedData,
|
|
87
90
|
editType: 'addFeature',
|
|
88
91
|
editContext: {
|
|
89
|
-
featureIndexes: [updatedData.features.length - 1]
|
|
90
|
-
}
|
|
92
|
+
featureIndexes: [updatedData.features.length - 1]
|
|
93
|
+
}
|
|
91
94
|
};
|
|
92
95
|
}
|
|
93
96
|
getAddManyFeaturesAction({ features: featuresToAdd }, features) {
|
|
@@ -100,7 +103,7 @@ export class GeoJsonEditMode {
|
|
|
100
103
|
updatedData = updatedData.addFeature({
|
|
101
104
|
type: 'Feature',
|
|
102
105
|
properties,
|
|
103
|
-
geometry: geometryAsAny
|
|
106
|
+
geometry: geometryAsAny
|
|
104
107
|
});
|
|
105
108
|
updatedIndexes.push(initialIndex + updatedIndexes.length);
|
|
106
109
|
}
|
|
@@ -108,8 +111,8 @@ export class GeoJsonEditMode {
|
|
|
108
111
|
updatedData: updatedData.getObject(),
|
|
109
112
|
editType: 'addFeature',
|
|
110
113
|
editContext: {
|
|
111
|
-
featureIndexes: updatedIndexes
|
|
112
|
-
}
|
|
114
|
+
featureIndexes: updatedIndexes
|
|
115
|
+
}
|
|
113
116
|
};
|
|
114
117
|
}
|
|
115
118
|
getAddFeatureOrBooleanPolygonAction(featureOrGeometry, props) {
|
|
@@ -128,7 +131,7 @@ export class GeoJsonEditMode {
|
|
|
128
131
|
? featureOrGeometryAsAny
|
|
129
132
|
: {
|
|
130
133
|
type: 'Feature',
|
|
131
|
-
geometry: featureOrGeometryAsAny
|
|
134
|
+
geometry: featureOrGeometryAsAny
|
|
132
135
|
};
|
|
133
136
|
let updatedGeometry;
|
|
134
137
|
if (modeConfig.booleanOperation === 'union') {
|
|
@@ -161,8 +164,8 @@ export class GeoJsonEditMode {
|
|
|
161
164
|
updatedData,
|
|
162
165
|
editType: 'unionGeometry',
|
|
163
166
|
editContext: {
|
|
164
|
-
featureIndexes: [featureIndex]
|
|
165
|
-
}
|
|
167
|
+
featureIndexes: [featureIndex]
|
|
168
|
+
}
|
|
166
169
|
};
|
|
167
170
|
return editAction;
|
|
168
171
|
}
|
|
@@ -179,8 +182,8 @@ export class GeoJsonEditMode {
|
|
|
179
182
|
updatedData: props.data,
|
|
180
183
|
editType: 'updateTentativeFeature',
|
|
181
184
|
editContext: {
|
|
182
|
-
feature: tentativeFeature
|
|
183
|
-
}
|
|
185
|
+
feature: tentativeFeature
|
|
186
|
+
}
|
|
184
187
|
});
|
|
185
188
|
}
|
|
186
189
|
}
|
|
@@ -194,7 +197,7 @@ export class GeoJsonEditMode {
|
|
|
194
197
|
// Because the new drawing feature is dropped, so the data will keep as the same.
|
|
195
198
|
updatedData: props.data,
|
|
196
199
|
editType: 'cancelFeature',
|
|
197
|
-
editContext: {}
|
|
200
|
+
editContext: {}
|
|
198
201
|
});
|
|
199
202
|
}
|
|
200
203
|
}
|
|
@@ -202,7 +205,7 @@ export class GeoJsonEditMode {
|
|
|
202
205
|
export function getIntermediatePosition(position1, position2) {
|
|
203
206
|
const intermediatePosition = [
|
|
204
207
|
(position1[0] + position2[0]) / 2.0,
|
|
205
|
-
(position1[1] + position2[1]) / 2.0
|
|
208
|
+
(position1[1] + position2[1]) / 2.0
|
|
206
209
|
];
|
|
207
210
|
return intermediatePosition;
|
|
208
211
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Feature, FeatureCollection, Geometry, Position } from '../geojson-types';
|
|
1
|
+
import { Feature, FeatureCollection, Geometry, Position } from '../utils/geojson-types';
|
|
2
2
|
export declare class ImmutableFeatureCollection {
|
|
3
3
|
featureCollection: FeatureCollection;
|
|
4
4
|
constructor(featureCollection: FeatureCollection);
|
|
@@ -22,6 +22,7 @@ export declare class ImmutableFeatureCollection {
|
|
|
22
22
|
* @param positionIndexes An array containing the indexes of the postion to remove
|
|
23
23
|
*
|
|
24
24
|
* @returns A new `ImmutableFeatureCollection` with the given coordinate removed. Does not modify this `ImmutableFeatureCollection`.
|
|
25
|
+
*
|
|
25
26
|
*/
|
|
26
27
|
removePosition(featureIndex: number, positionIndexes: number[] | null | undefined): ImmutableFeatureCollection;
|
|
27
28
|
/**
|