Buforuj sąsiadujące wielokąty bez nakładania się za pomocą QGIS

19

Czy można utworzyć bufor wokół sąsiadujących wielokątów, aby nowe wielokąty się nie nakładały?

Najlepiej w QGIS, ale zrobi to każde inne narzędzie.

Zamiast pierwszego wyniku chciałbym uzyskać coś podobnego do drugiego:

wprowadź opis zdjęcia tutaj

użytkownik3170702
źródło
1
Jeśli nie chcesz, aby bufor się nakładał, możesz rozpuścić wielokąty buforu. Jednak nie będzie odzwierciedlał twojego drugiego obrazu.
Joseph
1
Chciałbym znaleźć jakieś rozwiązanie rastrowe, podobne do tej odpowiedzi .
alphabetasoup
Nie znam narzędzia QGIS, które mogłoby to zrobić, ale teoretycznie możesz normalnie obliczyć (prawdopodobnie przecinające się) bufory, a także obliczyć (uogólniony) diagram Voronoi twoich wielokątów, a następnie przeciąć każdy zbuforowany wielokąt z Voronoi komórka zawierająca ten wielokąt. Biblioteka Boost C ++ ma kilka narzędzi Voronoi, które mogłyby działać, ale pisanie kodu kleju w C ++ byłoby dużo.
csd

Odpowiedzi:

2

Jednym ze sposobów osiągnięcia tego, w zależności od jakości / złożoności warstwy wielokąta, są następujące kroki:

1) Wyodrębnij wierzchołki z wielokątów, upewniając się, że unikalne pole jest zachowane jako atrybut

2) Utwórz voronoi z tych punktów

3) Buforuj oryginalne wielokąty o wymaganą ilość

4) Odejmij wielokąty buforowe od voronoi

5) Ponownie połącz / rozpuść pozostałe wielokąty voronoi w unikalnym polu atrybutu

Robiąc to w przeszłości z nieco niespójnymi zestawami danych, musiałem wykonać dodatkowe kroki, aby usunąć artefakty z nowych wielokątów:

  • Odejmij oryginalne wieloboki z nowej warstwy, aby usunąć artefakty wewnątrz wielokąta
  • Dodaj oryginalne wielokąty do nowego zestawu danych
  • Ponownie połącz / rozpuść ponownie w kluczowym polu

Zaletą kroku voronoi (jak sugeruje również csd) jest to, że daje on granice prostopadłe, jak pokazano na diagramie wymagań.

Niektóre z tych operacji mogą jednak zająć dużo czasu ....

richardaeiou
źródło
1

Jeśli masz konto ArcGIS, możesz to łatwo zrobić za pośrednictwem ArcGIS Online. Podczas tworzenia mapy internetowej za pomocą Arc GIS Online możesz korzystać z ograniczonej liczby narzędzi analitycznych. Narzędzie analizy buforów daje opcje nakładania się lub rozpuszczania buforów. Stamtąd możesz wyeksportować tę warstwę jako plik kształtu.

W przypadku QGIS najpierw musisz użyć narzędzia Utwórz bufory i wprowadzić dowolny promień i jednostkę promienia, jaką chcesz. Następnie przejdziesz do narzędzi geoprzetwarzania i użyjesz narzędzia Dissolve. To rozwiąże granice twoich buforów i po prostu stworzy coś, co wygląda jak jeden duży bufor.

G GIS
źródło
2
Rozwiązanie QGIS nie daje drugiego obrazu! Rozumiem, że dwa pomarańczowe wielokąty będą miały atrybuty dwóch zielonych wielokątów i nie zostaną rozpuszczone w jednym wielkim wielokącie
RutgerH
0

jeśli opcją jest użycie analizy rastrowej, właściwym rozwiązaniem mogą być algorytmy odległości kosztów. zwykle algorytmy te zapewniają również odległość i dane wyjściowe alokacji - w oparciu o wynik alokacji (tj. który piksel jest najbliższy który obiekt) obliczenie rastrowe, które wybiera dowolny piksel z rastra alokacji o odległości <wartość (od rastra odległości) zapewni oczekiwany wynik.

Robert Tuw
źródło