GRASS GIS / Skriptování / Spuštění skriptu
Z FreeGIS portál
< GRASS GIS | Skriptování
Stránky související s tématem programování či skriptování.
Stránka obsahuje různé postupy spuštění uživatelských skriptů v systému GRASS GIS.
Ve wxGUI
Skript lze v prostředí wxGUI spustit buď z menu File → Launch script
anebo z příkazové řádky, viz níže.
Z příkazové řádky terminálu jako tzv. batch job
chmod +x ~/bin/grass/ndvi.py
# aktivovat mod BATCH
export GRASS_BATCH_JOB=~/bin/grass/ndvi.py
# spustit GRASS s cestou 'grassdatabanka/lokace/mapset', napr.
grass70 /opt/grassdata/zod/landamar
Cleaning up temporary files... Starting GRASS GIS... Executing '/home/martin/bin/grass/ndvi.py' ... Pocitam NDVI... Reklasifikuji data... +-----------------------------------------------------------------------------+ | RASTER MAP CATEGORY REPORT | |LOCATION: zod Thu Oct 17 17:20:17 2013| |-----------------------------------------------------------------------------| | north: -957500 east: -763855.0602047 | |REGION south: -1007318 west: -830529 | | res: 29.99277544 res: 29.99277544 | |-----------------------------------------------------------------------------| |MASK: none | |-----------------------------------------------------------------------------| |MAP: Reclass of temp1 in landamar (r_ndvi in landamar) | |-----------------------------------------------------------------------------| | Category Information | cell| % | | |#|description | count| cover| hectares| |-----------------------------------------------------------------------------| |1|bez vegetace, vodni plochy . . . . . . . . . . . | 146375| 3.96| 13,167.41| |2|plochy s minimalni vegetaci. . . . . . . . . . . | 820825| 22.23| 73,838.67| |3|plochy pokryte vegetaci. . . . . . . . . . . . . |2642337| 71.56|237,695.81| |*|no data. . . . . . . . . . . . . . . . . . . . . | 82866| 2.24| 7454.35| |-----------------------------------------------------------------------------| |TOTAL |3692403|100.00|332,156.23| +-----------------------------------------------------------------------------+ Execution of '/home/martin/bin/grass/ndvi.py' finished. Cleaning up temporary files...
# deaktivovat mod BATCH
unset GRASS_BATCH_JOB
Inicializace v rámci skriptu
Tento postup lze aplikovat pouze pro skripty v jazyku Python. Skript je potřeba doplnit o inicializaci systému GRASS, viz níže.
1 #!/usr/bin/env python
2
3 import os
4 import sys
5
6 # nastaveni cesty k systemu GRASS
7 gisbase = os.environ['GISBASE'] = "/usr/local/lib/grass-7.0svn"
8
9 # nastaveni adresare s daty, lokace a mapsetu
10 gisdbase = os.path.join("/opt", "grassdata")
11 location = "zod"
12 mapset = "landamar"
13
14 # nahrani GRASS Python knihoven
15 sys.path.append(os.path.join(os.environ["GISBASE"], "etc", "python"))
16 import grass.script as grass
17 import grass.script.setup as gsetup
18
19 # inicializace systemu GRASS
20 gsetup.init(gisbase,
21 gisdbase, location, mapset)
22
23 # zde pokracuje skript...
Příklad spuštění z příkazové řádky terminálu:
~/bin/grass/ndvi.py
Pocitam NDVI... Reklasifikuji data... +-----------------------------------------------------------------------------+ | RASTER MAP CATEGORY REPORT | |LOCATION: zod Thu Oct 17 17:20:17 2013| |-----------------------------------------------------------------------------| | north: -957500 east: -763855.0602047 | |REGION south: -1007318 west: -830529 | | res: 29.99277544 res: 29.99277544 | |-----------------------------------------------------------------------------| |MASK: none | |-----------------------------------------------------------------------------| |MAP: Reclass of temp1 in landamar (r_ndvi in landamar) | |-----------------------------------------------------------------------------| | Category Information | cell| % | | |#|description | count| cover| hectares| |-----------------------------------------------------------------------------| |1|bez vegetace, vodni plochy . . . . . . . . . . . | 146375| 3.96| 13,167.41| |2|plochy s minimalni vegetaci. . . . . . . . . . . | 820825| 22.23| 73,838.67| |3|plochy pokryte vegetaci. . . . . . . . . . . . . |2642337| 71.56|237,695.81| |*|no data. . . . . . . . . . . . . . . . . . . . . | 82866| 2.24| 7454.35| |-----------------------------------------------------------------------------| |TOTAL |3692403|100.00|332,156.23| +-----------------------------------------------------------------------------+