我有两个WGS84坐标,纬度和经度以度为单位。这些点非常接近,例如仅相隔一米。是否有一种简单的方法来计算连接这些点的方位角,也就是与北方的夹角?幼稚的方法是假设一个笛卡尔坐标系(因为这些点非常接近)并且只使用
sin(a) = abs(L2-L1) / sqrt(sqr(L2-L1) + sqr(B2-B1))
a = 方位角 L1,L2 = 经度 B1,B2 = 纬度
误差会随着坐标远离赤道而变大,因为在那里,两个经度度之间的距离越来越小,而两个纬度度之间的距离保持不变。
我发现了一些非常复杂的公式,我真的不想实施它们,因为它们似乎对于非常接近的点来说是过度的,并且我不需要非常高的精度(两个小数点足以,一个可能已经足够了,因为还存在其他降低精度的因素,例如GPS返回的因素)。
也许我可以根据纬度确定一个近似的经度修正因子,然后使用类似于以下内容的东西:
sin(a) = abs(L2*f-L1*f) / sqrt(sqr(L2*f-L1*f) + sqr(B2-B1))
其中f是修正因子
有什么提示吗?
(我不想使用任何库来完成此操作,特别是那些需要运行时许可证的库。任何MPLed Delphi源代码都很好。)
sin(a) = abs(L2-L1) / sqrt(sqr(L2-L1) + sqr(B2-B1))
a = 方位角 L1,L2 = 经度 B1,B2 = 纬度
误差会随着坐标远离赤道而变大,因为在那里,两个经度度之间的距离越来越小,而两个纬度度之间的距离保持不变。
我发现了一些非常复杂的公式,我真的不想实施它们,因为它们似乎对于非常接近的点来说是过度的,并且我不需要非常高的精度(两个小数点足以,一个可能已经足够了,因为还存在其他降低精度的因素,例如GPS返回的因素)。
也许我可以根据纬度确定一个近似的经度修正因子,然后使用类似于以下内容的东西:
sin(a) = abs(L2*f-L1*f) / sqrt(sqr(L2*f-L1*f) + sqr(B2-B1))
其中f是修正因子
有什么提示吗?
(我不想使用任何库来完成此操作,特别是那些需要运行时许可证的库。任何MPLed Delphi源代码都很好。)