我正在研究可跟踪移动的android应用程序。我的问题是我需要在飞机上将gps坐标转换为二维坐标。将WSG84 GPS坐标转换为x y平面上的笛卡尔坐标
我现在获得的坐标是WSG84格式。我需要这些坐标,因为我需要计算一个点和一条线之间的距离,以便了解我是否距离预定义的路径太远。我所在的领域在整个地球方面并不算大,所以我认为不关心z轴是可以的。
我没有地图,所以我只需要在后台计算这些坐标。谢谢!
我正在研究可跟踪移动的android应用程序。我的问题是我需要在飞机上将gps坐标转换为二维坐标。将WSG84 GPS坐标转换为x y平面上的笛卡尔坐标
我现在获得的坐标是WSG84格式。我需要这些坐标,因为我需要计算一个点和一条线之间的距离,以便了解我是否距离预定义的路径太远。我所在的领域在整个地球方面并不算大,所以我认为不关心z轴是可以的。
我没有地图,所以我只需要在后台计算这些坐标。谢谢!
此:
我需要计算才能点与线之间的距离,以了解如果我从一个预先定义的路径
似乎越来越太远你提出的关键问题。这就是我会回答的。
从严格意义上说,从球形坐标转换到欧氏坐标是不可能的,这就是为什么人们发明UTM系统的原因之一。为你的目的使用UTM的问题是给定的纬度/经度可能在不同的地区,所以(x,y)对不会有用地关联。
假设你有三个点A,B和P,其中A &乙定义线的起点和终点,P是你想知道,那么我的建议是最好的一点是:
如果点实际上非常接近对方那么你的工作的空间是局部欧氏,所以从A到B线的距离为:
d sin(alpha - theta)
上有计算大大量的在线引用用于WGS84的Java中的圆距和方位。例如。
http://openmap.bbn.com/svn/openmap/trunk/src/openmap/com/bbn/openmap/proj/GreatCircle.java
...只是众多之一。
感谢@RabidMutant,我认为这个解决方案可以工作,但它取决于你的意思是“非常接近彼此”。我工作的地区几乎是罗马的所有城市 – cec91
罗马很好。罗马到巴黎,不太如此。 – RabidMutant
还有很多工具可以计算距离方位。一旦你写了你的代码,我建议通过与在线工具进行比较来对其进行测试。 – RabidMutant