左右の距離が異なるラインをバッファリングする方法


14

行の左側に1つの属性を、行の右側に1つの属性を使用して、QGISで行をバッファリングするにはどうすればよいですか?私は川をその左右に異なる土手幅で緩衝しようとしています。


QGISのJTSバッファを使用しようとしましたか?lin-ear-th-inking.blogspot.it/2010/11/…–
julien

回答:


8

線の側面の定義は、GISの2D平面である方向付け可能な表面上でかなりまっすぐです。線の開始点と終了点を定義すると、「左側」と「右側」の辺を明確に定義できます。これは、線がそれ自体と交差する場合でも同様です。

より実用的な観点から、片側バッファーを作成するための単純なワークフローには、標準バッファー、差分操作、そしてクリッピング操作が含まれます。以下に例を示します。

まず、ラインを含む、または正確にオーバーラップするポリゴンを作成します。バッファをラインの右側に配置するには、ポリゴンの内側が左側にある必要があります。ラインがそれ自体と交差する場合、これは期待どおりに機能しないため、ポリゴンがライン自体またはラインと交差しないようにポリゴンを描画する必要がある場合があることに注意してください。このポリゴンにバッファー操作を適用します。fToolsプラグインを使用して、[ジオプロセシングツール]> [バッファ]に移動します。

ポリゴン

差分操作を使用して、[ジオプロセシングツール]> [差分]を使用し、バッファーを入力レイヤーとして、元のポリゴンを差分レイヤーとして、内部を切り取ります。これで右側のバッファができました。

バッファリングされたポリゴン

残るのは、ポリゴンの「余分な」部分をクリップすることだけです。[ジオプロセシングツール]> [クリップ]。

ポリゴンクリップ 最終行


1

これは非常に興味深い質問であり、解決するのは簡単ではないと思います。500行のVBコードにまたがる非常にうまく文書化されたソリューションを提供するArcMapのスクリプトに出会いました。ただし、QGISの同等のスクリプトまたはモジュールを認識していません。

非対称バッファの重要な考慮事項の1つは、線の流れの方向です。そのため、左側と右側を定義できます。河川の場合、DEMが付随しているかどうかを計算するのは簡単です。

このスクリプトのロジックを中心にqgisスクリプトを構築することは可能かもしれませんが、それには膨大な作業が必要になります。


1
ArcMapでは、これを非常に簡単に実現できます。ツールダイアログには、Side Type左または右のいずれかであることができるパラメーターがあります。そして、あなたはパラメータを持っていますField。したがって、このツールのスクリプトを作成すると、両方に異なる値を使用できます。私は最近これをやった(ここで私の質問を参照
LarsVegas
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.