全球定位系统

我在我的数据库中有一组GPS位置。 因为我想在地图上绘制它们,我偶然发现了“Douglas-Peucker-Algorithm”,它会删除一个不是“necassary”的线上的点...

但我在寻找的地方,我只发现像素X / Y坐标的算法,而不是经度和纬度...

因此,我想将Lat / Long转换为二维“X / Y”视图? 这是可能的,还是我认为“太复杂”? :)

http://en.wikipedia.org/wiki/Ramer%E2%80%93Douglas%E2%80%93Peucker_algorithm


如果您可以安全地假设GPS没有移动数千公里,并且您不太靠近南/北极,则可以通过将纬度和经度乘以常数来以公里为单位近似X / Y坐标。 纬度始终等于公里每度(大约10000公里是90度,从赤道到其中一个极点)。 对于经度,乘以相同的数量乘以cos(latitude)

然而,从经度/纬度计算3D位置并不困难:请参阅关于球坐标的维基百科文章如何做到这一点。 方位角/仰角是经度/纬度。

当你走直线距离时,这仍然是一个近似值,而不是跟随地球表面,但对于你的应用我无法想象这是一个问题。

哦,并感谢道格拉斯Peucker算法的链接...我将尝试在不同的问题领域。


这取决于你想要一条“直线”。 如果你想在地图上画一条直线,那么你必须使用正确的投影(可能是墨卡托投影,但维基百科上有一个完整的列表)来转换你的纬度/经度坐标。 但是,如果你正在寻找表面上最直的线(即与大圆相符的线),则不必对经纬度值应用任何变换。


前一段时间我问过这个问题,我得到的答案允许我为这个项目编写一个java实现。 它在EarthGeometry.java中

链接地址: http://www.djcxy.com/p/8299.html

上一篇: gps

下一篇: Automatic deprecated warnings for PHP methods with @deprecated annotation