ルートプランニングシステムを構築していますが、使用する基本的なルーティングエンジンを決定する必要があります。これまでのところ、私はpgroutingとneo4jを見つけました。
ルートネットワークはpostgresql / postgisデータベース(シェープファイルからインポート)にあります。ノードを抽出するためのクエリ(行き先または行き止まりの方向を決定する必要がある方法のエンドポイント)とエッジを抽出するためのクエリを作成しました(多くの場合、いくつかの連続した方法で構成されています)。私のエッジはすべて双方向です。
私の主な目標は、距離=コストのA-starアルゴリズムを使用して、このネットワーク上のルートを計算することです。
私の感じでは、neo4jのようなグラフデータベースを使用する方法があります(この目的のためだけに作成されているように思われます)が、デフォルトではA-starをサポートしていないようで、実際のジオメトリもありません。地図よりもソーシャルネットワークに適しているようです。
- プラウティングは私のニーズを満たしますか?
- オンザフライクエリ(+ -2000ノード、+-4000エッジ)に十分な速度ですか?通常、これはA-starの場合は数ミリ秒ですが、SQLでのこの実装についてはわかりません。
- P-grouting A-starはノードとエッジのリストを提供しますか?
- ほとんどの例でpgroutingについて見ると、通常はルートの計算後にコマンドのリストがあることに気づきます(「Xで左折など」)。pgroutingはこれを生成しますか、またはこれは別のシステムからのものですか?
誰かが私に選択するシステムに関する情報を提供してくれることを願っています。Neo4j、pgrouting、またはその他のシステム。