@turf/line-slice-along 7.0.0 → 7.1.0-alpha.70

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/README.md CHANGED
@@ -12,12 +12,12 @@ This can be useful for extracting only the part of a route between two distances
12
12
 
13
13
  ### Parameters
14
14
 
15
- * `line` **([Feature][3]<[LineString][4]> | [LineString][4])** input line
16
- * `startDist` **[number][5]** distance along the line to starting point
17
- * `stopDist` **[number][5]** distance along the line to ending point
18
- * `options` **[Object][6]** Optional parameters (optional, default `{}`)
15
+ * `line` **([Feature][3]<[LineString][1]> | [LineString][1])** input line
16
+ * `startDist` **[number][4]** distance along the line to starting point
17
+ * `stopDist` **[number][4]** distance along the line to ending point
18
+ * `options` **[Object][5]** Optional parameters (optional, default `{}`)
19
19
 
20
- * `options.units` **[string][7]** can be degrees, radians, miles, or kilometers (optional, default `'kilometers'`)
20
+ * `options.units` **[string][6]** can be degrees, radians, miles, or kilometers (optional, default `'kilometers'`)
21
21
 
22
22
  ### Examples
23
23
 
@@ -31,7 +31,7 @@ var sliced = turf.lineSliceAlong(line, start, stop, {units: 'miles'});
31
31
  var addToMap = [line, start, stop, sliced]
32
32
  ```
33
33
 
34
- Returns **[Feature][3]<[LineString][4]>** sliced line
34
+ Returns **[Feature][3]<[LineString][1]>** sliced line
35
35
 
36
36
  [1]: https://tools.ietf.org/html/rfc7946#section-3.1.4
37
37
 
@@ -39,13 +39,11 @@ Returns **[Feature][3]<[LineString][4]>** sliced line
39
39
 
40
40
  [3]: https://tools.ietf.org/html/rfc7946#section-3.2
41
41
 
42
- [4]: https://tools.ietf.org/html/rfc7946#section-3.1.4
42
+ [4]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number
43
43
 
44
- [5]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number
44
+ [5]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object
45
45
 
46
- [6]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object
47
-
48
- [7]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String
46
+ [6]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String
49
47
 
50
48
  <!-- 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. -->
51
49
 
@@ -1,7 +1,4 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var __defProp = Object.defineProperty;
2
- var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
-
4
- // index.js
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});// index.js
5
2
  var _bearing = require('@turf/bearing');
6
3
  var _distance = require('@turf/distance');
7
4
  var _destination = require('@turf/destination');
@@ -58,7 +55,6 @@ function lineSliceAlong(line, startDist, stopDist, options) {
58
55
  var last = coords[coords.length - 1];
59
56
  return _helpers.lineString.call(void 0, [last, last]);
60
57
  }
61
- __name(lineSliceAlong, "lineSliceAlong");
62
58
  var turf_line_slice_along_default = lineSliceAlong;
63
59
 
64
60
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../index.js"],"names":[],"mappings":";;;;AAAA,SAAS,eAAe;AACxB,SAAS,gBAAgB;AACzB,SAAS,mBAAmB;AAC5B,SAAS,YAAY,gBAAgB;AAyBrC,SAAS,eAAe,MAAM,WAAW,UAAU,SAAS;AAE1D,YAAU,WAAW,CAAC;AACtB,MAAI,CAAC,SAAS,OAAO;AAAG,UAAM,IAAI,MAAM,oBAAoB;AAE5D,MAAI;AACJ,MAAI,QAAQ,CAAC;AAGb,MAAI,KAAK,SAAS;AAAW,aAAS,KAAK,SAAS;AAAA,WAC3C,KAAK,SAAS;AAAc,aAAS,KAAK;AAAA;AAC9C,UAAM,IAAI,MAAM,gDAAgD;AACrE,MAAI,mBAAmB,OAAO;AAC9B,MAAI,YAAY;AAChB,MAAI,UAAU,WAAW;AACzB,WAAS,IAAI,GAAG,IAAI,OAAO,QAAQ,KAAK;AACtC,QAAI,aAAa,aAAa,MAAM,OAAO,SAAS;AAAG;AAAA,aAC9C,YAAY,aAAa,MAAM,WAAW,GAAG;AACpD,iBAAW,YAAY;AACvB,UAAI,CAAC,UAAU;AACb,cAAM,KAAK,OAAO,CAAC,CAAC;AACpB,eAAO,WAAW,KAAK;AAAA,MACzB;AACA,kBAAY,QAAQ,OAAO,CAAC,GAAG,OAAO,IAAI,CAAC,CAAC,IAAI;AAChD,qBAAe,YAAY,OAAO,CAAC,GAAG,UAAU,WAAW,OAAO;AAClE,YAAM,KAAK,aAAa,SAAS,WAAW;AAAA,IAC9C;AAEA,QAAI,aAAa,UAAU;AACzB,iBAAW,WAAW;AACtB,UAAI,CAAC,UAAU;AACb,cAAM,KAAK,OAAO,CAAC,CAAC;AACpB,eAAO,WAAW,KAAK;AAAA,MACzB;AACA,kBAAY,QAAQ,OAAO,CAAC,GAAG,OAAO,IAAI,CAAC,CAAC,IAAI;AAChD,qBAAe,YAAY,OAAO,CAAC,GAAG,UAAU,WAAW,OAAO;AAClE,YAAM,KAAK,aAAa,SAAS,WAAW;AAC5C,aAAO,WAAW,KAAK;AAAA,IACzB;AAEA,QAAI,aAAa,WAAW;AAC1B,YAAM,KAAK,OAAO,CAAC,CAAC;AAAA,IACtB;AAEA,QAAI,MAAM,OAAO,SAAS,GAAG;AAC3B,aAAO,WAAW,KAAK;AAAA,IACzB;AAEA,iBAAa,SAAS,OAAO,CAAC,GAAG,OAAO,IAAI,CAAC,GAAG,OAAO;AAAA,EACzD;AAEA,MAAI,YAAY,aAAa,OAAO,WAAW;AAC7C,UAAM,IAAI,MAAM,+BAA+B;AAEjD,MAAI,OAAO,OAAO,OAAO,SAAS,CAAC;AACnC,SAAO,WAAW,CAAC,MAAM,IAAI,CAAC;AAChC;AAxDS;AA2DT,IAAO,gCAAQ","sourcesContent":["import { bearing } from \"@turf/bearing\";\nimport { distance } from \"@turf/distance\";\nimport { destination } from \"@turf/destination\";\nimport { lineString, isObject } from \"@turf/helpers\";\n\n/**\n * Takes a {@link LineString|line}, a specified distance along the line to a start {@link Point},\n * and a specified distance along the line to a stop point\n * and returns a subsection of the line in-between those points.\n *\n * This can be useful for extracting only the part of a route between two distances.\n *\n * @name lineSliceAlong\n * @param {Feature<LineString>|LineString} line input line\n * @param {number} startDist distance along the line to starting point\n * @param {number} stopDist distance along the line to ending point\n * @param {Object} [options={}] Optional parameters\n * @param {string} [options.units='kilometers'] can be degrees, radians, miles, or kilometers\n * @returns {Feature<LineString>} sliced line\n * @example\n * var line = turf.lineString([[7, 45], [9, 45], [14, 40], [14, 41]]);\n * var start = 12.5;\n * var stop = 25;\n * var sliced = turf.lineSliceAlong(line, start, stop, {units: 'miles'});\n *\n * //addToMap\n * var addToMap = [line, start, stop, sliced]\n */\nfunction lineSliceAlong(line, startDist, stopDist, options) {\n // Optional parameters\n options = options || {};\n if (!isObject(options)) throw new Error(\"options is invalid\");\n\n var coords;\n var slice = [];\n\n // Validation\n if (line.type === \"Feature\") coords = line.geometry.coordinates;\n else if (line.type === \"LineString\") coords = line.coordinates;\n else throw new Error(\"input must be a LineString Feature or Geometry\");\n var origCoordsLength = coords.length;\n var travelled = 0;\n var overshot, direction, interpolated;\n for (var i = 0; i < coords.length; i++) {\n if (startDist >= travelled && i === coords.length - 1) break;\n else if (travelled > startDist && slice.length === 0) {\n overshot = startDist - travelled;\n if (!overshot) {\n slice.push(coords[i]);\n return lineString(slice);\n }\n direction = bearing(coords[i], coords[i - 1]) - 180;\n interpolated = destination(coords[i], overshot, direction, options);\n slice.push(interpolated.geometry.coordinates);\n }\n\n if (travelled >= stopDist) {\n overshot = stopDist - travelled;\n if (!overshot) {\n slice.push(coords[i]);\n return lineString(slice);\n }\n direction = bearing(coords[i], coords[i - 1]) - 180;\n interpolated = destination(coords[i], overshot, direction, options);\n slice.push(interpolated.geometry.coordinates);\n return lineString(slice);\n }\n\n if (travelled >= startDist) {\n slice.push(coords[i]);\n }\n\n if (i === coords.length - 1) {\n return lineString(slice);\n }\n\n travelled += distance(coords[i], coords[i + 1], options);\n }\n\n if (travelled < startDist && coords.length === origCoordsLength)\n throw new Error(\"Start position is beyond line\");\n\n var last = coords[coords.length - 1];\n return lineString([last, last]);\n}\n\nexport { lineSliceAlong };\nexport default lineSliceAlong;\n"]}
1
+ {"version":3,"sources":["../../index.js"],"names":[],"mappings":";AAAA,SAAS,eAAe;AACxB,SAAS,gBAAgB;AACzB,SAAS,mBAAmB;AAC5B,SAAS,YAAY,gBAAgB;AAyBrC,SAAS,eAAe,MAAM,WAAW,UAAU,SAAS;AAE1D,YAAU,WAAW,CAAC;AACtB,MAAI,CAAC,SAAS,OAAO;AAAG,UAAM,IAAI,MAAM,oBAAoB;AAE5D,MAAI;AACJ,MAAI,QAAQ,CAAC;AAGb,MAAI,KAAK,SAAS;AAAW,aAAS,KAAK,SAAS;AAAA,WAC3C,KAAK,SAAS;AAAc,aAAS,KAAK;AAAA;AAC9C,UAAM,IAAI,MAAM,gDAAgD;AACrE,MAAI,mBAAmB,OAAO;AAC9B,MAAI,YAAY;AAChB,MAAI,UAAU,WAAW;AACzB,WAAS,IAAI,GAAG,IAAI,OAAO,QAAQ,KAAK;AACtC,QAAI,aAAa,aAAa,MAAM,OAAO,SAAS;AAAG;AAAA,aAC9C,YAAY,aAAa,MAAM,WAAW,GAAG;AACpD,iBAAW,YAAY;AACvB,UAAI,CAAC,UAAU;AACb,cAAM,KAAK,OAAO,CAAC,CAAC;AACpB,eAAO,WAAW,KAAK;AAAA,MACzB;AACA,kBAAY,QAAQ,OAAO,CAAC,GAAG,OAAO,IAAI,CAAC,CAAC,IAAI;AAChD,qBAAe,YAAY,OAAO,CAAC,GAAG,UAAU,WAAW,OAAO;AAClE,YAAM,KAAK,aAAa,SAAS,WAAW;AAAA,IAC9C;AAEA,QAAI,aAAa,UAAU;AACzB,iBAAW,WAAW;AACtB,UAAI,CAAC,UAAU;AACb,cAAM,KAAK,OAAO,CAAC,CAAC;AACpB,eAAO,WAAW,KAAK;AAAA,MACzB;AACA,kBAAY,QAAQ,OAAO,CAAC,GAAG,OAAO,IAAI,CAAC,CAAC,IAAI;AAChD,qBAAe,YAAY,OAAO,CAAC,GAAG,UAAU,WAAW,OAAO;AAClE,YAAM,KAAK,aAAa,SAAS,WAAW;AAC5C,aAAO,WAAW,KAAK;AAAA,IACzB;AAEA,QAAI,aAAa,WAAW;AAC1B,YAAM,KAAK,OAAO,CAAC,CAAC;AAAA,IACtB;AAEA,QAAI,MAAM,OAAO,SAAS,GAAG;AAC3B,aAAO,WAAW,KAAK;AAAA,IACzB;AAEA,iBAAa,SAAS,OAAO,CAAC,GAAG,OAAO,IAAI,CAAC,GAAG,OAAO;AAAA,EACzD;AAEA,MAAI,YAAY,aAAa,OAAO,WAAW;AAC7C,UAAM,IAAI,MAAM,+BAA+B;AAEjD,MAAI,OAAO,OAAO,OAAO,SAAS,CAAC;AACnC,SAAO,WAAW,CAAC,MAAM,IAAI,CAAC;AAChC;AAGA,IAAO,gCAAQ","sourcesContent":["import { bearing } from \"@turf/bearing\";\nimport { distance } from \"@turf/distance\";\nimport { destination } from \"@turf/destination\";\nimport { lineString, isObject } from \"@turf/helpers\";\n\n/**\n * Takes a {@link LineString|line}, a specified distance along the line to a start {@link Point},\n * and a specified distance along the line to a stop point\n * and returns a subsection of the line in-between those points.\n *\n * This can be useful for extracting only the part of a route between two distances.\n *\n * @name lineSliceAlong\n * @param {Feature<LineString>|LineString} line input line\n * @param {number} startDist distance along the line to starting point\n * @param {number} stopDist distance along the line to ending point\n * @param {Object} [options={}] Optional parameters\n * @param {string} [options.units='kilometers'] can be degrees, radians, miles, or kilometers\n * @returns {Feature<LineString>} sliced line\n * @example\n * var line = turf.lineString([[7, 45], [9, 45], [14, 40], [14, 41]]);\n * var start = 12.5;\n * var stop = 25;\n * var sliced = turf.lineSliceAlong(line, start, stop, {units: 'miles'});\n *\n * //addToMap\n * var addToMap = [line, start, stop, sliced]\n */\nfunction lineSliceAlong(line, startDist, stopDist, options) {\n // Optional parameters\n options = options || {};\n if (!isObject(options)) throw new Error(\"options is invalid\");\n\n var coords;\n var slice = [];\n\n // Validation\n if (line.type === \"Feature\") coords = line.geometry.coordinates;\n else if (line.type === \"LineString\") coords = line.coordinates;\n else throw new Error(\"input must be a LineString Feature or Geometry\");\n var origCoordsLength = coords.length;\n var travelled = 0;\n var overshot, direction, interpolated;\n for (var i = 0; i < coords.length; i++) {\n if (startDist >= travelled && i === coords.length - 1) break;\n else if (travelled > startDist && slice.length === 0) {\n overshot = startDist - travelled;\n if (!overshot) {\n slice.push(coords[i]);\n return lineString(slice);\n }\n direction = bearing(coords[i], coords[i - 1]) - 180;\n interpolated = destination(coords[i], overshot, direction, options);\n slice.push(interpolated.geometry.coordinates);\n }\n\n if (travelled >= stopDist) {\n overshot = stopDist - travelled;\n if (!overshot) {\n slice.push(coords[i]);\n return lineString(slice);\n }\n direction = bearing(coords[i], coords[i - 1]) - 180;\n interpolated = destination(coords[i], overshot, direction, options);\n slice.push(interpolated.geometry.coordinates);\n return lineString(slice);\n }\n\n if (travelled >= startDist) {\n slice.push(coords[i]);\n }\n\n if (i === coords.length - 1) {\n return lineString(slice);\n }\n\n travelled += distance(coords[i], coords[i + 1], options);\n }\n\n if (travelled < startDist && coords.length === origCoordsLength)\n throw new Error(\"Start position is beyond line\");\n\n var last = coords[coords.length - 1];\n return lineString([last, last]);\n}\n\nexport { lineSliceAlong };\nexport default lineSliceAlong;\n"]}
package/dist/esm/index.js CHANGED
@@ -1,6 +1,3 @@
1
- var __defProp = Object.defineProperty;
2
- var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
-
4
1
  // index.js
5
2
  import { bearing } from "@turf/bearing";
6
3
  import { distance } from "@turf/distance";
@@ -58,7 +55,6 @@ function lineSliceAlong(line, startDist, stopDist, options) {
58
55
  var last = coords[coords.length - 1];
59
56
  return lineString([last, last]);
60
57
  }
61
- __name(lineSliceAlong, "lineSliceAlong");
62
58
  var turf_line_slice_along_default = lineSliceAlong;
63
59
  export {
64
60
  turf_line_slice_along_default as default,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../index.js"],"sourcesContent":["import { bearing } from \"@turf/bearing\";\nimport { distance } from \"@turf/distance\";\nimport { destination } from \"@turf/destination\";\nimport { lineString, isObject } from \"@turf/helpers\";\n\n/**\n * Takes a {@link LineString|line}, a specified distance along the line to a start {@link Point},\n * and a specified distance along the line to a stop point\n * and returns a subsection of the line in-between those points.\n *\n * This can be useful for extracting only the part of a route between two distances.\n *\n * @name lineSliceAlong\n * @param {Feature<LineString>|LineString} line input line\n * @param {number} startDist distance along the line to starting point\n * @param {number} stopDist distance along the line to ending point\n * @param {Object} [options={}] Optional parameters\n * @param {string} [options.units='kilometers'] can be degrees, radians, miles, or kilometers\n * @returns {Feature<LineString>} sliced line\n * @example\n * var line = turf.lineString([[7, 45], [9, 45], [14, 40], [14, 41]]);\n * var start = 12.5;\n * var stop = 25;\n * var sliced = turf.lineSliceAlong(line, start, stop, {units: 'miles'});\n *\n * //addToMap\n * var addToMap = [line, start, stop, sliced]\n */\nfunction lineSliceAlong(line, startDist, stopDist, options) {\n // Optional parameters\n options = options || {};\n if (!isObject(options)) throw new Error(\"options is invalid\");\n\n var coords;\n var slice = [];\n\n // Validation\n if (line.type === \"Feature\") coords = line.geometry.coordinates;\n else if (line.type === \"LineString\") coords = line.coordinates;\n else throw new Error(\"input must be a LineString Feature or Geometry\");\n var origCoordsLength = coords.length;\n var travelled = 0;\n var overshot, direction, interpolated;\n for (var i = 0; i < coords.length; i++) {\n if (startDist >= travelled && i === coords.length - 1) break;\n else if (travelled > startDist && slice.length === 0) {\n overshot = startDist - travelled;\n if (!overshot) {\n slice.push(coords[i]);\n return lineString(slice);\n }\n direction = bearing(coords[i], coords[i - 1]) - 180;\n interpolated = destination(coords[i], overshot, direction, options);\n slice.push(interpolated.geometry.coordinates);\n }\n\n if (travelled >= stopDist) {\n overshot = stopDist - travelled;\n if (!overshot) {\n slice.push(coords[i]);\n return lineString(slice);\n }\n direction = bearing(coords[i], coords[i - 1]) - 180;\n interpolated = destination(coords[i], overshot, direction, options);\n slice.push(interpolated.geometry.coordinates);\n return lineString(slice);\n }\n\n if (travelled >= startDist) {\n slice.push(coords[i]);\n }\n\n if (i === coords.length - 1) {\n return lineString(slice);\n }\n\n travelled += distance(coords[i], coords[i + 1], options);\n }\n\n if (travelled < startDist && coords.length === origCoordsLength)\n throw new Error(\"Start position is beyond line\");\n\n var last = coords[coords.length - 1];\n return lineString([last, last]);\n}\n\nexport { lineSliceAlong };\nexport default lineSliceAlong;\n"],"mappings":";;;;AAAA,SAAS,eAAe;AACxB,SAAS,gBAAgB;AACzB,SAAS,mBAAmB;AAC5B,SAAS,YAAY,gBAAgB;AAyBrC,SAAS,eAAe,MAAM,WAAW,UAAU,SAAS;AAE1D,YAAU,WAAW,CAAC;AACtB,MAAI,CAAC,SAAS,OAAO;AAAG,UAAM,IAAI,MAAM,oBAAoB;AAE5D,MAAI;AACJ,MAAI,QAAQ,CAAC;AAGb,MAAI,KAAK,SAAS;AAAW,aAAS,KAAK,SAAS;AAAA,WAC3C,KAAK,SAAS;AAAc,aAAS,KAAK;AAAA;AAC9C,UAAM,IAAI,MAAM,gDAAgD;AACrE,MAAI,mBAAmB,OAAO;AAC9B,MAAI,YAAY;AAChB,MAAI,UAAU,WAAW;AACzB,WAAS,IAAI,GAAG,IAAI,OAAO,QAAQ,KAAK;AACtC,QAAI,aAAa,aAAa,MAAM,OAAO,SAAS;AAAG;AAAA,aAC9C,YAAY,aAAa,MAAM,WAAW,GAAG;AACpD,iBAAW,YAAY;AACvB,UAAI,CAAC,UAAU;AACb,cAAM,KAAK,OAAO,CAAC,CAAC;AACpB,eAAO,WAAW,KAAK;AAAA,MACzB;AACA,kBAAY,QAAQ,OAAO,CAAC,GAAG,OAAO,IAAI,CAAC,CAAC,IAAI;AAChD,qBAAe,YAAY,OAAO,CAAC,GAAG,UAAU,WAAW,OAAO;AAClE,YAAM,KAAK,aAAa,SAAS,WAAW;AAAA,IAC9C;AAEA,QAAI,aAAa,UAAU;AACzB,iBAAW,WAAW;AACtB,UAAI,CAAC,UAAU;AACb,cAAM,KAAK,OAAO,CAAC,CAAC;AACpB,eAAO,WAAW,KAAK;AAAA,MACzB;AACA,kBAAY,QAAQ,OAAO,CAAC,GAAG,OAAO,IAAI,CAAC,CAAC,IAAI;AAChD,qBAAe,YAAY,OAAO,CAAC,GAAG,UAAU,WAAW,OAAO;AAClE,YAAM,KAAK,aAAa,SAAS,WAAW;AAC5C,aAAO,WAAW,KAAK;AAAA,IACzB;AAEA,QAAI,aAAa,WAAW;AAC1B,YAAM,KAAK,OAAO,CAAC,CAAC;AAAA,IACtB;AAEA,QAAI,MAAM,OAAO,SAAS,GAAG;AAC3B,aAAO,WAAW,KAAK;AAAA,IACzB;AAEA,iBAAa,SAAS,OAAO,CAAC,GAAG,OAAO,IAAI,CAAC,GAAG,OAAO;AAAA,EACzD;AAEA,MAAI,YAAY,aAAa,OAAO,WAAW;AAC7C,UAAM,IAAI,MAAM,+BAA+B;AAEjD,MAAI,OAAO,OAAO,OAAO,SAAS,CAAC;AACnC,SAAO,WAAW,CAAC,MAAM,IAAI,CAAC;AAChC;AAxDS;AA2DT,IAAO,gCAAQ;","names":[]}
1
+ {"version":3,"sources":["../../index.js"],"sourcesContent":["import { bearing } from \"@turf/bearing\";\nimport { distance } from \"@turf/distance\";\nimport { destination } from \"@turf/destination\";\nimport { lineString, isObject } from \"@turf/helpers\";\n\n/**\n * Takes a {@link LineString|line}, a specified distance along the line to a start {@link Point},\n * and a specified distance along the line to a stop point\n * and returns a subsection of the line in-between those points.\n *\n * This can be useful for extracting only the part of a route between two distances.\n *\n * @name lineSliceAlong\n * @param {Feature<LineString>|LineString} line input line\n * @param {number} startDist distance along the line to starting point\n * @param {number} stopDist distance along the line to ending point\n * @param {Object} [options={}] Optional parameters\n * @param {string} [options.units='kilometers'] can be degrees, radians, miles, or kilometers\n * @returns {Feature<LineString>} sliced line\n * @example\n * var line = turf.lineString([[7, 45], [9, 45], [14, 40], [14, 41]]);\n * var start = 12.5;\n * var stop = 25;\n * var sliced = turf.lineSliceAlong(line, start, stop, {units: 'miles'});\n *\n * //addToMap\n * var addToMap = [line, start, stop, sliced]\n */\nfunction lineSliceAlong(line, startDist, stopDist, options) {\n // Optional parameters\n options = options || {};\n if (!isObject(options)) throw new Error(\"options is invalid\");\n\n var coords;\n var slice = [];\n\n // Validation\n if (line.type === \"Feature\") coords = line.geometry.coordinates;\n else if (line.type === \"LineString\") coords = line.coordinates;\n else throw new Error(\"input must be a LineString Feature or Geometry\");\n var origCoordsLength = coords.length;\n var travelled = 0;\n var overshot, direction, interpolated;\n for (var i = 0; i < coords.length; i++) {\n if (startDist >= travelled && i === coords.length - 1) break;\n else if (travelled > startDist && slice.length === 0) {\n overshot = startDist - travelled;\n if (!overshot) {\n slice.push(coords[i]);\n return lineString(slice);\n }\n direction = bearing(coords[i], coords[i - 1]) - 180;\n interpolated = destination(coords[i], overshot, direction, options);\n slice.push(interpolated.geometry.coordinates);\n }\n\n if (travelled >= stopDist) {\n overshot = stopDist - travelled;\n if (!overshot) {\n slice.push(coords[i]);\n return lineString(slice);\n }\n direction = bearing(coords[i], coords[i - 1]) - 180;\n interpolated = destination(coords[i], overshot, direction, options);\n slice.push(interpolated.geometry.coordinates);\n return lineString(slice);\n }\n\n if (travelled >= startDist) {\n slice.push(coords[i]);\n }\n\n if (i === coords.length - 1) {\n return lineString(slice);\n }\n\n travelled += distance(coords[i], coords[i + 1], options);\n }\n\n if (travelled < startDist && coords.length === origCoordsLength)\n throw new Error(\"Start position is beyond line\");\n\n var last = coords[coords.length - 1];\n return lineString([last, last]);\n}\n\nexport { lineSliceAlong };\nexport default lineSliceAlong;\n"],"mappings":";AAAA,SAAS,eAAe;AACxB,SAAS,gBAAgB;AACzB,SAAS,mBAAmB;AAC5B,SAAS,YAAY,gBAAgB;AAyBrC,SAAS,eAAe,MAAM,WAAW,UAAU,SAAS;AAE1D,YAAU,WAAW,CAAC;AACtB,MAAI,CAAC,SAAS,OAAO;AAAG,UAAM,IAAI,MAAM,oBAAoB;AAE5D,MAAI;AACJ,MAAI,QAAQ,CAAC;AAGb,MAAI,KAAK,SAAS;AAAW,aAAS,KAAK,SAAS;AAAA,WAC3C,KAAK,SAAS;AAAc,aAAS,KAAK;AAAA;AAC9C,UAAM,IAAI,MAAM,gDAAgD;AACrE,MAAI,mBAAmB,OAAO;AAC9B,MAAI,YAAY;AAChB,MAAI,UAAU,WAAW;AACzB,WAAS,IAAI,GAAG,IAAI,OAAO,QAAQ,KAAK;AACtC,QAAI,aAAa,aAAa,MAAM,OAAO,SAAS;AAAG;AAAA,aAC9C,YAAY,aAAa,MAAM,WAAW,GAAG;AACpD,iBAAW,YAAY;AACvB,UAAI,CAAC,UAAU;AACb,cAAM,KAAK,OAAO,CAAC,CAAC;AACpB,eAAO,WAAW,KAAK;AAAA,MACzB;AACA,kBAAY,QAAQ,OAAO,CAAC,GAAG,OAAO,IAAI,CAAC,CAAC,IAAI;AAChD,qBAAe,YAAY,OAAO,CAAC,GAAG,UAAU,WAAW,OAAO;AAClE,YAAM,KAAK,aAAa,SAAS,WAAW;AAAA,IAC9C;AAEA,QAAI,aAAa,UAAU;AACzB,iBAAW,WAAW;AACtB,UAAI,CAAC,UAAU;AACb,cAAM,KAAK,OAAO,CAAC,CAAC;AACpB,eAAO,WAAW,KAAK;AAAA,MACzB;AACA,kBAAY,QAAQ,OAAO,CAAC,GAAG,OAAO,IAAI,CAAC,CAAC,IAAI;AAChD,qBAAe,YAAY,OAAO,CAAC,GAAG,UAAU,WAAW,OAAO;AAClE,YAAM,KAAK,aAAa,SAAS,WAAW;AAC5C,aAAO,WAAW,KAAK;AAAA,IACzB;AAEA,QAAI,aAAa,WAAW;AAC1B,YAAM,KAAK,OAAO,CAAC,CAAC;AAAA,IACtB;AAEA,QAAI,MAAM,OAAO,SAAS,GAAG;AAC3B,aAAO,WAAW,KAAK;AAAA,IACzB;AAEA,iBAAa,SAAS,OAAO,CAAC,GAAG,OAAO,IAAI,CAAC,GAAG,OAAO;AAAA,EACzD;AAEA,MAAI,YAAY,aAAa,OAAO,WAAW;AAC7C,UAAM,IAAI,MAAM,+BAA+B;AAEjD,MAAI,OAAO,OAAO,OAAO,SAAS,CAAC;AACnC,SAAO,WAAW,CAAC,MAAM,IAAI,CAAC;AAChC;AAGA,IAAO,gCAAQ;","names":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@turf/line-slice-along",
3
- "version": "7.0.0",
3
+ "version": "7.1.0-alpha.70+948cdafaf",
4
4
  "description": "turf line-slice-along module",
5
5
  "author": "Turf Authors",
6
6
  "license": "MIT",
@@ -50,8 +50,8 @@
50
50
  "test:tape": "tsx test.ts"
51
51
  },
52
52
  "devDependencies": {
53
- "@turf/along": "^7.0.0",
54
- "@turf/length": "^7.0.0",
53
+ "@turf/along": "^7.1.0-alpha.70+948cdafaf",
54
+ "@turf/length": "^7.1.0-alpha.70+948cdafaf",
55
55
  "@types/benchmark": "^2.1.5",
56
56
  "@types/tape": "^4.2.32",
57
57
  "benchmark": "^2.1.4",
@@ -62,10 +62,11 @@
62
62
  "tsx": "^4.6.2"
63
63
  },
64
64
  "dependencies": {
65
- "@turf/bearing": "^7.0.0",
66
- "@turf/destination": "^7.0.0",
67
- "@turf/distance": "^7.0.0",
68
- "@turf/helpers": "^7.0.0"
65
+ "@turf/bearing": "^7.1.0-alpha.70+948cdafaf",
66
+ "@turf/destination": "^7.1.0-alpha.70+948cdafaf",
67
+ "@turf/distance": "^7.1.0-alpha.70+948cdafaf",
68
+ "@turf/helpers": "^7.1.0-alpha.70+948cdafaf",
69
+ "@types/geojson": "^7946.0.10"
69
70
  },
70
- "gitHead": "3d3a7917025fbabe191dbddbc89754b86f9c7739"
71
+ "gitHead": "948cdafaf70606d2e27fcc79973fa48ee1182067"
71
72
  }