所以当我们穿越海洋时,我正在跟踪一些船只,一旦我从出发到达到达所有已知的GPS点,就会在MySQL中创建一个LINESTRING()。但是,有时候,我可以在创建线串后找到额外的点,有时没有相关的时间数据。
所以我的问题是:采用线串并为其添加点的最简单方法是什么?可以合理地假设LINESTRING不是一点一点地改变方向,并且应该可以在数学上推导出新点应该放置在哪些点之间;但我似乎无法弄明白。
到目前为止,我的解决方案发现哪个给定的LINESTRING坐标是最接近的,但是我无法弄清楚决定它是应该在之前还是之后的数学。也许解决方案是找出最接近点的线串的哪一部分然后将它插入定义该部分线的两个坐标之间?
答案 0 :(得分:0)
可能的答案......
按纬度或经度对GPS点进行排序。选择变异最大的那个。然后构造定义一行的字符串。
如果该线不是"直的"或者在全球范围内以某种方式产生弧线,或者必须在半岛周围进行操纵,或......,算法是简单的。此外,如果GPS中的错误有时大于两个连续的'之间的距离。点,算法是有缺陷的。