2017-07-08 25 views
0

所以我跟蹤船隻數目,因爲他們遠涉重洋,創建MySQL中的LINESTRING()一旦我得到了所有已知的GPS點從出發到抵達。然而,有時候,我可以在創建線串之後找到更多的點,有時沒有關聯的時間數據。加分線串

所以我的問題是:什麼是採取線串和點添加到它的最簡單的方法?有理由認爲,LINESTRING逐漸不會改變方向,並且應該可以從數學上推斷新點應置於哪些點之間;但我似乎無法弄清楚。

我的解決方案迄今發現其給出的座標上LINESTRING是最接近的,但我一直無法弄清楚,決定是否應該之前或之後來到數學。也許解決方案涉及到找出點最接近的線串的哪一部分,然後將其插入到定義該線部分的兩個座標之間?

+0

都轉換爲字符串,拼接,再改回來。 –

+0

我想我能做到這一點... ... –

+0

,我也想你可以嘗試讀回答之前,我問這個問題? :-)這個問題從來沒有增加點,它是知道_where_添加點。 –

回答

0

一個可能的答案...

按緯度或經度排序GPS點。選擇變化最大的那個。然後構造定義一條線的字符串。

如果該行不「直」,或在世界各地的某些方面弧線,或具有操縱圍繞半島,或...的算法是簡單的。另外,如果GPS中的誤差有時大於兩個「連續」點之間的距離,則該算法是有缺陷的。