index.cjs 1.2 KB

1234567891011121314151617181920212223242526272829
  1. "use strict";Object.defineProperty(exports, "__esModule", {value: true});// index.js
  2. var _invariant = require('@turf/invariant');
  3. var _helpers = require('@turf/helpers');
  4. var _nearestpointonline = require('@turf/nearest-point-on-line');
  5. function lineSlice(startPt, stopPt, line) {
  6. var coords = _invariant.getCoords.call(void 0, line);
  7. if (_invariant.getType.call(void 0, line) !== "LineString")
  8. throw new Error("line must be a LineString");
  9. var startVertex = _nearestpointonline.nearestPointOnLine.call(void 0, line, startPt);
  10. var stopVertex = _nearestpointonline.nearestPointOnLine.call(void 0, line, stopPt);
  11. var ends;
  12. if (startVertex.properties.index <= stopVertex.properties.index) {
  13. ends = [startVertex, stopVertex];
  14. } else {
  15. ends = [stopVertex, startVertex];
  16. }
  17. var clipCoords = [ends[0].geometry.coordinates];
  18. for (var i = ends[0].properties.index + 1; i < ends[1].properties.index + 1; i++) {
  19. clipCoords.push(coords[i]);
  20. }
  21. clipCoords.push(ends[1].geometry.coordinates);
  22. return _helpers.lineString.call(void 0, clipCoords, line.properties);
  23. }
  24. var turf_line_slice_default = lineSlice;
  25. exports.default = turf_line_slice_default; exports.lineSlice = lineSlice;
  26. //# sourceMappingURL=index.cjs.map