Wprowadzenie do GRASS GIS

GRASS. Czyli Ten, Od Którego Się Wszystko Zaczęło w świecie wolnego oprogramowania GIS. Jedni uciekają przed nim gdzie pieprz rośnie, uznając za niezwykle trudnego do opanowania. Inni – nie wyobrażają sobie pracy bez niego. Jaki GRASS jest naprawdę?

Program powstał w 1982, czyli przyszłym roku skończy 30 lat istnienia! Dla porównania, pierwsza wersja Windows – jeszcze nie jako samodzielny system, ale nakładka na DOS – została opublikowana trzy lata później. Skąd w ogóle wziął się ten pakiet?

Otóż GRASS, tak jak system GPS czy koncepcja sieci Internet, wywodzi się z amerykańskiej armii. Rozwijany przez Construction Engineering Research Laboratory służył głównie celom planowania przestrzennego (za Wikipedią). W 1995 roku armia przestała się nim interesować i system „poszedł do cywila”, a konkretnie – zainteresowali się nim naukowcy z Baylor University. Wkrótce stał się programem typu open source, udostępnianym na licencji GNU GPL, a dzięki jego modułowej budowie liczba funkcji zaczęła szybko rosnąć, uwzględniając najnowsze odkrycia w dziedzinie GIS. Pomimo sędziwego, jak na program komputerowy wieku jest wciąż rozwijany, a jego najnowsza wersja stabilna nosi numer 6.4 i została opublikowana we wrześniu 2010.

Do czego dziś może przydać się GRASS? Nie ma co ukrywać: trzon programu niewiele się zmienił od początków jego istnienia, a archaiczny model danych (o którym za chwilę) znacznie utrudnia używanie systemu. Jednak spośród dostępnych darmowych programów GIS jedynie GRASS jest prawdziwym kombajnem, umożliwiającym wykonywanie zaawansowanych analiz i modeli przestrzennych. Analizy sieciowe, struktury krajobrazu, tworzenie powierzchni kosztów, modelowanie hydrodynamiczne – to wszystko dla GRASSa jest przysłowiowy „pikuś”. Wiele modułów zostało stworzonych przez naukowców i jest niezwykle przydatnych w pracy naukowej właśnie.

Gdzie więc tkwi haczyk? W modelu danych, który powinien dostać etykietkę „Zabytek techniki”. Jest on podobny do – wywodzącego się zresztą z tych samych czasów – starego ARC/INFO Workstation (nie mylić z współczesnym ArcInfo!) z wektorami „Coverage” i rastrami „GRID”. Do zapisania choćby jednej warstwy potrzebna jest GRASSowi cała struktura katalogów, która przedstawia się następująco:

GISDBASE – nadrzędny katalog, w którym trzymane są wszystkie dane GRASS. Może być specjalnie wydzielony lub nie,na przykład w systemie Linux może to być /home/nazwa_użytkownika.

Lokacja (LOCATION) – jest to katalog zawierający dane o takim samym zasięgu, układzie współrzędnych i – w przypadku rastrów – rozdzielczości. Wszelkie dane, które mają się znaleźć w lokacji, muszą być transformowane do jednego układu! Nie ma tutaj możliwości transformacji „w locie”, tak jak w przypadku współczesnych programów GIS. Rozdzielczość rastra musi być ustawiona według tej warstwy, która ma piksel najmniejszy. Powoduje to, że chcąc używać jednocześnie ortofotomapy lotniczej (piksel 25 cm) oraz modelu wysokości SRTM (piksel 90 m) – musimy zapisać ten drugi zupełnie bezproduktywnie z 25-centymetrową rozdzielczością…

MAPSET – jest podzbiorem lokacji, opisywany jako „kolekcja map dla jednego terytorium lub projektu”. Innymi słowy jest to jakiś wyodrębniony zestaw warstw, znajdujących się w jednej lokacji (a więc o tym samym zasięgu, układzie i rozdzielczości). Możemy też osobnych MAPSETów nie używać i trzymać wszystkie dane w jednym, domyślnie tworzonym „PERMANENT”.

Paskudne, nieprawdaż? Na pocieszenie dodam, że zupełnie jak w przypadku ARC/INFO Coverage – wektory zapisywane są w modelu topologicznym, co jest zupełnie niemożliwe w przypadku plików Shapefile. Czyli każda granica np. działki jest zapisywana tylko raz, nie ma problemu z nieprzylegającymi czy nakładającymi się poligonami i tak dalej. Sam import, a następnie eksport z GRASSa pozwala pozbyć się problemów z topologią w naszych danych.

O tym, jak używać GRASSa w praktyce i do czego może się on przydać – w następnych wpisach!

Do poczytania:

http://grass.fbk.eu/ – oficjalna strona projektu

http://www.wgug.org/ – Wrocławska Grupa Użytkowników GRASS