0

特定の都市のルーティング情報を必要とするアプリケーションを開発しています。まず、openstreetmapデータファイル(* .osm)をダウンロードし、osm2pgroutingツール(http://workshop.pgrouting.org/chapters/installation.html)を使用してpostgreSQLデータベースにインポートしました。この後、次のテーブルがあります。

  • ノード:単純なロケーションポイントが含まれています
  • 方法:いくつかのノードが関与する方法が含まれています
  • vertices_tmp:Djistra、A*...などのpgrouting関数に使用できるノードを格納します。

「vertices_tmp」テーブルにないノードを使用して、ノード間の距離を計算しますか?または、「vertices_tmp」に格納されているノードでのみ実行しますか?

ウェイテーブルには、さまざまな場所のポイント(ノード)をカプセル化する「the_geom」という名前のフィールドがあります。例えば:

"MULTILINESTRING((1.5897786 42.5600441,1.5898376 42.5601455,1.589992 42.5605438,1.590095 42.5606795,1.5901782 42.5608026,1.5902238 42.561018,1.5902912 42.5616808,1.5903685 42.561899,1.5904008 42.5620563,1.5903836 42.5624117,1.5904265 42.5627151,1.5904947 42.5628368,1.5905981 42.5629553,1.5906926 42.5631007,1.590802 42.5633238,1.5908604 42.5634883,1.5909501 42.5637139,1.5910869 42.5638755,1.5913053 42.5639639,1.5914994 42.5640237,1.591648 42.5640261,1.5919232 42.5640145,1.5921124 42.5640363,1.5923292 42.5640953,1.592804 42.5643306))"

中間ノードでルーティングできますか、それともソース/ターゲットノードのみでルーティングできますか?

私の目標は、アメニティタグに応じて、運転距離や徒歩距離だけでなく、さまざまなノードまたはPOI間をルーティングできるようにすることです。さらに、ソース/ターゲットノードの最短パスを計算する必要があります。

これを行うためのアイデアはありますか?

4

1 に答える 1

1

ノードテーブルの要素は使用できません。

あるPOIから別のPOIへのルートを計画する場合は、最初に、選択したアルゴリズムに基づいて最も近い頂点/エッジを見つける必要があります(星を撃つにはエッジが必要で、他の星は頂点を使用します)。この後、ルーティングを行うことができます。このサイトからアルゴリズムを選択するだけです。

さまざまなルーティングソリューションに関する優れたチュートリアルと、詳細な使用法(最も近い方法を決定する方法を含む)のヘルプがあります。

于 2012-11-09T17:47:49.840 に答える