UNPKG

@turf/nearest-point

Version:

turf nearest-point module

50 lines (49 loc) 1.89 kB
var __defProp = Object.defineProperty; var __defProps = Object.defineProperties; var __getOwnPropDescs = Object.getOwnPropertyDescriptors; var __getOwnPropSymbols = Object.getOwnPropertySymbols; var __hasOwnProp = Object.prototype.hasOwnProperty; var __propIsEnum = Object.prototype.propertyIsEnumerable; var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; var __spreadValues = (a, b) => { for (var prop in b || (b = {})) if (__hasOwnProp.call(b, prop)) __defNormalProp(a, prop, b[prop]); if (__getOwnPropSymbols) for (var prop of __getOwnPropSymbols(b)) { if (__propIsEnum.call(b, prop)) __defNormalProp(a, prop, b[prop]); } return a; }; var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b)); // index.ts import { clone } from "@turf/clone"; import { distance } from "@turf/distance"; import { featureEach } from "@turf/meta"; function nearestPoint(targetPoint, points, options = {}) { if (!targetPoint) throw new Error("targetPoint is required"); if (!points) throw new Error("points is required"); let minDist = Infinity; let bestFeatureIndex = 0; featureEach(points, (pt, featureIndex) => { const distanceToPoint = distance(targetPoint, pt, options); if (distanceToPoint < minDist) { bestFeatureIndex = featureIndex; minDist = distanceToPoint; } }); const nearestPoint2 = clone(points.features[bestFeatureIndex]); return __spreadProps(__spreadValues({}, nearestPoint2), { properties: __spreadProps(__spreadValues({}, nearestPoint2.properties), { featureIndex: bestFeatureIndex, distanceToPoint: minDist }) }); } var turf_nearest_point_default = nearestPoint; export { turf_nearest_point_default as default, nearestPoint }; //# sourceMappingURL=index.js.map