Przycinać warstwę linii na podstawie wielokątów z QGIS?

13

Mam warstwę i warstwę wielokąta. Oba pliki mają ten sam SRS. Chcę w nowym pliku kształtu tylko linie pokryte wielokątami.

Wypróbowałem Vector -> Geoprocessing -> Clipnarzędzie w QGIS , ale dostaję tylko pusty plik kształtu.

Jak to zrobić za pomocą QGIS?

wprowadź opis zdjęcia tutaj

ustroetz
źródło
Jakiej wersji QGIS używasz?
artwork21
2.0.1-Dufour w systemie OS X 10.9.
ustroetz
2
Okazało się, że moja warstwa liniowa jest multistringiem, a clipper QGIS nie przetwarza poprawnie multistringu. Przekształciłem go w singleparty, a potem zadziałało.
ustroetz
czy możesz wskazać, gdzie i jak przekształcić z multistring w singleparty? dzięki
Patribus,
1
@Patribo W QGIS przejdź doVector -> Geometry Tools -> Multipart to singleparts
ustroetz

Odpowiedzi:

11

Użyj Vector -> Geoprocessing -> Clipnarzędzia

Dane wejściowe to warstwa dróg, warstwa klipu to warstwa wielokątów.

wprowadź opis zdjęcia tutaj

Umieść warstwę linii w „warstwie wektora wejściowego”, a warstwę wielokąta w „Warstwie klipu”

Nathan W.
źródło
Próbowałem tego. Dostaję tylko pusty plik kształtu. Co może być nie tak?
ustroetz
1
Czy to ta sama projekcja?
Nathan W
Tak, oni są. A jeśli zrobię to tak, jak pokazałeś (Warstwa wektora wejściowego = wielokąt, Warstwa klipu = linia), w zamian otrzymam tę samą warstwę wielokąta.
ustroetz
2
Problem polegał na tym, że moja warstwa liniowa była wielowarstwowa, a maszynka do strzyżenia nie przetwarzała tego poprawnie. Po przekształceniu go w pojedyncze części działało tak, jak to opisałeś.
ustroetz
Zwracałem też pusty plik kształtu. Mój problem polegał na tym, że nie przestałem edytować nowo utworzonej warstwy maski.
Ben Mayo
9

To dało mi nieskończone godziny frustracji, a powyższe odpowiedzi (nawet te w komentarzach) też nie działały dla mnie, ale znalazłem własne rozwiązanie, które załatwiło sprawę.

Okazuje się, że aby wykonać skrzyżowanie lub klip między dwiema warstwami, należy je zapisać na dysku z tym samym CRS . Więc nawet jeśli wyglądają, jakby nakładały się na siebie w QGIS, może to być jego własna transformacja „w locie”, aby je wyrównać.

Aby to naprawić, zrób to dla każdej warstwy:

  1. Kliknij prawym przyciskiem, Zapisz jako ...
  2. Ustaw format na ESAP Shapefile, wybierz nazwę pliku i wybierz CRS, który będzie używany dla wszystkich warstw. Kliknij przycisk OK, aby zapisać i załadować ten plik.
  3. Powtórz tę czynność dla drugiej warstwy, wybierając ten sam CRS.
  4. Użyj narzędzia klip z nowymi warstwami. To powinno załatwić sprawę.

Jeśli chcesz sprawdzić, czy transformacja „w locie” powoduje problemy, wykonaj następujące czynności:

  1. Przejdź do menu Projekt i kliknij Właściwości projektu ...
  2. Przejdź do zakładki CRS
  3. Odznacz Włącz transformację CRS „w locie” i kliknij Zastosuj , OK

Jeśli twój CRS nie był taki sam, warstwy nie powinny się już nakładać. Możesz zobaczyć pozycję każdej warstwy, klikając ją prawym przyciskiem myszy i przechodząc do opcji Zoom to Layer . Po załadowaniu dwóch plików identycznym CRS powinny one być idealnie dopasowane.

Brideau
źródło
Sugestia Nathana W nie działała dla mnie, a twoja sugestia zadziałała, dzięki.
Tilek