在Android中将GPS坐标转换为(X,Y)平面

4
我正在尝试将GPS点(纬度,经度)映射到2D(X,Y)平面上。该平面在Android设备上使用自定义视图绘制,并且我希望每个轴的长度都缩放为200米。
我正在尝试将GPS位置设置为该平面的原点,然后将距离该GPS点最多100米的点映射到地图上。
我进行了一些先前的研究,但我找到的线程涉及从Lat / Long转换为(X,Y,Z)球坐标系,在这种情况下,地球是原点(请参见this thread)。 另一个线程 更符合我的要求,其中屏幕上的每个像素对应于GPS位置 - 但是,我正在尝试将GPS点映射到更小的比例尺(200m X 200m)..而不是像城市那样的大型地理地图。
最直接的方法是什么?

编辑: 发现一个非常相似的问题(链接),但它使用楼层平面图像将GPS点映射到平面图像,而不是使用坐标平面。


在短距离内,你可以将小数度转换为线性距离而不会产生实质性的误差。几何学将表明,纬度的一度在地球周长上基本上是相同的分数,但经度的一度在距离上会因纬度的不同而有所变化。因此,需要计算出当地的度到距离的转换比例并加以应用。 - Chris Stratton
好的,这已经足够明白了。我该如何计算本地的度到距离的转换呢?对我来说,这个数学概念是新的.. 所以一个纬度等于南北极之间距离的1/180(也就是地球周长的一半)是吗? - Tarif Haque
1个回答

0

如果您的区域非常小,似乎可以忽略z轴。实际上,对于地球上的小区域,如果(x1,y1,z1)和(x2,y2,z2)是其上的两个点,则可以将z1用作z2的良好近似值,反之亦然。因此,您可以将它们映射到2D笛卡尔图上的(x1,y1)和(x2,y2)而不会产生太大误差。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接