Generalizacja danych z zachowaniem topologii

Dane wektorowe, szczególnie granice administracyjne, często posiadają bardzo złożoną geometrię, która nie zawsze potrzebna jest przy wizualizacjach, ale znacząco wpływa na rozmiar plików. W wielu wypadkach może być czynnikiem utrudniającym pracę w GIS. Aby uprościć geometrię i znacząco obniżyć rozmiar plików musimy dokonać generalizacji, czyli zmniejszyć liczbę werteksów w liniach lub poligonach. Problem pojawia się w momencie, kiedy nasze dane zachowują zasady topologii, a prosta generalizacji może to popsuć. Obrazowo jest to pokazane pod tym linkiem na przykładzie mapy Francji.

Przyjmijmy, że z działu danych do pobrania ściągnęliśmy warstwę z granicami powiatów, która jednak okazała się zbyt ciężka i dokładna jak na nasze potrzeby (28 Mb). Możemy ją w szybki sposób uprościć korzystając z poniższych narzędzi:

QGIS (wykorzystując moduł GRASS GIS)

Wczytujemy interesującą nas warstwę do programu QGIS i w narzędziach geoprocesingu  wyszukujemy “v.generalize.smooth”. Następnie w otwartym okienku wskazujemy “Warstwę wejściową”, określamy “Wartość maksymalnej tolerancji” i wskazujemy lokalizację warstwy wyjściowej. Na końcu klikamy “Run” i po wykonaniu algorytmu możemy wczytać zgeneralizowaną warstwę do programu QGIS. Proces jest pokazany na tym filmie

Narzędzie online: Mapshaper

Proste, przeglądarkowe narzędzie służące do generalizacji warstw wektorowych. Po wejściu na stronę http://mapshaper.org/ należy wybrać opcje importu, które odpowiedzialne są za zachowanie topologii warstwy (wykrywanie przecięć linii, przyciąganie wierzchołków), a następnie wskazać plik do generalizacji. Formaty jakie obsługuje strona to: Shapefile, GeoJSON, TopoJSON. Po wczytaniu pliku geometria wyświetli się w oknie przeglądarki. Teraz dzięki opcji “Simplify” możemy przeprowadzić generalizację za pomocą trzech dostępnych metod. Po wybraniu odpowiedniej, suwakiem u góry możemy wskazać stopień generalizacji – im mniejsza wartość procentowa, tym większa generalizacja. Finalnie nasza uproszczona warstwa może zostać wyeksportowana w jednym z kilku formatów (Shapefile, GeoJSON, TopoJSON, CSV, SVG).