tecnica:gps_cartografia_gis:gdal_raster
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
tecnica:gps_cartografia_gis:gdal_raster [2010/10/27 18:26] – niccolo | tecnica:gps_cartografia_gis:gdal_raster [2011/11/15 11:29] – [Ottimizzare raster con gdal_translate] niccolo | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== Raster con GDAL e MapServer ====== | ====== Raster con GDAL e MapServer ====== | ||
+ | |||
+ | ===== Raster type: Float32, Int16, Byte ===== | ||
La gestione dei **raster Tiff** con GDAL e MapServer non funziona sempre alla perfezione come si vorrebbe. Si deve fare sempre attenzione al tipo di raster con cui si ha a che fare, potrebbe trattarsi di **Float32**, | La gestione dei **raster Tiff** con GDAL e MapServer non funziona sempre alla perfezione come si vorrebbe. Si deve fare sempre attenzione al tipo di raster con cui si ha a che fare, potrebbe trattarsi di **Float32**, | ||
Line 81: | Line 83: | ||
Band 1 Block=256x256 Type=Byte, ColorInterp=Palette | Band 1 Block=256x256 Type=Byte, ColorInterp=Palette | ||
</ | </ | ||
+ | |||
+ | ===== Georiferire un file PNG ===== | ||
+ | |||
+ | Quei mattacchioni della NASA fanno [[http:// | ||
+ | |||
+ | Bisognerebbe creare un //world file// secondo la struttura documentata da [[http:// | ||
+ | < | ||
+ | gdalinfo TrueMarble.2km.21600x10800.tif | ||
+ | ... | ||
+ | Origin = (-180.000000000000000, | ||
+ | Pixel Size = (0.016666666666667, | ||
+ | ... | ||
+ | </ | ||
+ | |||
+ | Un trucco per creare il world file a partire da un GeoTiff usando i tool gdal è il seguente: | ||
+ | |||
+ | < | ||
+ | gdal_translate -co " | ||
+ | mv temp.tfw TrueMarble.2km.21600x10800.tfw | ||
+ | rm temp.tif | ||
+ | </ | ||
+ | |||
+ | Creiamo il world file con lo stesso nome del file '' | ||
+ | |||
+ | < | ||
+ | 0.0166666667 | ||
+ | 0.0000000000 | ||
+ | 0.0000000000 | ||
+ | -0.0166666667 | ||
+ | -179.9916666667 | ||
+ | 89.9916666667 | ||
+ | </ | ||
+ | |||
+ | Peccato che la velocità di accesso non sia accettabile, | ||
+ | |||
+ | Una **soluzione non ottimale** è quella di convertire in Tiff non compresso con ImageMagick (il world file da usare rimane esattamente lo stesso): | ||
+ | |||
+ | < | ||
+ | convert world_topo_bathy.png -compress none world_topo_bathy.tif | ||
+ | </ | ||
+ | |||
+ | La **soluzione migliore** è creare un **GeoTiff completo**, che non ha bisogno del world file perché incorpora tutte le informazioni geografiche necessarie. A tale scopo si può usare il comando: | ||
+ | |||
+ | < | ||
+ | gdal_translate -a_srs EPSG:4326 world_topo_bathy.png world_topo_bathy.tif | ||
+ | </ | ||
+ | |||
+ | Nel GeoTiff risultante vengono incorporate sie le informazioni relative al sistema di riferimento che quelle contenute nel world file. | ||
+ | |||
+ | ===== Overview Images (piramidi) ===== | ||
+ | |||
+ | Se il file è troppo grande conviene creare le overview, dette anche // | ||
+ | |||
+ | In genere si generano delle copie dell' | ||
+ | |||
+ | < | ||
+ | gdaladdo TrueMarble.8km.5400x2700.tif 2 4 8 | ||
+ | </ | ||
+ | |||
+ | Se invece vogliamo tenere le overview in un file separato (avrà formato //Erdas Image// ed estensione **'' | ||
+ | |||
+ | < | ||
+ | gdaladdo --config USE_RRD YES TrueMarble.8km.5400x2700.tif 2 4 8 | ||
+ | </ | ||
+ | |||
+ | MapServer e la libreria Gdal accedono automaticamente alle overview anche se si trovano nel file separato **'' | ||
===== Creare una overview di una copertura tiled ===== | ===== Creare una overview di una copertura tiled ===== | ||
- | Anche se nelle tile sono state aggiunte le overview, ai fattori di scala maggiori (zoom minore) è necessario accedere a tutti i file (tile) della copertura per generare la mappa. Questo fa decadere di molto le prestazioni. È quindi opportuno creare una versione ridotta della copertura, contenuta in un singolo file. | + | Anche se nelle tile sono state aggiunte le overview, ai fattori di scala maggiori (zoom minore) è necessario accedere a tutti i file (tile) della copertura per generare la mappa. Questo fa decadere di molto le prestazioni, è quindi opportuno creare una **versione ridotta della copertura**, contenuta in un **singolo file**. |
Tale file conviene che sia TIFF memorizzato a blocchi ed eventualmente deve comprendere le overview opportune. Ecco come usare **'' | Tale file conviene che sia TIFF memorizzato a blocchi ed eventualmente deve comprendere le overview opportune. Ecco come usare **'' | ||
Line 92: | Line 160: | ||
</ | </ | ||
- | La dimensione del pixel (in metri) viene calcolata dividento la larghezza della copertura per il numero di pixel desiderati. Ad esempio se si ha una superficie larga 16 km e si vuole creare un' | + | La dimensione del pixel (in metri) viene calcolata dividento la larghezza della copertura per il numero di pixel desiderati. Ad esempio se si ha una superficie larga 16 km e si vuole creare un' |
< | < | ||
(670510 - 654510) / 16384 = 0.9765625 | (670510 - 654510) / 16384 = 0.9765625 | ||
</ | </ |
tecnica/gps_cartografia_gis/gdal_raster.txt · Last modified: 2013/10/01 23:08 by niccolo