在我知道三个角落(或任意三个非对齐点)的坐标(lat/lng)的地图上,我有几个位于地图上的点的坐标(lat/lng)。
我想要的是将这些点的相对坐标(相对于左上角的x/y)转换为地图上的坐标。
我还对另一种转换(x/y到lat/lng)感兴趣。
我的地图很小(小于10 km x 10 km),我需要使用投影系统还是可以假设我的表面是完全平坦的并使用线性转换?
编辑:我不知道(也没有办法知道)我的背景地图使用哪种投影。我只知道3个地理参考点。
一种解决方案是使用线性转换:
如果我的三个点是A(xA,yA),B(xB,yB),C(xC,yC)和我想定位的点X(x,y)。
我可以在lat/lng参考系中计算
我想要的是将这些点的相对坐标(相对于左上角的x/y)转换为地图上的坐标。
我还对另一种转换(x/y到lat/lng)感兴趣。
我的地图很小(小于10 km x 10 km),我需要使用投影系统还是可以假设我的表面是完全平坦的并使用线性转换?
编辑:我不知道(也没有办法知道)我的背景地图使用哪种投影。我只知道3个地理参考点。
一种解决方案是使用线性转换:
如果我的三个点是A(xA,yA),B(xB,yB),C(xC,yC)和我想定位的点X(x,y)。
我可以在lat/lng参考系中计算
a
和b
,如AX = aAB + bAC
。
x = xA + a * (xB-xA) + b * (xC - xA)
y = yA + a * (yB-yA) + b * (yC - yA)
但是看起来好像还缺少一些东西?
相关问题:如何将纬度/经度映射到扭曲的地图上?