Scal przecinające się wielokąty w jeden, który jest częścią tej samej operacji

19

Nie jestem specjalistą od GIS, więc mam nadzieję, że użyję poprawnego sformułowania, a przynajmniej mam nadzieję, że rozumiesz moje pytanie.

Załóżmy, że w obiekcie A. znajduje się pięć wielokątów. W pliku kształtu jest więcej obiektów. W funkcji A przecinają się dwa wielokąty z pięciu istniejących. Chcę scalić dwie, więc nakładające się linie zostaną usunięte, a wynikiem będzie jeden wielokąt.

Możliwe rozwiązanie działałoby w następujący sposób:

  • Wybieram funkcję, która „aktywuje” wszystkie pięć wielokątów
  • Przejdę do trybu edycji
  • Wybieram punkty dwóch wielokątów
  • Korzystam z funkcji WYŁĄCZONE POLYGONY

Do tej pory znalazłem tylko funkcje do scalania obiektów (operacji?), Scalania plików kształtów i tak dalej.

Czy jest funkcja WYŁĄCZONE POLYGONY?

użytkownik19746
źródło

Odpowiedzi:

13

Jest na to kilka sposobów, ale prawdopodobnie chcesz rozpuścić funkcje (Vector->Geoprocessing Tools->Dissolve). Dzięki rozwiązaniu nie musisz najpierw wybierać niczego, ponieważ wszystko odbywa się na podstawie atrybutów. Powiedzmy, że masz pole o nazwie „Typ” (na przykład). Następnie w twoim przykładzie wszystkie wielokąty byłyby typu „A” (i możesz mieć inne wielokąty typu „B”, których nie chcesz łączyć z tymi z typu „A”). Jeśli wybierzesz pole „Typ” (lub inny odpowiedni atrybut w twoim przypadku) jako atrybut do rozpuszczenia, wówczas wszystkie funkcje tego samego typu połączą się (wewnętrzne granice zostaną usunięte). Może to skutkować powstaniem wieloboku (pojedynczego elementu, który ma więcej niż jedną część, np. Archepelago), co może, ale nie musi być akceptowane. Jeśli jest to niepożądane, po prostu podziel element na składowe wielokąty za pomocą Vector->Geometry Tools->Multipart to Singlepart.

Alternatywą jest buforowanie twoich wielokątów przez zero, ale to prawdopodobnie połączy wieloboki różnych typów razem tam, gdzie nie chcesz, aby tak się stało, więc rozpuszczanie (opcjonalnie po części do pojedynczej części) jest bezpieczniejsze.

MappaGnosis
źródło
Dziękuję za odpowiedź. Myślę, że nie tego chcę. Rozumiem, że łączy wszystkie funkcje, które mają tę samą wartość właściwości x w jedną funkcję, prawda? Mam już jedną funkcję z wieloma wielokątami. Chcę scalić przecinające się wielokąty, więc mam na końcu 4 wielokąty zamiast 5.
user19746
Działa tak, jak rozumiesz, ale przecinające się wielokąty stają się pojedynczym wielokątem. Następnie możesz po prostu wykonać operację wieloczęściową na pojedynczą, a wtedy uzyskasz końcowy pożądany wynik.
MappaGnosis
1
Właśnie stworzyłem plik testowy i rzeczywiście działa on z Dissolve, gdy przecinające się wielokąty mają różne cechy. Nie działa, gdy wielokąty mają tę samą funkcję. Nie zrozumiałem tego. Mój prawdziwy zestaw danych nie działa z powodu błędów geometrii podczas przetwarzania, ale to inna sprawa. Dziękuję Ci!
user19746
21

Dlaczego nie:

  1. Wybierz dwa wielokąty, które chcesz przeciąć
  2. Umożliwić edycję
  3. Edycja-> Scal wybrane operacje
  4. Zapisz zmiany
geoSAM
źródło
To jest odpowiedź na połączenie kilku wielokątów w jednym pliku z jednym wielokątem. Dzięki Sam
Santosa Sandy
1

Odbywa się wiecznie, ale narzędzie do rozpuszczania QGis działa.

Nie jestem pewien, dlaczego zajmuje to tak cholernie długo, ale możesz rozpuścić wszystko w swojej warstwie za pomocą opcji „- Rozpuść wszystko ...”. Dodanie indeksu przestrzennego lub coś takiego może pomóc nie wiem, ale ta opcja trwa wiecznie w qgis

przed:

wprowadź opis zdjęcia tutaj

po (10 minut później na bardzo szybkim komputerze Mac):

wprowadź opis zdjęcia tutaj

I aby odpowiedzieć na twoje pytanie dotyczące po prostu połączenia wybranych funkcji, tak. Najpierw wybierz swoje funkcje, a następnie zaznacz pole z pytaniem, czy chcesz korzystać tylko z wybranych funkcji. Jest to dość standardowy wzorzec funkcji QGis (zawiera także adnotację do opcji „- Usuń wszystko--”, której użyłem):

wprowadź opis zdjęcia tutaj

boulder_ruby
źródło
Nie jestem pewien, dlaczego, ale moje rozwiązanie nie działa poprawnie w QGIS, nie pozostawia mi ładnego i czystego pliku kształtu. Jak mogę uzyskać na przykład tylko granice / zarys pliku kształtu? Nie interesują mnie żadne inne wewnętrzne wielokąty.
Geosfera
1

Próbuję zrobić to samo co ty w QGIS 2.14.1 i mam również problemy. Natywne „rozwiązanie” zawarte w QGIS nie działało dla mnie. Sposób, w jaki działało dla mnie, to użycie funkcji GRASS:

Przetwarzaj -> Przybornik -> (na pasku bocznym) TRAWA -> v. Rozpuszczaj -> i postępuj zgodnie z ...

Mam nadzieję, że to komuś pomoże.

Rodrigo E. Principe
źródło