QGISでポリゴンに基づいてラインレイヤーをクリッピングしますか?


13

ラインレイヤーとポリゴンレイヤーがあります。両方のファイルに同じSRSがあります。新しいシェイプファイルには、ポリゴンで覆われた線のみが必要です。

QGISでVector -> Geoprocessing -> Clipツールを試しましたが、空のシェープファイルしか取得できません。

QGISでこれを行うにはどうすればよいですか?

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


QGISのどのバージョンを使用していますか?
アートワーク21

OS X 10.9上の2.0.1-Dufour。
-ustroetz

2
私のラインレイヤーはマルチストリングであり、QGISクリッパーはマルチストリングを適切に処理しないことが判明しました。私はそれをシングルパートに変換し、それから動作しました。
ustroetz

マルチストリングからシングルパートに変換する場所と方法を教えてください。おかげで
パトリバス14

1
@PatriboでQGISに行くVector -> Geometry Tools -> Multipart to singleparts
ustroetz

回答:


11

Vector -> Geoprocessing -> Clipツールを使用する

入力は道路レイヤー、クリップレイヤーはポリゴンレイヤーです。

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

ラインのレイヤーを「入力ベクターレイヤー」に、ポリゴンのレイヤーを「クリップレイヤー」に配置します


やってみた 空のシェープファイルしか取得できません。何が間違っているのでしょうか?
-ustroetz

1
それらは同じ投影ですか?
ネイサンW

はい、そうです。そして、あなたが示した方法でそれを行うと(入力ベクトルレイヤー=ポリゴン、クリップレイヤー=ライン)、私が入れたのと同じポリゴンレイヤーが返されます。
ustroetz

2
問題は、ラインレイヤーがマルチストリングであり、クリッパーがそれを適切に処理しなかったことです。それをシングルパートに変換した後、説明どおりに機能しました。
-ustroetz

空のシェープファイルも返していました。私の問題は、新しく作成したマスクレイヤーの編集を停止できなかったことです。
ベン・メイヨー

8

これは私に果てしない欲求不満を与え、上記の回答(コメントにあるものも)は私にはうまくいきませんでしたが、私はトリックを行う独自のソリューションを見つけました。

2つのレイヤー間で交差またはクリップを行うには、同じCRSでディスク保存する必要があることがわかります。そのため、QGISで重なっているように見えても、それらを調整するために独自の「On the Fly」変換を行っている可能性があります。

これを修正するには、レイヤーごとにこれを実行します。

  1. 右クリックして、名前を付けて保存...
  2. 形式をESRI Shapefileに設定し、ファイル名を選択し、すべてのレイヤーに使用するCRSを選択します。[ OK]をクリックして保存し、そのファイルをロードします。
  3. 同じCRSを選択して、他のレイヤーに対して繰り返します。
  4. 新しいレイヤーでクリップツールを使用します。これでうまくいくはずです。

「On the Fly」変換が問題の原因であるかどうかを確認するには、次の操作を行います。

  1. 移動し、プロジェクトメニュー、クリックし、プロジェクトのプロパティを...
  2. [ CRS ]タブに移動します
  3. 「オンザフライ」CRS変換有効にするのチェックを外し、適用OKをクリックします。

CRSが同じでない場合、レイヤーは重複しません。レイヤーを右クリックして[ レイヤーズーム ]を選択すると、いずれかのレイヤーの位置を確認できます。同一のCRSで2つのファイルをロードすると、それらは完全に整合するはずです。


Nathan Wによる提案は私には役に立たず、あなたの提案はうまくいきました、ありがとう。
ティレック
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.