GRASS Troubleshooting: ovvero come cavarsi dai principali impacci degli inizi...

I problemi che si incontrano quando si è alle prime armi con un software sono molti. Per ogni problematica specifica su singoli comandi (del tipo avete lanciato il comando r.vattelappesca e vi ha dato un errore n°78371647....) si rimanda al sito ufficiale di GRASS. In particolar modo esistono gruppi di discussione che si scambiano informazioni per eventuali risoluzioni di problemi (quindi non scrivete a noi chiedendoci di risolverveli ma imparate ad utilizzare le tante risorse disponibili!). Questo piccolo contributo intende affrontare solo i principali problemi nei quali, secondo la nostra ormai lunga esperienza di insegnamento con GRASS, l'utente inesperto tende inizialmente a cadere molto facilmente, specie se si tratta di un utente che è abituato soprattutto all'ambiente Windows e non ai Sistemi Operativi Unix-like. Si sottolinea che sarebbero molto graditi contributi personali circa problemi incontrati e relative risoluzioni che potrebbero servire per arricchire il sito di informazioni ed a renderlo maggiormente utile ed esaustivo.

Un consiglio che vale soprattutto per gli utenti Windows prima di iniziare a mettere le mani su GRASS: tenete presente che dovete chiudere le finestre della console o dei vari menu e sottomenu solo quando i processi che avete lanciato sono giunti al termine. Sperimenterete altrimenti una serie di problemi: cercate quindi di lavorare ponendo molta attenzione ai messaggi che compaiono nelle finestre ed evitate di chiudere troppo disinvoltamente le finestre che avete attivato finché non avrete capito bene il significato delle operazioni che state facendo. Una volta imparati alcuni meccanismi tutto sarà molto più semplice, ma ci vuole un piccolo sforzo iniziale.

Per ogni domanda/risposta è tra parentesi quadre le versioni a cui la risposta si applica.

[Tutte] Facendo partire GRASS compare la scritta: "concurrent user not allowed" e GRASS non parte...

Sono possibili due casi:

È necessario ricordarsi che quando si smette di lavorare si deve andare nel menu File e scegliere exit scegliere le opzioni desiderate ed accettarle. A questo punto si è chiusa l'interfaccia grafica a menu ma non il programma GRASS! Per chiudere GRASS si deve andare nella console dalla quale si è digitato grass60 e digitare exit. Solo adesso si è usciti da GRASS e si può chiudere la finestra della console. Uno degli errori tipici degli utenti è quello di chiudere la finestra della console senza avere digitato exit. All'avvio successivo di GRASS, il programma ritiene che un altro utente col vostro stesso nome lo stia già usando e non vi consente l'accesso.

[Pre 5.beta10] Dopo aver zoomato nel terminale grafico quest'ultimo diventa nero e l'immagine non è più visibile...

Per versioni precedenti alla 5.beta10 è necessario rivisualizzare esplicitamente le mappe sul terminale.

[Fino alla versione 5 (?)] Lanciando qualunque comando che coinvolge il terminale grafico il sistema risponde "monitor x... is in use by utente" (utente è il vostro nome utente)

Il terminale è bloccato da una precedente operazione non terminata (o comunque non terminata correttamente). Nell'ordine provare a: a) terminare l'operazione precedente (attraverso la sua finestra di dialogo, con il tasto destro sul monitor ecc...). b) "uccidere" il processo collegato al terminale: con ps -a |grep x si individua il processo (PID, numero nella prima colonna a sinistra) e lo si termina con kill -9 PID dove PID è il numero del processo. c) fermare il processo come al punto precedente e cancellare manualmente i file di locking con il comando rm /directorydoveèinstallatoGrass/locks/nomedelcomputer/*

[Tutte] Dopo aver lanciato alcune operazioni non appare alcun output

Tutte le operazioni che creano mappe non visualizzano automaticamente la mappa di output, è necessario visualizzarla esplicitamente con d.rast, d.vect, d.site ecc... Alcune operazioni che impiegano molto tempo sono portate a termine in background, l'utente riceve una e-mail ad operazione finita.

[Tutte] È stata richiesta l'elaborazione/visualizzazione di un file ma non viene elaborato/visualizzato nulla

Accertarsi che la regione sia impostata correttamente, ad esempio con Region -> Manage region adeguando la regione al file da elaborare/visualizzare.

[Tutte] Non è possibile trovare i dati che si è sicuri esistono

Controllare di avere impostato la location ed il mapset corretti e che i file e le directory abbiano i permessi di lettura/scrittura od esecuzione (per le directory) necessari.

[Fino alla versione 5 (?)] Sulla macchina è impossibile aprire terminali grafici (monitor)

Controllare che la directory /directorydoveèinstallatoGrass/locks/nomedelcomputer sia eseguibile, scrivibile e leggibile da tutti (drwxrwxrwx).

[Fino alla versione 5 (?)] Durante uno zoom il terminale grafico è scomparso ed è apparso il messaggio "EOF from graphic driver"

Il monitor grafico deve essere interamente visibile durante lo zoom. Riavviare il terminale e riprovare.

[Tutte] Stavate lanciando i comandi da menu (ad es d.what.rast), vi è comparsa la relativa form, avete lanciato il comando ma ad un certo punto avete chiuso la finestra e non riuscite a riavviare quel comando oppure ad accedere al monitor.

Quando si lanciano dei comandi di GRASS da menu compaiono spesso dei sottomenu che contengono dei pulsanti, nei comandi nei quali si interagisce con monitor cliccando con il mouse è in genere necessario terminare le operazioni cliccando con il tasto destro del mouse nel monitor. Non dovete chiudere le finestre cliccando sulla x in alto a destra se ci sono processi attivi associati a quella finestra. Se lo fate, a seconda del tipo di processo che avete fermato, può succedere che non riusciate a riavviare singoli comandi o ad accedere ai monitor. Lanciando un comando qualsiasi questo rimane attivo anche dopo che avete chiuso la finestra dalla quale è stato avviato.

Un caso pratico: ipotizziamo di avere chiuso la finestra che forniva le informazioni contenute in un raster (d.what.rast) senza avere cliccato con il tasto destro sul monitor ed avere quindi fermato il processo di consultazione. Qualsiasi operazione si voglia fare sul monitor corrente (per esempio cerco di visualizzare un file), darà sempre un messaggio di errore che afferma che il monitor attivo è utilizzato dall'utente "voistessi". Un rimedio è quello di andare in una console e digitare ps -a questo comando vi consente di vedere tutti i processi in corso. Ad ogni processo corrisponde un numero (PID, numero nella prima colonna a sinistra). Nel nostro caso si deve cercare la riga corrispondente a d.what.rast e terminare il processo digitando kill -9 PID dove PID è il numero del processo; se si digita di nuovo ps -a si vedrà che il processo d.what.rast è scomparso ed il monitor è nuovamente disponibile. Se il monitor continua ad essere inutilizzabile si deve "uccidere" il processo collegato al terminale: con ps -a |grep x si individua il processo (PID, numero nella prima colonna a sinistra) e lo si termina con kill -9 PID dove PID è il numero del processo; se questo ancora non funziona fermare il processo come al punto precedente e cancellare manualmente i file di locking con il comando rm /directorydoveèinstallatoGrass/locks/nomedelcomputer/*

[Tutte] Avete scritto delle formule in r.mapcalc ma non ne vogliono sapere di funzionare

I nomi delle mappe non possono contenere simboli algebrici (compreso il -) che vengono interpretati come tali da r.mapcalc. Inoltre controllate se avete messo virgolette od altri simboli non richiesti, se avete messo degli spazi dove non servivano, se avete scritto i nomi dei file giusti... e riprovate.

Tutte] Lanciando i comandi da console avete digitato il nome del file pippo ma GRASS non lo trova. Eppure avete verificato ed il nome è proprio pippo

L'ambiente in cui lavorate è case sensitive cioè fa differenza se scrivete maiuscolo o minuscolo, quindi scrivere Pippo oppure PIPPO oppure pippo o ancora pippO identifica i nomi di 4 file differenti. Dunque verificate il nome del file prima di scriverlo facendo un list quando consentito dai comandi oppure utilizzando un file manager.

[Tutte] Avete cercato di importare dei file e00 con v.in.e00 (o SHAPEfiles con v.in.ogr) ma GRASS non li trova

Controllate di averli copiati nella directory giusta cioè la directory dalla quale avete lanciato GRASS, oppure fornire il path completo. inoltre il comando v.in.e00 richiede la presenza dei programmi AVCimport ed e00conv:assicurarsi di avere installato questi due eseguibili!

[Tutte] Avete realizzato una serie di mappe raster (pippo1, pippo2, pippo3) riclassificando con r.reclass la mappa pippo. Funzionano e va tutto bene ma ad un certo punto cercate di visualizzarle o di farci delle operazioni e non vanno più

Probabilmente avete usato g.remove per cancellare i file di troppo ed avete eliminato anche il file pippo. I file riclassificati per funzionare hanno sempre bisogno del file originario, che se cancellato li rende invece inutilizzabili ed irrecuperabili. E' possibile creare una copia di un file riclassificato con r.mapcalc con la formula elementare nuova_mappa=mappa_riclassificata.

[Tutte] State utilizzando dei dati elaborati da altri (oppure state esaminando dei dati vostri che non utilizzavate da tempo) e non capite il contenuto dei file cioè come sono stati ottenuti, se sono riclassificazioni o file originali oppure vorreste ricostruire le formule di r.mapcalc con i quali sono stati ottenuti

Nella directory hist del mapset corrente trovate i file di testo nei quali è conservata la storia di ogni file. C'è scritto per esempio se il file pippo1 è una riclassificazione del file pippo oppure vi è riportata la formula di r.mapcalc che è servita per l'elaborazione di una mappa o ancora se un file vettoriale è stato realizzato importandolo da qualche formato di scambio. Si possono leggere i file con un editor di testo od usare il comando r.info.

[Tutte] Avete zoomato su una mappa ed adesso non riuscite a visualizzare la vista precedente.

La vista delle mappe in GRASS non è solo una vista ma è la regione di lavoro. Ogni volta che zoomate cambiate anche la regione che è l'area di lavoro. Se ci sono delle regioni che vi interessano particolarmente nel mapset in cui state lavorando (zoomate particolarmente significative oppure viste con risoluzioni particolari ecc.) il consiglio è quello di salvare dei file che contengano i dati della regione, file che possono essere caricati in qualsiasi momento per ripristinare la condizione di lavoro originaria vedi g.region opzioni 3 e 7.

Per informazioni riguardanti l'installazione di GRASS e altri problemi di utilizzo consultare le FAQ del sito ufficiale di GRASS.