Php 向线字符串添加点

Php 向线字符串添加点,php,mysql,spatial,Php,Mysql,Spatial,因此,我正在跟踪一些穿越海洋的船只,一旦我获得了从出发到到达的所有已知GPS点,我就会在MySQL中创建一个LINESTRING()。但是,有时在创建线字符串后,我能够找到其他点,有时没有关联的时间数据 所以我的问题是:获取一个线字符串并向其添加一个点的最简单方法是什么?可以合理地假设,一点一点地,线串的方向变化不大,并且可以从数学上推断新点应该放置在哪些点之间;但我似乎不明白 到目前为止,我的解决方案找到了字符串上哪一个给定的坐标是最接近的,但是我还没有弄清楚决定它应该在之前还是之后出现的数学

因此,我正在跟踪一些穿越海洋的船只,一旦我获得了从出发到到达的所有已知GPS点,我就会在MySQL中创建一个LINESTRING()。但是,有时在创建线字符串后,我能够找到其他点,有时没有关联的时间数据

所以我的问题是:获取一个线字符串并向其添加一个点的最简单方法是什么?可以合理地假设,一点一点地,线串的方向变化不大,并且可以从数学上推断新点应该放置在哪些点之间;但我似乎不明白

到目前为止,我的解决方案找到了字符串上哪一个给定的坐标是最接近的,但是我还没有弄清楚决定它应该在之前还是之后出现的数学公式。也许解决方案包括找出该点最靠近线串的哪一部分,然后将其插入定义该部分线的两个坐标之间?

一个可能的答案

按纬度或经度对GPS点进行排序。选择变化最大的一个。然后构造定义行的字符串


如果这条线不是“直线”或以某种方式环绕地球,或者必须绕半岛机动,或者……,那么算法就过于简单化了。此外,如果GPS中的误差有时大于两个“连续”点之间的距离,则该算法存在缺陷。

将两者转换为字符串、连接、再转换回。我想我可以做到。。。。。。我还想你可以试着在回答之前读一下我问的问题?:-)问题从来不是加点,而是知道在哪里加点。这在数学上可能是无法解决的。有许多边缘情况。