我想计算一个点和代表地球上纬度和经度区域的边界框之间的最小距离。如果该点落在最小长度和最大长度之间,那么我可以计算纬度距离,这很容易,因为它是一个常数值。否则,我需要使用半正弦公式计算从我的点到纵向线上最接近我的点的点的距离。我看到很多关于计算两点之间的距离的信息,但没有太多关于点和线之间的距离,或者关于查找线上到点的最近点的信息。
最佳答案
您知道如何找到两点之间的距离。现在您只需要知道如何找到从一点到大圆的距离。诀窍是找到与整个大圆等距的点(就像北极与整个赤道等距一样),找到从您的点到那个的距离,然后从 90 度中减去(用a +/-,取决于您的点是否与您选择的极点位于圆的同一侧)。
一旦掌握了这个技巧,请注意,您正在尝试找到从一个点到一条恒定经度的曲线的距离,该曲线是一个大圆,其“极点”是赤道上与经度相差 90 度的点从曲线上看。
(您可能需要画几张图,但这确实并不难。)
关于algorithm - 如何确定地球上的点和线之间的最短路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5476263/