Skrypty w GRASS




   Paweł Netzel
Architektura GRASS

GRASS to system modularny
Wiele programów uruchamianych niezależnie
Wspólne środowisko pracy
Wspólna baza danych przestrzennych
Zmienne systemowe
Wykorzystanie powłoki systemu operacyjnego
bash




                                             2
GRASS jako narzędzie

Interfejs graficzny
Powtarzalne czynności
Analizy przestrzenne – algorytmy postępowania
Notowanie wykonywanych czynności
Praca w trybie linii poleceń
Bash history
Opisy warstw




                                                3
GRASS sposoby automatyzacji

Click, click, click, ..............
Ręczne „odtwarzanie” postępowania (historia)
Zapis poleceń jako skryptu powłoki bash
Python
  Biblioteka skryptowa
  Dostęp do API systemu GRASS
Inne rozwiązania




                                               4
Bash

Argumenty
Zmienne
Konstrukcje programowe (pętle, warunki)
Potokowanie
Komentarze
Domyślny interpreter
Tworzenie pliku uruchamialnego
Historia
Grep
Przykład

                                          5
awk

Przetwarzanie pliku tekstowego
Plik, linia, rekord, pole
Dostęp do pól
$0
FS, RS
Funkcje
Obliczenia
BEGIN, END
Skrypty
Przykład

                                 6
“Wielka trójka”

GRASS 4.X, 5.X, 6.X
awk
r.reclass
r.mapcalc




                      7
grass.script

Dostęp do poleceń gras z poziomu języka Python
„Pełnowymiarowy” język programowania
Prekompilowane bytecode
Szybkość
Typy danych
Przykład




                                                 8
GRASS API

Dostęp do bibliotek C
Dostęp z języka Python
SWIG
Dostęp na poziomie elementów rastra lub obiektów
wektorowych
Przykład




                                               9
Dziękuję!




            10

Skrypty grass