【问题标题】:Getting all vertex (lat, long) points every 1 meter between two known points?在两个已知点之间每 1 米获取所有顶点(纬度、经度)点?
【发布时间】:2016-07-12 17:16:13
【问题描述】:

我目前正在使用 C# 尝试编写代码,该代码将采用十进制值的起点和终点纬度和经度坐标对,并显示这两个点(起点和终点)之间的 GPS 点(纬度和经度)在我的数据库中。

例如:

我有纬度 39.90732 和经度 116.45353 的起始坐标,我有纬度 39.90736 和经度 116.44927 的终点。在 datagridview 或 listview 上查询并显示我的数据库中这两点之间的 GPS 点(纬度和经度值)。

还计算每 1 米间隔的 GPS 点数。

1. image description for first part

2. image description for second part

【问题讨论】:

  • 您的问题是什么?您希望有人为您编写代码吗?如果你写c#代码,为什么是java标签?

标签: c# algorithm gps gis


【解决方案1】:

所以您的数据库中有一组坐标并且想要获取位于某条线上的坐标?

对于您的第一个问题:要在数学上正确,您必须获得该线的方程 f(x)= k * x + d 并检查您的点,它们是否是该方程的有效解。您可以跳过肯定在起点(s_x, s_y) 和终点(e_x, e_y) 跨越的矩形之外的检查点。即您只需要检查点(x, y),其中x 介于s_xe_x 之间,y 介于s_ye_y 之间。

对于您的第二个问题:如果您有一组从问题 1 派生的有效点,则应该很容易计算每个点到起点的距离,然后按距离对它们进行分组。

所有这些假设,您知道如何将您的 gps 坐标转换为公制系统,并且您的距离足够短,以至于可以忽略球形地球在平面上的投影。例如,两个经度之间的距离在赤道处最大,向两极变小。此外,地球上两点之间的最短距离可能不是使用墨卡托投影在平面地图上看起来的那样。

【讨论】:

  • 没错!我在找什么!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-29
  • 2013-10-25
  • 1970-01-01
相关资源
最近更新 更多