使用Turf的pointOnFeature函数,可以返回在输入的GeoJSON Feature对象上最接近给定点(Point)的点的位置坐标。
point
(Point): 用于确定要获得最接近点的位置坐标的点(Point)对象。feature
(Feature): 用于寻找最接近点的GeoJSON Feature对象。Feature<Point>
- 在输入的GeoJSON Feature对象上最接近给定点的点的位置坐标所构成的Feature对象。var point = turf.point([-77.031669, 38.878605]);
var polygon = turf.polygon([[
[-77.031669, 38.878605],
[-77.029609, 38.881946],
[-77.020339, 38.884084],
[-77.025661, 38.87224],
[-77.031669, 38.878605]
]]);
var ptOnPoly = turf.pointOnFeature(polygon, point);
// 打印输出最接近点的坐标
console.log(ptOnPoly.geometry.coordinates);
返回结果为:
[-77.02960910868073, 38.881945988104695]
在示例中,输入了一个点和一个多边形,然后使用Turf的pointOnFeature函数计算出点到多边形上最接近的点的坐标,并将其打印输出。
如果您想要寻找多边形的边界上最接近给定点的点的位置坐标,可以使用pointOnLine函数。如果您需要将一个点移动到一个GeoJSON Feature的表面上,则可以使用nearestPointOnLine或nearestPoint函数。