假设我使用以米为单位的局部平面坐标绘制了一个小区域。例如一个300米x 450米的矩形仓库。我用一些GPS设备找到仓库一角的WGS84纬度/经度。
如何将我的平面坐标投影到WGS 84大地水准面上,以找到仓库其他三个角的纬度/经度值?
我知道这是一个复杂的问题,因为地球不同地区的价值观不同。我需要先找到一些局部坐标系吗?或者我可以用已知点之间的关系直接转到WGS84吗?
我对这类问题没有太多经验,所以如果我的部分问题没有任何意义,请原谅我。
您的问题很有道理,但解决方案绝非易事。
解决方案取决于本地坐标系是南北对齐(相对容易)还是完全任意(困难得令人望而却步)。
您的本地系统准确地南北对齐:
- 将已知的纬度/经度坐标转换为笛卡尔坐标(向东、向北)
- 确定(1)与该点的局部坐标之间的x和y差
- 将该坐标差应用于3个角的局部坐标中的每一个
- 将(3)转换回地理纬度/经度
这是因为两个系统都有相同的单位尺度(公制)和旋转(南北向),只剩下平移,也就是坐标差。
您的本地系统是任意的,并且不是南北对齐的:
- 你还需要两个已知点这是事实,没有办法绕过它,否则无法确定旋转,也没有解决方案
- 将这些已知的纬度/经度坐标转换为笛卡尔坐标
- helmert变换,使用3个已知/未知对来求解剩余的未知局部坐标。(搜索在线工具)
- 将结果转换回地理位置
这是因为helmert变换决定了两个系统之间的平移和旋转。
在lat/lon和cartesian之间转换并再次转换本身并不是微不足道的,而是必要的。要么使用像proj4这样的投影库准确地进行,要么近似地假设一个球形地球,例如这个答案。
希望这没有让你失望!