java计算沿直线最接近其他点的距离(也称为“项目”)
我有一个由许多点组成的LineString
(坐标串),我想计算最接近Point
的直线上的距离(从第一点到最后一点,方向性很重要),就像这样说:"project()" calculation
如果我不必使用任何第三方库,那就太好了,我意识到一些exist可以轻松做到这一点
你可以在下面搜索框中键入要查询的问题!
我有一个由许多点组成的LineString
(坐标串),我想计算最接近Point
的直线上的距离(从第一点到最后一点,方向性很重要),就像这样说:"project()" calculation
如果我不必使用任何第三方库,那就太好了,我意识到一些exist可以轻松做到这一点
# 1 楼答案
线性引用是您正在寻找的。从你的评论来看,这听起来确实很复杂,但当你把它分解,然后添加一个循环来遍历你的点,计算出最近的线段时,这仍然是一个非常简单的数学/代码
下面是从谷歌搜索中提取的一段不错的代码。。。。 可以使用它来查找线段上最近的点:
Util.getClosestPointOnSegment(Point ss, Point se, Point p)
代码:
显然,您仍然需要编写一些代码来计算出最接近的要检查的段,并且仍然需要添加长度,但这将帮助您开始
示例取自:
http://www.java2s.com/Code/Java/2D-Graphics-GUI/Returnsclosestpointonsegmenttopoint.htm