node-red-contrib-tak-registration 0.16.1 → 0.16.3
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/node_modules/@turf/along/README.md +3 -1
- package/node_modules/@turf/along/dist/cjs/index.cjs +2 -2
- package/node_modules/@turf/along/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/along/dist/cjs/index.d.cts +1 -1
- package/node_modules/@turf/along/dist/esm/index.d.ts +1 -1
- package/node_modules/@turf/along/dist/esm/index.js +2 -2
- package/node_modules/@turf/along/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/along/package.json +12 -12
- package/node_modules/@turf/angle/dist/cjs/index.cjs +2 -2
- package/node_modules/@turf/angle/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/angle/dist/esm/index.js +2 -2
- package/node_modules/@turf/angle/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/angle/package.json +16 -16
- package/node_modules/@turf/area/dist/cjs/index.cjs +2 -2
- package/node_modules/@turf/area/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/area/dist/esm/index.js +2 -2
- package/node_modules/@turf/area/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/area/package.json +10 -10
- package/node_modules/@turf/bbox/dist/cjs/index.cjs +2 -2
- package/node_modules/@turf/bbox/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/bbox/dist/esm/index.js +2 -2
- package/node_modules/@turf/bbox/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/bbox/package.json +9 -9
- package/node_modules/@turf/bbox-clip/dist/cjs/index.cjs +2 -2
- package/node_modules/@turf/bbox-clip/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/bbox-clip/dist/esm/index.js +2 -2
- package/node_modules/@turf/bbox-clip/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/bbox-clip/package.json +11 -11
- package/node_modules/@turf/bbox-polygon/dist/cjs/index.cjs +2 -2
- package/node_modules/@turf/bbox-polygon/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/bbox-polygon/dist/esm/index.js +2 -2
- package/node_modules/@turf/bbox-polygon/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/bbox-polygon/package.json +8 -8
- package/node_modules/@turf/bearing/dist/cjs/index.cjs +2 -2
- package/node_modules/@turf/bearing/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/bearing/dist/esm/index.js +2 -2
- package/node_modules/@turf/bearing/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/bearing/package.json +11 -11
- package/node_modules/@turf/bezier-spline/dist/cjs/index.cjs +2 -2
- package/node_modules/@turf/bezier-spline/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/bezier-spline/dist/esm/index.js +2 -2
- package/node_modules/@turf/bezier-spline/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/bezier-spline/package.json +10 -10
- package/node_modules/@turf/boolean-clockwise/dist/cjs/index.cjs +2 -2
- package/node_modules/@turf/boolean-clockwise/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/boolean-clockwise/dist/esm/index.js +2 -2
- package/node_modules/@turf/boolean-clockwise/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/boolean-clockwise/package.json +10 -10
- package/node_modules/@turf/boolean-concave/dist/cjs/index.cjs +2 -2
- package/node_modules/@turf/boolean-concave/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/boolean-concave/dist/esm/index.js +2 -2
- package/node_modules/@turf/boolean-concave/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/boolean-concave/package.json +10 -10
- package/node_modules/@turf/boolean-contains/dist/cjs/index.cjs +2 -2
- package/node_modules/@turf/boolean-contains/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/boolean-contains/dist/esm/index.js +2 -2
- package/node_modules/@turf/boolean-contains/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/boolean-contains/package.json +13 -13
- package/node_modules/@turf/boolean-crosses/dist/cjs/index.cjs +2 -2
- package/node_modules/@turf/boolean-crosses/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/boolean-crosses/dist/esm/index.js +2 -2
- package/node_modules/@turf/boolean-crosses/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/boolean-crosses/package.json +13 -13
- package/node_modules/@turf/boolean-disjoint/dist/cjs/index.cjs +2 -2
- package/node_modules/@turf/boolean-disjoint/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/boolean-disjoint/dist/esm/index.js +2 -2
- package/node_modules/@turf/boolean-disjoint/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/boolean-disjoint/package.json +12 -12
- package/node_modules/@turf/boolean-equal/dist/cjs/index.cjs +2 -2
- package/node_modules/@turf/boolean-equal/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/boolean-equal/dist/esm/index.js +2 -2
- package/node_modules/@turf/boolean-equal/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/boolean-equal/package.json +11 -11
- package/node_modules/@turf/boolean-intersects/README.md +1 -1
- package/node_modules/@turf/boolean-intersects/dist/cjs/index.cjs +2 -2
- package/node_modules/@turf/boolean-intersects/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/boolean-intersects/dist/esm/index.js +2 -2
- package/node_modules/@turf/boolean-intersects/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/boolean-intersects/package.json +10 -10
- package/node_modules/@turf/boolean-overlap/dist/cjs/index.cjs +2 -2
- package/node_modules/@turf/boolean-overlap/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/boolean-overlap/dist/esm/index.js +2 -2
- package/node_modules/@turf/boolean-overlap/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/boolean-overlap/package.json +13 -13
- package/node_modules/@turf/boolean-parallel/dist/cjs/index.cjs +2 -2
- package/node_modules/@turf/boolean-parallel/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/boolean-parallel/dist/esm/index.js +2 -2
- package/node_modules/@turf/boolean-parallel/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/boolean-parallel/package.json +12 -12
- package/node_modules/@turf/boolean-point-in-polygon/dist/cjs/index.cjs +2 -2
- package/node_modules/@turf/boolean-point-in-polygon/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/boolean-point-in-polygon/dist/esm/index.js +2 -2
- package/node_modules/@turf/boolean-point-in-polygon/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/boolean-point-in-polygon/package.json +9 -9
- package/node_modules/@turf/boolean-point-on-line/dist/cjs/index.cjs +2 -2
- package/node_modules/@turf/boolean-point-on-line/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/boolean-point-on-line/dist/esm/index.js +2 -2
- package/node_modules/@turf/boolean-point-on-line/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/boolean-point-on-line/package.json +11 -11
- package/node_modules/@turf/boolean-touches/dist/cjs/index.cjs +2 -2
- package/node_modules/@turf/boolean-touches/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/boolean-touches/dist/esm/index.js +2 -2
- package/node_modules/@turf/boolean-touches/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/boolean-touches/package.json +12 -12
- package/node_modules/@turf/boolean-valid/dist/cjs/index.cjs +2 -2
- package/node_modules/@turf/boolean-valid/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/boolean-valid/dist/esm/index.js +2 -2
- package/node_modules/@turf/boolean-valid/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/boolean-valid/package.json +17 -17
- package/node_modules/@turf/boolean-within/dist/cjs/index.cjs +2 -2
- package/node_modules/@turf/boolean-within/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/boolean-within/dist/esm/index.js +2 -2
- package/node_modules/@turf/boolean-within/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/boolean-within/package.json +13 -13
- package/node_modules/@turf/buffer/README.md +3 -3
- package/node_modules/@turf/buffer/dist/cjs/index.cjs +2 -2
- package/node_modules/@turf/buffer/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/buffer/dist/esm/index.js +2 -2
- package/node_modules/@turf/buffer/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/buffer/package.json +13 -13
- package/node_modules/@turf/center/dist/cjs/index.cjs +2 -2
- package/node_modules/@turf/center/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/center/dist/esm/index.js +2 -2
- package/node_modules/@turf/center/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/center/package.json +13 -13
- package/node_modules/@turf/center-mean/dist/cjs/index.cjs +2 -2
- package/node_modules/@turf/center-mean/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/center-mean/dist/esm/index.js +2 -2
- package/node_modules/@turf/center-mean/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/center-mean/package.json +14 -14
- package/node_modules/@turf/center-median/dist/cjs/index.cjs +2 -2
- package/node_modules/@turf/center-median/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/center-median/dist/esm/index.js +2 -2
- package/node_modules/@turf/center-median/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/center-median/package.json +17 -17
- package/node_modules/@turf/center-of-mass/dist/cjs/index.cjs +2 -2
- package/node_modules/@turf/center-of-mass/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/center-of-mass/dist/esm/index.js +2 -2
- package/node_modules/@turf/center-of-mass/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/center-of-mass/package.json +14 -14
- package/node_modules/@turf/centroid/dist/cjs/index.cjs +2 -2
- package/node_modules/@turf/centroid/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/centroid/dist/esm/index.js +2 -2
- package/node_modules/@turf/centroid/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/centroid/package.json +11 -11
- package/node_modules/@turf/circle/README.md +13 -13
- package/node_modules/@turf/circle/dist/cjs/index.cjs +2 -2
- package/node_modules/@turf/circle/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/circle/dist/cjs/index.d.cts +2 -2
- package/node_modules/@turf/circle/dist/esm/index.d.ts +2 -2
- package/node_modules/@turf/circle/dist/esm/index.js +2 -2
- package/node_modules/@turf/circle/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/circle/package.json +11 -11
- package/node_modules/@turf/clean-coords/dist/cjs/index.cjs +33 -49
- package/node_modules/@turf/clean-coords/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/clean-coords/dist/esm/index.js +33 -49
- package/node_modules/@turf/clean-coords/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/clean-coords/package.json +15 -12
- package/node_modules/@turf/clone/dist/cjs/index.cjs +2 -2
- package/node_modules/@turf/clone/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/clone/dist/esm/index.js +2 -2
- package/node_modules/@turf/clone/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/clone/package.json +9 -9
- package/node_modules/@turf/clusters/package.json +9 -9
- package/node_modules/@turf/clusters-dbscan/README.md +2 -2
- package/node_modules/@turf/clusters-dbscan/dist/cjs/index.cjs +3 -8
- package/node_modules/@turf/clusters-dbscan/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/clusters-dbscan/dist/cjs/index.d.cts +1 -1
- package/node_modules/@turf/clusters-dbscan/dist/esm/index.d.ts +1 -1
- package/node_modules/@turf/clusters-dbscan/dist/esm/index.js +4 -9
- package/node_modules/@turf/clusters-dbscan/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/clusters-dbscan/package.json +15 -15
- package/node_modules/@turf/clusters-kmeans/dist/cjs/index.cjs +2 -2
- package/node_modules/@turf/clusters-kmeans/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/clusters-kmeans/dist/cjs/index.d.cts +1 -1
- package/node_modules/@turf/clusters-kmeans/dist/esm/index.d.ts +1 -1
- package/node_modules/@turf/clusters-kmeans/dist/esm/index.js +2 -2
- package/node_modules/@turf/clusters-kmeans/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/clusters-kmeans/package.json +15 -15
- package/node_modules/@turf/collect/dist/cjs/index.cjs +3 -8
- package/node_modules/@turf/collect/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/collect/dist/esm/index.js +3 -8
- package/node_modules/@turf/collect/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/collect/package.json +11 -11
- package/node_modules/@turf/combine/dist/cjs/index.cjs +2 -2
- package/node_modules/@turf/combine/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/combine/dist/esm/index.js +2 -2
- package/node_modules/@turf/combine/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/combine/package.json +9 -9
- package/node_modules/@turf/concave/README.md +2 -2
- package/node_modules/@turf/concave/dist/cjs/index.cjs +2 -2
- package/node_modules/@turf/concave/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/concave/dist/cjs/index.d.cts +1 -1
- package/node_modules/@turf/concave/dist/esm/index.d.ts +1 -1
- package/node_modules/@turf/concave/dist/esm/index.js +2 -2
- package/node_modules/@turf/concave/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/concave/package.json +14 -14
- package/node_modules/@turf/convex/dist/cjs/index.cjs +2 -2
- package/node_modules/@turf/convex/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/convex/dist/esm/index.js +2 -2
- package/node_modules/@turf/convex/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/convex/package.json +11 -11
- package/node_modules/@turf/destination/README.md +2 -2
- package/node_modules/@turf/destination/dist/cjs/index.cjs +5 -2
- package/node_modules/@turf/destination/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/destination/dist/cjs/index.d.cts +1 -1
- package/node_modules/@turf/destination/dist/esm/index.d.ts +1 -1
- package/node_modules/@turf/destination/dist/esm/index.js +5 -2
- package/node_modules/@turf/destination/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/destination/package.json +14 -11
- package/node_modules/@turf/difference/dist/cjs/index.cjs +2 -2
- package/node_modules/@turf/difference/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/difference/dist/esm/index.js +2 -2
- package/node_modules/@turf/difference/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/difference/package.json +11 -11
- package/node_modules/@turf/dissolve/dist/cjs/index.cjs +2 -2
- package/node_modules/@turf/dissolve/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/dissolve/dist/esm/index.js +2 -2
- package/node_modules/@turf/dissolve/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/dissolve/package.json +12 -12
- package/node_modules/@turf/distance/README.md +2 -2
- package/node_modules/@turf/distance/dist/cjs/index.cjs +2 -2
- package/node_modules/@turf/distance/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/distance/dist/cjs/index.d.cts +1 -1
- package/node_modules/@turf/distance/dist/esm/index.d.ts +1 -1
- package/node_modules/@turf/distance/dist/esm/index.js +2 -2
- package/node_modules/@turf/distance/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/distance/package.json +10 -10
- package/node_modules/@turf/distance-weight/dist/cjs/index.cjs +2 -2
- package/node_modules/@turf/distance-weight/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/distance-weight/dist/esm/index.js +2 -2
- package/node_modules/@turf/distance-weight/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/distance-weight/package.json +12 -12
- package/node_modules/@turf/ellipse/README.md +2 -2
- package/node_modules/@turf/ellipse/dist/cjs/index.cjs +62 -39
- package/node_modules/@turf/ellipse/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/ellipse/dist/cjs/index.d.cts +1 -1
- package/node_modules/@turf/ellipse/dist/esm/index.d.ts +1 -1
- package/node_modules/@turf/ellipse/dist/esm/index.js +64 -41
- package/node_modules/@turf/ellipse/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/ellipse/package.json +21 -18
- package/node_modules/@turf/envelope/dist/cjs/index.cjs +2 -2
- package/node_modules/@turf/envelope/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/envelope/dist/esm/index.js +2 -2
- package/node_modules/@turf/envelope/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/envelope/package.json +10 -10
- package/node_modules/@turf/explode/dist/cjs/index.cjs +2 -2
- package/node_modules/@turf/explode/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/explode/dist/esm/index.js +2 -2
- package/node_modules/@turf/explode/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/explode/package.json +10 -10
- package/node_modules/@turf/flatten/dist/cjs/index.cjs +2 -2
- package/node_modules/@turf/flatten/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/flatten/dist/esm/index.js +2 -2
- package/node_modules/@turf/flatten/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/flatten/package.json +10 -10
- package/node_modules/@turf/flip/dist/cjs/index.cjs +2 -2
- package/node_modules/@turf/flip/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/flip/dist/esm/index.js +2 -2
- package/node_modules/@turf/flip/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/flip/package.json +11 -11
- package/node_modules/@turf/geojson-rbush/dist/cjs/index.cjs +2 -2
- package/node_modules/@turf/geojson-rbush/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/geojson-rbush/dist/esm/index.js +2 -2
- package/node_modules/@turf/geojson-rbush/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/geojson-rbush/package.json +12 -12
- package/node_modules/@turf/great-circle/dist/cjs/index.cjs +3 -3
- package/node_modules/@turf/great-circle/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/great-circle/dist/esm/index.js +3 -3
- package/node_modules/@turf/great-circle/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/great-circle/package.json +10 -10
- package/node_modules/@turf/helpers/README.md +1 -1
- package/node_modules/@turf/helpers/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/helpers/dist/cjs/index.d.cts +1 -1
- package/node_modules/@turf/helpers/dist/esm/index.d.ts +1 -1
- package/node_modules/@turf/helpers/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/helpers/package.json +7 -7
- package/node_modules/@turf/hex-grid/README.md +7 -5
- package/node_modules/@turf/hex-grid/dist/cjs/index.cjs +2 -2
- package/node_modules/@turf/hex-grid/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/hex-grid/dist/cjs/index.d.cts +4 -4
- package/node_modules/@turf/hex-grid/dist/esm/index.d.ts +4 -4
- package/node_modules/@turf/hex-grid/dist/esm/index.js +2 -2
- package/node_modules/@turf/hex-grid/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/hex-grid/package.json +14 -14
- package/node_modules/@turf/interpolate/README.md +7 -5
- package/node_modules/@turf/interpolate/dist/cjs/index.cjs +2 -2
- package/node_modules/@turf/interpolate/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/interpolate/dist/esm/index.js +2 -2
- package/node_modules/@turf/interpolate/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/interpolate/package.json +19 -19
- package/node_modules/@turf/intersect/dist/cjs/index.cjs +2 -2
- package/node_modules/@turf/intersect/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/intersect/dist/esm/index.js +2 -2
- package/node_modules/@turf/intersect/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/intersect/package.json +11 -11
- package/node_modules/@turf/invariant/package.json +8 -8
- package/node_modules/@turf/isobands/README.md +1 -1
- package/node_modules/@turf/isobands/dist/cjs/index.cjs +313 -9
- package/node_modules/@turf/isobands/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/isobands/dist/cjs/index.d.cts +1 -1
- package/node_modules/@turf/isobands/dist/esm/index.d.ts +1 -1
- package/node_modules/@turf/isobands/dist/esm/index.js +313 -9
- package/node_modules/@turf/isobands/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/isobands/package.json +22 -22
- package/node_modules/@turf/isolines/README.md +1 -1
- package/node_modules/@turf/isolines/dist/cjs/index.cjs +192 -7
- package/node_modules/@turf/isolines/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/isolines/dist/cjs/index.d.cts +1 -1
- package/node_modules/@turf/isolines/dist/esm/index.d.ts +1 -1
- package/node_modules/@turf/isolines/dist/esm/index.js +192 -7
- package/node_modules/@turf/isolines/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/isolines/package.json +19 -19
- package/node_modules/@turf/kinks/dist/cjs/index.cjs +2 -2
- package/node_modules/@turf/kinks/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/kinks/dist/esm/index.js +2 -2
- package/node_modules/@turf/kinks/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/kinks/package.json +10 -10
- package/node_modules/@turf/length/README.md +2 -2
- package/node_modules/@turf/length/dist/cjs/index.cjs +2 -2
- package/node_modules/@turf/length/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/length/dist/cjs/index.d.cts +1 -1
- package/node_modules/@turf/length/dist/esm/index.d.ts +1 -1
- package/node_modules/@turf/length/dist/esm/index.js +2 -2
- package/node_modules/@turf/length/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/length/package.json +11 -11
- package/node_modules/@turf/line-arc/README.md +2 -2
- package/node_modules/@turf/line-arc/dist/cjs/index.cjs +2 -2
- package/node_modules/@turf/line-arc/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/line-arc/dist/cjs/index.d.cts +1 -1
- package/node_modules/@turf/line-arc/dist/esm/index.d.ts +1 -1
- package/node_modules/@turf/line-arc/dist/esm/index.js +2 -2
- package/node_modules/@turf/line-arc/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/line-arc/package.json +12 -12
- package/node_modules/@turf/line-chunk/README.md +2 -2
- package/node_modules/@turf/line-chunk/dist/cjs/index.cjs +2 -2
- package/node_modules/@turf/line-chunk/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/line-chunk/dist/esm/index.js +2 -2
- package/node_modules/@turf/line-chunk/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/line-chunk/package.json +12 -12
- package/node_modules/@turf/line-intersect/dist/cjs/index.cjs +2 -2
- package/node_modules/@turf/line-intersect/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/line-intersect/dist/esm/index.js +2 -2
- package/node_modules/@turf/line-intersect/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/line-intersect/package.json +10 -10
- package/node_modules/@turf/line-offset/README.md +2 -2
- package/node_modules/@turf/line-offset/dist/cjs/index.cjs +2 -2
- package/node_modules/@turf/line-offset/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/line-offset/dist/esm/index.js +2 -2
- package/node_modules/@turf/line-offset/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/line-offset/package.json +11 -11
- package/node_modules/@turf/line-overlap/dist/cjs/index.cjs +2 -2
- package/node_modules/@turf/line-overlap/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/line-overlap/dist/esm/index.js +2 -2
- package/node_modules/@turf/line-overlap/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/line-overlap/package.json +15 -15
- package/node_modules/@turf/line-segment/dist/cjs/index.cjs +2 -2
- package/node_modules/@turf/line-segment/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/line-segment/dist/esm/index.js +2 -2
- package/node_modules/@turf/line-segment/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/line-segment/package.json +11 -11
- package/node_modules/@turf/line-slice/dist/cjs/index.cjs +2 -2
- package/node_modules/@turf/line-slice/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/line-slice/dist/esm/index.js +2 -2
- package/node_modules/@turf/line-slice/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/line-slice/package.json +11 -11
- package/node_modules/@turf/line-slice-along/README.md +2 -2
- package/node_modules/@turf/line-slice-along/dist/cjs/index.cjs +2 -2
- package/node_modules/@turf/line-slice-along/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/line-slice-along/dist/esm/index.js +2 -2
- package/node_modules/@turf/line-slice-along/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/line-slice-along/package.json +12 -12
- package/node_modules/@turf/line-split/README.md +4 -1
- package/node_modules/@turf/line-split/dist/cjs/index.cjs +2 -7
- package/node_modules/@turf/line-split/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/line-split/dist/esm/index.js +2 -7
- package/node_modules/@turf/line-split/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/line-split/package.json +16 -17
- package/node_modules/@turf/line-to-polygon/dist/cjs/index.cjs +2 -2
- package/node_modules/@turf/line-to-polygon/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/line-to-polygon/dist/esm/index.js +2 -2
- package/node_modules/@turf/line-to-polygon/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/line-to-polygon/package.json +12 -12
- package/node_modules/@turf/mask/dist/cjs/index.cjs +2 -2
- package/node_modules/@turf/mask/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/mask/dist/esm/index.js +2 -2
- package/node_modules/@turf/mask/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/mask/package.json +10 -10
- package/node_modules/@turf/meta/package.json +7 -7
- package/node_modules/@turf/midpoint/dist/cjs/index.cjs +2 -2
- package/node_modules/@turf/midpoint/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/midpoint/dist/esm/index.js +2 -2
- package/node_modules/@turf/midpoint/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/midpoint/package.json +11 -11
- package/node_modules/@turf/moran-index/dist/cjs/index.cjs +2 -2
- package/node_modules/@turf/moran-index/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/moran-index/dist/esm/index.js +2 -2
- package/node_modules/@turf/moran-index/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/moran-index/package.json +11 -11
- package/node_modules/@turf/nearest-neighbor-analysis/README.md +1 -1
- package/node_modules/@turf/nearest-neighbor-analysis/dist/cjs/index.cjs +2 -2
- package/node_modules/@turf/nearest-neighbor-analysis/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/nearest-neighbor-analysis/dist/cjs/index.d.cts +2 -2
- package/node_modules/@turf/nearest-neighbor-analysis/dist/esm/index.d.ts +2 -2
- package/node_modules/@turf/nearest-neighbor-analysis/dist/esm/index.js +2 -2
- package/node_modules/@turf/nearest-neighbor-analysis/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/nearest-neighbor-analysis/package.json +17 -17
- package/node_modules/@turf/nearest-point/README.md +2 -2
- package/node_modules/@turf/nearest-point/dist/cjs/index.cjs +2 -2
- package/node_modules/@turf/nearest-point/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/nearest-point/dist/cjs/index.d.cts +6 -7
- package/node_modules/@turf/nearest-point/dist/esm/index.d.ts +6 -7
- package/node_modules/@turf/nearest-point/dist/esm/index.js +2 -2
- package/node_modules/@turf/nearest-point/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/nearest-point/package.json +12 -12
- package/node_modules/@turf/nearest-point-on-line/README.md +6 -2
- package/node_modules/@turf/nearest-point-on-line/dist/cjs/index.cjs +45 -52
- package/node_modules/@turf/nearest-point-on-line/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/nearest-point-on-line/dist/cjs/index.d.cts +5 -1
- package/node_modules/@turf/nearest-point-on-line/dist/esm/index.d.ts +5 -1
- package/node_modules/@turf/nearest-point-on-line/dist/esm/index.js +45 -52
- package/node_modules/@turf/nearest-point-on-line/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/nearest-point-on-line/package.json +20 -15
- package/node_modules/@turf/nearest-point-to-line/README.md +2 -2
- package/node_modules/@turf/nearest-point-to-line/dist/cjs/index.cjs +2 -2
- package/node_modules/@turf/nearest-point-to-line/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/nearest-point-to-line/dist/cjs/index.d.cts +1 -1
- package/node_modules/@turf/nearest-point-to-line/dist/esm/index.d.ts +1 -1
- package/node_modules/@turf/nearest-point-to-line/dist/esm/index.js +2 -2
- package/node_modules/@turf/nearest-point-to-line/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/nearest-point-to-line/package.json +14 -14
- package/node_modules/@turf/planepoint/dist/cjs/index.cjs +2 -2
- package/node_modules/@turf/planepoint/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/planepoint/dist/esm/index.js +2 -2
- package/node_modules/@turf/planepoint/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/planepoint/package.json +9 -9
- package/node_modules/@turf/point-grid/dist/cjs/index.cjs +2 -2
- package/node_modules/@turf/point-grid/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/point-grid/dist/esm/index.js +2 -2
- package/node_modules/@turf/point-grid/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/point-grid/package.json +14 -14
- package/node_modules/@turf/point-on-feature/dist/cjs/index.cjs +2 -2
- package/node_modules/@turf/point-on-feature/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/point-on-feature/dist/esm/index.js +2 -2
- package/node_modules/@turf/point-on-feature/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/point-on-feature/package.json +15 -15
- package/node_modules/@turf/point-to-line-distance/README.md +5 -4
- package/node_modules/@turf/point-to-line-distance/dist/cjs/index.cjs +2 -2
- package/node_modules/@turf/point-to-line-distance/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/point-to-line-distance/dist/cjs/index.d.cts +1 -2
- package/node_modules/@turf/point-to-line-distance/dist/esm/index.d.ts +1 -2
- package/node_modules/@turf/point-to-line-distance/dist/esm/index.js +2 -2
- package/node_modules/@turf/point-to-line-distance/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/point-to-line-distance/package.json +18 -18
- package/node_modules/@turf/point-to-polygon-distance/dist/cjs/index.cjs +3 -3
- package/node_modules/@turf/point-to-polygon-distance/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/point-to-polygon-distance/dist/esm/index.js +3 -3
- package/node_modules/@turf/point-to-polygon-distance/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/point-to-polygon-distance/package.json +14 -14
- package/node_modules/@turf/points-within-polygon/dist/cjs/index.cjs +2 -2
- package/node_modules/@turf/points-within-polygon/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/points-within-polygon/dist/esm/index.js +2 -2
- package/node_modules/@turf/points-within-polygon/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/points-within-polygon/package.json +10 -10
- package/node_modules/@turf/polygon-smooth/README.md +1 -1
- package/node_modules/@turf/polygon-smooth/dist/cjs/index.cjs +2 -2
- package/node_modules/@turf/polygon-smooth/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/polygon-smooth/dist/cjs/index.d.cts +1 -1
- package/node_modules/@turf/polygon-smooth/dist/esm/index.d.ts +1 -1
- package/node_modules/@turf/polygon-smooth/dist/esm/index.js +2 -2
- package/node_modules/@turf/polygon-smooth/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/polygon-smooth/package.json +11 -11
- package/node_modules/@turf/polygon-tangents/dist/cjs/index.cjs +2 -2
- package/node_modules/@turf/polygon-tangents/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/polygon-tangents/dist/esm/index.js +2 -2
- package/node_modules/@turf/polygon-tangents/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/polygon-tangents/package.json +14 -14
- package/node_modules/@turf/polygon-to-line/dist/cjs/index.cjs +2 -2
- package/node_modules/@turf/polygon-to-line/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/polygon-to-line/dist/esm/index.js +2 -2
- package/node_modules/@turf/polygon-to-line/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/polygon-to-line/package.json +10 -10
- package/node_modules/@turf/polygonize/dist/cjs/index.cjs +2 -2
- package/node_modules/@turf/polygonize/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/polygonize/dist/esm/index.js +2 -2
- package/node_modules/@turf/polygonize/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/polygonize/package.json +13 -13
- package/node_modules/@turf/projection/package.json +12 -12
- package/node_modules/@turf/quadrat-analysis/dist/cjs/index.cjs +2 -2
- package/node_modules/@turf/quadrat-analysis/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/quadrat-analysis/dist/esm/index.js +2 -2
- package/node_modules/@turf/quadrat-analysis/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/quadrat-analysis/package.json +18 -18
- package/node_modules/@turf/random/package.json +9 -9
- package/node_modules/@turf/rectangle-grid/dist/cjs/index.cjs +2 -2
- package/node_modules/@turf/rectangle-grid/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/rectangle-grid/dist/esm/index.js +2 -2
- package/node_modules/@turf/rectangle-grid/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/rectangle-grid/package.json +13 -13
- package/node_modules/@turf/rewind/dist/cjs/index.cjs +2 -2
- package/node_modules/@turf/rewind/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/rewind/dist/esm/index.js +2 -2
- package/node_modules/@turf/rewind/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/rewind/package.json +13 -13
- package/node_modules/@turf/rhumb-bearing/dist/cjs/index.cjs +2 -2
- package/node_modules/@turf/rhumb-bearing/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/rhumb-bearing/dist/esm/index.js +2 -2
- package/node_modules/@turf/rhumb-bearing/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/rhumb-bearing/package.json +11 -11
- package/node_modules/@turf/rhumb-destination/README.md +2 -2
- package/node_modules/@turf/rhumb-destination/dist/cjs/index.cjs +2 -2
- package/node_modules/@turf/rhumb-destination/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/rhumb-destination/dist/cjs/index.d.cts +1 -1
- package/node_modules/@turf/rhumb-destination/dist/esm/index.d.ts +1 -1
- package/node_modules/@turf/rhumb-destination/dist/esm/index.js +2 -2
- package/node_modules/@turf/rhumb-destination/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/rhumb-destination/package.json +11 -11
- package/node_modules/@turf/rhumb-distance/README.md +8 -9
- package/node_modules/@turf/rhumb-distance/dist/cjs/index.cjs +2 -2
- package/node_modules/@turf/rhumb-distance/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/rhumb-distance/dist/cjs/index.d.cts +2 -3
- package/node_modules/@turf/rhumb-distance/dist/esm/index.d.ts +2 -3
- package/node_modules/@turf/rhumb-distance/dist/esm/index.js +2 -2
- package/node_modules/@turf/rhumb-distance/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/rhumb-distance/package.json +11 -11
- package/node_modules/@turf/sample/dist/cjs/index.cjs +2 -2
- package/node_modules/@turf/sample/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/sample/dist/esm/index.js +2 -2
- package/node_modules/@turf/sample/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/sample/package.json +8 -8
- package/node_modules/@turf/sector/README.md +2 -2
- package/node_modules/@turf/sector/dist/cjs/index.cjs +2 -2
- package/node_modules/@turf/sector/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/sector/dist/cjs/index.d.cts +1 -1
- package/node_modules/@turf/sector/dist/esm/index.d.ts +1 -1
- package/node_modules/@turf/sector/dist/esm/index.js +2 -2
- package/node_modules/@turf/sector/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/sector/package.json +14 -14
- package/node_modules/@turf/shortest-path/README.md +5 -3
- package/node_modules/@turf/shortest-path/dist/cjs/index.cjs +10 -14
- package/node_modules/@turf/shortest-path/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/shortest-path/dist/cjs/index.d.cts +1 -1
- package/node_modules/@turf/shortest-path/dist/esm/index.d.ts +1 -1
- package/node_modules/@turf/shortest-path/dist/esm/index.js +10 -14
- package/node_modules/@turf/shortest-path/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/shortest-path/package.json +20 -19
- package/node_modules/@turf/simplify/README.md +13 -13
- package/node_modules/@turf/simplify/dist/cjs/index.cjs +6 -3
- package/node_modules/@turf/simplify/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/simplify/dist/cjs/index.d.cts +11 -12
- package/node_modules/@turf/simplify/dist/esm/index.d.ts +11 -12
- package/node_modules/@turf/simplify/dist/esm/index.js +6 -3
- package/node_modules/@turf/simplify/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/simplify/package.json +13 -13
- package/node_modules/@turf/square/dist/cjs/index.cjs +2 -2
- package/node_modules/@turf/square/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/square/dist/esm/index.js +2 -2
- package/node_modules/@turf/square/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/square/package.json +9 -9
- package/node_modules/@turf/square-grid/dist/cjs/index.cjs +2 -2
- package/node_modules/@turf/square-grid/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/square-grid/dist/esm/index.js +2 -2
- package/node_modules/@turf/square-grid/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/square-grid/package.json +12 -12
- package/node_modules/@turf/standard-deviational-ellipse/dist/cjs/index.cjs +2 -2
- package/node_modules/@turf/standard-deviational-ellipse/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/standard-deviational-ellipse/dist/cjs/index.d.cts +1 -1
- package/node_modules/@turf/standard-deviational-ellipse/dist/esm/index.d.ts +1 -1
- package/node_modules/@turf/standard-deviational-ellipse/dist/esm/index.js +2 -2
- package/node_modules/@turf/standard-deviational-ellipse/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/standard-deviational-ellipse/package.json +16 -16
- package/node_modules/@turf/tag/dist/cjs/index.cjs +2 -2
- package/node_modules/@turf/tag/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/tag/dist/esm/index.js +2 -2
- package/node_modules/@turf/tag/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/tag/package.json +11 -11
- package/node_modules/@turf/tesselate/dist/cjs/index.cjs +2 -2
- package/node_modules/@turf/tesselate/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/tesselate/dist/esm/index.js +2 -2
- package/node_modules/@turf/tesselate/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/tesselate/package.json +8 -8
- package/node_modules/@turf/tin/dist/cjs/index.cjs +2 -2
- package/node_modules/@turf/tin/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/tin/dist/esm/index.js +2 -2
- package/node_modules/@turf/tin/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/tin/package.json +8 -8
- package/node_modules/@turf/transform-rotate/dist/cjs/index.cjs +2 -2
- package/node_modules/@turf/transform-rotate/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/transform-rotate/dist/esm/index.js +2 -2
- package/node_modules/@turf/transform-rotate/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/transform-rotate/package.json +17 -17
- package/node_modules/@turf/transform-scale/dist/cjs/index.cjs +2 -2
- package/node_modules/@turf/transform-scale/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/transform-scale/dist/esm/index.js +2 -2
- package/node_modules/@turf/transform-scale/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/transform-scale/package.json +21 -21
- package/node_modules/@turf/transform-translate/README.md +8 -3
- package/node_modules/@turf/transform-translate/dist/cjs/index.cjs +2 -2
- package/node_modules/@turf/transform-translate/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/transform-translate/dist/cjs/index.d.cts +4 -1
- package/node_modules/@turf/transform-translate/dist/esm/index.d.ts +4 -1
- package/node_modules/@turf/transform-translate/dist/esm/index.js +2 -2
- package/node_modules/@turf/transform-translate/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/transform-translate/package.json +14 -14
- package/node_modules/@turf/triangle-grid/dist/cjs/index.cjs +2 -2
- package/node_modules/@turf/triangle-grid/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/triangle-grid/dist/esm/index.js +2 -2
- package/node_modules/@turf/triangle-grid/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/triangle-grid/package.json +13 -13
- package/node_modules/@turf/truncate/dist/cjs/index.cjs +2 -2
- package/node_modules/@turf/truncate/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/truncate/dist/esm/index.js +2 -2
- package/node_modules/@turf/truncate/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/truncate/package.json +10 -10
- package/node_modules/@turf/turf/package.json +125 -125
- package/node_modules/@turf/turf/turf.min.js +2 -11
- package/node_modules/@turf/union/dist/cjs/index.cjs +2 -2
- package/node_modules/@turf/union/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/union/dist/esm/index.js +2 -2
- package/node_modules/@turf/union/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/union/package.json +11 -11
- package/node_modules/@turf/unkink-polygon/dist/cjs/index.cjs +2 -2
- package/node_modules/@turf/unkink-polygon/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/unkink-polygon/dist/esm/index.js +2 -2
- package/node_modules/@turf/unkink-polygon/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/unkink-polygon/package.json +13 -13
- package/node_modules/@turf/voronoi/dist/cjs/index.cjs +2 -2
- package/node_modules/@turf/voronoi/dist/cjs/index.cjs.map +1 -1
- package/node_modules/@turf/voronoi/dist/esm/index.js +2 -2
- package/node_modules/@turf/voronoi/dist/esm/index.js.map +1 -1
- package/node_modules/@turf/voronoi/package.json +12 -12
- package/node_modules/@types/node/README.md +1 -1
- package/node_modules/@types/node/assert/strict.d.ts +105 -2
- package/node_modules/@types/node/assert.d.ts +154 -95
- package/node_modules/@types/node/buffer.buffer.d.ts +9 -0
- package/node_modules/@types/node/buffer.d.ts +8 -4
- package/node_modules/@types/node/child_process.d.ts +65 -42
- package/node_modules/@types/node/cluster.d.ts +4 -5
- package/node_modules/@types/node/console.d.ts +3 -2
- package/node_modules/@types/node/crypto.d.ts +1173 -322
- package/node_modules/@types/node/dgram.d.ts +9 -8
- package/node_modules/@types/node/diagnostics_channel.d.ts +0 -2
- package/node_modules/@types/node/dns.d.ts +6 -1
- package/node_modules/@types/node/events.d.ts +80 -34
- package/node_modules/@types/node/fs/promises.d.ts +39 -21
- package/node_modules/@types/node/fs.d.ts +328 -87
- package/node_modules/@types/node/globals.d.ts +2 -0
- package/node_modules/@types/node/globals.typedarray.d.ts +19 -0
- package/node_modules/@types/node/http.d.ts +119 -31
- package/node_modules/@types/node/http2.d.ts +178 -52
- package/node_modules/@types/node/https.d.ts +96 -62
- package/node_modules/@types/node/index.d.ts +3 -1
- package/node_modules/@types/node/inspector.d.ts +205 -4139
- package/node_modules/@types/node/inspector.generated.d.ts +4233 -0
- package/node_modules/@types/node/net.d.ts +33 -11
- package/node_modules/@types/node/os.d.ts +14 -3
- package/node_modules/@types/node/package.json +3 -3
- package/node_modules/@types/node/perf_hooks.d.ts +6 -8
- package/node_modules/@types/node/process.d.ts +19 -23
- package/node_modules/@types/node/readline/promises.d.ts +1 -1
- package/node_modules/@types/node/sea.d.ts +9 -0
- package/node_modules/@types/node/sqlite.d.ts +233 -10
- package/node_modules/@types/node/stream/consumers.d.ts +2 -2
- package/node_modules/@types/node/stream/web.d.ts +6 -55
- package/node_modules/@types/node/stream.d.ts +38 -23
- package/node_modules/@types/node/string_decoder.d.ts +2 -2
- package/node_modules/@types/node/test.d.ts +31 -26
- package/node_modules/@types/node/tls.d.ts +122 -66
- package/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +10 -2
- package/node_modules/@types/node/ts5.6/globals.typedarray.d.ts +16 -0
- package/node_modules/@types/node/ts5.6/index.d.ts +3 -1
- package/node_modules/@types/node/ts5.7/index.d.ts +3 -1
- package/node_modules/@types/node/url.d.ts +48 -16
- package/node_modules/@types/node/util.d.ts +23 -7
- package/node_modules/@types/node/v8.d.ts +38 -5
- package/node_modules/@types/node/vm.d.ts +169 -88
- package/node_modules/@types/node/wasi.d.ts +1 -1
- package/node_modules/@types/node/web-globals/crypto.d.ts +32 -0
- package/node_modules/@types/node/web-globals/events.d.ts +3 -0
- package/node_modules/@types/node/web-globals/navigator.d.ts +3 -0
- package/node_modules/@types/node/web-globals/streams.d.ts +22 -0
- package/node_modules/@types/node/worker_threads.d.ts +142 -51
- package/node_modules/@types/node/zlib.d.ts +31 -24
- package/node_modules/axios/CHANGELOG.md +410 -346
- package/node_modules/axios/README.md +79 -51
- package/node_modules/axios/dist/axios.js +121 -46
- package/node_modules/axios/dist/axios.js.map +1 -1
- package/node_modules/axios/dist/axios.min.js +2 -2
- package/node_modules/axios/dist/axios.min.js.map +1 -1
- package/node_modules/axios/dist/browser/axios.cjs +126 -57
- package/node_modules/axios/dist/browser/axios.cjs.map +1 -1
- package/node_modules/axios/dist/esm/axios.js +126 -57
- package/node_modules/axios/dist/esm/axios.js.map +1 -1
- package/node_modules/axios/dist/esm/axios.min.js +2 -2
- package/node_modules/axios/dist/esm/axios.min.js.map +1 -1
- package/node_modules/axios/dist/node/axios.cjs +351 -97
- package/node_modules/axios/dist/node/axios.cjs.map +1 -1
- package/node_modules/axios/index.d.cts +4 -0
- package/node_modules/axios/index.d.ts +4 -0
- package/node_modules/axios/lib/adapters/adapters.js +85 -40
- package/node_modules/axios/lib/adapters/fetch.js +1 -1
- package/node_modules/axios/lib/adapters/http.js +224 -42
- package/node_modules/axios/lib/core/InterceptorManager.js +1 -1
- package/node_modules/axios/lib/core/mergeConfig.js +4 -4
- package/node_modules/axios/lib/env/data.js +1 -1
- package/node_modules/axios/lib/helpers/HttpStatusCode.js +6 -0
- package/node_modules/axios/lib/helpers/bind.js +7 -0
- package/node_modules/axios/lib/helpers/cookies.js +24 -13
- package/node_modules/axios/package.json +9 -4
- package/node_modules/fast-xml-parser/CHANGELOG.md +9 -0
- package/node_modules/fast-xml-parser/README.md +1 -1
- package/node_modules/fast-xml-parser/lib/fxp.cjs +1 -1
- package/node_modules/fast-xml-parser/lib/fxp.d.cts +1 -1
- package/node_modules/fast-xml-parser/lib/fxp.min.js +1 -1
- package/node_modules/fast-xml-parser/lib/fxp.min.js.map +1 -1
- package/node_modules/fast-xml-parser/lib/fxparser.min.js +1 -1
- package/node_modules/fast-xml-parser/lib/fxparser.min.js.map +1 -1
- package/node_modules/fast-xml-parser/package.json +1 -1
- package/node_modules/fast-xml-parser/src/fxp.d.ts +2 -2
- package/node_modules/fast-xml-parser/src/v6/OutputBuilders/JsMinArrBuilder.js +1 -1
- package/node_modules/fast-xml-parser/src/v6/OutputBuilders/ParserOptionsBuilder.js +4 -4
- package/node_modules/fast-xml-parser/src/xmlparser/DocTypeReader.js +297 -287
- package/node_modules/fast-xml-parser/src/xmlparser/OrderedObjParser.js +24 -12
- package/node_modules/fast-xml-parser/src/xmlparser/XMLParser.js +4 -4
- package/node_modules/form-data/CHANGELOG.md +60 -2
- package/node_modules/form-data/README.md +4 -4
- package/node_modules/form-data/lib/form_data.js +2 -2
- package/node_modules/form-data/package.json +4 -4
- package/node_modules/undici-types/agent.d.ts +1 -4
- package/node_modules/undici-types/client.d.ts +0 -2
- package/node_modules/undici-types/diagnostics-channel.d.ts +0 -1
- package/node_modules/undici-types/dispatcher.d.ts +0 -6
- package/node_modules/undici-types/errors.d.ts +5 -15
- package/node_modules/undici-types/eventsource.d.ts +6 -1
- package/node_modules/undici-types/h2c-client.d.ts +0 -2
- package/node_modules/undici-types/index.d.ts +6 -1
- package/node_modules/undici-types/interceptors.d.ts +5 -0
- package/node_modules/undici-types/mock-interceptor.d.ts +0 -1
- package/node_modules/undici-types/package.json +1 -1
- package/node_modules/undici-types/snapshot-agent.d.ts +109 -0
- package/node_modules/undici-types/webidl.d.ts +92 -21
- package/node_modules/undici-types/websocket.d.ts +2 -0
- package/package.json +5 -5
- package/tak-registration.js +11 -11
- package/node_modules/marchingsquares/.eslintrc.json +0 -81
- package/node_modules/marchingsquares/Changelog.md +0 -81
- package/node_modules/marchingsquares/LICENSE.md +0 -37
- package/node_modules/marchingsquares/README.md +0 -312
- package/node_modules/marchingsquares/VERSION +0 -1
- package/node_modules/marchingsquares/agpl-3.0.txt +0 -661
- package/node_modules/marchingsquares/dist/marchingsquares-esm.js +0 -3410
- package/node_modules/marchingsquares/dist/marchingsquares-isobands.js +0 -2513
- package/node_modules/marchingsquares/dist/marchingsquares-isobands.min.js +0 -9
- package/node_modules/marchingsquares/dist/marchingsquares-isocontours.js +0 -1209
- package/node_modules/marchingsquares/dist/marchingsquares-isocontours.min.js +0 -9
- package/node_modules/marchingsquares/dist/marchingsquares-isolines.js +0 -1209
- package/node_modules/marchingsquares/dist/marchingsquares-isolines.min.js +0 -9
- package/node_modules/marchingsquares/dist/marchingsquares.js +0 -3424
- package/node_modules/marchingsquares/dist/marchingsquares.min.js +0 -9
- package/node_modules/marchingsquares/examples/contour/index.html +0 -117
- package/node_modules/marchingsquares/examples/editor/draw-lines.js +0 -60
- package/node_modules/marchingsquares/examples/editor/index.html +0 -39
- package/node_modules/marchingsquares/examples/editor/script.js +0 -110
- package/node_modules/marchingsquares/examples/editor/styles.css +0 -37
- package/node_modules/marchingsquares/examples/require/app.js +0 -9
- package/node_modules/marchingsquares/examples/require/index.html +0 -14
- package/node_modules/marchingsquares/examples/require/main.js +0 -98
- package/node_modules/marchingsquares/examples/require/require.js +0 -5
- package/node_modules/marchingsquares/examples/simple/index.html +0 -115
- package/node_modules/marchingsquares/examples/vienna/index.html +0 -229
- package/node_modules/marchingsquares/examples/vienna/vienna_basin.png +0 -0
- package/node_modules/marchingsquares/examples/vienna/vienna_data.js +0 -514
- package/node_modules/marchingsquares/package.json +0 -47
- package/node_modules/marchingsquares/rollup.config.js +0 -122
- package/node_modules/marchingsquares/rollup.config.test.js +0 -14
- package/node_modules/marchingsquares/src/interpolation.js +0 -84
- package/node_modules/marchingsquares/src/isobands.js +0 -1883
- package/node_modules/marchingsquares/src/isolines.js +0 -638
- package/node_modules/marchingsquares/src/main.js +0 -4
- package/node_modules/marchingsquares/src/options.js +0 -80
- package/node_modules/marchingsquares/src/polygons.js +0 -531
- package/node_modules/marchingsquares/src/quadtree.js +0 -228
- package/node_modules/marchingsquares/test/data/in/isoBands-example-case.json +0 -14
- package/node_modules/marchingsquares/test/data/in/isoBands-issue#6-0_3.json +0 -12
- package/node_modules/marchingsquares/test/data/in/isoBands-issue#6-3_5.json +0 -12
- package/node_modules/marchingsquares/test/data/in/isoBands-issue#6-5_7.json +0 -12
- package/node_modules/marchingsquares/test/data/in/isoBands-minimal.json +0 -8
- package/node_modules/marchingsquares/test/data/in/isoBands-simple.json +0 -9
- package/node_modules/marchingsquares/test/data/in/isoLines-example-case.json +0 -13
- package/node_modules/marchingsquares/test/data/in/isoLines-simple.json +0 -8
- package/node_modules/marchingsquares/test/data/out/isoBands-example-case.json +0 -72
- package/node_modules/marchingsquares/test/data/out/isoBands-issue#6-0_3.json +0 -9
- package/node_modules/marchingsquares/test/data/out/isoBands-issue#6-3_5.json +0 -36
- package/node_modules/marchingsquares/test/data/out/isoBands-issue#6-5_7.json +0 -8
- package/node_modules/marchingsquares/test/data/out/isoBands-minimal.json +0 -10
- package/node_modules/marchingsquares/test/data/out/isoBands-simple.json +0 -25
- package/node_modules/marchingsquares/test/data/out/isoLines-example-case.json +0 -481
- package/node_modules/marchingsquares/test/data/out/isoLines-simple.json +0 -8
- package/node_modules/marchingsquares/test/test.js +0 -152
|
@@ -13,7 +13,7 @@ If the line is shorter than the segment length then the original line is returne
|
|
|
13
13
|
* `segmentLength` **[number][6]** how long to make each segment
|
|
14
14
|
* `options` **[Object][7]** Optional parameters (optional, default `{}`)
|
|
15
15
|
|
|
16
|
-
* `options.units` **
|
|
16
|
+
* `options.units` **Units** Supports all valid Turf [Units][8] (optional, default `'kilometers'`)
|
|
17
17
|
* `options.reverse` **[boolean][9]** reverses coordinates to start the first chunked segment at the end (optional, default `false`)
|
|
18
18
|
|
|
19
19
|
### Examples
|
|
@@ -43,7 +43,7 @@ Returns **[FeatureCollection][2]<[LineString][1]>** collection of line segments
|
|
|
43
43
|
|
|
44
44
|
[7]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object
|
|
45
45
|
|
|
46
|
-
[8]: https://
|
|
46
|
+
[8]: https://turfjs.org/docs/api/types/Units
|
|
47
47
|
|
|
48
48
|
[9]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean
|
|
49
49
|
|
|
@@ -38,9 +38,9 @@ function sliceLineSegments(line, segmentLength, units, callback) {
|
|
|
38
38
|
callback(outline, i);
|
|
39
39
|
}
|
|
40
40
|
}
|
|
41
|
-
var
|
|
41
|
+
var index_default = lineChunk;
|
|
42
42
|
|
|
43
43
|
|
|
44
44
|
|
|
45
|
-
exports.default =
|
|
45
|
+
exports.default = index_default; exports.lineChunk = lineChunk;
|
|
46
46
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/turf/turf/packages/turf-line-chunk/dist/cjs/index.cjs","../../index.js"],"names":[],"mappings":"AAAA;ACAA,sCAAuB;AACvB,wDAA+B;AAC/B,kCAA4B;AAC5B,wCAA4C;AAqB5C,SAAS,SAAA,CAAU,OAAA,EAAS,aAAA,EAAe,OAAA,EAAS;AAElD,EAAA,QAAA,EAAU,QAAA,GAAW,CAAC,CAAA;AACtB,EAAA,GAAA,CAAI,CAAC,+BAAA,OAAgB,CAAA,EAAG,MAAM,IAAI,KAAA,CAAM,oBAAoB,CAAA;AAC5D,EAAA,IAAI,MAAA,EAAQ,OAAA,CAAQ,KAAA;AACpB,EAAA,IAAI,QAAA,EAAU,OAAA,CAAQ,OAAA;AAGtB,EAAA,GAAA,CAAI,CAAC,OAAA,EAAS,MAAM,IAAI,KAAA,CAAM,qBAAqB,CAAA;AACnD,EAAA,GAAA,CAAI,cAAA,GAAiB,CAAA;AACnB,IAAA,MAAM,IAAI,KAAA,CAAM,sCAAsC,CAAA;AAGxD,EAAA,IAAI,QAAA,EAAU,CAAC,CAAA;AAGf,EAAA,+BAAA,OAAY,EAAS,QAAA,CAAU,OAAA,EAAS;AAEtC,IAAA,GAAA,CAAI,OAAA;AACF,MAAA,OAAA,CAAQ,QAAA,CAAS,YAAA,EAAc,OAAA,CAAQ,QAAA,CAAS,WAAA,CAAY,OAAA,CAAQ,CAAA;AAEtE,IAAA,iBAAA,CAAkB,OAAA,EAAS,aAAA,EAAe,KAAA,EAAO,QAAA,CAAU,OAAA,EAAS;AAClE,MAAA,OAAA,CAAQ,IAAA,CAAK,OAAO,CAAA;AAAA,IACtB,CAAC,CAAA;AAAA,EACH,CAAC,CAAA;AACD,EAAA,OAAO,wCAAA,OAAyB,CAAA;AAClC;AAYA,SAAS,iBAAA,CAAkB,IAAA,EAAM,aAAA,EAAe,KAAA,EAAO,QAAA,EAAU;AAC/D,EAAA,IAAI,WAAA,EAAa,4BAAA,IAAO,EAAM,EAAE,MAAa,CAAC,CAAA;AAG9C,EAAA,GAAA,CAAI,WAAA,GAAc,aAAA,EAAe,OAAO,QAAA,CAAS,IAAI,CAAA;AAErD,EAAA,IAAI,iBAAA,EAAmB,WAAA,EAAa,aAAA;AAGpC,EAAA,GAAA,CAAI,CAAC,MAAA,CAAO,SAAA,CAAU,gBAAgB,CAAA,EAAG;AACvC,IAAA,iBAAA,EAAmB,IAAA,CAAK,KAAA,CAAM,gBAAgB,EAAA,EAAI,CAAA;AAAA,EACpD;AAEA,EAAA,IAAA,CAAA,IAAS,EAAA,EAAI,CAAA,EAAG,EAAA,EAAI,gBAAA,EAAkB,CAAA,EAAA,EAAK;AACzC,IAAA,IAAI,QAAA,EAAU,4CAAA;AAAA,MACZ,IAAA;AAAA,MACA,cAAA,EAAgB,CAAA;AAAA,MAChB,cAAA,EAAA,CAAiB,EAAA,EAAI,CAAA,CAAA;AAAA,MACrB,EAAE,MAAa;AAAA,IACjB,CAAA;AACA,IAAA,QAAA,CAAS,OAAA,EAAS,CAAC,CAAA;AAAA,EACrB;AACF;AAGA,IAAO,
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/turf/turf/packages/turf-line-chunk/dist/cjs/index.cjs","../../index.js"],"names":[],"mappings":"AAAA;ACAA,sCAAuB;AACvB,wDAA+B;AAC/B,kCAA4B;AAC5B,wCAA4C;AAqB5C,SAAS,SAAA,CAAU,OAAA,EAAS,aAAA,EAAe,OAAA,EAAS;AAElD,EAAA,QAAA,EAAU,QAAA,GAAW,CAAC,CAAA;AACtB,EAAA,GAAA,CAAI,CAAC,+BAAA,OAAgB,CAAA,EAAG,MAAM,IAAI,KAAA,CAAM,oBAAoB,CAAA;AAC5D,EAAA,IAAI,MAAA,EAAQ,OAAA,CAAQ,KAAA;AACpB,EAAA,IAAI,QAAA,EAAU,OAAA,CAAQ,OAAA;AAGtB,EAAA,GAAA,CAAI,CAAC,OAAA,EAAS,MAAM,IAAI,KAAA,CAAM,qBAAqB,CAAA;AACnD,EAAA,GAAA,CAAI,cAAA,GAAiB,CAAA;AACnB,IAAA,MAAM,IAAI,KAAA,CAAM,sCAAsC,CAAA;AAGxD,EAAA,IAAI,QAAA,EAAU,CAAC,CAAA;AAGf,EAAA,+BAAA,OAAY,EAAS,QAAA,CAAU,OAAA,EAAS;AAEtC,IAAA,GAAA,CAAI,OAAA;AACF,MAAA,OAAA,CAAQ,QAAA,CAAS,YAAA,EAAc,OAAA,CAAQ,QAAA,CAAS,WAAA,CAAY,OAAA,CAAQ,CAAA;AAEtE,IAAA,iBAAA,CAAkB,OAAA,EAAS,aAAA,EAAe,KAAA,EAAO,QAAA,CAAU,OAAA,EAAS;AAClE,MAAA,OAAA,CAAQ,IAAA,CAAK,OAAO,CAAA;AAAA,IACtB,CAAC,CAAA;AAAA,EACH,CAAC,CAAA;AACD,EAAA,OAAO,wCAAA,OAAyB,CAAA;AAClC;AAYA,SAAS,iBAAA,CAAkB,IAAA,EAAM,aAAA,EAAe,KAAA,EAAO,QAAA,EAAU;AAC/D,EAAA,IAAI,WAAA,EAAa,4BAAA,IAAO,EAAM,EAAE,MAAa,CAAC,CAAA;AAG9C,EAAA,GAAA,CAAI,WAAA,GAAc,aAAA,EAAe,OAAO,QAAA,CAAS,IAAI,CAAA;AAErD,EAAA,IAAI,iBAAA,EAAmB,WAAA,EAAa,aAAA;AAGpC,EAAA,GAAA,CAAI,CAAC,MAAA,CAAO,SAAA,CAAU,gBAAgB,CAAA,EAAG;AACvC,IAAA,iBAAA,EAAmB,IAAA,CAAK,KAAA,CAAM,gBAAgB,EAAA,EAAI,CAAA;AAAA,EACpD;AAEA,EAAA,IAAA,CAAA,IAAS,EAAA,EAAI,CAAA,EAAG,EAAA,EAAI,gBAAA,EAAkB,CAAA,EAAA,EAAK;AACzC,IAAA,IAAI,QAAA,EAAU,4CAAA;AAAA,MACZ,IAAA;AAAA,MACA,cAAA,EAAgB,CAAA;AAAA,MAChB,cAAA,EAAA,CAAiB,EAAA,EAAI,CAAA,CAAA;AAAA,MACrB,EAAE,MAAa;AAAA,IACjB,CAAA;AACA,IAAA,QAAA,CAAS,OAAA,EAAS,CAAC,CAAA;AAAA,EACrB;AACF;AAGA,IAAO,cAAA,EAAQ,SAAA;AD9Cf;AACE;AACA;AACF,+DAAC","file":"/home/runner/work/turf/turf/packages/turf-line-chunk/dist/cjs/index.cjs","sourcesContent":[null,"import { length } from \"@turf/length\";\nimport { lineSliceAlong } from \"@turf/line-slice-along\";\nimport { flattenEach } from \"@turf/meta\";\nimport { featureCollection, isObject } from \"@turf/helpers\";\n\n/**\n * Divides a {@link LineString} into chunks of a specified length.\n * If the line is shorter than the segment length then the original line is returned.\n *\n * @function\n * @param {FeatureCollection|Geometry|Feature<LineString|MultiLineString>} geojson the lines to split\n * @param {number} segmentLength how long to make each segment\n * @param {Object} [options={}] Optional parameters\n * @param {Units} [options.units='kilometers'] Supports all valid Turf {@link https://turfjs.org/docs/api/types/Units Units}\n * @param {boolean} [options.reverse=false] reverses coordinates to start the first chunked segment at the end\n * @returns {FeatureCollection<LineString>} collection of line segments\n * @example\n * var line = turf.lineString([[-95, 40], [-93, 45], [-85, 50]]);\n *\n * var chunk = turf.lineChunk(line, 15, {units: 'miles'});\n *\n * //addToMap\n * var addToMap = [chunk];\n */\nfunction lineChunk(geojson, segmentLength, options) {\n // Optional parameters\n options = options || {};\n if (!isObject(options)) throw new Error(\"options is invalid\");\n var units = options.units;\n var reverse = options.reverse;\n\n // Validation\n if (!geojson) throw new Error(\"geojson is required\");\n if (segmentLength <= 0)\n throw new Error(\"segmentLength must be greater than 0\");\n\n // Container\n var results = [];\n\n // Flatten each feature to simple LineString\n flattenEach(geojson, function (feature) {\n // reverses coordinates to start the first chunked segment at the end\n if (reverse)\n feature.geometry.coordinates = feature.geometry.coordinates.reverse();\n\n sliceLineSegments(feature, segmentLength, units, function (segment) {\n results.push(segment);\n });\n });\n return featureCollection(results);\n}\n\n/**\n * Slice Line Segments\n *\n * @private\n * @param {Feature<LineString>} line GeoJSON LineString\n * @param {number} segmentLength how long to make each segment\n * @param {Units}[units='kilometers'] Supports all valid Turf {@link https://turfjs.org/docs/api/types/Units Units}\n * @param {Function} callback iterate over sliced line segments\n * @returns {void}\n */\nfunction sliceLineSegments(line, segmentLength, units, callback) {\n var lineLength = length(line, { units: units });\n\n // If the line is shorter than the segment length then the orginal line is returned.\n if (lineLength <= segmentLength) return callback(line);\n\n var numberOfSegments = lineLength / segmentLength;\n\n // If numberOfSegments is integer, no need to plus 1\n if (!Number.isInteger(numberOfSegments)) {\n numberOfSegments = Math.floor(numberOfSegments) + 1;\n }\n\n for (var i = 0; i < numberOfSegments; i++) {\n var outline = lineSliceAlong(\n line,\n segmentLength * i,\n segmentLength * (i + 1),\n { units: units }\n );\n callback(outline, i);\n }\n}\n\nexport { lineChunk };\nexport default lineChunk;\n"]}
|
|
@@ -38,9 +38,9 @@ function sliceLineSegments(line, segmentLength, units, callback) {
|
|
|
38
38
|
callback(outline, i);
|
|
39
39
|
}
|
|
40
40
|
}
|
|
41
|
-
var
|
|
41
|
+
var index_default = lineChunk;
|
|
42
42
|
export {
|
|
43
|
-
|
|
43
|
+
index_default as default,
|
|
44
44
|
lineChunk
|
|
45
45
|
};
|
|
46
46
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../index.js"],"sourcesContent":["import { length } from \"@turf/length\";\nimport { lineSliceAlong } from \"@turf/line-slice-along\";\nimport { flattenEach } from \"@turf/meta\";\nimport { featureCollection, isObject } from \"@turf/helpers\";\n\n/**\n * Divides a {@link LineString} into chunks of a specified length.\n * If the line is shorter than the segment length then the original line is returned.\n *\n * @function\n * @param {FeatureCollection|Geometry|Feature<LineString|MultiLineString>} geojson the lines to split\n * @param {number} segmentLength how long to make each segment\n * @param {Object} [options={}] Optional parameters\n * @param {
|
|
1
|
+
{"version":3,"sources":["../../index.js"],"sourcesContent":["import { length } from \"@turf/length\";\nimport { lineSliceAlong } from \"@turf/line-slice-along\";\nimport { flattenEach } from \"@turf/meta\";\nimport { featureCollection, isObject } from \"@turf/helpers\";\n\n/**\n * Divides a {@link LineString} into chunks of a specified length.\n * If the line is shorter than the segment length then the original line is returned.\n *\n * @function\n * @param {FeatureCollection|Geometry|Feature<LineString|MultiLineString>} geojson the lines to split\n * @param {number} segmentLength how long to make each segment\n * @param {Object} [options={}] Optional parameters\n * @param {Units} [options.units='kilometers'] Supports all valid Turf {@link https://turfjs.org/docs/api/types/Units Units}\n * @param {boolean} [options.reverse=false] reverses coordinates to start the first chunked segment at the end\n * @returns {FeatureCollection<LineString>} collection of line segments\n * @example\n * var line = turf.lineString([[-95, 40], [-93, 45], [-85, 50]]);\n *\n * var chunk = turf.lineChunk(line, 15, {units: 'miles'});\n *\n * //addToMap\n * var addToMap = [chunk];\n */\nfunction lineChunk(geojson, segmentLength, options) {\n // Optional parameters\n options = options || {};\n if (!isObject(options)) throw new Error(\"options is invalid\");\n var units = options.units;\n var reverse = options.reverse;\n\n // Validation\n if (!geojson) throw new Error(\"geojson is required\");\n if (segmentLength <= 0)\n throw new Error(\"segmentLength must be greater than 0\");\n\n // Container\n var results = [];\n\n // Flatten each feature to simple LineString\n flattenEach(geojson, function (feature) {\n // reverses coordinates to start the first chunked segment at the end\n if (reverse)\n feature.geometry.coordinates = feature.geometry.coordinates.reverse();\n\n sliceLineSegments(feature, segmentLength, units, function (segment) {\n results.push(segment);\n });\n });\n return featureCollection(results);\n}\n\n/**\n * Slice Line Segments\n *\n * @private\n * @param {Feature<LineString>} line GeoJSON LineString\n * @param {number} segmentLength how long to make each segment\n * @param {Units}[units='kilometers'] Supports all valid Turf {@link https://turfjs.org/docs/api/types/Units Units}\n * @param {Function} callback iterate over sliced line segments\n * @returns {void}\n */\nfunction sliceLineSegments(line, segmentLength, units, callback) {\n var lineLength = length(line, { units: units });\n\n // If the line is shorter than the segment length then the orginal line is returned.\n if (lineLength <= segmentLength) return callback(line);\n\n var numberOfSegments = lineLength / segmentLength;\n\n // If numberOfSegments is integer, no need to plus 1\n if (!Number.isInteger(numberOfSegments)) {\n numberOfSegments = Math.floor(numberOfSegments) + 1;\n }\n\n for (var i = 0; i < numberOfSegments; i++) {\n var outline = lineSliceAlong(\n line,\n segmentLength * i,\n segmentLength * (i + 1),\n { units: units }\n );\n callback(outline, i);\n }\n}\n\nexport { lineChunk };\nexport default lineChunk;\n"],"mappings":";AAAA,SAAS,cAAc;AACvB,SAAS,sBAAsB;AAC/B,SAAS,mBAAmB;AAC5B,SAAS,mBAAmB,gBAAgB;AAqB5C,SAAS,UAAU,SAAS,eAAe,SAAS;AAElD,YAAU,WAAW,CAAC;AACtB,MAAI,CAAC,SAAS,OAAO,EAAG,OAAM,IAAI,MAAM,oBAAoB;AAC5D,MAAI,QAAQ,QAAQ;AACpB,MAAI,UAAU,QAAQ;AAGtB,MAAI,CAAC,QAAS,OAAM,IAAI,MAAM,qBAAqB;AACnD,MAAI,iBAAiB;AACnB,UAAM,IAAI,MAAM,sCAAsC;AAGxD,MAAI,UAAU,CAAC;AAGf,cAAY,SAAS,SAAU,SAAS;AAEtC,QAAI;AACF,cAAQ,SAAS,cAAc,QAAQ,SAAS,YAAY,QAAQ;AAEtE,sBAAkB,SAAS,eAAe,OAAO,SAAU,SAAS;AAClE,cAAQ,KAAK,OAAO;AAAA,IACtB,CAAC;AAAA,EACH,CAAC;AACD,SAAO,kBAAkB,OAAO;AAClC;AAYA,SAAS,kBAAkB,MAAM,eAAe,OAAO,UAAU;AAC/D,MAAI,aAAa,OAAO,MAAM,EAAE,MAAa,CAAC;AAG9C,MAAI,cAAc,cAAe,QAAO,SAAS,IAAI;AAErD,MAAI,mBAAmB,aAAa;AAGpC,MAAI,CAAC,OAAO,UAAU,gBAAgB,GAAG;AACvC,uBAAmB,KAAK,MAAM,gBAAgB,IAAI;AAAA,EACpD;AAEA,WAAS,IAAI,GAAG,IAAI,kBAAkB,KAAK;AACzC,QAAI,UAAU;AAAA,MACZ;AAAA,MACA,gBAAgB;AAAA,MAChB,iBAAiB,IAAI;AAAA,MACrB,EAAE,MAAa;AAAA,IACjB;AACA,aAAS,SAAS,CAAC;AAAA,EACrB;AACF;AAGA,IAAO,gBAAQ;","names":[]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@turf/line-chunk",
|
|
3
|
-
"version": "7.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "7.3.0",
|
|
4
|
+
"description": "Divides a LineString into chunks of a specified length.",
|
|
5
5
|
"author": "Turf Authors",
|
|
6
6
|
"contributors": [
|
|
7
7
|
"Tim Channell <@tcql>",
|
|
@@ -59,23 +59,23 @@
|
|
|
59
59
|
"test:types": "tsc --esModuleInterop --module node16 --moduleResolution node16 --noEmit --strict types.ts"
|
|
60
60
|
},
|
|
61
61
|
"devDependencies": {
|
|
62
|
-
"@turf/truncate": "
|
|
62
|
+
"@turf/truncate": "7.3.0",
|
|
63
63
|
"@types/benchmark": "^2.1.5",
|
|
64
|
-
"@types/tape": "^
|
|
64
|
+
"@types/tape": "^5.8.1",
|
|
65
65
|
"benchmark": "^2.1.4",
|
|
66
66
|
"load-json-file": "^7.0.1",
|
|
67
67
|
"npm-run-all": "^4.1.5",
|
|
68
68
|
"tape": "^5.9.0",
|
|
69
|
-
"tsup": "^8.
|
|
70
|
-
"tsx": "^4.19.
|
|
71
|
-
"write-json-file": "^
|
|
69
|
+
"tsup": "^8.4.0",
|
|
70
|
+
"tsx": "^4.19.4",
|
|
71
|
+
"write-json-file": "^6.0.0"
|
|
72
72
|
},
|
|
73
73
|
"dependencies": {
|
|
74
|
-
"@turf/helpers": "
|
|
75
|
-
"@turf/length": "
|
|
76
|
-
"@turf/line-slice-along": "
|
|
77
|
-
"@turf/meta": "
|
|
74
|
+
"@turf/helpers": "7.3.0",
|
|
75
|
+
"@turf/length": "7.3.0",
|
|
76
|
+
"@turf/line-slice-along": "7.3.0",
|
|
77
|
+
"@turf/meta": "7.3.0",
|
|
78
78
|
"@types/geojson": "^7946.0.10"
|
|
79
79
|
},
|
|
80
|
-
"gitHead": "
|
|
80
|
+
"gitHead": "9f58a103e8f9a587ab640307ed03ba5233913ddd"
|
|
81
81
|
}
|
|
@@ -40,9 +40,9 @@ function lineIntersect(line1, line2, options = {}) {
|
|
|
40
40
|
}
|
|
41
41
|
return _helpers.featureCollection.call(void 0, results.map((r) => _helpers.point.call(void 0, r)));
|
|
42
42
|
}
|
|
43
|
-
var
|
|
43
|
+
var index_default = lineIntersect;
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
|
|
47
|
-
exports.default =
|
|
47
|
+
exports.default = index_default; exports.lineIntersect = lineIntersect;
|
|
48
48
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/turf/turf/packages/turf-line-intersect/dist/cjs/index.cjs","../../index.ts","../../lib/sweepline-intersections-export.ts"],"names":[],"mappings":"AAAA;ACAA,wCAAkD;ADElD;AACA;AECA,iJAAgB;AAET,IAAM,uBAAA,EAAyB,gCAAA;AFAtC;AACA;ACwBA,SAAS,aAAA,CAIP,KAAA,EACA,KAAA,EACA,QAAA,EAGI,CAAC,CAAA,EACqB;AAC1B,EAAA,MAAM,EAAE,iBAAA,EAAmB,IAAA,EAAM,wBAAA,EAA0B,KAAK,EAAA,EAAI,OAAA;AACpE,EAAA,IAAI,SAAA,EAA+B,CAAC,CAAA;AACpC,EAAA,GAAA,CAAI,KAAA,CAAM,KAAA,IAAS,mBAAA;AACjB,IAAA,SAAA,EAAW,QAAA,CAAS,MAAA,CAAO,KAAA,CAAM,QAAQ,CAAA;AAAA,EAAA,KAAA,GAAA,CAClC,KAAA,CAAM,KAAA,IAAS,SAAA,EAAW,QAAA,CAAS,IAAA,CAAK,KAAK,CAAA;AAAA,EAAA,KAAA,GAAA,CAEpD,KAAA,CAAM,KAAA,IAAS,aAAA,GACf,KAAA,CAAM,KAAA,IAAS,UAAA,GACf,KAAA,CAAM,KAAA,IAAS,kBAAA,GACf,KAAA,CAAM,KAAA,IAAS,cAAA,EACf;AACA,IAAA,QAAA,CAAS,IAAA,CAAK,8BAAA,KAAa,CAAC,CAAA;AAAA,EAC9B;AAEA,EAAA,GAAA,CAAI,KAAA,CAAM,KAAA,IAAS,mBAAA;AACjB,IAAA,SAAA,EAAW,QAAA,CAAS,MAAA,CAAO,KAAA,CAAM,QAAQ,CAAA;AAAA,EAAA,KAAA,GAAA,CAClC,KAAA,CAAM,KAAA,IAAS,SAAA,EAAW,QAAA,CAAS,IAAA,CAAK,KAAK,CAAA;AAAA,EAAA,KAAA,GAAA,CAEpD,KAAA,CAAM,KAAA,IAAS,aAAA,GACf,KAAA,CAAM,KAAA,IAAS,UAAA,GACf,KAAA,CAAM,KAAA,IAAS,kBAAA,GACf,KAAA,CAAM,KAAA,IAAS,cAAA,EACf;AACA,IAAA,QAAA,CAAS,IAAA,CAAK,8BAAA,KAAa,CAAC,CAAA;AAAA,EAC9B;AAEA,EAAA,MAAM,cAAA,EAAgB,sBAAA;AAAA,IACpB,wCAAA,QAA0B,CAAA;AAAA,IAC1B;AAAA,EACF,CAAA;AAEA,EAAA,IAAI,QAAA,EAA0B,CAAC,CAAA;AAC/B,EAAA,GAAA,CAAI,gBAAA,EAAkB;AACpB,IAAA,MAAM,OAAA,EAAkC,CAAC,CAAA;AACzC,IAAA,aAAA,CAAc,OAAA,CAAQ,CAAC,YAAA,EAAA,GAAiB;AACtC,MAAA,MAAM,IAAA,EAAM,YAAA,CAAa,IAAA,CAAK,GAAG,CAAA;AACjC,MAAA,GAAA,CAAI,CAAC,MAAA,CAAO,GAAG,CAAA,EAAG;AAChB,QAAA,MAAA,CAAO,GAAG,EAAA,EAAI,IAAA;AACd,QAAA,OAAA,CAAQ,IAAA,CAAK,YAAY,CAAA;AAAA,MAC3B;AAAA,IACF,CAAC,CAAA;AAAA,EACH,EAAA,KAAO;AACL,IAAA,QAAA,EAAU,aAAA;AAAA,EACZ;AACA,EAAA,OAAO,wCAAA,OAAkB,CAAQ,GAAA,CAAI,CAAC,CAAA,EAAA,GAAM,4BAAA,CAAO,CAAC,CAAC,CAAA;AACvD;AAGA,IAAO,
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/turf/turf/packages/turf-line-intersect/dist/cjs/index.cjs","../../index.ts","../../lib/sweepline-intersections-export.ts"],"names":[],"mappings":"AAAA;ACAA,wCAAkD;ADElD;AACA;AECA,iJAAgB;AAET,IAAM,uBAAA,EAAyB,gCAAA;AFAtC;AACA;ACwBA,SAAS,aAAA,CAIP,KAAA,EACA,KAAA,EACA,QAAA,EAGI,CAAC,CAAA,EACqB;AAC1B,EAAA,MAAM,EAAE,iBAAA,EAAmB,IAAA,EAAM,wBAAA,EAA0B,KAAK,EAAA,EAAI,OAAA;AACpE,EAAA,IAAI,SAAA,EAA+B,CAAC,CAAA;AACpC,EAAA,GAAA,CAAI,KAAA,CAAM,KAAA,IAAS,mBAAA;AACjB,IAAA,SAAA,EAAW,QAAA,CAAS,MAAA,CAAO,KAAA,CAAM,QAAQ,CAAA;AAAA,EAAA,KAAA,GAAA,CAClC,KAAA,CAAM,KAAA,IAAS,SAAA,EAAW,QAAA,CAAS,IAAA,CAAK,KAAK,CAAA;AAAA,EAAA,KAAA,GAAA,CAEpD,KAAA,CAAM,KAAA,IAAS,aAAA,GACf,KAAA,CAAM,KAAA,IAAS,UAAA,GACf,KAAA,CAAM,KAAA,IAAS,kBAAA,GACf,KAAA,CAAM,KAAA,IAAS,cAAA,EACf;AACA,IAAA,QAAA,CAAS,IAAA,CAAK,8BAAA,KAAa,CAAC,CAAA;AAAA,EAC9B;AAEA,EAAA,GAAA,CAAI,KAAA,CAAM,KAAA,IAAS,mBAAA;AACjB,IAAA,SAAA,EAAW,QAAA,CAAS,MAAA,CAAO,KAAA,CAAM,QAAQ,CAAA;AAAA,EAAA,KAAA,GAAA,CAClC,KAAA,CAAM,KAAA,IAAS,SAAA,EAAW,QAAA,CAAS,IAAA,CAAK,KAAK,CAAA;AAAA,EAAA,KAAA,GAAA,CAEpD,KAAA,CAAM,KAAA,IAAS,aAAA,GACf,KAAA,CAAM,KAAA,IAAS,UAAA,GACf,KAAA,CAAM,KAAA,IAAS,kBAAA,GACf,KAAA,CAAM,KAAA,IAAS,cAAA,EACf;AACA,IAAA,QAAA,CAAS,IAAA,CAAK,8BAAA,KAAa,CAAC,CAAA;AAAA,EAC9B;AAEA,EAAA,MAAM,cAAA,EAAgB,sBAAA;AAAA,IACpB,wCAAA,QAA0B,CAAA;AAAA,IAC1B;AAAA,EACF,CAAA;AAEA,EAAA,IAAI,QAAA,EAA0B,CAAC,CAAA;AAC/B,EAAA,GAAA,CAAI,gBAAA,EAAkB;AACpB,IAAA,MAAM,OAAA,EAAkC,CAAC,CAAA;AACzC,IAAA,aAAA,CAAc,OAAA,CAAQ,CAAC,YAAA,EAAA,GAAiB;AACtC,MAAA,MAAM,IAAA,EAAM,YAAA,CAAa,IAAA,CAAK,GAAG,CAAA;AACjC,MAAA,GAAA,CAAI,CAAC,MAAA,CAAO,GAAG,CAAA,EAAG;AAChB,QAAA,MAAA,CAAO,GAAG,EAAA,EAAI,IAAA;AACd,QAAA,OAAA,CAAQ,IAAA,CAAK,YAAY,CAAA;AAAA,MAC3B;AAAA,IACF,CAAC,CAAA;AAAA,EACH,EAAA,KAAO;AACL,IAAA,QAAA,EAAU,aAAA;AAAA,EACZ;AACA,EAAA,OAAO,wCAAA,OAAkB,CAAQ,GAAA,CAAI,CAAC,CAAA,EAAA,GAAM,4BAAA,CAAO,CAAC,CAAC,CAAA;AACvD;AAGA,IAAO,cAAA,EAAQ,aAAA;AD/Cf;AACE;AACA;AACF,uEAAC","file":"/home/runner/work/turf/turf/packages/turf-line-intersect/dist/cjs/index.cjs","sourcesContent":[null,"import { feature, featureCollection, point } from \"@turf/helpers\";\nimport {\n Feature,\n FeatureCollection,\n LineString,\n MultiLineString,\n MultiPolygon,\n Point,\n Polygon,\n} from \"geojson\";\nimport type { Intersection } from \"sweepline-intersections\";\nimport { sweeplineIntersections as findIntersections } from \"./lib/sweepline-intersections-export.js\";\n\n/**\n * Takes any LineString or Polygon GeoJSON and returns the intersecting point(s).\n *\n * @function\n * @param {GeoJSON} line1 any LineString or Polygon\n * @param {GeoJSON} line2 any LineString or Polygon\n * @param {Object} [options={}] Optional parameters\n * @param {boolean} [options.removeDuplicates=true] remove duplicate intersections\n * @param {boolean} [options.ignoreSelfIntersections=true] ignores self-intersections on input features\n * @returns {FeatureCollection<Point>} point(s) that intersect both\n * @example\n * var line1 = turf.lineString([[126, -11], [129, -21]]);\n * var line2 = turf.lineString([[123, -18], [131, -14]]);\n * var intersects = turf.lineIntersect(line1, line2);\n *\n * //addToMap\n * var addToMap = [line1, line2, intersects]\n */\nfunction lineIntersect<\n G1 extends LineString | MultiLineString | Polygon | MultiPolygon,\n G2 extends LineString | MultiLineString | Polygon | MultiPolygon,\n>(\n line1: FeatureCollection<G1> | Feature<G1> | G1,\n line2: FeatureCollection<G2> | Feature<G2> | G2,\n options: {\n removeDuplicates?: boolean;\n ignoreSelfIntersections?: boolean;\n } = {}\n): FeatureCollection<Point> {\n const { removeDuplicates = true, ignoreSelfIntersections = true } = options;\n let features: Feature<G1 | G2>[] = [];\n if (line1.type === \"FeatureCollection\")\n features = features.concat(line1.features);\n else if (line1.type === \"Feature\") features.push(line1);\n else if (\n line1.type === \"LineString\" ||\n line1.type === \"Polygon\" ||\n line1.type === \"MultiLineString\" ||\n line1.type === \"MultiPolygon\"\n ) {\n features.push(feature(line1));\n }\n\n if (line2.type === \"FeatureCollection\")\n features = features.concat(line2.features);\n else if (line2.type === \"Feature\") features.push(line2);\n else if (\n line2.type === \"LineString\" ||\n line2.type === \"Polygon\" ||\n line2.type === \"MultiLineString\" ||\n line2.type === \"MultiPolygon\"\n ) {\n features.push(feature(line2));\n }\n\n const intersections = findIntersections(\n featureCollection(features),\n ignoreSelfIntersections\n );\n\n let results: Intersection[] = [];\n if (removeDuplicates) {\n const unique: Record<string, boolean> = {};\n intersections.forEach((intersection) => {\n const key = intersection.join(\",\");\n if (!unique[key]) {\n unique[key] = true;\n results.push(intersection);\n }\n });\n } else {\n results = intersections;\n }\n return featureCollection(results.map((r) => point(r)));\n}\n\nexport { lineIntersect };\nexport default lineIntersect;\n","// Get around problems with moduleResolution node16 and some older libraries.\n// Manifests as \"This expression is not callable ... has no call signatures\"\n// https://stackoverflow.com/a/74709714\n\nimport lib from \"sweepline-intersections\";\n\nexport const sweeplineIntersections = lib as unknown as typeof lib.default;\n"]}
|
|
@@ -40,9 +40,9 @@ function lineIntersect(line1, line2, options = {}) {
|
|
|
40
40
|
}
|
|
41
41
|
return featureCollection(results.map((r) => point(r)));
|
|
42
42
|
}
|
|
43
|
-
var
|
|
43
|
+
var index_default = lineIntersect;
|
|
44
44
|
export {
|
|
45
|
-
|
|
45
|
+
index_default as default,
|
|
46
46
|
lineIntersect
|
|
47
47
|
};
|
|
48
48
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../index.ts","../../lib/sweepline-intersections-export.ts"],"sourcesContent":["import { feature, featureCollection, point } from \"@turf/helpers\";\nimport {\n Feature,\n FeatureCollection,\n LineString,\n MultiLineString,\n MultiPolygon,\n Point,\n Polygon,\n} from \"geojson\";\nimport type { Intersection } from \"sweepline-intersections\";\nimport { sweeplineIntersections as findIntersections } from \"./lib/sweepline-intersections-export.js\";\n\n/**\n * Takes any LineString or Polygon GeoJSON and returns the intersecting point(s).\n *\n * @function\n * @param {GeoJSON} line1 any LineString or Polygon\n * @param {GeoJSON} line2 any LineString or Polygon\n * @param {Object} [options={}] Optional parameters\n * @param {boolean} [options.removeDuplicates=true] remove duplicate intersections\n * @param {boolean} [options.ignoreSelfIntersections=true] ignores self-intersections on input features\n * @returns {FeatureCollection<Point>} point(s) that intersect both\n * @example\n * var line1 = turf.lineString([[126, -11], [129, -21]]);\n * var line2 = turf.lineString([[123, -18], [131, -14]]);\n * var intersects = turf.lineIntersect(line1, line2);\n *\n * //addToMap\n * var addToMap = [line1, line2, intersects]\n */\nfunction lineIntersect<\n G1 extends LineString | MultiLineString | Polygon | MultiPolygon,\n G2 extends LineString | MultiLineString | Polygon | MultiPolygon,\n>(\n line1: FeatureCollection<G1> | Feature<G1> | G1,\n line2: FeatureCollection<G2> | Feature<G2> | G2,\n options: {\n removeDuplicates?: boolean;\n ignoreSelfIntersections?: boolean;\n } = {}\n): FeatureCollection<Point> {\n const { removeDuplicates = true, ignoreSelfIntersections = true } = options;\n let features: Feature<G1 | G2>[] = [];\n if (line1.type === \"FeatureCollection\")\n features = features.concat(line1.features);\n else if (line1.type === \"Feature\") features.push(line1);\n else if (\n line1.type === \"LineString\" ||\n line1.type === \"Polygon\" ||\n line1.type === \"MultiLineString\" ||\n line1.type === \"MultiPolygon\"\n ) {\n features.push(feature(line1));\n }\n\n if (line2.type === \"FeatureCollection\")\n features = features.concat(line2.features);\n else if (line2.type === \"Feature\") features.push(line2);\n else if (\n line2.type === \"LineString\" ||\n line2.type === \"Polygon\" ||\n line2.type === \"MultiLineString\" ||\n line2.type === \"MultiPolygon\"\n ) {\n features.push(feature(line2));\n }\n\n const intersections = findIntersections(\n featureCollection(features),\n ignoreSelfIntersections\n );\n\n let results: Intersection[] = [];\n if (removeDuplicates) {\n const unique: Record<string, boolean> = {};\n intersections.forEach((intersection) => {\n const key = intersection.join(\",\");\n if (!unique[key]) {\n unique[key] = true;\n results.push(intersection);\n }\n });\n } else {\n results = intersections;\n }\n return featureCollection(results.map((r) => point(r)));\n}\n\nexport { lineIntersect };\nexport default lineIntersect;\n","// Get around problems with moduleResolution node16 and some older libraries.\n// Manifests as \"This expression is not callable ... has no call signatures\"\n// https://stackoverflow.com/a/74709714\n\nimport lib from \"sweepline-intersections\";\n\nexport const sweeplineIntersections = lib as unknown as typeof lib.default;\n"],"mappings":";AAAA,SAAS,SAAS,mBAAmB,aAAa;;;ACIlD,OAAO,SAAS;AAET,IAAM,yBAAyB;;;ADyBtC,SAAS,cAIP,OACA,OACA,UAGI,CAAC,GACqB;AAC1B,QAAM,EAAE,mBAAmB,MAAM,0BAA0B,KAAK,IAAI;AACpE,MAAI,WAA+B,CAAC;AACpC,MAAI,MAAM,SAAS;AACjB,eAAW,SAAS,OAAO,MAAM,QAAQ;AAAA,WAClC,MAAM,SAAS,UAAW,UAAS,KAAK,KAAK;AAAA,WAEpD,MAAM,SAAS,gBACf,MAAM,SAAS,aACf,MAAM,SAAS,qBACf,MAAM,SAAS,gBACf;AACA,aAAS,KAAK,QAAQ,KAAK,CAAC;AAAA,EAC9B;AAEA,MAAI,MAAM,SAAS;AACjB,eAAW,SAAS,OAAO,MAAM,QAAQ;AAAA,WAClC,MAAM,SAAS,UAAW,UAAS,KAAK,KAAK;AAAA,WAEpD,MAAM,SAAS,gBACf,MAAM,SAAS,aACf,MAAM,SAAS,qBACf,MAAM,SAAS,gBACf;AACA,aAAS,KAAK,QAAQ,KAAK,CAAC;AAAA,EAC9B;AAEA,QAAM,gBAAgB;AAAA,IACpB,kBAAkB,QAAQ;AAAA,IAC1B;AAAA,EACF;AAEA,MAAI,UAA0B,CAAC;AAC/B,MAAI,kBAAkB;AACpB,UAAM,SAAkC,CAAC;AACzC,kBAAc,QAAQ,CAAC,iBAAiB;AACtC,YAAM,MAAM,aAAa,KAAK,GAAG;AACjC,UAAI,CAAC,OAAO,GAAG,GAAG;AAChB,eAAO,GAAG,IAAI;AACd,gBAAQ,KAAK,YAAY;AAAA,MAC3B;AAAA,IACF,CAAC;AAAA,EACH,OAAO;AACL,cAAU;AAAA,EACZ;AACA,SAAO,kBAAkB,QAAQ,IAAI,CAAC,MAAM,MAAM,CAAC,CAAC,CAAC;AACvD;AAGA,IAAO,
|
|
1
|
+
{"version":3,"sources":["../../index.ts","../../lib/sweepline-intersections-export.ts"],"sourcesContent":["import { feature, featureCollection, point } from \"@turf/helpers\";\nimport {\n Feature,\n FeatureCollection,\n LineString,\n MultiLineString,\n MultiPolygon,\n Point,\n Polygon,\n} from \"geojson\";\nimport type { Intersection } from \"sweepline-intersections\";\nimport { sweeplineIntersections as findIntersections } from \"./lib/sweepline-intersections-export.js\";\n\n/**\n * Takes any LineString or Polygon GeoJSON and returns the intersecting point(s).\n *\n * @function\n * @param {GeoJSON} line1 any LineString or Polygon\n * @param {GeoJSON} line2 any LineString or Polygon\n * @param {Object} [options={}] Optional parameters\n * @param {boolean} [options.removeDuplicates=true] remove duplicate intersections\n * @param {boolean} [options.ignoreSelfIntersections=true] ignores self-intersections on input features\n * @returns {FeatureCollection<Point>} point(s) that intersect both\n * @example\n * var line1 = turf.lineString([[126, -11], [129, -21]]);\n * var line2 = turf.lineString([[123, -18], [131, -14]]);\n * var intersects = turf.lineIntersect(line1, line2);\n *\n * //addToMap\n * var addToMap = [line1, line2, intersects]\n */\nfunction lineIntersect<\n G1 extends LineString | MultiLineString | Polygon | MultiPolygon,\n G2 extends LineString | MultiLineString | Polygon | MultiPolygon,\n>(\n line1: FeatureCollection<G1> | Feature<G1> | G1,\n line2: FeatureCollection<G2> | Feature<G2> | G2,\n options: {\n removeDuplicates?: boolean;\n ignoreSelfIntersections?: boolean;\n } = {}\n): FeatureCollection<Point> {\n const { removeDuplicates = true, ignoreSelfIntersections = true } = options;\n let features: Feature<G1 | G2>[] = [];\n if (line1.type === \"FeatureCollection\")\n features = features.concat(line1.features);\n else if (line1.type === \"Feature\") features.push(line1);\n else if (\n line1.type === \"LineString\" ||\n line1.type === \"Polygon\" ||\n line1.type === \"MultiLineString\" ||\n line1.type === \"MultiPolygon\"\n ) {\n features.push(feature(line1));\n }\n\n if (line2.type === \"FeatureCollection\")\n features = features.concat(line2.features);\n else if (line2.type === \"Feature\") features.push(line2);\n else if (\n line2.type === \"LineString\" ||\n line2.type === \"Polygon\" ||\n line2.type === \"MultiLineString\" ||\n line2.type === \"MultiPolygon\"\n ) {\n features.push(feature(line2));\n }\n\n const intersections = findIntersections(\n featureCollection(features),\n ignoreSelfIntersections\n );\n\n let results: Intersection[] = [];\n if (removeDuplicates) {\n const unique: Record<string, boolean> = {};\n intersections.forEach((intersection) => {\n const key = intersection.join(\",\");\n if (!unique[key]) {\n unique[key] = true;\n results.push(intersection);\n }\n });\n } else {\n results = intersections;\n }\n return featureCollection(results.map((r) => point(r)));\n}\n\nexport { lineIntersect };\nexport default lineIntersect;\n","// Get around problems with moduleResolution node16 and some older libraries.\n// Manifests as \"This expression is not callable ... has no call signatures\"\n// https://stackoverflow.com/a/74709714\n\nimport lib from \"sweepline-intersections\";\n\nexport const sweeplineIntersections = lib as unknown as typeof lib.default;\n"],"mappings":";AAAA,SAAS,SAAS,mBAAmB,aAAa;;;ACIlD,OAAO,SAAS;AAET,IAAM,yBAAyB;;;ADyBtC,SAAS,cAIP,OACA,OACA,UAGI,CAAC,GACqB;AAC1B,QAAM,EAAE,mBAAmB,MAAM,0BAA0B,KAAK,IAAI;AACpE,MAAI,WAA+B,CAAC;AACpC,MAAI,MAAM,SAAS;AACjB,eAAW,SAAS,OAAO,MAAM,QAAQ;AAAA,WAClC,MAAM,SAAS,UAAW,UAAS,KAAK,KAAK;AAAA,WAEpD,MAAM,SAAS,gBACf,MAAM,SAAS,aACf,MAAM,SAAS,qBACf,MAAM,SAAS,gBACf;AACA,aAAS,KAAK,QAAQ,KAAK,CAAC;AAAA,EAC9B;AAEA,MAAI,MAAM,SAAS;AACjB,eAAW,SAAS,OAAO,MAAM,QAAQ;AAAA,WAClC,MAAM,SAAS,UAAW,UAAS,KAAK,KAAK;AAAA,WAEpD,MAAM,SAAS,gBACf,MAAM,SAAS,aACf,MAAM,SAAS,qBACf,MAAM,SAAS,gBACf;AACA,aAAS,KAAK,QAAQ,KAAK,CAAC;AAAA,EAC9B;AAEA,QAAM,gBAAgB;AAAA,IACpB,kBAAkB,QAAQ;AAAA,IAC1B;AAAA,EACF;AAEA,MAAI,UAA0B,CAAC;AAC/B,MAAI,kBAAkB;AACpB,UAAM,SAAkC,CAAC;AACzC,kBAAc,QAAQ,CAAC,iBAAiB;AACtC,YAAM,MAAM,aAAa,KAAK,GAAG;AACjC,UAAI,CAAC,OAAO,GAAG,GAAG;AAChB,eAAO,GAAG,IAAI;AACd,gBAAQ,KAAK,YAAY;AAAA,MAC3B;AAAA,IACF,CAAC;AAAA,EACH,OAAO;AACL,cAAU;AAAA,EACZ;AACA,SAAO,kBAAkB,QAAQ,IAAI,CAAC,MAAM,MAAM,CAAC,CAAC,CAAC;AACvD;AAGA,IAAO,gBAAQ;","names":[]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@turf/line-intersect",
|
|
3
|
-
"version": "7.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "7.3.0",
|
|
4
|
+
"description": "Takes any LineString or Polygon GeoJSON and returns the intersecting point(s).",
|
|
5
5
|
"author": "Turf Authors",
|
|
6
6
|
"contributors": [
|
|
7
7
|
"Denis Carriere <@DenisCarriere>",
|
|
@@ -56,23 +56,23 @@
|
|
|
56
56
|
"test:tape": "tsx test.ts"
|
|
57
57
|
},
|
|
58
58
|
"devDependencies": {
|
|
59
|
-
"@turf/truncate": "
|
|
59
|
+
"@turf/truncate": "7.3.0",
|
|
60
60
|
"@types/benchmark": "^2.1.5",
|
|
61
|
-
"@types/tape": "^
|
|
61
|
+
"@types/tape": "^5.8.1",
|
|
62
62
|
"benchmark": "^2.1.4",
|
|
63
63
|
"load-json-file": "^7.0.1",
|
|
64
64
|
"npm-run-all": "^4.1.5",
|
|
65
65
|
"tape": "^5.9.0",
|
|
66
|
-
"tsup": "^8.
|
|
67
|
-
"tsx": "^4.19.
|
|
68
|
-
"typescript": "^5.
|
|
69
|
-
"write-json-file": "^
|
|
66
|
+
"tsup": "^8.4.0",
|
|
67
|
+
"tsx": "^4.19.4",
|
|
68
|
+
"typescript": "^5.8.3",
|
|
69
|
+
"write-json-file": "^6.0.0"
|
|
70
70
|
},
|
|
71
71
|
"dependencies": {
|
|
72
|
-
"@turf/helpers": "
|
|
72
|
+
"@turf/helpers": "7.3.0",
|
|
73
73
|
"@types/geojson": "^7946.0.10",
|
|
74
74
|
"sweepline-intersections": "^1.5.0",
|
|
75
75
|
"tslib": "^2.8.1"
|
|
76
76
|
},
|
|
77
|
-
"gitHead": "
|
|
77
|
+
"gitHead": "9f58a103e8f9a587ab640307ed03ba5233913ddd"
|
|
78
78
|
}
|
|
@@ -12,7 +12,7 @@ Takes a [line][1] and returns a [line][1] at offset by the specified distance.
|
|
|
12
12
|
* `distance` **[number][5]** distance to offset the line (can be of negative value)
|
|
13
13
|
* `options` **[Object][6]** Optional parameters (optional, default `{}`)
|
|
14
14
|
|
|
15
|
-
* `options.units` **
|
|
15
|
+
* `options.units` **Units** Supports all valid Turf [Units][7]. (optional, default `'kilometers'`)
|
|
16
16
|
|
|
17
17
|
### Examples
|
|
18
18
|
|
|
@@ -40,7 +40,7 @@ Returns **[Feature][3]<([LineString][1] | [MultiLineString][4])>** Line offset f
|
|
|
40
40
|
|
|
41
41
|
[6]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object
|
|
42
42
|
|
|
43
|
-
[7]: https://
|
|
43
|
+
[7]: https://turfjs.org/docs/api/types/Units
|
|
44
44
|
|
|
45
45
|
<!-- This file is automatically generated. Please don't edit it directly. If you find an error, edit the source file of the module in question (likely index.js or index.ts), and re-run "yarn docs" from the root of the turf project. -->
|
|
46
46
|
|
|
@@ -120,9 +120,9 @@ function processSegment(point1, point2, offset) {
|
|
|
120
120
|
[out2x, out2y]
|
|
121
121
|
];
|
|
122
122
|
}
|
|
123
|
-
var
|
|
123
|
+
var index_default = lineOffset;
|
|
124
124
|
|
|
125
125
|
|
|
126
126
|
|
|
127
|
-
exports.default =
|
|
127
|
+
exports.default = index_default; exports.lineOffset = lineOffset;
|
|
128
128
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/turf/turf/packages/turf-line-offset/dist/cjs/index.cjs","../../index.js","../../lib/intersection.js"],"names":["intersection"],"mappings":"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","file":"/home/runner/work/turf/turf/packages/turf-line-offset/dist/cjs/index.cjs","sourcesContent":[null,"import { flattenEach } from \"@turf/meta\";\nimport { getCoords, getType } from \"@turf/invariant\";\nimport {\n isObject,\n lineString,\n multiLineString,\n lengthToDegrees,\n} from \"@turf/helpers\";\nimport { intersection } from \"./lib/intersection.js\";\n\n/**\n * Takes a {@link LineString|line} and returns a {@link LineString|line} at offset by the specified distance.\n *\n * @function\n * @param {Geometry|Feature<LineString|MultiLineString>} geojson input GeoJSON\n * @param {number} distance distance to offset the line (can be of negative value)\n * @param {Object} [options={}] Optional parameters\n * @param {string} [options.units='kilometers'] can be degrees, radians, miles, kilometers, inches, yards, meters\n * @returns {Feature<LineString|MultiLineString>} Line offset from the input line\n * @example\n * var line = turf.lineString([[-83, 30], [-84, 36], [-78, 41]], { \"stroke\": \"#F00\" });\n *\n * var offsetLine = turf.lineOffset(line, 2, {units: 'miles'});\n *\n * //addToMap\n * var addToMap = [offsetLine, line]\n * offsetLine.properties.stroke = \"#00F\"\n */\nfunction lineOffset(geojson, distance, options) {\n // Optional parameters\n options = options || {};\n if (!isObject(options)) throw new Error(\"options is invalid\");\n var units = options.units;\n\n // Valdiation\n if (!geojson) throw new Error(\"geojson is required\");\n if (distance === undefined || distance === null || isNaN(distance))\n throw new Error(\"distance is required\");\n\n var type = getType(geojson);\n var properties = geojson.properties;\n\n switch (type) {\n case \"LineString\":\n return lineOffsetFeature(geojson, distance, units);\n case \"MultiLineString\":\n var coords = [];\n flattenEach(geojson, function (feature) {\n coords.push(\n lineOffsetFeature(feature, distance, units).geometry.coordinates\n );\n });\n return multiLineString(coords, properties);\n default:\n throw new Error(\"geometry \" + type + \" is not supported\");\n }\n}\n\n/**\n * Line Offset\n *\n * @private\n * @param {Geometry|Feature<LineString>} line input line\n * @param {number} distance distance to offset the line (can be of negative value)\n * @param {string} [units=kilometers] units\n * @returns {Feature<LineString>} Line offset from the input line\n */\nfunction lineOffsetFeature(line, distance, units) {\n var segments = [];\n var offsetDegrees = lengthToDegrees(distance, units);\n var coords = getCoords(line);\n var finalCoords = [];\n coords.forEach(function (currentCoords, index) {\n if (index !== coords.length - 1) {\n var segment = processSegment(\n currentCoords,\n coords[index + 1],\n offsetDegrees\n );\n segments.push(segment);\n if (index > 0) {\n var seg2Coords = segments[index - 1];\n var intersects = intersection(segment, seg2Coords);\n\n // Handling for line segments that aren't straight\n if (intersects !== false) {\n seg2Coords[1] = intersects;\n segment[0] = intersects;\n }\n\n finalCoords.push(seg2Coords[0]);\n if (index === coords.length - 2) {\n finalCoords.push(segment[0]);\n finalCoords.push(segment[1]);\n }\n }\n // Handling for lines that only have 1 segment\n if (coords.length === 2) {\n finalCoords.push(segment[0]);\n finalCoords.push(segment[1]);\n }\n }\n });\n return lineString(finalCoords, line.properties);\n}\n\n/**\n * Process Segment\n * Inspiration taken from http://stackoverflow.com/questions/2825412/draw-a-parallel-line\n *\n * @private\n * @param {Array<number>} point1 Point coordinates\n * @param {Array<number>} point2 Point coordinates\n * @param {number} offset Offset\n * @returns {Array<Array<number>>} offset points\n */\nfunction processSegment(point1, point2, offset) {\n var L = Math.sqrt(\n (point1[0] - point2[0]) * (point1[0] - point2[0]) +\n (point1[1] - point2[1]) * (point1[1] - point2[1])\n );\n\n var out1x = point1[0] + (offset * (point2[1] - point1[1])) / L;\n var out2x = point2[0] + (offset * (point2[1] - point1[1])) / L;\n var out1y = point1[1] + (offset * (point1[0] - point2[0])) / L;\n var out2y = point2[1] + (offset * (point1[0] - point2[0])) / L;\n return [\n [out1x, out1y],\n [out2x, out2y],\n ];\n}\n\nexport { lineOffset };\nexport default lineOffset;\n","/**\n * https://github.com/rook2pawn/node-intersection\n *\n * Author @rook2pawn\n */\n\n/**\n * AB\n *\n * @private\n * @param {Array<Array<number>>} segment - 2 vertex line segment\n * @returns {Array<number>} coordinates [x, y]\n */\nfunction ab(segment) {\n var start = segment[0];\n var end = segment[1];\n return [end[0] - start[0], end[1] - start[1]];\n}\n\n/**\n * Cross Product\n *\n * @private\n * @param {Array<number>} v1 coordinates [x, y]\n * @param {Array<number>} v2 coordinates [x, y]\n * @returns {Array<number>} Cross Product\n */\nfunction crossProduct(v1, v2) {\n return v1[0] * v2[1] - v2[0] * v1[1];\n}\n\n/**\n * Add\n *\n * @private\n * @param {Array<number>} v1 coordinates [x, y]\n * @param {Array<number>} v2 coordinates [x, y]\n * @returns {Array<number>} Add\n */\nfunction add(v1, v2) {\n return [v1[0] + v2[0], v1[1] + v2[1]];\n}\n\n/**\n * Sub\n *\n * @private\n * @param {Array<number>} v1 coordinates [x, y]\n * @param {Array<number>} v2 coordinates [x, y]\n * @returns {Array<number>} Sub\n */\nfunction sub(v1, v2) {\n return [v1[0] - v2[0], v1[1] - v2[1]];\n}\n\n/**\n * scalarMult\n *\n * @private\n * @param {number} s scalar\n * @param {Array<number>} v coordinates [x, y]\n * @returns {Array<number>} scalarMult\n */\nfunction scalarMult(s, v) {\n return [s * v[0], s * v[1]];\n}\n\n/**\n * Intersect Segments\n *\n * @private\n * @param {Array<number>} a coordinates [x, y]\n * @param {Array<number>} b coordinates [x, y]\n * @returns {Array<number>} intersection\n */\nfunction intersectSegments(a, b) {\n var p = a[0];\n var r = ab(a);\n var q = b[0];\n var s = ab(b);\n\n var cross = crossProduct(r, s);\n var qmp = sub(q, p);\n var numerator = crossProduct(qmp, s);\n var t = numerator / cross;\n var intersection = add(p, scalarMult(t, r));\n return intersection;\n}\n\n/**\n * Is Parallel\n *\n * @private\n * @param {Array<number>} a coordinates [x, y]\n * @param {Array<number>} b coordinates [x, y]\n * @returns {boolean} true if a and b are parallel (or co-linear)\n */\nfunction isParallel(a, b) {\n var r = ab(a);\n var s = ab(b);\n return crossProduct(r, s) === 0;\n}\n\n/**\n * Intersection\n *\n * @private\n * @param {Array<number>} a coordinates [x, y]\n * @param {Array<number>} b coordinates [x, y]\n * @returns {Array<number>|boolean} true if a and b are parallel (or co-linear)\n */\nfunction intersection(a, b) {\n if (isParallel(a, b)) return false;\n return intersectSegments(a, b);\n}\n\nexport { intersection };\nexport default intersection;\n"]}
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/turf/turf/packages/turf-line-offset/dist/cjs/index.cjs","../../index.js","../../lib/intersection.js"],"names":["intersection"],"mappings":"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","file":"/home/runner/work/turf/turf/packages/turf-line-offset/dist/cjs/index.cjs","sourcesContent":[null,"import { flattenEach } from \"@turf/meta\";\nimport { getCoords, getType } from \"@turf/invariant\";\nimport {\n isObject,\n lineString,\n multiLineString,\n lengthToDegrees,\n} from \"@turf/helpers\";\nimport { intersection } from \"./lib/intersection.js\";\n\n/**\n * Takes a {@link LineString|line} and returns a {@link LineString|line} at offset by the specified distance.\n *\n * @function\n * @param {Geometry|Feature<LineString|MultiLineString>} geojson input GeoJSON\n * @param {number} distance distance to offset the line (can be of negative value)\n * @param {Object} [options={}] Optional parameters\n * @param {Units} [options.units='kilometers'] Supports all valid Turf {@link https://turfjs.org/docs/api/types/Units Units}.\n * @returns {Feature<LineString|MultiLineString>} Line offset from the input line\n * @example\n * var line = turf.lineString([[-83, 30], [-84, 36], [-78, 41]], { \"stroke\": \"#F00\" });\n *\n * var offsetLine = turf.lineOffset(line, 2, {units: 'miles'});\n *\n * //addToMap\n * var addToMap = [offsetLine, line]\n * offsetLine.properties.stroke = \"#00F\"\n */\nfunction lineOffset(geojson, distance, options) {\n // Optional parameters\n options = options || {};\n if (!isObject(options)) throw new Error(\"options is invalid\");\n var units = options.units;\n\n // Valdiation\n if (!geojson) throw new Error(\"geojson is required\");\n if (distance === undefined || distance === null || isNaN(distance))\n throw new Error(\"distance is required\");\n\n var type = getType(geojson);\n var properties = geojson.properties;\n\n switch (type) {\n case \"LineString\":\n return lineOffsetFeature(geojson, distance, units);\n case \"MultiLineString\":\n var coords = [];\n flattenEach(geojson, function (feature) {\n coords.push(\n lineOffsetFeature(feature, distance, units).geometry.coordinates\n );\n });\n return multiLineString(coords, properties);\n default:\n throw new Error(\"geometry \" + type + \" is not supported\");\n }\n}\n\n/**\n * Line Offset\n *\n * @private\n * @param {Geometry|Feature<LineString>} line input line\n * @param {number} distance distance to offset the line (can be of negative value)\n * @param {string} [units=kilometers] units\n * @returns {Feature<LineString>} Line offset from the input line\n */\nfunction lineOffsetFeature(line, distance, units) {\n var segments = [];\n var offsetDegrees = lengthToDegrees(distance, units);\n var coords = getCoords(line);\n var finalCoords = [];\n coords.forEach(function (currentCoords, index) {\n if (index !== coords.length - 1) {\n var segment = processSegment(\n currentCoords,\n coords[index + 1],\n offsetDegrees\n );\n segments.push(segment);\n if (index > 0) {\n var seg2Coords = segments[index - 1];\n var intersects = intersection(segment, seg2Coords);\n\n // Handling for line segments that aren't straight\n if (intersects !== false) {\n seg2Coords[1] = intersects;\n segment[0] = intersects;\n }\n\n finalCoords.push(seg2Coords[0]);\n if (index === coords.length - 2) {\n finalCoords.push(segment[0]);\n finalCoords.push(segment[1]);\n }\n }\n // Handling for lines that only have 1 segment\n if (coords.length === 2) {\n finalCoords.push(segment[0]);\n finalCoords.push(segment[1]);\n }\n }\n });\n return lineString(finalCoords, line.properties);\n}\n\n/**\n * Process Segment\n * Inspiration taken from http://stackoverflow.com/questions/2825412/draw-a-parallel-line\n *\n * @private\n * @param {Array<number>} point1 Point coordinates\n * @param {Array<number>} point2 Point coordinates\n * @param {number} offset Offset\n * @returns {Array<Array<number>>} offset points\n */\nfunction processSegment(point1, point2, offset) {\n var L = Math.sqrt(\n (point1[0] - point2[0]) * (point1[0] - point2[0]) +\n (point1[1] - point2[1]) * (point1[1] - point2[1])\n );\n\n var out1x = point1[0] + (offset * (point2[1] - point1[1])) / L;\n var out2x = point2[0] + (offset * (point2[1] - point1[1])) / L;\n var out1y = point1[1] + (offset * (point1[0] - point2[0])) / L;\n var out2y = point2[1] + (offset * (point1[0] - point2[0])) / L;\n return [\n [out1x, out1y],\n [out2x, out2y],\n ];\n}\n\nexport { lineOffset };\nexport default lineOffset;\n","/**\n * https://github.com/rook2pawn/node-intersection\n *\n * Author @rook2pawn\n */\n\n/**\n * AB\n *\n * @private\n * @param {Array<Array<number>>} segment - 2 vertex line segment\n * @returns {Array<number>} coordinates [x, y]\n */\nfunction ab(segment) {\n var start = segment[0];\n var end = segment[1];\n return [end[0] - start[0], end[1] - start[1]];\n}\n\n/**\n * Cross Product\n *\n * @private\n * @param {Array<number>} v1 coordinates [x, y]\n * @param {Array<number>} v2 coordinates [x, y]\n * @returns {Array<number>} Cross Product\n */\nfunction crossProduct(v1, v2) {\n return v1[0] * v2[1] - v2[0] * v1[1];\n}\n\n/**\n * Add\n *\n * @private\n * @param {Array<number>} v1 coordinates [x, y]\n * @param {Array<number>} v2 coordinates [x, y]\n * @returns {Array<number>} Add\n */\nfunction add(v1, v2) {\n return [v1[0] + v2[0], v1[1] + v2[1]];\n}\n\n/**\n * Sub\n *\n * @private\n * @param {Array<number>} v1 coordinates [x, y]\n * @param {Array<number>} v2 coordinates [x, y]\n * @returns {Array<number>} Sub\n */\nfunction sub(v1, v2) {\n return [v1[0] - v2[0], v1[1] - v2[1]];\n}\n\n/**\n * scalarMult\n *\n * @private\n * @param {number} s scalar\n * @param {Array<number>} v coordinates [x, y]\n * @returns {Array<number>} scalarMult\n */\nfunction scalarMult(s, v) {\n return [s * v[0], s * v[1]];\n}\n\n/**\n * Intersect Segments\n *\n * @private\n * @param {Array<number>} a coordinates [x, y]\n * @param {Array<number>} b coordinates [x, y]\n * @returns {Array<number>} intersection\n */\nfunction intersectSegments(a, b) {\n var p = a[0];\n var r = ab(a);\n var q = b[0];\n var s = ab(b);\n\n var cross = crossProduct(r, s);\n var qmp = sub(q, p);\n var numerator = crossProduct(qmp, s);\n var t = numerator / cross;\n var intersection = add(p, scalarMult(t, r));\n return intersection;\n}\n\n/**\n * Is Parallel\n *\n * @private\n * @param {Array<number>} a coordinates [x, y]\n * @param {Array<number>} b coordinates [x, y]\n * @returns {boolean} true if a and b are parallel (or co-linear)\n */\nfunction isParallel(a, b) {\n var r = ab(a);\n var s = ab(b);\n return crossProduct(r, s) === 0;\n}\n\n/**\n * Intersection\n *\n * @private\n * @param {Array<number>} a coordinates [x, y]\n * @param {Array<number>} b coordinates [x, y]\n * @returns {Array<number>|boolean} true if a and b are parallel (or co-linear)\n */\nfunction intersection(a, b) {\n if (isParallel(a, b)) return false;\n return intersectSegments(a, b);\n}\n\nexport { intersection };\nexport default intersection;\n"]}
|
|
@@ -120,9 +120,9 @@ function processSegment(point1, point2, offset) {
|
|
|
120
120
|
[out2x, out2y]
|
|
121
121
|
];
|
|
122
122
|
}
|
|
123
|
-
var
|
|
123
|
+
var index_default = lineOffset;
|
|
124
124
|
export {
|
|
125
|
-
|
|
125
|
+
index_default as default,
|
|
126
126
|
lineOffset
|
|
127
127
|
};
|
|
128
128
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../index.js","../../lib/intersection.js"],"sourcesContent":["import { flattenEach } from \"@turf/meta\";\nimport { getCoords, getType } from \"@turf/invariant\";\nimport {\n isObject,\n lineString,\n multiLineString,\n lengthToDegrees,\n} from \"@turf/helpers\";\nimport { intersection } from \"./lib/intersection.js\";\n\n/**\n * Takes a {@link LineString|line} and returns a {@link LineString|line} at offset by the specified distance.\n *\n * @function\n * @param {Geometry|Feature<LineString|MultiLineString>} geojson input GeoJSON\n * @param {number} distance distance to offset the line (can be of negative value)\n * @param {Object} [options={}] Optional parameters\n * @param {string} [options.units='kilometers'] can be degrees, radians, miles, kilometers, inches, yards, meters\n * @returns {Feature<LineString|MultiLineString>} Line offset from the input line\n * @example\n * var line = turf.lineString([[-83, 30], [-84, 36], [-78, 41]], { \"stroke\": \"#F00\" });\n *\n * var offsetLine = turf.lineOffset(line, 2, {units: 'miles'});\n *\n * //addToMap\n * var addToMap = [offsetLine, line]\n * offsetLine.properties.stroke = \"#00F\"\n */\nfunction lineOffset(geojson, distance, options) {\n // Optional parameters\n options = options || {};\n if (!isObject(options)) throw new Error(\"options is invalid\");\n var units = options.units;\n\n // Valdiation\n if (!geojson) throw new Error(\"geojson is required\");\n if (distance === undefined || distance === null || isNaN(distance))\n throw new Error(\"distance is required\");\n\n var type = getType(geojson);\n var properties = geojson.properties;\n\n switch (type) {\n case \"LineString\":\n return lineOffsetFeature(geojson, distance, units);\n case \"MultiLineString\":\n var coords = [];\n flattenEach(geojson, function (feature) {\n coords.push(\n lineOffsetFeature(feature, distance, units).geometry.coordinates\n );\n });\n return multiLineString(coords, properties);\n default:\n throw new Error(\"geometry \" + type + \" is not supported\");\n }\n}\n\n/**\n * Line Offset\n *\n * @private\n * @param {Geometry|Feature<LineString>} line input line\n * @param {number} distance distance to offset the line (can be of negative value)\n * @param {string} [units=kilometers] units\n * @returns {Feature<LineString>} Line offset from the input line\n */\nfunction lineOffsetFeature(line, distance, units) {\n var segments = [];\n var offsetDegrees = lengthToDegrees(distance, units);\n var coords = getCoords(line);\n var finalCoords = [];\n coords.forEach(function (currentCoords, index) {\n if (index !== coords.length - 1) {\n var segment = processSegment(\n currentCoords,\n coords[index + 1],\n offsetDegrees\n );\n segments.push(segment);\n if (index > 0) {\n var seg2Coords = segments[index - 1];\n var intersects = intersection(segment, seg2Coords);\n\n // Handling for line segments that aren't straight\n if (intersects !== false) {\n seg2Coords[1] = intersects;\n segment[0] = intersects;\n }\n\n finalCoords.push(seg2Coords[0]);\n if (index === coords.length - 2) {\n finalCoords.push(segment[0]);\n finalCoords.push(segment[1]);\n }\n }\n // Handling for lines that only have 1 segment\n if (coords.length === 2) {\n finalCoords.push(segment[0]);\n finalCoords.push(segment[1]);\n }\n }\n });\n return lineString(finalCoords, line.properties);\n}\n\n/**\n * Process Segment\n * Inspiration taken from http://stackoverflow.com/questions/2825412/draw-a-parallel-line\n *\n * @private\n * @param {Array<number>} point1 Point coordinates\n * @param {Array<number>} point2 Point coordinates\n * @param {number} offset Offset\n * @returns {Array<Array<number>>} offset points\n */\nfunction processSegment(point1, point2, offset) {\n var L = Math.sqrt(\n (point1[0] - point2[0]) * (point1[0] - point2[0]) +\n (point1[1] - point2[1]) * (point1[1] - point2[1])\n );\n\n var out1x = point1[0] + (offset * (point2[1] - point1[1])) / L;\n var out2x = point2[0] + (offset * (point2[1] - point1[1])) / L;\n var out1y = point1[1] + (offset * (point1[0] - point2[0])) / L;\n var out2y = point2[1] + (offset * (point1[0] - point2[0])) / L;\n return [\n [out1x, out1y],\n [out2x, out2y],\n ];\n}\n\nexport { lineOffset };\nexport default lineOffset;\n","/**\n * https://github.com/rook2pawn/node-intersection\n *\n * Author @rook2pawn\n */\n\n/**\n * AB\n *\n * @private\n * @param {Array<Array<number>>} segment - 2 vertex line segment\n * @returns {Array<number>} coordinates [x, y]\n */\nfunction ab(segment) {\n var start = segment[0];\n var end = segment[1];\n return [end[0] - start[0], end[1] - start[1]];\n}\n\n/**\n * Cross Product\n *\n * @private\n * @param {Array<number>} v1 coordinates [x, y]\n * @param {Array<number>} v2 coordinates [x, y]\n * @returns {Array<number>} Cross Product\n */\nfunction crossProduct(v1, v2) {\n return v1[0] * v2[1] - v2[0] * v1[1];\n}\n\n/**\n * Add\n *\n * @private\n * @param {Array<number>} v1 coordinates [x, y]\n * @param {Array<number>} v2 coordinates [x, y]\n * @returns {Array<number>} Add\n */\nfunction add(v1, v2) {\n return [v1[0] + v2[0], v1[1] + v2[1]];\n}\n\n/**\n * Sub\n *\n * @private\n * @param {Array<number>} v1 coordinates [x, y]\n * @param {Array<number>} v2 coordinates [x, y]\n * @returns {Array<number>} Sub\n */\nfunction sub(v1, v2) {\n return [v1[0] - v2[0], v1[1] - v2[1]];\n}\n\n/**\n * scalarMult\n *\n * @private\n * @param {number} s scalar\n * @param {Array<number>} v coordinates [x, y]\n * @returns {Array<number>} scalarMult\n */\nfunction scalarMult(s, v) {\n return [s * v[0], s * v[1]];\n}\n\n/**\n * Intersect Segments\n *\n * @private\n * @param {Array<number>} a coordinates [x, y]\n * @param {Array<number>} b coordinates [x, y]\n * @returns {Array<number>} intersection\n */\nfunction intersectSegments(a, b) {\n var p = a[0];\n var r = ab(a);\n var q = b[0];\n var s = ab(b);\n\n var cross = crossProduct(r, s);\n var qmp = sub(q, p);\n var numerator = crossProduct(qmp, s);\n var t = numerator / cross;\n var intersection = add(p, scalarMult(t, r));\n return intersection;\n}\n\n/**\n * Is Parallel\n *\n * @private\n * @param {Array<number>} a coordinates [x, y]\n * @param {Array<number>} b coordinates [x, y]\n * @returns {boolean} true if a and b are parallel (or co-linear)\n */\nfunction isParallel(a, b) {\n var r = ab(a);\n var s = ab(b);\n return crossProduct(r, s) === 0;\n}\n\n/**\n * Intersection\n *\n * @private\n * @param {Array<number>} a coordinates [x, y]\n * @param {Array<number>} b coordinates [x, y]\n * @returns {Array<number>|boolean} true if a and b are parallel (or co-linear)\n */\nfunction intersection(a, b) {\n if (isParallel(a, b)) return false;\n return intersectSegments(a, b);\n}\n\nexport { intersection };\nexport default intersection;\n"],"mappings":";AAAA,SAAS,mBAAmB;AAC5B,SAAS,WAAW,eAAe;AACnC;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;;;ACMP,SAAS,GAAG,SAAS;AACnB,MAAI,QAAQ,QAAQ,CAAC;AACrB,MAAI,MAAM,QAAQ,CAAC;AACnB,SAAO,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,MAAM,CAAC,CAAC;AAC9C;AAUA,SAAS,aAAa,IAAI,IAAI;AAC5B,SAAO,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC;AACrC;AAUA,SAAS,IAAI,IAAI,IAAI;AACnB,SAAO,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC;AACtC;AAUA,SAAS,IAAI,IAAI,IAAI;AACnB,SAAO,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC;AACtC;AAUA,SAAS,WAAW,GAAG,GAAG;AACxB,SAAO,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;AAC5B;AAUA,SAAS,kBAAkB,GAAG,GAAG;AAC/B,MAAI,IAAI,EAAE,CAAC;AACX,MAAI,IAAI,GAAG,CAAC;AACZ,MAAI,IAAI,EAAE,CAAC;AACX,MAAI,IAAI,GAAG,CAAC;AAEZ,MAAI,QAAQ,aAAa,GAAG,CAAC;AAC7B,MAAI,MAAM,IAAI,GAAG,CAAC;AAClB,MAAI,YAAY,aAAa,KAAK,CAAC;AACnC,MAAI,IAAI,YAAY;AACpB,MAAIA,gBAAe,IAAI,GAAG,WAAW,GAAG,CAAC,CAAC;AAC1C,SAAOA;AACT;AAUA,SAAS,WAAW,GAAG,GAAG;AACxB,MAAI,IAAI,GAAG,CAAC;AACZ,MAAI,IAAI,GAAG,CAAC;AACZ,SAAO,aAAa,GAAG,CAAC,MAAM;AAChC;AAUA,SAAS,aAAa,GAAG,GAAG;AAC1B,MAAI,WAAW,GAAG,CAAC,EAAG,QAAO;AAC7B,SAAO,kBAAkB,GAAG,CAAC;AAC/B;;;ADtFA,SAAS,WAAW,SAAS,UAAU,SAAS;AAE9C,YAAU,WAAW,CAAC;AACtB,MAAI,CAAC,SAAS,OAAO,EAAG,OAAM,IAAI,MAAM,oBAAoB;AAC5D,MAAI,QAAQ,QAAQ;AAGpB,MAAI,CAAC,QAAS,OAAM,IAAI,MAAM,qBAAqB;AACnD,MAAI,aAAa,UAAa,aAAa,QAAQ,MAAM,QAAQ;AAC/D,UAAM,IAAI,MAAM,sBAAsB;AAExC,MAAI,OAAO,QAAQ,OAAO;AAC1B,MAAI,aAAa,QAAQ;AAEzB,UAAQ,MAAM;AAAA,IACZ,KAAK;AACH,aAAO,kBAAkB,SAAS,UAAU,KAAK;AAAA,IACnD,KAAK;AACH,UAAI,SAAS,CAAC;AACd,kBAAY,SAAS,SAAU,SAAS;AACtC,eAAO;AAAA,UACL,kBAAkB,SAAS,UAAU,KAAK,EAAE,SAAS;AAAA,QACvD;AAAA,MACF,CAAC;AACD,aAAO,gBAAgB,QAAQ,UAAU;AAAA,IAC3C;AACE,YAAM,IAAI,MAAM,cAAc,OAAO,mBAAmB;AAAA,EAC5D;AACF;AAWA,SAAS,kBAAkB,MAAM,UAAU,OAAO;AAChD,MAAI,WAAW,CAAC;AAChB,MAAI,gBAAgB,gBAAgB,UAAU,KAAK;AACnD,MAAI,SAAS,UAAU,IAAI;AAC3B,MAAI,cAAc,CAAC;AACnB,SAAO,QAAQ,SAAU,eAAe,OAAO;AAC7C,QAAI,UAAU,OAAO,SAAS,GAAG;AAC/B,UAAI,UAAU;AAAA,QACZ;AAAA,QACA,OAAO,QAAQ,CAAC;AAAA,QAChB;AAAA,MACF;AACA,eAAS,KAAK,OAAO;AACrB,UAAI,QAAQ,GAAG;AACb,YAAI,aAAa,SAAS,QAAQ,CAAC;AACnC,YAAI,aAAa,aAAa,SAAS,UAAU;AAGjD,YAAI,eAAe,OAAO;AACxB,qBAAW,CAAC,IAAI;AAChB,kBAAQ,CAAC,IAAI;AAAA,QACf;AAEA,oBAAY,KAAK,WAAW,CAAC,CAAC;AAC9B,YAAI,UAAU,OAAO,SAAS,GAAG;AAC/B,sBAAY,KAAK,QAAQ,CAAC,CAAC;AAC3B,sBAAY,KAAK,QAAQ,CAAC,CAAC;AAAA,QAC7B;AAAA,MACF;AAEA,UAAI,OAAO,WAAW,GAAG;AACvB,oBAAY,KAAK,QAAQ,CAAC,CAAC;AAC3B,oBAAY,KAAK,QAAQ,CAAC,CAAC;AAAA,MAC7B;AAAA,IACF;AAAA,EACF,CAAC;AACD,SAAO,WAAW,aAAa,KAAK,UAAU;AAChD;AAYA,SAAS,eAAe,QAAQ,QAAQ,QAAQ;AAC9C,MAAI,IAAI,KAAK;AAAA,KACV,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,OAAO,CAAC,IAAI,OAAO,CAAC,MAC5C,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,OAAO,CAAC,IAAI,OAAO,CAAC;AAAA,EACnD;AAEA,MAAI,QAAQ,OAAO,CAAC,IAAK,UAAU,OAAO,CAAC,IAAI,OAAO,CAAC,KAAM;AAC7D,MAAI,QAAQ,OAAO,CAAC,IAAK,UAAU,OAAO,CAAC,IAAI,OAAO,CAAC,KAAM;AAC7D,MAAI,QAAQ,OAAO,CAAC,IAAK,UAAU,OAAO,CAAC,IAAI,OAAO,CAAC,KAAM;AAC7D,MAAI,QAAQ,OAAO,CAAC,IAAK,UAAU,OAAO,CAAC,IAAI,OAAO,CAAC,KAAM;AAC7D,SAAO;AAAA,IACL,CAAC,OAAO,KAAK;AAAA,IACb,CAAC,OAAO,KAAK;AAAA,EACf;AACF;AAGA,IAAO,2BAAQ;","names":["intersection"]}
|
|
1
|
+
{"version":3,"sources":["../../index.js","../../lib/intersection.js"],"sourcesContent":["import { flattenEach } from \"@turf/meta\";\nimport { getCoords, getType } from \"@turf/invariant\";\nimport {\n isObject,\n lineString,\n multiLineString,\n lengthToDegrees,\n} from \"@turf/helpers\";\nimport { intersection } from \"./lib/intersection.js\";\n\n/**\n * Takes a {@link LineString|line} and returns a {@link LineString|line} at offset by the specified distance.\n *\n * @function\n * @param {Geometry|Feature<LineString|MultiLineString>} geojson input GeoJSON\n * @param {number} distance distance to offset the line (can be of negative value)\n * @param {Object} [options={}] Optional parameters\n * @param {Units} [options.units='kilometers'] Supports all valid Turf {@link https://turfjs.org/docs/api/types/Units Units}.\n * @returns {Feature<LineString|MultiLineString>} Line offset from the input line\n * @example\n * var line = turf.lineString([[-83, 30], [-84, 36], [-78, 41]], { \"stroke\": \"#F00\" });\n *\n * var offsetLine = turf.lineOffset(line, 2, {units: 'miles'});\n *\n * //addToMap\n * var addToMap = [offsetLine, line]\n * offsetLine.properties.stroke = \"#00F\"\n */\nfunction lineOffset(geojson, distance, options) {\n // Optional parameters\n options = options || {};\n if (!isObject(options)) throw new Error(\"options is invalid\");\n var units = options.units;\n\n // Valdiation\n if (!geojson) throw new Error(\"geojson is required\");\n if (distance === undefined || distance === null || isNaN(distance))\n throw new Error(\"distance is required\");\n\n var type = getType(geojson);\n var properties = geojson.properties;\n\n switch (type) {\n case \"LineString\":\n return lineOffsetFeature(geojson, distance, units);\n case \"MultiLineString\":\n var coords = [];\n flattenEach(geojson, function (feature) {\n coords.push(\n lineOffsetFeature(feature, distance, units).geometry.coordinates\n );\n });\n return multiLineString(coords, properties);\n default:\n throw new Error(\"geometry \" + type + \" is not supported\");\n }\n}\n\n/**\n * Line Offset\n *\n * @private\n * @param {Geometry|Feature<LineString>} line input line\n * @param {number} distance distance to offset the line (can be of negative value)\n * @param {string} [units=kilometers] units\n * @returns {Feature<LineString>} Line offset from the input line\n */\nfunction lineOffsetFeature(line, distance, units) {\n var segments = [];\n var offsetDegrees = lengthToDegrees(distance, units);\n var coords = getCoords(line);\n var finalCoords = [];\n coords.forEach(function (currentCoords, index) {\n if (index !== coords.length - 1) {\n var segment = processSegment(\n currentCoords,\n coords[index + 1],\n offsetDegrees\n );\n segments.push(segment);\n if (index > 0) {\n var seg2Coords = segments[index - 1];\n var intersects = intersection(segment, seg2Coords);\n\n // Handling for line segments that aren't straight\n if (intersects !== false) {\n seg2Coords[1] = intersects;\n segment[0] = intersects;\n }\n\n finalCoords.push(seg2Coords[0]);\n if (index === coords.length - 2) {\n finalCoords.push(segment[0]);\n finalCoords.push(segment[1]);\n }\n }\n // Handling for lines that only have 1 segment\n if (coords.length === 2) {\n finalCoords.push(segment[0]);\n finalCoords.push(segment[1]);\n }\n }\n });\n return lineString(finalCoords, line.properties);\n}\n\n/**\n * Process Segment\n * Inspiration taken from http://stackoverflow.com/questions/2825412/draw-a-parallel-line\n *\n * @private\n * @param {Array<number>} point1 Point coordinates\n * @param {Array<number>} point2 Point coordinates\n * @param {number} offset Offset\n * @returns {Array<Array<number>>} offset points\n */\nfunction processSegment(point1, point2, offset) {\n var L = Math.sqrt(\n (point1[0] - point2[0]) * (point1[0] - point2[0]) +\n (point1[1] - point2[1]) * (point1[1] - point2[1])\n );\n\n var out1x = point1[0] + (offset * (point2[1] - point1[1])) / L;\n var out2x = point2[0] + (offset * (point2[1] - point1[1])) / L;\n var out1y = point1[1] + (offset * (point1[0] - point2[0])) / L;\n var out2y = point2[1] + (offset * (point1[0] - point2[0])) / L;\n return [\n [out1x, out1y],\n [out2x, out2y],\n ];\n}\n\nexport { lineOffset };\nexport default lineOffset;\n","/**\n * https://github.com/rook2pawn/node-intersection\n *\n * Author @rook2pawn\n */\n\n/**\n * AB\n *\n * @private\n * @param {Array<Array<number>>} segment - 2 vertex line segment\n * @returns {Array<number>} coordinates [x, y]\n */\nfunction ab(segment) {\n var start = segment[0];\n var end = segment[1];\n return [end[0] - start[0], end[1] - start[1]];\n}\n\n/**\n * Cross Product\n *\n * @private\n * @param {Array<number>} v1 coordinates [x, y]\n * @param {Array<number>} v2 coordinates [x, y]\n * @returns {Array<number>} Cross Product\n */\nfunction crossProduct(v1, v2) {\n return v1[0] * v2[1] - v2[0] * v1[1];\n}\n\n/**\n * Add\n *\n * @private\n * @param {Array<number>} v1 coordinates [x, y]\n * @param {Array<number>} v2 coordinates [x, y]\n * @returns {Array<number>} Add\n */\nfunction add(v1, v2) {\n return [v1[0] + v2[0], v1[1] + v2[1]];\n}\n\n/**\n * Sub\n *\n * @private\n * @param {Array<number>} v1 coordinates [x, y]\n * @param {Array<number>} v2 coordinates [x, y]\n * @returns {Array<number>} Sub\n */\nfunction sub(v1, v2) {\n return [v1[0] - v2[0], v1[1] - v2[1]];\n}\n\n/**\n * scalarMult\n *\n * @private\n * @param {number} s scalar\n * @param {Array<number>} v coordinates [x, y]\n * @returns {Array<number>} scalarMult\n */\nfunction scalarMult(s, v) {\n return [s * v[0], s * v[1]];\n}\n\n/**\n * Intersect Segments\n *\n * @private\n * @param {Array<number>} a coordinates [x, y]\n * @param {Array<number>} b coordinates [x, y]\n * @returns {Array<number>} intersection\n */\nfunction intersectSegments(a, b) {\n var p = a[0];\n var r = ab(a);\n var q = b[0];\n var s = ab(b);\n\n var cross = crossProduct(r, s);\n var qmp = sub(q, p);\n var numerator = crossProduct(qmp, s);\n var t = numerator / cross;\n var intersection = add(p, scalarMult(t, r));\n return intersection;\n}\n\n/**\n * Is Parallel\n *\n * @private\n * @param {Array<number>} a coordinates [x, y]\n * @param {Array<number>} b coordinates [x, y]\n * @returns {boolean} true if a and b are parallel (or co-linear)\n */\nfunction isParallel(a, b) {\n var r = ab(a);\n var s = ab(b);\n return crossProduct(r, s) === 0;\n}\n\n/**\n * Intersection\n *\n * @private\n * @param {Array<number>} a coordinates [x, y]\n * @param {Array<number>} b coordinates [x, y]\n * @returns {Array<number>|boolean} true if a and b are parallel (or co-linear)\n */\nfunction intersection(a, b) {\n if (isParallel(a, b)) return false;\n return intersectSegments(a, b);\n}\n\nexport { intersection };\nexport default intersection;\n"],"mappings":"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","names":["intersection"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@turf/line-offset",
|
|
3
|
-
"version": "7.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "7.3.0",
|
|
4
|
+
"description": "Takes a line and returns a line at offset by the specified distance.",
|
|
5
5
|
"author": "Turf Authors",
|
|
6
6
|
"contributors": [
|
|
7
7
|
"David Wee <@rook2pawn>",
|
|
@@ -57,22 +57,22 @@
|
|
|
57
57
|
"test:types": "tsc --esModuleInterop --module node16 --moduleResolution node16 --noEmit --strict types.ts"
|
|
58
58
|
},
|
|
59
59
|
"devDependencies": {
|
|
60
|
-
"@turf/truncate": "
|
|
60
|
+
"@turf/truncate": "7.3.0",
|
|
61
61
|
"@types/benchmark": "^2.1.5",
|
|
62
|
-
"@types/tape": "^
|
|
62
|
+
"@types/tape": "^5.8.1",
|
|
63
63
|
"benchmark": "^2.1.4",
|
|
64
64
|
"load-json-file": "^7.0.1",
|
|
65
65
|
"npm-run-all": "^4.1.5",
|
|
66
66
|
"tape": "^5.9.0",
|
|
67
|
-
"tsup": "^8.
|
|
68
|
-
"tsx": "^4.19.
|
|
69
|
-
"write-json-file": "^
|
|
67
|
+
"tsup": "^8.4.0",
|
|
68
|
+
"tsx": "^4.19.4",
|
|
69
|
+
"write-json-file": "^6.0.0"
|
|
70
70
|
},
|
|
71
71
|
"dependencies": {
|
|
72
|
-
"@turf/helpers": "
|
|
73
|
-
"@turf/invariant": "
|
|
74
|
-
"@turf/meta": "
|
|
72
|
+
"@turf/helpers": "7.3.0",
|
|
73
|
+
"@turf/invariant": "7.3.0",
|
|
74
|
+
"@turf/meta": "7.3.0",
|
|
75
75
|
"@types/geojson": "^7946.0.10"
|
|
76
76
|
},
|
|
77
|
-
"gitHead": "
|
|
77
|
+
"gitHead": "9f58a103e8f9a587ab640307ed03ba5233913ddd"
|
|
78
78
|
}
|
|
@@ -73,9 +73,9 @@ function concatSegment(line, segment) {
|
|
|
73
73
|
else return;
|
|
74
74
|
return line;
|
|
75
75
|
}
|
|
76
|
-
var
|
|
76
|
+
var index_default = lineOverlap;
|
|
77
77
|
|
|
78
78
|
|
|
79
79
|
|
|
80
|
-
exports.default =
|
|
80
|
+
exports.default = index_default; exports.lineOverlap = lineOverlap;
|
|
81
81
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/turf/turf/packages/turf-line-overlap/dist/cjs/index.cjs","../../index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/turf/turf/packages/turf-line-overlap/dist/cjs/index.cjs","../../index.ts"],"names":[],"mappings":"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","file":"/home/runner/work/turf/turf/packages/turf-line-overlap/dist/cjs/index.cjs","sourcesContent":[null,"import { geojsonRbush as rbush } from \"@turf/geojson-rbush\";\nimport { lineSegment } from \"@turf/line-segment\";\nimport { nearestPointOnLine } from \"@turf/nearest-point-on-line\";\nimport { booleanPointOnLine } from \"@turf/boolean-point-on-line\";\nimport { getCoords } from \"@turf/invariant\";\nimport { featureEach, segmentEach } from \"@turf/meta\";\nimport {\n FeatureCollection,\n Feature,\n LineString,\n MultiLineString,\n Polygon,\n MultiPolygon,\n GeoJsonProperties,\n} from \"geojson\";\nimport { featureCollection, isObject } from \"@turf/helpers\";\nimport equal from \"fast-deep-equal\";\n\n/**\n * Takes any LineString or Polygon and returns the overlapping lines between both features.\n *\n * @function\n * @param {Geometry|Feature<LineString|MultiLineString|Polygon|MultiPolygon>} line1 any LineString or Polygon\n * @param {Geometry|Feature<LineString|MultiLineString|Polygon|MultiPolygon>} line2 any LineString or Polygon\n * @param {Object} [options={}] Optional parameters\n * @param {number} [options.tolerance=0] Tolerance distance to match overlapping line segments (in kilometers)\n * @returns {FeatureCollection<LineString>} lines(s) that are overlapping between both features\n * @example\n * var line1 = turf.lineString([[115, -35], [125, -30], [135, -30], [145, -35]]);\n * var line2 = turf.lineString([[115, -25], [125, -30], [135, -30], [145, -25]]);\n *\n * var overlapping = turf.lineOverlap(line1, line2);\n *\n * //addToMap\n * var addToMap = [line1, line2, overlapping]\n */\nfunction lineOverlap<\n G1 extends LineString | MultiLineString | Polygon | MultiPolygon,\n G2 extends LineString | MultiLineString | Polygon | MultiPolygon,\n>(\n line1: Feature<G1> | G1,\n line2: Feature<G2> | G2,\n options: { tolerance?: number } = {}\n): FeatureCollection<LineString> {\n // Optional parameters\n options = options || {};\n if (!isObject(options)) throw new Error(\"options is invalid\");\n var tolerance = options.tolerance || 0;\n\n // Containers\n var features: Feature<LineString, GeoJsonProperties>[] = [];\n\n // Create Spatial Index\n var tree = rbush<LineString>();\n\n // To-Do -- HACK way to support typescript\n const line: any = lineSegment(line1);\n tree.load(line);\n var overlapSegment: Feature<LineString> | undefined;\n let additionalSegments: Feature<LineString>[] = [];\n\n // Line Intersection\n\n // Iterate over line segments\n segmentEach(line2, function (segment) {\n var doesOverlaps = false;\n\n if (!segment) {\n return;\n }\n\n // Iterate over each segments which falls within the same bounds\n featureEach(tree.search(segment), function (match) {\n if (doesOverlaps === false) {\n var coordsSegment = getCoords(segment).sort();\n var coordsMatch: any = getCoords(match).sort();\n\n // Segment overlaps feature\n if (equal(coordsSegment, coordsMatch)) {\n doesOverlaps = true;\n // Overlaps already exists - only append last coordinate of segment\n if (overlapSegment) {\n overlapSegment =\n concatSegment(overlapSegment, segment) || overlapSegment;\n } else overlapSegment = segment;\n // Match segments which don't share nodes (Issue #901)\n } else if (\n tolerance === 0\n ? booleanPointOnLine(coordsSegment[0], match) &&\n booleanPointOnLine(coordsSegment[1], match)\n : nearestPointOnLine(match, coordsSegment[0]).properties.dist! <=\n tolerance &&\n nearestPointOnLine(match, coordsSegment[1]).properties.dist! <=\n tolerance\n ) {\n doesOverlaps = true;\n if (overlapSegment) {\n overlapSegment =\n concatSegment(overlapSegment, segment) || overlapSegment;\n } else overlapSegment = segment;\n } else if (\n tolerance === 0\n ? booleanPointOnLine(coordsMatch[0], segment) &&\n booleanPointOnLine(coordsMatch[1], segment)\n : nearestPointOnLine(segment, coordsMatch[0]).properties.dist! <=\n tolerance &&\n nearestPointOnLine(segment, coordsMatch[1]).properties.dist! <=\n tolerance\n ) {\n // Do not define (doesOverlap = true) since more matches can occur within the same segment\n // doesOverlaps = true;\n if (overlapSegment) {\n const combinedSegment = concatSegment(overlapSegment, match);\n if (combinedSegment) {\n overlapSegment = combinedSegment;\n } else {\n additionalSegments.push(match);\n }\n } else overlapSegment = match;\n }\n }\n });\n\n // Segment doesn't overlap - add overlaps to results & reset\n if (doesOverlaps === false && overlapSegment) {\n features.push(overlapSegment);\n if (additionalSegments.length) {\n features = features.concat(additionalSegments);\n additionalSegments = [];\n }\n overlapSegment = undefined;\n }\n });\n // Add last segment if exists\n if (overlapSegment) features.push(overlapSegment);\n\n return featureCollection(features);\n}\n\n/**\n * Concat Segment\n *\n * @private\n * @param {Feature<LineString>} line LineString\n * @param {Feature<LineString>} segment 2-vertex LineString\n * @returns {Feature<LineString>} concat linestring\n */\nfunction concatSegment(\n line: Feature<LineString>,\n segment: Feature<LineString>\n) {\n var coords = getCoords(segment);\n var lineCoords = getCoords(line);\n var start = lineCoords[0];\n var end = lineCoords[lineCoords.length - 1];\n var geom = line.geometry.coordinates;\n\n if (equal(coords[0], start)) geom.unshift(coords[1]);\n else if (equal(coords[0], end)) geom.push(coords[1]);\n else if (equal(coords[1], start)) geom.unshift(coords[0]);\n else if (equal(coords[1], end)) geom.push(coords[0]);\n else return; // If the overlap leaves the segment unchanged, return undefined so that this can be identified.\n\n // Otherwise return the mutated line.\n return line;\n}\n\nexport { lineOverlap };\nexport default lineOverlap;\n"]}
|
|
@@ -73,9 +73,9 @@ function concatSegment(line, segment) {
|
|
|
73
73
|
else return;
|
|
74
74
|
return line;
|
|
75
75
|
}
|
|
76
|
-
var
|
|
76
|
+
var index_default = lineOverlap;
|
|
77
77
|
export {
|
|
78
|
-
|
|
78
|
+
index_default as default,
|
|
79
79
|
lineOverlap
|
|
80
80
|
};
|
|
81
81
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../index.ts"],"sourcesContent":["import { geojsonRbush as rbush } from \"@turf/geojson-rbush\";\nimport { lineSegment } from \"@turf/line-segment\";\nimport { nearestPointOnLine } from \"@turf/nearest-point-on-line\";\nimport { booleanPointOnLine } from \"@turf/boolean-point-on-line\";\nimport { getCoords } from \"@turf/invariant\";\nimport { featureEach, segmentEach } from \"@turf/meta\";\nimport {\n FeatureCollection,\n Feature,\n LineString,\n MultiLineString,\n Polygon,\n MultiPolygon,\n GeoJsonProperties,\n} from \"geojson\";\nimport { featureCollection, isObject } from \"@turf/helpers\";\nimport equal from \"fast-deep-equal\";\n\n/**\n * Takes any LineString or Polygon and returns the overlapping lines between both features.\n *\n * @function\n * @param {Geometry|Feature<LineString|MultiLineString|Polygon|MultiPolygon>} line1 any LineString or Polygon\n * @param {Geometry|Feature<LineString|MultiLineString|Polygon|MultiPolygon>} line2 any LineString or Polygon\n * @param {Object} [options={}] Optional parameters\n * @param {number} [options.tolerance=0] Tolerance distance to match overlapping line segments (in kilometers)\n * @returns {FeatureCollection<LineString>} lines(s) that are overlapping between both features\n * @example\n * var line1 = turf.lineString([[115, -35], [125, -30], [135, -30], [145, -35]]);\n * var line2 = turf.lineString([[115, -25], [125, -30], [135, -30], [145, -25]]);\n *\n * var overlapping = turf.lineOverlap(line1, line2);\n *\n * //addToMap\n * var addToMap = [line1, line2, overlapping]\n */\nfunction lineOverlap<\n G1 extends LineString | MultiLineString | Polygon | MultiPolygon,\n G2 extends LineString | MultiLineString | Polygon | MultiPolygon,\n>(\n line1: Feature<G1> | G1,\n line2: Feature<G2> | G2,\n options: { tolerance?: number } = {}\n): FeatureCollection<LineString> {\n // Optional parameters\n options = options || {};\n if (!isObject(options)) throw new Error(\"options is invalid\");\n var tolerance = options.tolerance || 0;\n\n // Containers\n var features: Feature<LineString, GeoJsonProperties>[] = [];\n\n // Create Spatial Index\n var tree = rbush<LineString>();\n\n // To-Do -- HACK way to support typescript\n const line: any = lineSegment(line1);\n tree.load(line);\n var overlapSegment: Feature<LineString> | undefined;\n let additionalSegments: Feature<LineString>[] = [];\n\n // Line Intersection\n\n // Iterate over line segments\n segmentEach(line2, function (segment) {\n var doesOverlaps = false;\n\n if (!segment) {\n return;\n }\n\n // Iterate over each segments which falls within the same bounds\n featureEach(tree.search(segment), function (match) {\n if (doesOverlaps === false) {\n var coordsSegment = getCoords(segment).sort();\n var coordsMatch: any = getCoords(match).sort();\n\n // Segment overlaps feature\n if (equal(coordsSegment, coordsMatch)) {\n doesOverlaps = true;\n // Overlaps already exists - only append last coordinate of segment\n if (overlapSegment) {\n overlapSegment =\n concatSegment(overlapSegment, segment) || overlapSegment;\n } else overlapSegment = segment;\n // Match segments which don't share nodes (Issue #901)\n } else if (\n tolerance === 0\n ? booleanPointOnLine(coordsSegment[0], match) &&\n booleanPointOnLine(coordsSegment[1], match)\n : nearestPointOnLine(match, coordsSegment[0]).properties.dist! <=\n tolerance &&\n nearestPointOnLine(match, coordsSegment[1]).properties.dist! <=\n tolerance\n ) {\n doesOverlaps = true;\n if (overlapSegment) {\n overlapSegment =\n concatSegment(overlapSegment, segment) || overlapSegment;\n } else overlapSegment = segment;\n } else if (\n tolerance === 0\n ? booleanPointOnLine(coordsMatch[0], segment) &&\n booleanPointOnLine(coordsMatch[1], segment)\n : nearestPointOnLine(segment, coordsMatch[0]).properties.dist! <=\n tolerance &&\n nearestPointOnLine(segment, coordsMatch[1]).properties.dist! <=\n tolerance\n ) {\n // Do not define (doesOverlap = true) since more matches can occur within the same segment\n // doesOverlaps = true;\n if (overlapSegment) {\n const combinedSegment = concatSegment(overlapSegment, match);\n if (combinedSegment) {\n overlapSegment = combinedSegment;\n } else {\n additionalSegments.push(match);\n }\n } else overlapSegment = match;\n }\n }\n });\n\n // Segment doesn't overlap - add overlaps to results & reset\n if (doesOverlaps === false && overlapSegment) {\n features.push(overlapSegment);\n if (additionalSegments.length) {\n features = features.concat(additionalSegments);\n additionalSegments = [];\n }\n overlapSegment = undefined;\n }\n });\n // Add last segment if exists\n if (overlapSegment) features.push(overlapSegment);\n\n return featureCollection(features);\n}\n\n/**\n * Concat Segment\n *\n * @private\n * @param {Feature<LineString>} line LineString\n * @param {Feature<LineString>} segment 2-vertex LineString\n * @returns {Feature<LineString>} concat linestring\n */\nfunction concatSegment(\n line: Feature<LineString>,\n segment: Feature<LineString>\n) {\n var coords = getCoords(segment);\n var lineCoords = getCoords(line);\n var start = lineCoords[0];\n var end = lineCoords[lineCoords.length - 1];\n var geom = line.geometry.coordinates;\n\n if (equal(coords[0], start)) geom.unshift(coords[1]);\n else if (equal(coords[0], end)) geom.push(coords[1]);\n else if (equal(coords[1], start)) geom.unshift(coords[0]);\n else if (equal(coords[1], end)) geom.push(coords[0]);\n else return; // If the overlap leaves the segment unchanged, return undefined so that this can be identified.\n\n // Otherwise return the mutated line.\n return line;\n}\n\nexport { lineOverlap };\nexport default lineOverlap;\n"],"mappings":"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
|
|
1
|
+
{"version":3,"sources":["../../index.ts"],"sourcesContent":["import { geojsonRbush as rbush } from \"@turf/geojson-rbush\";\nimport { lineSegment } from \"@turf/line-segment\";\nimport { nearestPointOnLine } from \"@turf/nearest-point-on-line\";\nimport { booleanPointOnLine } from \"@turf/boolean-point-on-line\";\nimport { getCoords } from \"@turf/invariant\";\nimport { featureEach, segmentEach } from \"@turf/meta\";\nimport {\n FeatureCollection,\n Feature,\n LineString,\n MultiLineString,\n Polygon,\n MultiPolygon,\n GeoJsonProperties,\n} from \"geojson\";\nimport { featureCollection, isObject } from \"@turf/helpers\";\nimport equal from \"fast-deep-equal\";\n\n/**\n * Takes any LineString or Polygon and returns the overlapping lines between both features.\n *\n * @function\n * @param {Geometry|Feature<LineString|MultiLineString|Polygon|MultiPolygon>} line1 any LineString or Polygon\n * @param {Geometry|Feature<LineString|MultiLineString|Polygon|MultiPolygon>} line2 any LineString or Polygon\n * @param {Object} [options={}] Optional parameters\n * @param {number} [options.tolerance=0] Tolerance distance to match overlapping line segments (in kilometers)\n * @returns {FeatureCollection<LineString>} lines(s) that are overlapping between both features\n * @example\n * var line1 = turf.lineString([[115, -35], [125, -30], [135, -30], [145, -35]]);\n * var line2 = turf.lineString([[115, -25], [125, -30], [135, -30], [145, -25]]);\n *\n * var overlapping = turf.lineOverlap(line1, line2);\n *\n * //addToMap\n * var addToMap = [line1, line2, overlapping]\n */\nfunction lineOverlap<\n G1 extends LineString | MultiLineString | Polygon | MultiPolygon,\n G2 extends LineString | MultiLineString | Polygon | MultiPolygon,\n>(\n line1: Feature<G1> | G1,\n line2: Feature<G2> | G2,\n options: { tolerance?: number } = {}\n): FeatureCollection<LineString> {\n // Optional parameters\n options = options || {};\n if (!isObject(options)) throw new Error(\"options is invalid\");\n var tolerance = options.tolerance || 0;\n\n // Containers\n var features: Feature<LineString, GeoJsonProperties>[] = [];\n\n // Create Spatial Index\n var tree = rbush<LineString>();\n\n // To-Do -- HACK way to support typescript\n const line: any = lineSegment(line1);\n tree.load(line);\n var overlapSegment: Feature<LineString> | undefined;\n let additionalSegments: Feature<LineString>[] = [];\n\n // Line Intersection\n\n // Iterate over line segments\n segmentEach(line2, function (segment) {\n var doesOverlaps = false;\n\n if (!segment) {\n return;\n }\n\n // Iterate over each segments which falls within the same bounds\n featureEach(tree.search(segment), function (match) {\n if (doesOverlaps === false) {\n var coordsSegment = getCoords(segment).sort();\n var coordsMatch: any = getCoords(match).sort();\n\n // Segment overlaps feature\n if (equal(coordsSegment, coordsMatch)) {\n doesOverlaps = true;\n // Overlaps already exists - only append last coordinate of segment\n if (overlapSegment) {\n overlapSegment =\n concatSegment(overlapSegment, segment) || overlapSegment;\n } else overlapSegment = segment;\n // Match segments which don't share nodes (Issue #901)\n } else if (\n tolerance === 0\n ? booleanPointOnLine(coordsSegment[0], match) &&\n booleanPointOnLine(coordsSegment[1], match)\n : nearestPointOnLine(match, coordsSegment[0]).properties.dist! <=\n tolerance &&\n nearestPointOnLine(match, coordsSegment[1]).properties.dist! <=\n tolerance\n ) {\n doesOverlaps = true;\n if (overlapSegment) {\n overlapSegment =\n concatSegment(overlapSegment, segment) || overlapSegment;\n } else overlapSegment = segment;\n } else if (\n tolerance === 0\n ? booleanPointOnLine(coordsMatch[0], segment) &&\n booleanPointOnLine(coordsMatch[1], segment)\n : nearestPointOnLine(segment, coordsMatch[0]).properties.dist! <=\n tolerance &&\n nearestPointOnLine(segment, coordsMatch[1]).properties.dist! <=\n tolerance\n ) {\n // Do not define (doesOverlap = true) since more matches can occur within the same segment\n // doesOverlaps = true;\n if (overlapSegment) {\n const combinedSegment = concatSegment(overlapSegment, match);\n if (combinedSegment) {\n overlapSegment = combinedSegment;\n } else {\n additionalSegments.push(match);\n }\n } else overlapSegment = match;\n }\n }\n });\n\n // Segment doesn't overlap - add overlaps to results & reset\n if (doesOverlaps === false && overlapSegment) {\n features.push(overlapSegment);\n if (additionalSegments.length) {\n features = features.concat(additionalSegments);\n additionalSegments = [];\n }\n overlapSegment = undefined;\n }\n });\n // Add last segment if exists\n if (overlapSegment) features.push(overlapSegment);\n\n return featureCollection(features);\n}\n\n/**\n * Concat Segment\n *\n * @private\n * @param {Feature<LineString>} line LineString\n * @param {Feature<LineString>} segment 2-vertex LineString\n * @returns {Feature<LineString>} concat linestring\n */\nfunction concatSegment(\n line: Feature<LineString>,\n segment: Feature<LineString>\n) {\n var coords = getCoords(segment);\n var lineCoords = getCoords(line);\n var start = lineCoords[0];\n var end = lineCoords[lineCoords.length - 1];\n var geom = line.geometry.coordinates;\n\n if (equal(coords[0], start)) geom.unshift(coords[1]);\n else if (equal(coords[0], end)) geom.push(coords[1]);\n else if (equal(coords[1], start)) geom.unshift(coords[0]);\n else if (equal(coords[1], end)) geom.push(coords[0]);\n else return; // If the overlap leaves the segment unchanged, return undefined so that this can be identified.\n\n // Otherwise return the mutated line.\n return line;\n}\n\nexport { lineOverlap };\nexport default lineOverlap;\n"],"mappings":";AAAA,SAAS,gBAAgB,aAAa;AACtC,SAAS,mBAAmB;AAC5B,SAAS,0BAA0B;AACnC,SAAS,0BAA0B;AACnC,SAAS,iBAAiB;AAC1B,SAAS,aAAa,mBAAmB;AAUzC,SAAS,mBAAmB,gBAAgB;AAC5C,OAAO,WAAW;AAoBlB,SAAS,YAIP,OACA,OACA,UAAkC,CAAC,GACJ;AAE/B,YAAU,WAAW,CAAC;AACtB,MAAI,CAAC,SAAS,OAAO,EAAG,OAAM,IAAI,MAAM,oBAAoB;AAC5D,MAAI,YAAY,QAAQ,aAAa;AAGrC,MAAI,WAAqD,CAAC;AAG1D,MAAI,OAAO,MAAkB;AAG7B,QAAM,OAAY,YAAY,KAAK;AACnC,OAAK,KAAK,IAAI;AACd,MAAI;AACJ,MAAI,qBAA4C,CAAC;AAKjD,cAAY,OAAO,SAAU,SAAS;AACpC,QAAI,eAAe;AAEnB,QAAI,CAAC,SAAS;AACZ;AAAA,IACF;AAGA,gBAAY,KAAK,OAAO,OAAO,GAAG,SAAU,OAAO;AACjD,UAAI,iBAAiB,OAAO;AAC1B,YAAI,gBAAgB,UAAU,OAAO,EAAE,KAAK;AAC5C,YAAI,cAAmB,UAAU,KAAK,EAAE,KAAK;AAG7C,YAAI,MAAM,eAAe,WAAW,GAAG;AACrC,yBAAe;AAEf,cAAI,gBAAgB;AAClB,6BACE,cAAc,gBAAgB,OAAO,KAAK;AAAA,UAC9C,MAAO,kBAAiB;AAAA,QAE1B,WACE,cAAc,IACV,mBAAmB,cAAc,CAAC,GAAG,KAAK,KAC1C,mBAAmB,cAAc,CAAC,GAAG,KAAK,IAC1C,mBAAmB,OAAO,cAAc,CAAC,CAAC,EAAE,WAAW,QACrD,aACF,mBAAmB,OAAO,cAAc,CAAC,CAAC,EAAE,WAAW,QACrD,WACN;AACA,yBAAe;AACf,cAAI,gBAAgB;AAClB,6BACE,cAAc,gBAAgB,OAAO,KAAK;AAAA,UAC9C,MAAO,kBAAiB;AAAA,QAC1B,WACE,cAAc,IACV,mBAAmB,YAAY,CAAC,GAAG,OAAO,KAC1C,mBAAmB,YAAY,CAAC,GAAG,OAAO,IAC1C,mBAAmB,SAAS,YAAY,CAAC,CAAC,EAAE,WAAW,QACrD,aACF,mBAAmB,SAAS,YAAY,CAAC,CAAC,EAAE,WAAW,QACrD,WACN;AAGA,cAAI,gBAAgB;AAClB,kBAAM,kBAAkB,cAAc,gBAAgB,KAAK;AAC3D,gBAAI,iBAAiB;AACnB,+BAAiB;AAAA,YACnB,OAAO;AACL,iCAAmB,KAAK,KAAK;AAAA,YAC/B;AAAA,UACF,MAAO,kBAAiB;AAAA,QAC1B;AAAA,MACF;AAAA,IACF,CAAC;AAGD,QAAI,iBAAiB,SAAS,gBAAgB;AAC5C,eAAS,KAAK,cAAc;AAC5B,UAAI,mBAAmB,QAAQ;AAC7B,mBAAW,SAAS,OAAO,kBAAkB;AAC7C,6BAAqB,CAAC;AAAA,MACxB;AACA,uBAAiB;AAAA,IACnB;AAAA,EACF,CAAC;AAED,MAAI,eAAgB,UAAS,KAAK,cAAc;AAEhD,SAAO,kBAAkB,QAAQ;AACnC;AAUA,SAAS,cACP,MACA,SACA;AACA,MAAI,SAAS,UAAU,OAAO;AAC9B,MAAI,aAAa,UAAU,IAAI;AAC/B,MAAI,QAAQ,WAAW,CAAC;AACxB,MAAI,MAAM,WAAW,WAAW,SAAS,CAAC;AAC1C,MAAI,OAAO,KAAK,SAAS;AAEzB,MAAI,MAAM,OAAO,CAAC,GAAG,KAAK,EAAG,MAAK,QAAQ,OAAO,CAAC,CAAC;AAAA,WAC1C,MAAM,OAAO,CAAC,GAAG,GAAG,EAAG,MAAK,KAAK,OAAO,CAAC,CAAC;AAAA,WAC1C,MAAM,OAAO,CAAC,GAAG,KAAK,EAAG,MAAK,QAAQ,OAAO,CAAC,CAAC;AAAA,WAC/C,MAAM,OAAO,CAAC,GAAG,GAAG,EAAG,MAAK,KAAK,OAAO,CAAC,CAAC;AAAA,MAC9C;AAGL,SAAO;AACT;AAGA,IAAO,gBAAQ;","names":[]}
|