在我的研究中,我们在田野中设置了一个10m x 10m的直角网格(以1m的比例跟踪网格内的动物位置)。
然后我们收集了一些赌注的GPS数据。
所以,我有一些x, y值及其相应的UTM东纬度/北纬和许多,许多没有GPS数据的x, y值。
使用有GPS数据的参考点,我想构建一个脚本,我可以输入其他x, y值并获得UTM Easings/Northings作为输出。
我发现了很多关于UTM和lat/long之间转换的信息,但到目前为止还没有找到关于如何在GPS值之间转换到任意笛卡尔坐标的信息。
示例参考数据:
x_coord y_coord Northing Easting
10 10 4740481.089 709795.318
20 20 4740494.122 709790.115
20 30 4740497.928 709780.943
10 40 4740492.745 709767.865
30 20 4740503.329 709793.934
我希望能够输入一个值,如(22,37),并获得北/东值。
任何帮助或指导将不胜感激!
你的问题的答案很复杂,但不是无法解决的。最简单的解决方案是使用GIS。你可以画出你有GPS数据的点,然后在已知的参考点之间添加线和点来填补空白。
下一个方法是在GIS中从头开始绘制(使用线)您的整个网格,靠近您的调查位置。然后把你的GPS定位到正确的位置。你可以移动和旋转网格,直到它适合GPS点。
使用这两种方法,您可以在GIS中查询本地网格上每个方格的国家网格值。
替代步骤是数学的,对于多个点建议使用电子表格。为了将本地坐标转换为国家坐标,必须首先确定两者之间的角度差。假设您有一个基线,两端都有两个GPS读数,从较大的读数中减去较小的读数,得到直角三角形的两条边(x和y)的长度,然后使用公式tan的-1 (y/x)次方来计算角度的差异。
现在你有了角度的差异,你需要将所有的局部网格(笛卡尔)坐标转换为极坐标(距离和角度),基于你的局部网格0,0。对于每个网格点,使用公式距离=√(x方+ y方)和角度= tan-1 (y/x)。
一旦你有了每个点的角度,你只需加上或减去(适当的)本地网格和国家网格之间的角度差。
校正角度后,您可以将网格点转换回x,y数据,使用公式x=距离× cos(角度),y=距离× sin(角度)。
这些值可能相对于你的第一个点0,0,所以你可能需要将它们添加到你的GPS读数中,以获得最终的国家电网读数。
你可以看到为什么数学方法需要一个电子表格,如果你这样做的多个数据点。我试过了,它可以工作(当使用某个品牌的电子表格时,需要将度转换为弧度并再转换回来,这增加了复杂性)。
所以,对未来野外工作的建议——不要只使用GPS,也要使用磁罗盘。理想情况下,沿着罗盘点(如南北向、东西向)建立网格。如果你不能,用指南针来确定两者之间的角度差异。如果你不需要一个局部网格,不要使用一个,使用基线和极坐标代替,因为它将节省大量的计算。熟悉GIS,它会在底层为你做所有的数学工作。