QGIS: Grass Tools aggiunta moduli
Da Wikipedia, l'enciclopedia libera.
I Grass Tools in Qgis, sono dei file scritti in linguaggio XML in grado di chiamare comandi di grass. l'inserimento di un modulo e relativamente semplice :
Directory dei moduli :
qgis_linux qgis_mac osx ../qgis.app/Contents/MacOS/share/qgis/grass/modules/ qgis_windows c:\programmi\Quantum_GIS\share\qgis\grass\modules
Directory del file di configurazione:
linux mac osx ../qgis.app/Contents/MacOS/share/qgis/grass/config/ windows c:\programmi\Quantum_GIS\share\qgis\grass\config
AGGIUNTA MODULO
1) aggiungere nella directory contenente i moduli il nuovo file di testo con estensione ".qgm" e nome uguale al rispettivo comando in grass
ad esempio per "r.report" , scriveremo un nuovo file di testo come questo:
nominarlo : r.report.qgm
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE qgisgrassmodule SYSTEM "http://mrcc.com/qgisgrassmodule.dtd"> <qgisgrassmodule label="Reports statistics for raster map layers" module="r.report"> <flag key="f" /> <flag key="e" /> <flag key="n" /> <flag key="N" /> <flag key="C" /> <flag key="i" /> <option key="map" /> <option key="units" /> <option key="null" /> <option key="output" /> </qgisgrassmodule>
2) copiare un'icona dalla cartella dei moduli e rinominarla con il nome del modulo nel nostro caso :
r.report.1.png
3) la chiamata al nuovo modulo, nel file di configurazione dei moduli, si effettua aggiungendo un nuovo "label"
nel cui interno metteremo tutti i nuovi moduli, basta aggiungere queste linee di codice nel file "defaul.qgc"
</section>
<section label="epitools">
<grass name="r.report"/>
</section>
note e problemi riscontrati:
1) è possibile organizzare i diversi moduli aggiunti in diversi "label"
2) i comandi di visualizzazione "d.*" (d.rgb, d.his, etc...) necessitano l'avvio di un monitor mediante il comando "d.mon"
3) ci sono problemi di visualizzazione in quei comandi di grass che presentano un elevato numero di opzioni, l'interfaccia grafica del modulo si espande oltre lo schermo (ci vorrebbe una scrollbar)
4) nviz non parte in modalità -q , è necessario inserire un dato di input in tutti i campi presenti nel modulo (i.e:dem, col, vect) è un problema riscontrato anche in altri moduli.
5) Quando si presenta il problema evidenziato al punto -3); per aggirare il problema si possono omettere alcune opzioni tra di loro "alternative" es: è possibile dividere il comando "r.contour" in tre diversi comandi :
estrazione delle curve di livello su tutto il raster
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE qgisgrassmodule SYSTEM "http://mrcc.com/qgisgrassmodule.dtd"> <qgisgrassmodule label="Produces a GRASS binary vector map of specified contours from GRASS raster map layer (step) " module="r.contour"> <flag key="q" /> <flag key="n" /> <option key="input" /> <option key="output" /> <option key="step" /> <option key="cut" /> </qgisgrassmodule>
estrazione delle curve di livello in specifici livelli (es: "200m - 400m" + "500m - 600m")
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE qgisgrassmodule SYSTEM "http://mrcc.com/qgisgrassmodule.dtd"> <qgisgrassmodule label="Produces a GRASS binary vector map of specified contours from GRASS raster map layer (levels) " module="r.contour"> <flag key="q" /> <flag key="n" /> <option key="input" /> <option key="output" /> <option key="levels" /> <option key="step" /> <option key="cut" /> </qgisgrassmodule>
estrazione delle curve di livello specificando un livello minnimo ed un livello max:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE qgisgrassmodule SYSTEM "http://mrcc.com/qgisgrassmodule.dtd"> <qgisgrassmodule label="Produces a GRASS binary vector map of specified contours from GRASS raster map layer (min-max) " module="r.contour"> <flag key="q" /> <flag key="n" /> <option key="input" /> <option key="output" /> <option key="minlevel" /> <option key="maxlevel" /> <option key="step" /> <option key="cut" /> </qgisgrassmodule>
Lo stesso procedimento si può utilizzare per altri comandi (es. r.composite,...)
6) il nome dell'icona deve avere un numero che la identifica (es:per il comando r.slope.aspect.qgm, abbiamo due icone :
r.slope.aspec.1.png r.slope.aspect.2.png
7) ho avuto difficoltà nel capire come richiamare il flag: "--overwrite" ho quindi preferito ometterlo.

