2017-07-08 13 views
0

海上を航行する船舶の数を追跡しています。出発点から到着までのすべての既知のGPSポイントを取得すると、LINESTRING()をMySQLで作成します。しかし、時には、時には関連する時間データがない場合に、線ストリングを作成した後に追加ポイントを見つけることができます。ラインストリングへのポイントの追加

私の質問は、次のとおりです。線ストリングを使用してポイントを追加する最も単純な方法は何ですか?ポイントごとにLINESTRINGは方向を大きく変えず、新しいポイントをどのポイント間に数学的に導き出すことが可能であると仮定することは合理的です。しかし、私はそれを把握していないようです。

私の解はこれまでLINESTRING上の与えられた座標が最も近いものを見つけましたが、前後に来るべきかどうかを決定する数学を理解することができませんでした。多分、解決策は、線ストリングのどの部分が最も近いかを見出し、それを線のその部分を定義する2つの座標の間に挿入することでしょうか?

+0

両方を文字列に変換し、連結し、元に戻します。 –

+0

私はそれをすることができると思います... –

+0

...私はあなたがそれに答える前に私が尋ねている質問を読むことを試みることができると思いますか? :-)問題はポイントを追加することで決してありませんでした。ポイントを追加するには_where_を知っていました。 –

答えて

0

可能な回答...

緯度または経度でGPSポイントを並べ替えます。最もバリエーションがあるものを選択します。次に、行を定義する文字列を作成します。

もし直線が地球のまわりで「まっすぐ」ではなく、ある特定の方法で弧を描いたり、半島の周りを駆け抜けたりする必要があるなら、アルゴリズムは単純化するべきです。また、GPSの誤差が2つの「連続」点間の距離よりも大きい場合もありますが、アルゴリズムには欠陥があります。

関連する問題