Schnittlinienebene basierend auf Polygonen mit QGIS?

13

Ich habe eine Linienebene und eine Polygonebene. Beide Dateien haben den gleichen SRS. Ich möchte in einer neuen Formdatei nur die Linien, die von den Polygonen abgedeckt werden.

Ich habe das Vector -> Geoprocessing -> ClipTool in QGIS ausprobiert, erhalte aber nur ein leeres Shapefile.

Wie mache ich das mit QGIS?

Bildbeschreibung hier eingeben

ustroetz
quelle
Welche Version von QGIS verwenden Sie?
artwork21
2.0.1-Dufour unter OS X 10.9.
Uströtz
2
Es stellte sich heraus, dass meine Linienebene ein Multistring ist und der QGIS-Clipper Multistring nicht ordnungsgemäß verarbeitet. Ich habe es in einzelne Teile konvertiert und dann hat es funktioniert.
Uströtz
Können Sie bitte angeben, wo und wie Sie von Multistring auf Singleparts umsteigen sollen? Danke
Patribus
1
@Patribo In QGIS gehen Sie zuVector -> Geometry Tools -> Multipart to singleparts
ustroetz

Antworten:

11

Verwenden Sie das Vector -> Geoprocessing -> ClipWerkzeug

Die Eingabe ist Ihre Straßenebene, die Clipebene ist die Polygonebene.

Bildbeschreibung hier eingeben

Fügen Sie die Ebene der Linie in "Eingabevektorebene" und die Ebene des Polygons in "Clipebene" ein.

Nathan W
quelle
Ich habe es versucht. Ich bekomme nur ein leeres Shapefile. Was könnte falsch sein?
Uströtz
1
Sind sie die gleiche Projektion?
Nathan W
Ja, sind Sie. Und wenn ich es so mache, wie Sie es gezeigt haben (Eingabevektorebene = Polygon, Clipebene = Linie), erhalte ich im Gegenzug dieselbe Polygonebene, die ich
eingegeben habe
2
Das Problem war, dass meine Linienschicht multistring war und der Clipper das nicht richtig verarbeitete. Nach der Konvertierung in einzelne Teile hat es so funktioniert, wie Sie es beschrieben haben.
Uströtz
Ich habe auch ein leeres Shapefile zurückgegeben. Mein Problem war, dass ich die Bearbeitung meiner neu erstellten Maskenebene nicht beenden konnte.
Ben Mayo
8

Dies gab mir endlose Stunden der Frustration und die obigen Antworten (sogar die in den Kommentaren) funktionierten auch nicht für mich, aber ich fand meine eigene Lösung, die den Trick machte.

Es stellt sich heraus, dass zum Erstellen einer Schnittmenge oder eines Clips zwischen zwei Ebenen diese mit demselben CRS auf der Festplatte gespeichert werden müssen . Selbst wenn sie so aussehen, als würden sie sich in QGIS überlappen, kann es sein, dass sie durch eine eigene "On the Fly" -Transformation ausgerichtet werden.

Um dies zu beheben, gehen Sie für jede Ebene folgendermaßen vor:

  1. Rechtsklick, Speichern unter ...
  2. Stellen Sie das Format auf ESRI Shapefile ein, wählen Sie einen Dateinamen und ein CRS aus, das Sie für alle Ebenen verwenden möchten. Klicken Sie auf OK , um die Datei zu speichern und zu laden.
  3. Wiederholen Sie diesen Vorgang für die andere Ebene und wählen Sie dasselbe CRS aus.
  4. Verwenden Sie das Clip-Werkzeug mit den neuen Ebenen. Dies sollte den Trick machen.

Wenn Sie herausfinden möchten, ob die Umstellung "On the Fly" zu Problemen führt, gehen Sie wie folgt vor:

  1. Gehen Sie zum Menü Projekt und klicken Sie auf Projekteigenschaften ...
  2. Wechseln Sie zur Registerkarte CRS
  3. Deaktivieren Sie das Kontrollkästchen CRS-Umwandlung sofort aktivieren und klicken Sie auf Übernehmen , OK

Wenn Ihre CRS nicht identisch wären, sollten sich die Ebenen nicht mehr überlappen. Sie können die Position jeder Ebene anzeigen, indem Sie mit der rechten Maustaste auf die Ebene klicken und zu Auf Ebene zoomen wechseln . Wenn Sie die beiden Dateien mit identischem CRS laden, sollten sie perfekt ausgerichtet sein.

Brideau
quelle
Der Vorschlag von Nathan W hat bei mir nicht funktioniert und Ihr Vorschlag hat funktioniert, danke.
Tilek