両側に異なる幅のQGISバッファーポリゴン


12

山火事のリスク評価用のマップを作成し、建物のさまざまな側面で異なる距離にある建物のエンベロープの周りに「防御可能なスペース」バッファーゾーンをプロットするように常に求められます。(画像を参照)

私はこれをQGISで必要な距離ごとにバッファーを作成してから、できる限り近いものを手動で描画してきました。

これは明らかに理想的とは言えません。QGISでこれらのバッファを作成する方法はありますか?ArcGISとMapInfoにもアクセスできます。

複数のバッファー距離


1
GIS.SEへようこそ!間隔を定義するものを言うなど、もう少し詳細を追加できますか(たとえば、2つの辺が25m、2つの辺が19mである理由)。何らかの属性、または他のロジックはありますか?
BradHards

3
1つの方法は、ポリゴンをラインに変換し、バッファー距離フィールドを追加し、正しい距離を設定し、ラインをバッファーし、バッファーをディゾルブし、中央の穴を削除することです。これをスクリプトまたはモデルにすると、手動の方法よりも高速になる可能性があります。しかし、そこにその可変バッファー距離を取得するか、この行がこのタイプのバッファーであると言う属性を作成してそれ自体でそれを行うことができるため、各シェイプに手動の介入が必要になり、物事が遅くなります。
クリスW

@BradHardsありがとう、長い間ここに潜んでいました!距離は、レポートを作成するコンサルタントによって私に与えられ、山火事の場合に合理的に防御できる建物からの距離を示します。距離は建物ごとに異なり、建物の両側も異なる場合があります。簡単にするためです。13mから30mまでの距離を見てきました。
chrisxrobertson

@ChrisW私はラインにポリを考えていませんでした、それは理にかなっています、ありがとう。それほど時間を節約しませんが、少なくともバッファーはより正確になります。
chrisxrobertson

@BradHards彼はリスク評価をマッピングしているので、私の推測では、マッピングは防御可能なスペースとして適格となる既存のエリアが何であるかです。既存の状態調査と同様に、サイトごとに異なります。防御可能なスペース、構造物のすべての側面で30 フィート(あなたがどこにいるか、どの防衛ゾーンについて話しているかによって異なります)でなければなりません。ケースはすべて非常にユニークな機能であるため、プロセスを自動化/高速化する方法はわかりません。
クリスW

回答:


6

したがって、バッファリングする必要があるポリゴンがすでにあり、距離(投影システムに応じてメートルまたはフィート)があると仮定します。

これらのバッファ距離を入力する必要があるため、ここで手動で作業する場合はどうでもかまいません。

しかし、QGISのいくつかのモデルで多くの手作業を削除できます。

モデルは次のとおりです。

  1. ポリゴンをポリラインに変換します。
  2. ポリラインを分解します。
  3. バッファーに使用されるバッファー列を追加します。

ポリラインを分解するため、各辺(ポリライン)に異なるバッファー距離を設定できます。

次に、各ポリラインのバッファー距離を手動で設定します。

次のモデル:

  1. GRASS可変距離バッファー。(エンドキャップスタイルを使用できないため、GRASSを使用します。そのため、両端が他の側面と重ならないようにします)
  2. コーナーを修正するための凸包。

写真では、モデル1:

元のポリゴン:

ここに画像の説明を入力してください

  1. 多角形からポリラインへ:

ここに画像の説明を入力してください

  1. ポリラインを分解します。
  2. 値を手動で追加したバッファー列を追加します。

ここに画像の説明を入力してください

モデル2:

  1. バッファー列を持つ可変距離のGRASSバッファー。「ポリラインの端にキャップを作成しない」をチェックしたv.buffer.column:

ここに画像の説明を入力してください

  1. コーナーを修正するための凸包:

ここに画像の説明を入力してください

コーナーは私たちが望む方法です。エンドキャップを使用すると、より長い距離のバッファーで多くのオーバーラップが発生します。

モデル1:

ここに画像の説明を入力してください

モデル2:

ここに画像の説明を入力してください

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.