rasterlite - colori

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
13 messages Options
Reply | Threaded
Open this post in threaded view
|

rasterlite - colori

Marco Curreli
Salve a tutti,

ho un problema con rasterlite.

Ho creato un'immagine raster partendo da un progetto di qgis; ho
creato il file xml di mapnik con quantumnik e creato l'immagine con
nik2img.py, in formato PNG256. Con il plugin di georeferenziazione di
QGis ho creato il raster tif, che ho importato in rasterlite.

Il problema è che quando apro il raster in QGis manca la tavola dei
colori, per cui il raster risulta praticamente illegibile; la mappa dei
colori è 0 e 1. Lo stesso risultato lo ottengo importando il raster in
formato rasterlite in GRASS.

Ho provato anche importare la mappa dei colori dal tif originale con
risultati terribili.

La cosa curiosa è che esplorando le tile con spatialite-gui i colori
risultano giusti.

Sarà un problema delle GDAL?

Un saluto,
      Marco

_______________________________________________
Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
Non inviate messaggi commerciali.
I messaggi di questa lista non rispecchiano necessariamente
le posizioni dell'Associazione GFOSS.it.
502 iscritti all'11.2.2011
Reply | Threaded
Open this post in threaded view
|

problema v.what.vect con GRASS

Roberto Facoetti
Salve a tutti,

sto scrivendo uno script bash che assegna a dei punti, generati
casualmente, dei valori sia da vettoriali che da raster, usando GRASS,
installato su OS Windows XP.

La prima parte dello script (messa qui sotto), si blocca al v.db.addcol,
con il messaggio : command not found

# crea i punti all'interno della region
g.region vect=provbg
v.random output=rndpnt1 n=$punti
v.db.addcol rndpnt1 column="cat integer"

Ho usato allora il comodo comando di QGis per generare i punti casuali
all'interno di un poligono. Lo script importa allora in GRASS lo shape e
associa i dati necessari. Di seguito, vi incollo i comandi:

# Verifica se esiste lo shapefile
if [ ! -f "d:/atlante_prBG/modelli/pntrnd1.shp" ] ; then
   echo "lo shapefile non esiste! Crearlo con QGis"
   exit 1
fi

# verifica se esiste gia' il file rand1 e lo elimina
MAPNAME=rand1
eval `g.findfile element=vector file="$MAPNAME"`
if [ -n "$name" ] ; then
   echo "Rimozione del vecchio file dei punti casuali"
   g.remove vect=rand1
fi

v.in.ogr -o dsn=D:/atlante_prBG/modelli/pntrnd1.shp output=rand1

# rimuove lo shapefile
if [ -f "d:/atlante_prBG/modelli/pntrnd1.shp" ] ; then
   rm d:/atlante_prBG/modelli/pntrnd1.*
fi

v.db.connect -o map=rand1 table=public.rand1

## aggiungi le colonne per le coordinate
echo ALTER TABLE rand1 ADD COLUMN x double precision | db.execute
echo ALTER TABLE rand1 ADD COLUMN y double precision | db.execute

# aggiorna con valori delle coordinate
v.to.db map=rand1 option=coor units=meters columns=x,y

# aggiorna la tabella con i valori del vettoriale UR (grigliabg) nella
colonna ur
echo ALTER TABLE rand1 ADD COLUMN ur integer | db.execute
v.what.vect vector=rand1 column=ur qvector=gridbg qcolumn=cat_

# aggiorna la tabella con i valori del raster ambienti (anni2010) nella
colonna amb
echo ALTER TABLE rand1 ADD COLUMN amb integer | db.execute
v.what.rast vector=rand1 raster=anni2010 column=amb

# aggiorna la tabella con i valori del raster altitudine (cls_altit)
nella colonna alt
echo ALTER TABLE rand1 ADD COLUMN alt integer | db.execute
v.what.rast vector=rand1 raster=cls_altit column=alt

# aggiorna la tabella con i valori del raster esposizione (cls_espo)
nella colonna espo
echo ALTER TABLE rand1 ADD COLUMN espo integer | db.execute
v.what.rast vector=rand1 raster=cls_espo column=espo

# aggiungi una colonna v_reg, con valore 0, per impostare a 0 i valori
per la regressione logistica
echo ALTER TABLE rand1 ADD COLUMN v_reg integer | db.execute
echo UPDATE rand1 SET v_reg = 0 | db.execute

Tutto gira e aggiunge i dati, tranne il v.what.vect, che mi dice:
command not found.
Si può ovviamente sistemare il tutto trasformando in raster il
vettoriale, ma mi piacerebbe che funzionasse anche così.

Guardando un po' nell'installazione, mi sembra che non funzionino i
comandi che, in C:\OSGeo4W\apps\grass\grass-6.4.1\bin, vengono fatti
partire con un *.bat (come il v.add.col e il v.what.vect), mentre quelli
che hanno l'exe e il .manifest funzionano.

Qualche idea? Sto sbagliando qualche settaggio in GRASS?

grazie,

roberto



_______________________________________________
Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
Non inviate messaggi commerciali.
I messaggi di questa lista non rispecchiano necessariamente
le posizioni dell'Associazione GFOSS.it.
502 iscritti all'11.2.2011
Reply | Threaded
Open this post in threaded view
|

Re: problema v.what.vect con GRASS

Luca Delucchi
Il 07 maggio 2011 14:13, Roberto Facoetti <[hidden email]> ha scritto:

> Salve a tutti,
>
> sto scrivendo uno script bash che assegna a dei punti, generati casualmente,
> dei valori sia da vettoriali che da raster, usando GRASS, installato su OS
> Windows XP.
>
> La prima parte dello script (messa qui sotto), si blocca al v.db.addcol, con
> il messaggio : command not found
>
> # crea i punti all'interno della region
> g.region vect=provbg
> v.random output=rndpnt1 n=$punti
> v.db.addcol rndpnt1 column="cat integer"
>
> Ho usato allora il comodo comando di QGis per generare i punti casuali
> all'interno di un poligono. Lo script importa allora in GRASS lo shape e
> associa i dati necessari. Di seguito, vi incollo i comandi:
>
> # Verifica se esiste lo shapefile
> if [ ! -f "d:/atlante_prBG/modelli/pntrnd1.shp" ] ; then
>  echo "lo shapefile non esiste! Crearlo con QGis"
>  exit 1
> fi
>
> # verifica se esiste gia' il file rand1 e lo elimina
> MAPNAME=rand1
> eval `g.findfile element=vector file="$MAPNAME"`
> if [ -n "$name" ] ; then
>  echo "Rimozione del vecchio file dei punti casuali"
>  g.remove vect=rand1
> fi
>
> v.in.ogr -o dsn=D:/atlante_prBG/modelli/pntrnd1.shp output=rand1
>
> # rimuove lo shapefile
> if [ -f "d:/atlante_prBG/modelli/pntrnd1.shp" ] ; then
>  rm d:/atlante_prBG/modelli/pntrnd1.*
> fi
>
> v.db.connect -o map=rand1 table=public.rand1
>
> ## aggiungi le colonne per le coordinate
> echo ALTER TABLE rand1 ADD COLUMN x double precision | db.execute
> echo ALTER TABLE rand1 ADD COLUMN y double precision | db.execute
>
> # aggiorna con valori delle coordinate
> v.to.db map=rand1 option=coor units=meters columns=x,y
>
> # aggiorna la tabella con i valori del vettoriale UR (grigliabg) nella
> colonna ur
> echo ALTER TABLE rand1 ADD COLUMN ur integer | db.execute
> v.what.vect vector=rand1 column=ur qvector=gridbg qcolumn=cat_
>
> # aggiorna la tabella con i valori del raster ambienti (anni2010) nella
> colonna amb
> echo ALTER TABLE rand1 ADD COLUMN amb integer | db.execute
> v.what.rast vector=rand1 raster=anni2010 column=amb
>
> # aggiorna la tabella con i valori del raster altitudine (cls_altit) nella
> colonna alt
> echo ALTER TABLE rand1 ADD COLUMN alt integer | db.execute
> v.what.rast vector=rand1 raster=cls_altit column=alt
>
> # aggiorna la tabella con i valori del raster esposizione (cls_espo) nella
> colonna espo
> echo ALTER TABLE rand1 ADD COLUMN espo integer | db.execute
> v.what.rast vector=rand1 raster=cls_espo column=espo
>
> # aggiungi una colonna v_reg, con valore 0, per impostare a 0 i valori per
> la regressione logistica
> echo ALTER TABLE rand1 ADD COLUMN v_reg integer | db.execute
> echo UPDATE rand1 SET v_reg = 0 | db.execute
>
> Tutto gira e aggiunge i dati, tranne il v.what.vect, che mi dice: command
> not found.
> Si può ovviamente sistemare il tutto trasformando in raster il vettoriale,
> ma mi piacerebbe che funzionasse anche così.
>
> Guardando un po' nell'installazione, mi sembra che non funzionino i comandi
> che, in C:\OSGeo4W\apps\grass\grass-6.4.1\bin, vengono fatti partire con un
> *.bat (come il v.add.col e il v.what.vect), mentre quelli che hanno l'exe e
> il .manifest funzionano.
>
> Qualche idea? Sto sbagliando qualche settaggio in GRASS?
>

potrebbe essere che i dati che stai provando ad inserire non siano integer?
prova a lanciare il comando direttamente da grass, senza script, che
errore ti restituisce?

consiglio di usare v.db.addcol invece di db.execute per aggiungere una colonna

> grazie,
>
> roberto
>

--
ciao
Luca

http://gis.cri.fmach.it/delucchi/
www.lucadelu.org
_______________________________________________
Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
Non inviate messaggi commerciali.
I messaggi di questa lista non rispecchiano necessariamente
le posizioni dell'Associazione GFOSS.it.
502 iscritti all'11.2.2011
Reply | Threaded
Open this post in threaded view
|

Re: problema v.what.vect con GRASS

Roberto Facoetti
ciao,
> potrebbe essere che i dati che stai provando ad inserire non siano integer?
> prova a lanciare il comando direttamente da grass, senza script, che
> errore ti restituisce?
no, il comando da GRASS funziona correttamente (l'ho testato
passo-passo, prima di fare lo script);
è nello script che non funziona (e soltanto con il v.what.vector, il
resto funziona correttamente), perché non riesce a recuperare il
comando. I dati sono integer.

Ho provato anche a temporaneamente sostituire, nel v.what.vector.bat, il
percorso di indirizzamento, in modo da fargli trovare la directory dove
ci sono gli script (C:\OSGeo4W\apps\grass\grass-6.4.1\script) ... ma non
funziona, non trova il comando ...
> consiglio di usare v.db.addcol invece di db.execute per aggiungere una colonna
>
v.db.addcol non funziona, né nello script né in GRASS; o meglio, non
funziona con la wxpython GUI, mentre funziona con la TclTk ...  appunto
per questo uso db.execute, che funziona in entrambe.

Boh, non so, credo ci sia qualche incompatibilità di base con windows,
ma non saprei dove ...

grazie

roberto

_______________________________________________
Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
Non inviate messaggi commerciali.
I messaggi di questa lista non rispecchiano necessariamente
le posizioni dell'Associazione GFOSS.it.
502 iscritti all'11.2.2011
Reply | Threaded
Open this post in threaded view
|

Re: problema v.what.vect con GRASS

Luca Delucchi
Il 07 maggio 2011 19:11, Roberto Facoetti <[hidden email]> ha scritto:
> ciao,

>
> no, il comando da GRASS funziona correttamente (l'ho testato passo-passo,
> prima di fare lo script);
> è nello script che non funziona (e soltanto con il v.what.vector, il resto
> funziona correttamente), perché non riesce a recuperare il comando. I dati
> sono integer.

se funziona singolarmente deve funzionare anche con lo script, sei
sicuro dei nomi dei layer e delle colonne?



> v.db.addcol non funziona, né nello script né in GRASS; o meglio, non
> funziona con la wxpython GUI, mentre funziona con la TclTk ...  appunto per
> questo uso db.execute, che funziona in entrambe.
>

mi sembra impossibile che con una gui vada e con l'altra no perchè
dovrebbero essere solo un'interfaccia al comando, se lo lanci da
console?

> Boh, non so, credo ci sia qualche incompatibilità di base con windows, ma
> non saprei dove ...
>

beh la cosa migliore è passare ad un sistema linux sicuramente avrai
meno problemi ;-)

> grazie
>
> roberto
>

--
ciao
Luca

http://gis.cri.fmach.it/delucchi/
www.lucadelu.org
_______________________________________________
Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
Non inviate messaggi commerciali.
I messaggi di questa lista non rispecchiano necessariamente
le posizioni dell'Associazione GFOSS.it.
502 iscritti all'11.2.2011
Reply | Threaded
Open this post in threaded view
|

Re: rasterlite - colori

a.furieri
In reply to this post by Marco Curreli
On Fri, 6 May 2011 22:29:28 +0200, Marco Curreli wrote

> ho un problema con rasterlite.
>
> Ho creato un'immagine raster ... in formato PNG256.
> Il problema è che quando apro il raster in QGis manca la tavola dei
> colori ... stesso risultato ... in GRASS
> La cosa curiosa è che esplorando le tile con spatialite-gui i colori
> risultano giusti.
>
> Sarà un problema delle GDAL?
>

Marco, non ho mai provato nelle condizioni
che tu citi: ma penso anch'io che si tratti
di un problema di GDAL (se non altro visto
che sia QGIS che GRASS hanno lo stesso
identico problema).

Come dici tu stesso la colour palette nel PNG è
correttamente presente, e rasterlite è in grado
di recuperarla senza problemi: evidentemente il
problema è a valle

giusto per darti qualche motivo di speranza
futura: per ora ho iniziato a rimettere le
mani su OGR per patchare il driver SpatiaLite
(in pratica quello attuale non funzionava
per nulla e dava un sacco di problemi)

chissà, magari tra qualche mese troverò
anche il tempro per andare a vedere cosa
combina il driver GDAL per RasterLite: tu
tieni le dita incrociate e speraci :-)

ciao Sandro
_______________________________________________
Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
Non inviate messaggi commerciali.
I messaggi di questa lista non rispecchiano necessariamente
le posizioni dell'Associazione GFOSS.it.
502 iscritti all'11.2.2011
Reply | Threaded
Open this post in threaded view
|

Re: rasterlite - colori

Marco Curreli
Ciao Sandro,

ho fatto delle prove; col png a 3 bande di colore va tutto alla
perfezione.  Ho provato a rasterizzare due vestizioni diverse dela
stessa mappa e le ho combinate assieme nella stessa piramide, in modo da
vedere un diverso raster per ogni intervallo di scala. Il risultato è
stato eccezionale.

  Marco

_______________________________________________
Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
Non inviate messaggi commerciali.
I messaggi di questa lista non rispecchiano necessariamente
le posizioni dell'Associazione GFOSS.it.
502 iscritti all'11.2.2011
Reply | Threaded
Open this post in threaded view
|

Re: rasterlite - colori

pcav
On Mon, 9 May 2011 07:11:39 +0200, Marco Curreli <[hidden email]>
wrote:

> ho fatto delle prove; col png a 3 bande di colore va tutto alla
> perfezione.  Ho provato a rasterizzare due vestizioni diverse dela
> stessa mappa e le ho combinate assieme nella stessa piramide, in modo da
> vedere un diverso raster per ogni intervallo di scala. Il risultato è
> stato eccezionale.

Ottimo! Ci faresti un piccolo howto, magari con due screenshots, sul wiki?
[ma come parlo?]
Grazie.
--
http://faunalia.it/pc
_______________________________________________
Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
Non inviate messaggi commerciali.
I messaggi di questa lista non rispecchiano necessariamente
le posizioni dell'Associazione GFOSS.it.
502 iscritti all'11.2.2011
Reply | Threaded
Open this post in threaded view
|

Re: problema v.what.vect con GRASS

pcav
In reply to this post by Roberto Facoetti
Il 07/05/2011 14:13, Roberto Facoetti ha scritto:

> Qualche idea? Sto sbagliando qualche settaggio in GRASS?

Domanda stupida: il comando, dato da shell, parte?
Saluti.
--
Paolo Cavallini: http://www.faunalia.it/pc
_______________________________________________
Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
Non inviate messaggi commerciali.
I messaggi di questa lista non rispecchiano necessariamente
le posizioni dell'Associazione GFOSS.it.
502 iscritti all'11.2.2011
Reply | Threaded
Open this post in threaded view
|

Re: problema v.what.vect con GRASS

Roberto Facoetti
ciao Paolo,

provato anche quello, ma il risultato è identico: non trova il comando,
come non trova tutti i comandi che partono con il *.bat ... non so se
sia una questione di settare la path in Windows (non ho ancora provato).

Anche sul computer d'ufficio, con un altra installazione di GRASS, ma
sempre in OS Windows, ci sono gli stessi problemi, con gli stessi
comandi ... per quello penso che sia più una questione di settaggi di
windows, che del funzionamento di GRASS in se.

Mah, come detto l'ho risolto trasformando l'unico vettoriale in cui uso
il v.what.vect in raster e usando il v.what.raster (che funziona
benissimo) ... però mi piacerebbe capire (e non ci sono ancora riuscito)
quale possa essere il problema.

ciao,

roberto



Il 09/05/2011 12.29, Paolo Cavallini ha scritto:
> Il 07/05/2011 14:13, Roberto Facoetti ha scritto:
>
>> Qualche idea? Sto sbagliando qualche settaggio in GRASS?
> Domanda stupida: il comando, dato da shell, parte?
> Saluti.
_______________________________________________
Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
Non inviate messaggi commerciali.
I messaggi di questa lista non rispecchiano necessariamente
le posizioni dell'Associazione GFOSS.it.
502 iscritti all'11.2.2011
Reply | Threaded
Open this post in threaded view
|

Re: problema v.what.vect con GRASS

Roberto Facoetti
In reply to this post by pcav
salve a tutti,

risolto!
Come sospettavo, c'era qualcosa che non andava nei settaggi: a quanto
pare, il SET PATH all'avvio di grass non funziona (anche se viene
caricato all'avvio di GRASS, come si vede nella schermata dalla shell).

Va invece aggiunto, manualmente, dal pannello di controllo, alla
variabile path (ho aggiunto sia C:\OSGeo4W\apps\grass\grass-6.4.1\bin
che C:\OSGeo4W\apps\grass\grass-6.4.1\script).

Ora lo script che ho fatto funziona, anche con il v.what.vect.

Mah, misteri di windows, chissà perché il SET PATH non viene capito ...

Nei prossimi giorni provo a vedere se le altre funzioni che danno
problemi ora sono sistemate ... per stasera basta computer, che stanotte
ho una levataccia causa censimento fagiano di monte.

ciao,

roberto



Il 09/05/2011 12.29, Paolo Cavallini ha scritto:
> Il 07/05/2011 14:13, Roberto Facoetti ha scritto:
>
>> Qualche idea? Sto sbagliando qualche settaggio in GRASS?
> Domanda stupida: il comando, dato da shell, parte?
> Saluti.
_______________________________________________
Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
Non inviate messaggi commerciali.
I messaggi di questa lista non rispecchiano necessariamente
le posizioni dell'Associazione GFOSS.it.
502 iscritti all'11.2.2011
Reply | Threaded
Open this post in threaded view
|

Re: problema v.what.vect con GRASS

pcav
Il 09/05/2011 20:07, Roberto Facoetti ha scritto:
> salve a tutti,
>
> risolto!

> Mah, misteri di windows, chissà perché il SET PATH non viene capito ...

Non e' una novita', in effetti, in quei sistemi arcaici e complicati ;)
Segnala la cosa in lista grass, per piacere. La soluzione dovrebbe essere abbastanza
banale.
--
Paolo Cavallini: http://www.faunalia.it/pc
_______________________________________________
Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
Non inviate messaggi commerciali.
I messaggi di questa lista non rispecchiano necessariamente
le posizioni dell'Associazione GFOSS.it.
502 iscritti all'11.2.2011
Reply | Threaded
Open this post in threaded view
|

Re: problema v.what.vect con GRASS

Markus Neteler
2011/5/9 Paolo Cavallini <[hidden email]>:
> Il 09/05/2011 20:07, Roberto Facoetti ha scritto:
>> salve a tutti,
>>
>> risolto!
>
>> Mah, misteri di windows, chissà perché il SET PATH non viene capito ...

> Segnala la cosa in lista grass, per piacere. La soluzione dovrebbe essere abbastanza
> banale.

Sì, grazie - se serve assistenza possiamo aiutare.

Markus
_______________________________________________
Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
Non inviate messaggi commerciali.
I messaggi di questa lista non rispecchiano necessariamente
le posizioni dell'Associazione GFOSS.it.
502 iscritti all'11.2.2011