Jak utworzyć maskę wielokąta „obszar zainteresowania”?

12

Stworzyłem narzędzie GP za pomocą ArcGIS, które tworzy maskę „obszaru zainteresowania” z wybranych funkcji. Skutecznie tworzy nową warstwę wielokąta pączka, w której otwór był wcześniej wybranymi elementami. Czy mogę replikować to zadanie w QGIS?

Przykład: W przypadku konkretnej mapy chcę wyróżnić okręg w stanie i zamaskować resztę stanu oraz obiekty poza okręgiem za pomocą szarej, półprzezroczystej warstwy wielokąta powyżej. Pod względem koncepcyjnym zrobiłbym to podobnie do tego.

  1. Użytkownik ładuje warstwę stanu, hrabstwa i rzeki
  2. Użytkownik wybiera region zainteresowania
  3. Uruchom narzędzie (jeśli istnieje), które eksportuje wszystkie niezaznaczone funkcje do pliku kształtu pączka bez pierwotnie wybranego wielokąta. Gdyby ta maska ​​warstwy była warstwą „w pamięci” dostępną tylko dla QGIS, byłoby to również w porządku, może nawet lepsze.

Czy tego rodzaju narzędzie lub funkcja już istnieje w QGIS, czy też będę musiał napisać to jako funkcję niestandardową?

Oto jak to zrobiłem w ArcGIS z ModelBuilder i wynik, którego szukałbym, gdzie żółta warstwa i warstwa rzeki istnieją w całym stanie (przez całą drogę na obrazie), a szara warstwa jest przezroczysta z „dziurą w pączku”, pozwalając na wyświetlenie jasnożółtej części i zwrócenie uwagi widzów na obszar zainteresowania:

wprowadź opis zdjęcia tutaj wprowadź opis zdjęcia tutaj

RyanKDalton
źródło

Odpowiedzi:

12

Aby utworzyć maskę, sugeruję użycie wielokąta z zakresu warstw (wektor - narzędzia badawcze) i różnicy (wektor - narzędzia geoprzetwarzania) z włączoną opcją „użyj tylko wybranych funkcji”.

Jeśli naprawdę chcesz „wyeksportować wszystkie niezaznaczone funkcje do pliku kształtu pączka”, możesz wypróbować Dissolve , ale jest to dość powolne i możesz osiągnąć nieoptymalne wyniki, takie jak małe dziury itp.

Tworzenie na dużym wielokącie za pomocą wielokąta z narzędzia do rozszerzania warstw, a następnie wycinanie wybranego hrabstwa powinno być znacznie szybsze.

podmrok
źródło
12

Dziękujemy @underdark za wskazanie tego rozwiązania. Funkcja fTools „Różnica” była dokładnie narzędziem, które wykonało zadanie. Jednak w odróżnieniu od twojej sugestii, nie musiałem najpierw tworzyć „Wieloboku z zakresu warstw”.

Zamiast tego rozwiązaniem było:

  1. Załaduj warstwę danych (powiaty)
  2. Wybierz interesującą Cię funkcję (hrabstwo A)
  3. Użyj narzędzia Vector-> Geoprocessing-> Difference
  4. Wybierz warstwę hrabstwa jako oba wejścia, „użyj wybranych funkcji” zaznaczone jako WYŁĄCZONE dla Warstwy Wektorów Wejściowych, WŁĄCZONE dla Warstwy Różnic.

wprowadź opis zdjęcia tutaj

To da warstwę ze wszystkimi funkcjami zawartymi w danych wejściowych Z WYJĄTKIEM wybranych funkcji. Dzięki!

RyanKDalton
źródło
2
Głos byłby wystarczający: „dziękuję”;)
podmrok
To działa świetnie. Jedyną wadą jest to, że hrabstwo graniczy z morzem lub innym obszarem bez wielokątów, a więc obszary te nie są maskowane.
JimS-W
3

Różnica symetryczna w QGIS 1.6 znajduje się w wektorze> Geoprzetwarzania Narzędzia> różnica symetryczna (standardowe narzędzia rdzeniowe) powinno wygenerować maski z dwóch wielokątów wejściowych ...

wprowadź opis zdjęcia tutaj

Mapperz
źródło