3

任务

计算查询点q和多边形P之间的距离d (以米为单位) 。

查询点q定义为元组 (latitude q , longitude q ),多边形P定义为元组的有序列表 [(latitude 1 , longitude 1 ), ..., (latitude n , longitude n )]。

问题

我无法像处理平面的xy坐标一样处理纬度和经度,因为如果多边形不小且不在 (0, 0) 附近,则会导致巨大的错误。

工具

我知道如何计算给定每个点的纬度和经度的两点之间的距离。我也知道如何计算一个点和一个大圆之间的距离。但是对于这个任务,我需要知道如何计算点q和大圆 1-2 的一部分之间的距离 dist( q , 1-2)。q的距离将只是 min(dist( q , ab )) ∀ ab in P

问题

你能给我一个公式如何计算由元组定义的查询点q(纬度q,经度q)和由一对纬度经度元组定义的大圆弧之间的距离 [(纬度1,经度1 ),(纬度2 , 经度2 )]?

例子

查询点 *q* 和多边形 *P* 由八个点定义)。 距离 *d* 是多少米?

4

1 回答 1

0

如果您有代码来计算一点x和测地线段s之间的距离,您可以对测地线多边形的每条边重复此操作。

s =( a , b )。s是一个大圆的弧。旋转球体,使 s位于赤道上,x跟随球体旋转。然后x的纬度基本上告诉您到s的距离:它是从xaxb的距离,或者,如果x位于s上方/下方的扇区中,它是一个简单因子(2 π r ) 乘以纬度。

于 2016-09-01T00:07:32.627 回答