我有一个关于如何删除一些"不必要的问题的问题。来自" maps.txt"的坐标文件使用分段线,投影矢量或其他方法。
在Google地图上创建的路径: Map1
总共275个坐标,从" .KML"中提取谷歌地图的文件。 Map1_2
当我手动操作时,它会保持这种方式(Map2),有9个坐标。
我有一个名为" maps.txt"的文件。其坐标的线条采用以下格式: Obs:每条线上的坐标:纬度,经度。
的的
的 的
-37.2012600, -59.8404600
-37.2000200, -59.8419600
-37.1985300, -59.8439200
-37.1970600, -59.8458500
-37.1959100, -59.8473500
-37.1957800, -59.8475200
-37.1948600, -59.8486900
-37.1939500, -59.8498600
-37.1931400, -59.8509400
-37.1928400, -59.8513100
-37.1926700, -59.8515000
-37.1924600, -59.8517200
-37.1922600, -59.8519200
的
有没有办法让代码读取我的文件" maps.txt"使用半径为100米的线段,矢量投影,点距离计算? 如果代码将"删除行/不必要的坐标"从文件" maps.txt",这样离开(只是一个例子):
的的
的 的
-37.2012600, -59.8404600
-37.1948600, -59.8486900
-37.1922600, -59.8519200
的
使用Python,C,C ++或其他语言。 我希望我已经清楚了,并提前感谢你的帮助。 谢谢(:
我会尝试更好地解释。 在下图中,我有3个坐标(1,2和3)。 坐标" 1"相对于" 2"半径在100米以内。坐标,但来自" 1"到" 3"我的值大于100米,即在这种情况下坐标" 1"," 2" "和" 3"在我的文本文件" maps.txt"。
在示例2的下图中,我只需要坐标" 1"和" 3"在文件" maps.txt"。 Example2
答案 0 :(得分:1)
<强>更新强>
这是一个将KML转换为GPX的脚本:https://gist.github.com/timabell/8791116
这是一个Python脚本,看起来它会做你想要的(对于GPX文件):https://wiki.openstreetmap.org/wiki/User:Travelling_salesman/gpx_reduce
上一个回答:
我不知道你要求我们采取多少答案;这个问题有点复杂,所以这里有一些初学者伪代码:
此时,我们需要做出决定:
如果我们不太关心准确性,我们使用以下公式计算“距离”,然后“实验”找到适合我们的良好阈值。 (这个阈值只是我们在检查距离时使用的一些浮点数。如果它高于阈值,我们就开始换行。)
https://en.wikipedia.org/wiki/Distance_from_a_point_to_a_line#Line_defined_by_two_points
(其中(x0,y0)是我们正在调查的点,该线经过(x1,y1)和(x2,y2)。)