QGISをつかってポイントからラインフィーチャまでのまでの最短距離を測りたいと思います。
ネットで調べてもなかなか良い方法に出会えませんでしたが、下記のページをみると、近似的には計測できそうです。
https://gis.stackexchange.com/questions/181636/nearest-distance-between-point-layer-and-line-layer-qgis
おおまかな流れは
ネットで調べてもなかなか良い方法に出会えませんでしたが、下記のページをみると、近似的には計測できそうです。
https://gis.stackexchange.com/questions/181636/nearest-distance-between-point-layer-and-line-layer-qgis
おおまかな流れは
- SAGA→「convert lines to points」で、ラインフィーチャをポイントへ変換する
- 「ベクタ解析ツール」→「最寄りのハブまでの距離」で最寄りのポイントまでの距離を測る
というかんじです。
※SAGAについては->
https://docs.qgis.org/2.18/ja/docs/user_manual/processing_algs/saga/index.html
1. こんな感じにポイントデータ(たとえば物件の位置情報)とラインデータ(たとえば区域区分の境界線)があるとします。
2. プロセッシング→ツールボックスを開くと、プロセッシングツールボックスが開きます(画面右側)3. SAGAを開くとメニューがズラッとでてきます。その中の「Vector point tools」を開き、「Convert lines to points」をクリックします。4. ウィンドウが開きますので、ラインのレイヤを選択し、実行します。5. すると、こんな感じになりました。アップしてみると、ラインフィーチャが無数のポイントフィーチャに変換されていることがわかります。6. 次に、同じくプロセッシングツールボックスの「QGISジオアルゴリズム」から「ベクタ解析ツール」を開き、「最寄りまでのハブ距離」をクリックします。7. 以下のようなウィンドウが開きます。入力ポイントレイヤ:もとのポイントレイヤを指定Destination hubs layer:もともとラインだったレイヤを指定→実行します。8. 処理が完了すると、下記のように新しいレイヤ(ハブ距離)が作成され、ポイントからラインまでの距離が図られています(属性テーブルで確認)あとはデータをCSVで保存すれば、距離情報をもちいた分析ができるようになります。
あまりスマートな方法とは言えないかもしれませんが、少なくとも近似的にはポイントから特定のライン・ポリゴンフィーチャまでの最短距離を取得することができると思います。
もっとスマートな、あるいは確実な方法をご存知の方がいらっしゃいましたら、ぜひ教えてください(ArcGISだとポイントからラインまでの距離をとる機能があるみたいです)。
コメント