QGISを使用してポイントからラインまでの最短距離を計算しますか?


12

非常に大きなデータセットを持つQGISの一連の住所ポイントの最も近い道路からの距離を計算する最良の方法は何ですか?(QGIS 2.0.1、Win XP)

以前の同様の質問に対する回答を読みました。

QGISでの線と点の間の距離の測定

PyQGISで垂直線を描く?

QGISでポイントとポリゴン間の最小距離を計算しますか?

/programming/16448402/distance-of-point-feature-to-nearest-polygon-in-r

それにもかかわらず:

  1. MMQGISプラグインは、ラインまでの最短(垂直)距離ではなく、ラインネットワークの最も近いノードまでの距離を検出します。

  2. RとPythonが提案するスクリプトは、小さなデータセットで正しく機能し、モデラーに実装できますが、私の仕事では、530ポイントと約135'000のフィーチャを持つ地域のストリートレイヤーがあり、すべてのフィーチャをサイクリングしてから、すべてのポイントには膨大な時間がかかります

  3. QGIS 2.0.1でGRASSを動作させるのに問題があります(QGISのGRASSが動作しません(Windows XP))。


1
GRASSプラグインとv.distanceツールを使用して、QGIS 1.8.0の最小距離を計算しました。実行には約15分かかります(さらに、GRASSを正しく設定してレイヤーをインポートするのにかかる時間もかかります)。なぜ、ArcGIS(es、空間的位置による結合)がこれほど速いのですか?
mic_cord

1
タスクに最適化された空間インデックスとコードを持つことが問題です。ルーティングライブラリ(RW Net 4)でチェックしたところ、アプリのストリートネットワークで1秒あたり2000回の計算ができます。あなたと同じサイズ。GRASSプラグインよりも約4000倍高速です。
Uffe Kousgaard

3
Postgisはそれを速く行う必要があります
ニックラスアベン

1
@mic_cord GRASSプラグインのv.distanceメソッドについて詳しく説明してください。QGISの外部でGRASSを使用してv.distanceを正常に動作させましたが、Processingツールボックス(QGIS 2.6)内で動作させることができません。
user25976

回答:


6

同様の問題を解決していました。私たちにとって最良かつ最速の方法は次のとおりです。

  1. ラインレイヤーのラスタライズ(ラスタライズ/変換/ラスタライズ...)
  2. 近接への変換(ラスター/解析/近接...)
  3. プラグインポイントサンプリングツールを使用して、ラスターからすべてのポイントの値を取得します

4

QGISで線と点の間の距離測定することに対するいくつかの答え は、NNJoin QGISプラグイン(http://arken.nmbu.no/~havatv/gis/qgisplugins/NNJoin/)を推奨しています。最近傍の空間結合を行い、結果に距離を含めます。NNJoinのそれが合理的に大規模なデータセットを処理する必要がありますので、プラグインは、空間インデックスを使用しています。


Tveite、2番目の提案。このプラグインがRの推奨パッケージ(geosphere :: dist2Line)よりも速く動作することに非常に驚いた。
ヨハネス
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.