generazione di raster a partire da tre valori

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

generazione di raster a partire da tre valori

Salvatore Falanga Bolognesi
Salve a tutti
Vi sottopongo il seguente problema:
ho tre matrici di valori
la prima matrice definisce il valore di latitudine
la seconda matrice definisce il valore di longitudine
la terza matrice il valore della grandezza in esame in corrispondenza delle coppie longitudine e latitudine.

E' possibile con GRASS GIS la generazione di un raster a partire da tali informazioni
"disaccoppiate"?
Un saluto.
Salvatore

_______________________________________________
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
I messaggi di questa lista non hanno relazione diretta con le posizioni dell'Associazione GFOSS.it.
638 iscritti al 28.2.2013
Reply | Threaded
Open this post in threaded view
|

Re: generazione di raster a partire da tre valori

Markus Neteler
Buonasera,

2013/3/13 Salvatore Falanga Bolognesi <[hidden email]>:
...
> la terza matrice il valore della grandezza in esame ...

Una domanda: visto che è già una matrice ci sono x e y... mi sbaglio?

> E' possibile con GRASS GIS la generazione di un raster a partire da tali
> informazioni "disaccoppiate"?

Certamente. Devo solo capire un po' di più...

Ho iniziato a simulare l'esercizio:

GRASS 6.4.3svn (nc_spm_08):~ > r.mapcalc "long = x()"
 100%
GRASS 6.4.3svn (nc_spm_08):~ > r.mapcalc "lat = y()"
 100%
GRASS 6.4.3svn (nc_spm_08):~ > r.mapcalc "value = rand(-100,100)"
 100%

Ma la mappa "value" ha già delle coordinate visto che è stata creata
in un contesto spaziale... allora, qualcosa mi sfugge ancora.

saluti,
Markus

--
http://gis.cri.fmach.it/neteler/
_______________________________________________
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
I messaggi di questa lista non hanno relazione diretta con le posizioni dell'Associazione GFOSS.it.
638 iscritti al 28.2.2013
Reply | Threaded
Open this post in threaded view
|

Re: generazione di raster a partire da tre valori

Novarese
In reply to this post by Salvatore Falanga Bolognesi
Senza scomodare Grass:

1] salva il tuo listato di punti in formato CSV

2] importalo in Qgis con LAYER => AGGIUNGI TESTO DELIMITATO

3] applica al tematismo puntiforme il plugin Interpolazione di Qgis

Puoi stilizzare il raster ottenuto dandogli una Colormap classificata secondo gli N valori dell'attributo "terzo".  
Reply | Threaded
Open this post in threaded view
|

Re: generazione di raster a partire da tre valori

aborruso
Administrator
Ciao,
se si tratta di una griglia regolare potresti anche usare gdal_translate.

Ad esempio da un file di testo con questa struttura e denominato xyz.txt

x y z
350852.51253573113 4218365.160616071 419.57000732421875
350854.5124662997 4218365.160616071 420.79000854492187
350856.51239686832 4218365.160616071 421.989990234375

lanci

>gdal_translate -a_srs EPSG:32633 xyz.txt raster.tif

Il codice EPSG è solo un esempio.

Saluti,

Andrea
Andrea Borruso

----------------------------------------------------
twitter: https://twitter.com/aborruso
website: https://medium.com/tantotanto
38° 7' 48" N, 13° 21' 9" E
----------------------------------------------------
Reply | Threaded
Open this post in threaded view
|

Re: generazione di raster a partire da tre valori

Markus Neteler
Ciao,

per GRASS GIS sono r.in.ascii e r.in.xyz oppure il import tool della
GUI le possibilita' interessanti.

Ciao
Markus

On 3/14/13, iomeneandrei <[hidden email]> wrote:

> Ciao,
> se si tratta di una griglia regolare potresti anche usare gdal_translate.
>
> Ad esempio da un file di testo con questa struttura e denominato xyz.txt
>
> x y z
> 350852.51253573113 4218365.160616071 419.57000732421875
> 350854.5124662997 4218365.160616071 420.79000854492187
> 350856.51239686832 4218365.160616071 421.989990234375
>
> lanci
>
>>gdal_translate -a_srs EPSG:32633 xyz.txt raster.tif
>
> Il codice EPSG è solo un esempio.
>
> Saluti,
>
> Andrea
>
>
>
>
> -----
> Andrea Borruso
>
> ----------------------------------------------------
> email: [hidden email]
> website: http://blog.spaziogis.it
> feed: http://feeds2.feedburner.com/Tanto
> 38° 7' 48" N, 13° 21' 9" E
> ----------------------------------------------------
> --
> View this message in context:
> http://gfoss-geographic-free-and-open-source-software-italian-mailing.3056002.n2.nabble.com/generazione-di-raster-a-partire-da-tre-valori-tp7581420p7581438.html
> Sent from the Gfoss -- Geographic Free and Open Source Software - Italian
> mailing list mailing list archive at Nabble.com.
> _______________________________________________
> [hidden email]
> http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
> Questa e' una lista di discussione pubblica aperta a tutti.
> I messaggi di questa lista non hanno relazione diretta con le posizioni
> dell'Associazione GFOSS.it.
> 638 iscritti al 28.2.2013
_______________________________________________
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
I messaggi di questa lista non hanno relazione diretta con le posizioni dell'Associazione GFOSS.it.
638 iscritti al 28.2.2013
Reply | Threaded
Open this post in threaded view
|

Re: generazione di raster a partire da tre valori

Novarese
In reply to this post by aborruso
iomeneandrei wrote
se si tratta di una griglia regolare potresti anche usare gdal_translate ... da un file di testo con questa struttura e denominato xyz.txt
Buona idea, tuttavia lui non ha la coordinata Z...
Reply | Threaded
Open this post in threaded view
|

Re: generazione di raster a partire da tre valori

Paolo Corti
2013/3/14 Novarese <[hidden email]>:
> iomeneandrei wrote/
>> se si tratta di una griglia regolare potresti anche usare gdal_translate
>> ... da un file di testo con questa struttura e denominato xyz.txt
> /
>
> Buona idea, tuttavia lui non ha la coordinata Z...
>

con gdal_grid [1] ed esponendo il file di testo come vrt format si
ottiene il risultato desiderato, a prescindere dal numero di
coordinate e dalla regolarità della griglia.

p

[1] http://www.gdal.org/gdal_grid.html

--
Paolo Corti
Geospatial software developer
web: http://www.paolocorti.net
twitter: @capooti
skype: capooti
_______________________________________________
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
I messaggi di questa lista non hanno relazione diretta con le posizioni dell'Associazione GFOSS.it.
638 iscritti al 28.2.2013
Reply | Threaded
Open this post in threaded view
|

Re: generazione di raster a partire da tre valori

aborruso
Administrator
In reply to this post by Salvatore Falanga Bolognesi
Ciao Salvatore,
rileggendoti non sono sicuro di avere compreso la tua domanda.

Il tuo problema è capire come trasformare tre input in un unico oggetto (una raster)? Se si, come sono fatte queste tre matrici?

Saluti,

a
Andrea Borruso

----------------------------------------------------
twitter: https://twitter.com/aborruso
website: https://medium.com/tantotanto
38° 7' 48" N, 13° 21' 9" E
----------------------------------------------------
Reply | Threaded
Open this post in threaded view
|

Re: generazione di raster a partire da tre valori

Novarese
In reply to this post by Paolo Corti
Paolo Corti wrote
con gdal_grid [1] ed esponendo il file di testo come vrt format
Se non erro, però, in quel modo perdi l'attributo "terzo".

Supponiamo infatti che Salvatore abbia un rilievo d'inquinamento acustico, ossia posizione Lat/Long del rilevatore + attributo in decibel: col plugin Interpolazione carichi tutto, sia geometria che valore acustico...


Reply | Threaded
Open this post in threaded view
|

Re: generazione di raster a partire da tre valori

Paolo Corti
2013/3/14 Novarese <[hidden email]>:

> Paolo Corti wrote/
>> con gdal_grid [1] ed esponendo il file di testo come vrt format
> /
>
> Se non erro, però, in quel modo perdi l'attributo "terzo".
>
> Supponiamo infatti che Salvatore abbia un rilievo d'inquinamento acustico,
> ossia posizione Lat/Long del rilevatore + attributo in decibel: col plugin
> Interpolazione carichi tutto, sia geometria che valore acustico...
>

anche con gdal_grid puoi farlo, a prescindere dalla struttura del file
csv di origine.

Supponendo una struttura del file tipo questa, con il file chiamato myfile.csv:

Easting,Northing,Elevation,Decibel
86943.4,891957,139.13,10
87124.3,892075,135.01,20
86962.4,892321,182.04,30
87077.6,891995,135.01,40

crei un file myfile.vrt come questo:

<OGRVRTDataSource>
    <OGRVRTLayer name="myfile">
        <SrcDataSource>myfile.csv</SrcDataSource>
        <GeometryType>wkbPoint</GeometryType>
        <GeometryField encoding="PointFromColumns" x="Easting" y="Northing"
z="Elevation"/>
    </OGRVRTLayer>
</OGRVRTDataSource>

a questo punto in gdal_grid sarà sufficiente usare l'opzione -zfield, es:

gdal_grid -zfield Decibel -a invdist:power=2.0:smoothing=1.0 -txe
85000 89000 -tye 894000 890000 -outsize 400 400 -of GTiff -ot Float64
-l myfile myfile.vrt myfile.tif

Sicuramente per un utente è più facile usare il plugin, ma se hai dei
processi da scriptare e schedulare, allora gdal_grid ftw :)
non escluderei tra l'altro che il plugin di QGIS non faccia altro che
usare gdal_grid dietro le quinte, ma non ho tempo per controllarlo

ciao
p

--
Paolo Corti
Geospatial software developer
web: http://www.paolocorti.net
twitter: @capooti
skype: capooti
_______________________________________________
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
I messaggi di questa lista non hanno relazione diretta con le posizioni dell'Associazione GFOSS.it.
638 iscritti al 28.2.2013
Reply | Threaded
Open this post in threaded view
|

Re: generazione di raster a partire da tre valori

giohappy

non escluderei tra l'altro che il plugin di QGIS non faccia altro che
usare gdal_grid dietro le quinte, ma non ho tempo per controllarlo

No, il plugin usa il codice (C++) del modulo "analysis", che non si appoggia a librerie esterne.

giovanni

 

ciao
p

--
Paolo Corti
Geospatial software developer
web: http://www.paolocorti.net
twitter: @capooti
skype: capooti
_______________________________________________
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
I messaggi di questa lista non hanno relazione diretta con le posizioni dell'Associazione GFOSS.it.
638 iscritti al 28.2.2013



--
Giovanni Allegri
website: http://giovanniallegri.it
GEO+ geomatica in Italia http://bit.ly/GEOplus

_______________________________________________
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
I messaggi di questa lista non hanno relazione diretta con le posizioni dell'Associazione GFOSS.it.
638 iscritti al 28.2.2013
Reply | Threaded
Open this post in threaded view
|

Re: generazione di raster a partire da tre valori

Paolo Corti
2013/3/14 G. Allegri <[hidden email]>:
>
>> non escluderei tra l'altro che il plugin di QGIS non faccia altro che
>> usare gdal_grid dietro le quinte, ma non ho tempo per controllarlo
>
>
> No, il plugin usa il codice (C++) del modulo "analysis", che non si appoggia
> a librerie esterne.
> https://github.com/qgis/Quantum-GIS/tree/master/src/analysis/interpolation
>

grazie :)
in effetti dopo aver scritto la email avevo controllato anche io.
C'è in ogni caso l'interfaccia al gdal_grid su QGIS base (no plugin),
andando su Raster > Analysis > Grid (interpolation)

ciao
p

--
Paolo Corti
Geospatial software developer
web: http://www.paolocorti.net
twitter: @capooti
skype: capooti
_______________________________________________
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
I messaggi di questa lista non hanno relazione diretta con le posizioni dell'Associazione GFOSS.it.
638 iscritti al 28.2.2013
Reply | Threaded
Open this post in threaded view
|

Re: generazione di raster a partire da tre valori

Novarese
Paolo Corti wrote
C'è in ogni caso l'interfaccia al gdal_grid su QGIS base (no plugin),
andando su Raster > Analysis > Grid
Vero, ma mi permetto di rilevare una differenza capitale.

La procedura che hai citato ti crea un raster secondo il cosiddetto 'bounding box', mentre il plugin Interpolazione aggiunto dal repository e' piu fedele, restando aderente alla disposizione dei punti, e mi spiego.

Ammettiamo che il rilievo acustico contenga 3 punti: ebbene, gdal_grid produrra' un rettangolo, invece Interpolazione generera' un triangolo.

N.B. per i caddisti che ci stanno leggendo:

Il suddetto plugin esterno consente di convertire un DXF 3D, ad es. contenente isoipse in quota, in Dem georiferito.