我从事项目建设识别系统。我想请有经验的人从地图上收集GPS数据。
我想将地图划分成网格,每个网格的面积是30米* 30米我想要存储中心GPS坐标(即点(15,15)
这样做的最佳方式是什么?
这是一张展示我需要的图片。
答案 0 :(得分:1)
这不是那么容易:
有两种方法:
专业解决方案:
使用该国家/城市的UTM坐标系绘制网格30x30。 UTM以米为单位测量,是一个扁平的笛卡尔坐标系,而纬度/经度是咒语的,而不是x,y线性的。 对齐网格,使其对应于整数UTM坐标。
然后你需要一个从纬度/经度WGS84到UTM的方法转换(希望WGS84,但在某些国家使用其他椭圆体)
地图显示软件应该是苹果使用UTM坐标系。
更简单的一个:
继续使用lat long cooridnates并计算 latitudinalGridWithDegrees 度量,其度数对应于30m(在地图中间/城市/城市中心)
由于lat和lon不使用相同的比例(1度纬度差异与经度中的度数不同 - 仅在aequator处),另外计算 longitudinalGridWithDegrees 。
您将获得两个不同的值(它们因cos因子而异(mapCenterLatitudeRadians)。
要计算此值,要么了解地理计算,要么只使用从起点开始给定半径和方向创建偏移点的函数。使用地图的中心作为要偏移的点(起点)
创建一个偏移30m,航向= 0°的点,然后通过减去并存储在 latitudinalGridWithDegrees 中来测量纬度差异
使用heading = 90执行相同操作,并测量纵向差异并存储在 longitudinalGridWithDegrees 中。
现在你可以使用两个变量的值作为lat和long步骤绘制网格。
然后它们给出了这样一个正方形的角点,你总是使用纬度和长度作为映射软件的插入。
如果你生活在澳大利亚或Norwegen这样的特殊国家/大陆,那里的大陆每年漂移高达1米,那就更难了。 其他大陆每年仅漂移1毫米,您和其他所有应用程序都会忽略它。
每个解决方案的优点/缺点
简单解决方案:
- 网格在地图的角落不是正方形,但是城市的概率不可见
- 网格单元正好在地图/参考点的中心正好为30m,选择偏移计算。)
+更容易实施
+ maping软件interfcae更简单,始终支持
专业解决方案。
+网格将匹配专业纸质地图
+网格单元总是正好30米左右
- 需要地理转换软件或方法
- 不清楚地图显示软件是否提供UTM(在大多数情况下不是)
但是,也许更容易分配要测量的道路和房屋号码,支持更多的矿石和更少的电网。