我需要计算用户当前位置的纬度和长值。但是,我无法使用GPS /网络。我知道用户之前的lat长位置。已从GPS提供商查询此先前位置。找到此初始位置后,GPS将不再可用。用户从该点到某个方向行进一定距离。这些值,距离和行进方向(以角度表示)都是已知的。有没有什么办法可以根据这个可用的信息(先前的纬度/经度坐标,从前一个位置移动的距离和方向)到达新的纬度/经度坐标。
答案 0 :(得分:2)
这种导航方法称为dead reckoning:给定是初始位置,任务是从已知信息中推导出当前位置,例如:航向,行驶时间和速度(或航向和距离)。 您可以找到一些公式来表示新位置here。
答案 1 :(得分:1)
Stefan为您提供了一个好的起点。但是,根据您对该信息的处理方式,您可能最好使用Kalman Filter,这样您就可以考虑起始位置,行进距离和行进方向的误差。如果用户不是仅移动一次,而是多次移动,则尤其如此。
答案 2 :(得分:0)
此链接GeoTools - How to do Dead Reckoning and course calculations using GeoTools classes回答了我的问题。给定角度,距离和起始地理点,GeoTools(java)可用于进行计算。请参阅SO链接以查看示例。