| 123456789101112131415161718192021222324252627282930313233343536373839 |
- // index.ts
- import { bearing } from "@turf/bearing";
- import { destination } from "@turf/destination";
- import { distance as measureDistance } from "@turf/distance";
- import { point } from "@turf/helpers";
- import { getGeom } from "@turf/invariant";
- function along(line, distance, options = {}) {
- const geom = getGeom(line);
- const coords = geom.coordinates;
- let travelled = 0;
- for (let i = 0; i < coords.length; i++) {
- if (distance >= travelled && i === coords.length - 1) {
- break;
- } else if (travelled >= distance) {
- const overshot = distance - travelled;
- if (!overshot) {
- return point(coords[i]);
- } else {
- const direction = bearing(coords[i], coords[i - 1]) - 180;
- const interpolated = destination(
- coords[i],
- overshot,
- direction,
- options
- );
- return interpolated;
- }
- } else {
- travelled += measureDistance(coords[i], coords[i + 1], options);
- }
- }
- return point(coords[coords.length - 1]);
- }
- var turf_along_default = along;
- export {
- along,
- turf_along_default as default
- };
- //# sourceMappingURL=index.js.map
|