Gps 道格拉斯-佩克算法

Gps 道格拉斯-佩克算法,gps,Gps,我的数据库中有一组GPS位置。 因为我想把它们画在地图上,所以我无意中发现了“道格拉斯·佩克算法”,它可以删除一条线上不需要的点 但无论我在哪里寻找,我只发现了像素X/Y坐标的算法,而不是纬度和经度的算法 因此,我想将Lat/Long转换为二维“X/Y”视图?这是可能的,还是我认为“太复杂了” 如果您可以安全地假设GPS没有移动数千公里,并且您没有太靠近北极/南极,那么您可以通过将纬度和经度乘以常数来近似X/Y坐标(以公里为单位)。纬度总是相同的每度公里数(大约10000公里是从赤道到两极之一的

我的数据库中有一组GPS位置。 因为我想把它们画在地图上,所以我无意中发现了“道格拉斯·佩克算法”,它可以删除一条线上不需要的点

但无论我在哪里寻找,我只发现了像素X/Y坐标的算法,而不是纬度和经度的算法

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


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

然而,从经度/纬度计算3D位置并不难:请参见球面坐标上的“如何计算”。方位角/仰角是经度/纬度

这仍然是一个近似值,因为你采用的是直线距离,而不是沿着地球表面,但对于你的应用,我无法想象这是一个问题


哦,谢谢你给道格拉斯·佩克算法的链接。。。我将在另一个问题域中尝试它

这取决于你想要的“直线”是什么。如果你想在地图上画一条直线,那么你必须使用正确的投影转换你的纵横坐标(很可能是,但有一个)。但是,如果您正在寻找表面上最直的线(即与a重合的线),则不必对lat/long值应用任何转换。

我在不久前询问过,我得到的答案允许我用java为其编写一个实现。它在EarthGeometry.java中,这里有一个很棒的PHP演练:

你能找到解决方案吗?