水上でのルーティングは基本的に陸上と同じです:ジオメトリをグラフに抽象化する必要があります。これは、ポイントとそれらの間の接続の抽象的な表現であり、各接続は特定のコスト(たとえば、移動時間や距離)に関連付けられます。
違いは、水路上でグラフを作成する方法のように見えます。河川の場合、陸路の場合と同じかもしれません。しかし、外海や湖がある場合は、無限の可能性があります。海岸、島、または砂州の周りの角を丸くする中間点と組み合わせて、始点と終点のcost骨点の間の直線を考慮してください。
これらのグラフをアルゴリズム的に作成するのは難しいかもしれませんが、可能です。別のアイデアは、GPSを使用して船舶の追跡を収集し、それらをデータベースにフィードすることです。または、AISデータの収集を試みてください:Marinetraffic(目的地に到着した場合、ルートはそれほど悪くないはずです)。十分なデータを収集した場合は、これらのトラックから高速/最短トラックを選択することもできます。
実用的な部分について:OpenSeaMapについて聞いたことがありますか?OpenStreetMapに基づいた船舶のマップと生データの束があります(たとえば、港への水路)。このデータを基礎としてダウンロードできます。旅行プランナー(Törn-Planer)もありますが、これは自動化されていませんが、地図上のウェイポイントをクリックしてルートを作成する必要があります。これがスクリーンショットです: