
Problem
Należało przygotować wydruk mapy hipsometrycznej obszaru Wdzydzkiego Parku Krajobrazowego. Stylizacja tej mapy była dość charakterystyczna. Miała ona pokazywać powierzchnie odcięte, tj. położone pomiędzy konkretnymi wartościami wysokości (izohipsami).

Dane wejściowe
Dane wejściowe stanowiły dane Numerycznego Modelu Wysokości (NMT) w formacie ARC/INFO ASCII GRID, pobrane z zasobów GUGiK dla zasięgu analizowanego obszaru za pomocą wtyczki „Pobieracz danych”. Dla polepszenia wizualizacji ostatecznie dodałem warstwę wód pobraną z bazy BDOT10k

Przygotowanie danych
Krok 1. Zmiana rozdzielczości danych
Dane NMT mają bardzo wysoką rozdzielczość poziomą, rzędu 1m. Dla celu wizualizacji i czasu przetwarzania danych, taka szczegółowość była zbędna, dlatego za pomocą biblioteki GDAL zmieniłem ją na 5m, przy okazji zapisując dane w formacie rastrowym TIFF. Poniżej skrypt, który przekształca w danym katalogu wszystkie pliki NMT w formacie *asc w opisany sposób.
for %%f in (*.asc) do (
echo %%~nf
gdalwarp -t_srs EPSG:2180 -tr 5 5 -r near -te_srs EPSG:2180 -of GTiff %%f out/%%~nf.tif
)
Krok 2. Łączenie plików NMT
W kolejnym kroku, również za pomocą polecenia gdal_merge biblioteki GDAL połączyłem arkusze modelu w jeden plik.
Krok 3. Wypełnienie dziur w rastrze
W połączonym pliku mogą zdarzyć się braki w wartości wysokości lub obszary bez danych. Dlatego użyłem funkcji Fill NoData z Toolboxa, która wypełniła te „dziury” w pikselach średnimi wartościami sąsiadów.

Krok 4. Generowanie poligonów
Tak przygotowane dane rastrowe posłużyły do wygenerowania poligonów zawierających obszary pomiędzy zadanymi wysokościami (co 10 m od ustalonej, początkowej wysokości n.p.m).

Krok 5. Wygładzanie krawędzi poligonów
Granice powstałych poligonów należało zgeneralizować i wygładzić. Wykorzystałem tu funkcję Simplify (metoda Duglas’a z tolerancją 7) oraz Smooth (offset 0,25, iteration 2). Paramtery podaję dla przykładu. Nie mają ogólnego zastosowania i należy je dopasować do celu mapy.
Stylizacja danych
Stylizacja danych powstałej warstwy poligonowej polegała na wykorzystaniu metody kartogramu, ustalając kolor ich wypełnienia w zależności od przedziału wysokości, które się w nim zawierały.

Po podłożeniu cieniowania obraz staje się plastyczny. Widać jak na dłoni płaską równinę sandru Wdy, wyrytą w niej rynnę jeziora, wiele różnych form kemów i wydmy oraz pagóry morenowe na zachodzie i w okolicy Wiela. Raj geomorfologów.
