質問

クライアントのネットワーク分析を試みています。提供されている道路網GISレイヤーは品質が悪いです。したがって、Googleマップに頼って200ポイント間の最短経路を提供し、各ポイント間の時間と距離のマトリックスを作成する必要があります。

レイヤーをKMLポイントのセットとして入力して、これらのポイント間の距離と時間の出力を取得する方法はありますか?

これがAPIを介して実行可能な場合、そのようなスクリプトの作成方法に関するヒントや提案はありますか?

編集 理想的な最終結果は、次の形式のCSVファイルです。

node_1, node_2, distance, travel_time
node_n, node_m, distance, travel_time
役に立ちましたか?

解決

スクリプト全体を作成するわけではありませんが、これはマップAPIを使用して実行できます。 マップサンドボックスを開き、onGDirectionsLoad関数に追加します。 :

alert(gdir.getDistance().meters);

ドキュメントはこちらで見つけることができます- getDuration()も使用できます。その後、必要なのは、リクエストが終了したら新しいリクエストを発行し、開始点と終了点の各ペアの指示を取得することだけです。

ただし、200 * 200パスの取得を計画している場合、Googleはある時点でレート制限を決定する場合があります。この方法は、ご自身の責任で、リクエストとリクエストの間で遅れて使用してください。

また、Googleの組み込みのKMLサポートがありませんtはあなたにポイントのリストを与えることをサポートしているようです-これは理にかなっています。なぜならクライアントは現在画面上にあるものしか持っていないからです。入力形式としてKMLを使用する場合は、独自のKMLローダーを作成する必要があります。または、この例のように、より単純な形式を使用します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top