Jak wygładzić duże wielokąty wektorowe z Rastra

14

Mam plik rastrowy klasyfikacji gruntów (6 klas) o dużym obszarze. Ale potrzebuję go w wielokątach wektorowych, więc wektoryzowałem go. Jak dotąd żaden problem, ale rezultatem jest - oczywiście - że każdy piksel jest dokładnie wertykalny ze wszystkimi swoimi egdes :) Ale potrzebuję go gładkiego jak kontury. Ok, mógłbym uogólnić to na przykład algorytmem Boyle'a, ale to zbyt wiele, żeby mój komputer mógł to obliczyć ...

Co mogłem zrobić? Dzięki! Jaskółka oknówka

wprowadź opis zdjęcia tutaj

MAPA
źródło

Odpowiedzi:

9

Użyj GRASS z natywnym GUI lub z wtyczką QGIS lub z wtyczką Sextante i użyj narzędzia v.generalize, wybierając algorytm „Chaikens”.

Giovanni Manghi
źródło
Dzięki, to po prostu działa, wow! Nigdy nie próbowałem tego zrobić z gis z Sextante, zawsze robiłem to bezpośrednio z trawą (i to nie działało)!
MAP
Narzędzie v.generalize dostępne za pośrednictwem QGIS ułatwia stworzenie wielu narzędzi uogólniających, z których tylko algorytm „chaikens” jest jednym z nich. Pozostałe to: douglas, douglas_reduction, lang, redukcja, reumann, remove_small, boyle, przesuwne_aging, ważenie odległości, pustelnik, węże, sieć i przemieszczenie.
ragnvald
0

Możesz również użyć ArcGIS z (ET GeoWizards), aby to zrobić:

1- Użyj „Smooth Polygon” z ArcToolbox> Narzędzia kartograficzne> Generalizacja

2 - wtedy mogą pojawić się luki w zależności od ustawionej tolerancji wygładzania.

3 - jeśli tak, możesz użyć ArcToolbox „Wyeliminuj część wielokąta” lub „Wypełnij dziury” z ET GeoWizards Tools i ustaw „Maksymalny obszar otworów do usunięcia” na obszary, które chcesz wypełnić.

4-Gotowe!

Matt
źródło
2
Uwaga OP szuka rozwiązań QGIS, Grass, SAGA. Gładki wielokąt i eliminacja wymagają dużej ilości pamięci - być może lepszym rozwiązaniem byłoby uogólnienie rastra przed operacjami wektorowymi.
Aaron