我在纬度和经度(A 和 B)中指定了两个位置。在这些位置之间是一条线(绿色)。我在第三个位置(我)。我如何确定我离这条线有多远以及离它最近的点离我所在的位置(灰线)的方向是什么?
我正在寻找以度为单位的航向和以米为单位的距离。如果我能找到灰线与绿线相交的位置,那么我可以使用 Android Location 内置函数来计算距离和航向。
有人知道 A、B 和我的经纬度位置如何解决上述问题吗?
请记住,“我”不知道他是处于第一种情况还是第二种情况,这是一个导航问题。
另外,如果您还记住我的数学很烂,并且像您与 15 岁的孩子交谈一样回答,我将不胜感激。
此外,我还使用 Google 地球手工制作了一个示例。所以给出:
double aLat = 51.44376;
double aLng = -2.86525;
double bLat = 51.43574;
double bLng = -2.87026;
double meLat = 51.4391;
double meLng = -2.86437;
Answer should be:
Distance to closest point on line (aprox): 235 meters
Heading to closest point on line (aprox): 109 degrees
一如既往,感谢您的帮助,
亚当