[GRASS-Italia] Grass e script bash
Giacomo Piva
piva a meeo.it
Ven 12 Nov 2010 09:05:25 CET
On 11/12/2010 08:11 AM, Alfredo Alessandrini wrote:
> Io utilizzo Grass fuori dalla GUI, dato che devo automatizzo tramite
> degli script dei processi che altrimenti sarebbero impossibili da fare
> a "mano".
>
> Non ho capito comunque....tu lavori con delle location predefinite o
> le vuoi creare ogni volta al volo in base all'immagine?
>
Esatto... vorrei che venisse creato al momento sulla base dell'immagine
che andrò a caricare.
> Perchè se i datum che utilizzi è limitato (come il il mio caso,
> lavorando in particolare per il centro Italia), puoi allora crearteli
> a priori e poi gestire lo script in base al datum dell'immagine.
>
> Non so se mi son spiegato...
>
Si, è chiaro, io lavoro con datum diversi e world-wide.
C'è un modo per creare la location leggendo l'immagine senza dover
indicare una location all'inizio?
> ciao,
>
> Alfredo
>
>
>
>
> Il 11 novembre 2010 16:46, Giacomo Piva<piva a meeo.it> ha scritto:
>> On 11/11/2010 04:01 PM, Carlo Cormio wrote:
>>
>> Ciao Giacomo,
>>
>> ho capito poco anche io. Posso consigliarti, sperando che ti sia utile,
>> questa guida per creare uno script bash con interfaccia grafica:
>>
>> http://wiki.gfoss.it/index.php/Creare_una_GUI_tcltk_per_script_in_grass
>>
>> Io uso questo metodo da quasi 2 anni, consente di realizzare script che
>> puoi lanciare da qualsiasi location e mapset (ovviamente devi inserire i
>> comandi correttamente nello script). Non mi è mai capitato di dover
>> intervenire sulle variabili di ambiente.
>>
>> Oltre al fatto che così non devi più inserire gli input da riga di comando.
>>
>> Forse potrebbero esserti utili alcune variabili da utilizzare nello script,
>> tipo:
>>
>> $GISDBASE - gisdatabase in uso (es GRASSDATA)
>> $LOCATION_NAME - location in uso
>> $MAPSET - mapset in uso
>>
>> Ok ci darò un occhiata, ma il mio problema è creare la LOCATION ed il MAPSET
>> dal "nulla" ... cioè, dall'immagine che leggerò.
>>
>> Io sviluppo applicazioni automatizzate che non richiedono l'intervento di un
>> operatore... quindi non hanno intefaccia grafica, hanno una interfaccia a
>> riga di comando che può essere eseguita da servizi eccetera, io lavoro con
>> delle GeoTIFF che vengono passate da applicazione ad applicazione ...
>>
>> Ogni tanto, mi viene comodo utilizzare GRASS per utilizzare dei moduli (come
>> il r.to.vect) che altrimenti risviluppare da capo.
>>
>> Ho iniziato ad utilizzare GRASS seguendo questo tutorial:
>> http://grass.osgeo.org/wiki/GRASS_and_Shell
>>
>> MA ... già al primissimo esempio io ottengo:
>>
>> ERROR: GISRC - variable not set
>>
>> e da qui tutti gli errori che poi si propagano, una volta settata la
>> variabile GISRC ottengo degli errori che mi indicano che non è settato il
>> MAPSET, e poi la LOCATION eccetera, fino a dover settare la LOCATION con una
>> già esistente.
>>
>> Dalle vostre perplessità, mi sembra di capire che voi non utilizzate GRASS
>> "al di fuori" della sua GUI, os sbaglio?
>>
>> Spero di esser stato utile.
>>
>> Ciao,
>>
>> Carlo
>>
>> Il 20.59, Giacomo Piva ha scritto:
>>
>> Ok, vedo di essere più chiaro con un esempio ...
>> Io utilizzo GRASS inserendo i comandi in alcuni script bash, questo è ad
>> esempio uno script che ho realizzato per convertire un raster in uno
>> shapefile con 3 comandi:
>>
>> #!/bin/bash
>> r.in.gdal -o input=1" output=inputraster
>> r.to.vect --overwrite input=putraster output=outputvector feature=area
>> v.out.ogr input=tputvector type=area dsn="$2"
>>
>> Il fatto è che questo script non lo posso eseguire senza prima fare altre
>> operazioni come l'export di alcune variabili fra cui il gisrc che deve già
>> contenere delle informazioni sull'area su cui andrò a lavorare.
>>
>> ad esempio questi sono i comandi che lancio prima di eseguire i comandi, in
>> pratica settano nel file .grassrc6 le informazioni sulla LOCATION
>>
>> cp -rf $HOME/Workspace/GRASS/start $HOME/GRASSDATA
>>
>> echo "LOCATION_NAME: start"> .grassrc6
>> echo "MAPSET: PERMANENT">> .grassrc6
>> echo "DIGITIZER: none">> .grassrc6
>> echo "GISDBASE: $GISDBASE">> .grassrc6
>>
>> export GISRC=rassrc6
>>
>> Io utilizzo una LOCATION predefinita, creata attraverso la gui di grass e
>> salvata da qualche parte, che poi copio per poter "iniziare", ma mi sembra
>> un accrocchio e non il modo corretto di operare.
>>
>> Tu/voi, fai in modo diverso?
>>
>> On 11/11/2010 01:38 PM, Alfredo Alessandrini wrote:
>>
>> Il problema che incontro più spesso è relativo al fatto che è necessario
>> (a quel che sembra) partire da una "location" già definita a priori,
>> quando prima di leggere l'immagine su cui andrò a lavorare è
>> praticamente impossibile.
>>
>> ...scusa ma non capisco la domanda....
>>
>>
>>
>>
>>
>> --
>> __________________________________
>>
>> Ing. Carlo Cormio,
>> Ph.D. Student @ DICAM,
>> Via Terracini, 28,
>> 40131, Bologna
>> Tel. 0512090294
>> Fax. 0512090247
>> Mail: carlo.cormio3 a unibo.it
>>
>> _______________________________________________
>> GRASS-Italia mailing list
>> GRASS-Italia a listserv.unipr.it
>> http://listserv.unipr.it/mailman/listinfo/grass-italia
>>
>> --
>> Giacomo
>>
>> _______________________________________________
>> GRASS-Italia mailing list
>> GRASS-Italia a listserv.unipr.it
>> http://listserv.unipr.it/mailman/listinfo/grass-italia
>>
>
>
--
Giacomo Piva
MEEO S.r.l.
Via Saragat 9
I-44122 Ferrara, Italy
Tel: +39 0532 1861501
Fax: +39 0532 1861637
http://www.meeo.it
========================================
"ATTENZIONE:le informazioni contenute in questo messaggio sono
da considerarsi confidenziali ed il loro utilizzo è riservato unicamente
al destinatario sopra indicato. Chi dovesse ricevere questo messaggio
per errore è tenuto ad informare il mittente ed a rimuoverlo
definitivamente da ogni supporto elettronico o cartaceo."
"WARNING:This message contains confidential and/or proprietary
information which may be subject to privilege or immunity and which
is intended for use of its addressee only. Should you receive this
message in error, you are kindly requested to inform the sender and
to definitively remove it from any paper or electronic format."
Maggiori informazioni sulla lista
GRASS-Italia