Creazione pyramid

194 views
Skip to first unread message

Antonio Atzeni

unread,
Oct 9, 2013, 4:23:05 AM10/9/13
to geoser...@googlegroups.com
Salve a tutti, 
ho necessità di gestire su geoserver un dataset di ortofoto (tra i 4 ai 10 geotiff) che metodo mi consigliate? Fare un'unico geotiff e poi creare delle piramidi con il comando gdal_retile.py oppure con "piramizzare" ogni singolo raster con il comando gdaladdo e creare poi un indice?
Ovviamente cerco la soluzione più performante possibile.
Sono ben gradite guide.

Grazie per le risposte.

--
Antonio Atzeni, 
a.at...@gmail.com 
Cellulare:  +39 3932173772 
Fax: +39 08231601401

jlic Belpoliti

unread,
Oct 9, 2013, 4:27:38 AM10/9/13
to geoser...@googlegroups.com
carica la geowebcache e crea le piramidi con quella.


--
Hai ricevuto questo messaggio perché sei iscritto al gruppo "GeoServer Italia" di Google Gruppi.
Per annullare l'iscrizione a questo gruppo e non ricevere più i suoi messaggi, invia un'email a geoserver-it...@googlegroups.com.
Per postare messaggi in questo gruppo, invia un'email a geoser...@googlegroups.com.
Visita questo gruppo all'indirizzo http://groups.google.com/group/geoserver-ita.
Per ulteriori opzioni, visita https://groups.google.com/groups/opt_out.

Antonio Atzeni

unread,
Oct 9, 2013, 4:41:24 AM10/9/13
to geoser...@googlegroups.com
grazie jlic per la dritta.. ho geoserver già integrato con geowebcache.. potresti darmi qualche info in più su come fare? 

Alessio Fabiani

unread,
Oct 9, 2013, 4:42:59 AM10/9/13
to geoser...@googlegroups.com
Salve Antonio,

molto dipende da come sono organizzati i dati di partenza.

Le regole generali sono:

1. Ridurre il più possibile i granuli per evitare di saturare la memoria

2. Estrazione veloce di subsets di dati

3. Estrazione veloce a risoluzioni ridotte

In altre parole:

1. Cerca di evitare di aprire un largo numero di file sulla mappa; devi impedire che il reader (ImageMosaic o chi per esso) debba caricare troppi granuli in lettura
3. Cerca di evitare il più possibile il parsing di strutture complesse
4. Cerca di evitare il più possibile la riproiezione on the fly
5. Assicurati che tutte le immagini abbiano overviews ed una organizzazione interna a tiles

In linea di massima il consiglio è:

1. Utilizza GeoTIFF tilizzate con overviews se possibile se le dimensioni sono inferiori ai 4Gb

2. Utilizza un mosaico di un solo livello di GeoTIFF tilizzate e con overviews se il singolo file è troppo grosso

3. La piramide va usata solo nel caso in cui il dataset sia veramente enorme, ma sempre rispettando i principi sopra per ogni singolo livello

Hope this helps,
Alessio.

==
Our support, Your Success! Visit http://opensdi.geo-solutions.it for
more information.
== 

Ing. Alessio Fabiani
@alfa7691
Founder/Technical Lead

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054  Massarosa (LU)
Italy
fax:     +39 0584 1660272


-------------------------------------------------------


2013/10/9 jlic Belpoliti <lill...@gmail.com>

jlic Belpoliti

unread,
Oct 9, 2013, 4:44:33 AM10/9/13
to geoser...@googlegroups.com
dalgeoserver crei il flusso di dati wms con tutti ivari layer che servono.
conl geovebcacheintercetti ilflusso ecrei la piramide.

certo creare l'SLD è unpo unapalla (con udig un po si semplifica) pero e lungo da configurare le prime volte

Alessio Fabiani

unread,
Oct 9, 2013, 4:45:00 AM10/9/13
to geoser...@googlegroups.com
Ottimo il consiglio di geowebcache, ma il layer di partenza deve essere performante pure e usabile altrimenti generare i tiles sarà impossibile.

==
Our support, Your Success! Visit http://opensdi.geo-solutions.it for
more information.
== 

Ing. Alessio Fabiani
@alfa7691
Founder/Technical Lead

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054  Massarosa (LU)
Italy
fax:     +39 0584 1660272


-------------------------------------------------------


2013/10/9 Antonio Atzeni <a.at...@gmail.com>

jlic Belpoliti

unread,
Oct 9, 2013, 4:46:30 AM10/9/13
to geoser...@googlegroups.com
io lo uso integrando dati da DB e raster da monaco a modena
http://www.provincia.bz.it/traffico/

Antonio Atzeni

unread,
Oct 9, 2013, 5:01:43 AM10/9/13
to geoser...@googlegroups.com
Complimenti jlic il tuo raster è davvero performante.. 

grazie Alessio per i consigli. Questa operazione la dovrò eseguire su diversi dataset (per intenderci dovrò creare uno store diverso per ogni comune) nel primo caso ho 4 ortofoto di circa 600 Mb percui sto tranquillamente nei 4 GB consigliati.

Non sono molto esperto e mi sono fidato di questa guida, 


sai dirmi se trovi qualche imprecisione?

jlic Belpoliti

unread,
Oct 9, 2013, 5:03:56 AM10/9/13
to geoser...@googlegroups.com
se riesco a trovare un buco libero di mando il documento di configurazioe del mio webcache, devo solo prenderloecancellare alcune parti per ovvi motivi di security-policy

Alessio Fabiani

unread,
Oct 9, 2013, 5:30:46 AM10/9/13
to geoser...@googlegroups.com
Si la pagina da qualche consiglio.

Allego una presentazione che nella parte centrale ha qualche comando esplicito e degli screenshots per il data processing.

Se hai bisogno di altri chiarimenti manda pure email.


==
Our support, Your Success! Visit http://opensdi.geo-solutions.it for
more information.
== 

Ing. Alessio Fabiani
@alfa7691
Founder/Technical Lead

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054  Massarosa (LU)
Italy
fax:     +39 0584 1660272


-------------------------------------------------------


2013/10/9 jlic Belpoliti <lill...@gmail.com>
gs_steroids_sgiannec_foss4g2013_01.03.pdf

Antonio Atzeni

unread,
Oct 9, 2013, 5:57:17 AM10/9/13
to geoser...@googlegroups.com
Grazie per la guida. La leggerò con calma

Per ora seguendo la procedura che ho indicato ho ottenuto questo risultato, 

devo dire molto deludente in termini di qualità..è normale oppure devo settare qualche parametro in geoserver? Purtroppo nel mio ambiente di test ho ancora la versione 2.0.1 di geoserver 

tmp_mosaic.png

Alessio Fabiani

unread,
Oct 9, 2013, 6:04:27 AM10/9/13
to geoser...@googlegroups.com
Puoi mandare un GDALINFO di una geotiff?

Inoltre in questa procedura gdal_translate -of GTiff -co "TILED=YES" 1274.tif 1274.tiff 
mancano le dimensioni del tile interno

Dal risultato mi sembra di intuire che sono state scalate male.

Sarebbe utile se tu potessi anche mandare l'elenco preciso delle istruzioni che hai eseguito sui granuli con GDAL immagino.

Antonio Atzeni

unread,
Oct 9, 2013, 6:10:20 AM10/9/13
to geoser...@googlegroups.com
infatti notavo proprio l'assenza del BLOCKSIZE, seguendo la vs guida ho provato a configurare i parametri della coverege secondo lo screenshot indicato nella pag. 27 e i risultati non sono migliorati.

ho seguito questa procedura
procedura_creazione mosaico.txt

Alessio Fabiani

unread,
Oct 9, 2013, 6:26:34 AM10/9/13
to geoser...@googlegroups.com
Io proverei così:

1. Inner Tiling

gdal_translate -co "TILED=YES" -co "BLOCKXSIZE=512" -co "BLOCKYSIZE=512" 430030.tif a.tif

2. Overviews

gdaladdo -r cubic a.tif 2 4 8 16

3. ImageMosaic

Anziché creare l'indice con gdaltindex, semplicemente crei un ImageMosaic datastore in GeoServer che punta alla cartella dei granuli. Lui creerà l'indice e lo shapefile da solo settando anche gli opportuni livelli di risoluzione.

Se possibile ti consiglio quantoprima di aggiornare il GS alla versione 2.4.x, ci sono anche molti improvements per ImageMosaic e bug fixes.

Alessio Fabiani

unread,
Oct 9, 2013, 10:25:00 AM10/9/13
to geoser...@googlegroups.com
Se ho capito bene la domanda, in GeoServer non c'è il codice della proiezione nativa, giusto?

In tal caso GeoServer mette a disposizione una procedura davvero semplice per inserire CRS custom o per sovrascrivrne di già esistenti, qui trova la documentazione.


-A.

==
Our support, Your Success! Visit http://opensdi.geo-solutions.it for
more information.
== 

Ing. Alessio Fabiani
@alfa7691
Founder/Technical Lead

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054  Massarosa (LU)
Italy
fax:     +39 0584 1660272


-------------------------------------------------------


2013/10/9 Antonio Atzeni <a.at...@gmail.com>
Salve Alessio, ho ripetuto la procedura come suggerito e il risultato è molto soddisfacente, ho solo qualche dubbio su come geoserver interpreta lo SRID=3004, le ortofoto in origine erano dei ECW e i geotiff convertiti hanno questo PROJCS:

C:\Program Files (x86)\FWTools2.4.7>gdalinfo a.tif
Driver: GTiff/GeoTIFF
Files: a.tif
Size is 14960, 12080
Coordinate System is:
PROJCS["TMBOAGA1",
    GEOGCS["MONTE MARIO",
        DATUM["MONTEMAR",
            SPHEROID["INT24",6378388,297]],
        PRIMEM["Greenwich",0],
        UNIT["degree",0.0174532925199433]],
    PROJECTION["Transverse_Mercator"],
    PARAMETER["latitude_of_origin",0],
    PARAMETER["central_meridian",9.000000000000002],
    PARAMETER["scale_factor",0.9996],
    PARAMETER["false_easting",1500000],
    PARAMETER["false_northing",0],
    UNIT["metre",1,
        AUTHORITY["EPSG","9001"]]]
Origin = (2449800.000000000000000,4561400.000000000000000)
Pixel Size = (0.500000000000000,-0.500000000000000)
Metadata:
  AREA_OR_POINT=Area
Image Structure Metadata:
  INTERLEAVE=PIXEL
Corner Coordinates:
Upper Left  ( 2449800.000, 4561400.000) ( 20d13'25.33"E, 40d39'12.57"N)
Lower Left  ( 2449800.000, 4555360.000) ( 20d12'52.76"E, 40d36'0.44"N)
Upper Right ( 2457280.000, 4561400.000) ( 20d18'37.67"E, 40d38'41.69"N)
Lower Right ( 2457280.000, 4555360.000) ( 20d18'4.86"E, 40d35'29.62"N)
Center      ( 2453540.000, 4558380.000) ( 20d15'45.16"E, 40d37'21.11"N)
Band 1 Block=512x512 Type=Byte, ColorInterp=Red
  Overviews: 7480x6040, 3740x3020, 1870x1510, 935x755
Band 2 Block=512x512 Type=Byte, ColorInterp=Green
  Overviews: 7480x6040, 3740x3020, 1870x1510, 935x755
Band 3 Block=512x512 Type=Byte, ColorInterp=Blue
  Overviews: 7480x6040, 3740x3020, 1870x1510, 935x755

Geoserver vuole che il declare SRS ma non riesco a trovare nell'elenco l'EPSG:9001 

Come potrei risolvere?

Antonio Atzeni

unread,
Oct 9, 2013, 10:19:21 AM10/9/13
to geoser...@googlegroups.com

Antonio Atzeni

unread,
Oct 10, 2013, 5:59:27 AM10/10/13
to geoser...@googlegroups.com
Ringrazio calorosamente Alessio per il supporto, sono riuscito a caricare le ortofoto che mi interessavano, il problema del CRS l'ho risolto forzando come EPSG:3004 i geotiff che avevano questo gdalinfo:

Coordinate System is:
PROJCS["IMAGINE GeoTIFF Support
Copyright 1991 - 2005 by Leica Geosystems Geospatial Imaging, LLC. All Rights Re
served
@(#)$RCSfile: egtf.c $ IMAGINE 9.0 $Revision: 10.0 $ $Date: 2005/07/26 15:10:00
EST $
Projection = Transverse Mercator",
    GEOGCS["Rome_1940",
        DATUM["Rome_1940",
            SPHEROID["International 1909",6378388,297.0000000284015]],
        PRIMEM["Greenwich",0],
        UNIT["degree",0.0174532925199433]],
    PROJECTION["Transverse_Mercator"],
    PARAMETER["latitude_of_origin",0],
    PARAMETER["central_meridian",15],
    PARAMETER["scale_factor",0.9996],
    PARAMETER["false_easting",2520000],
    PARAMETER["false_northing",0],
    UNIT["metre",1,
        AUTHORITY["EPSG","9001"]]]
Origin = (2453000.000000000000000,4558500.000000000000000)
Pixel Size = (0.500000000000000,-0.500000000000000)
Metadata:
  AREA_OR_POINT=Area
Image Structure Metadata:
  COMPRESSION=LZW
  INTERLEAVE=PIXEL
Corner Coordinates:
Upper Left  ( 2453000.000, 4558500.000) ( 14d12'4.59"E, 41d10'27.69"N)
Lower Left  ( 2453000.000, 4551500.000) ( 14d12'7.34"E, 41d 6'40.72"N)
Upper Right ( 2460000.000, 4558500.000) ( 14d17'4.98"E, 41d10'29.67"N)
Lower Right ( 2460000.000, 4551500.000) ( 14d17'7.45"E, 41d 6'42.69"N)
Center      ( 2456500.000, 4555000.000) ( 14d14'36.09"E, 41d 8'35.22"N)
Band 1 Block=14000x32 Type=Byte, ColorInterp=Red
  Metadata:
    LAYER_TYPE=athematic
Band 2 Block=14000x32 Type=Byte, ColorInterp=Green
  Metadata:
    LAYER_TYPE=athematic
Band 3 Block=14000x32 Type=Byte, ColorInterp=Blue
  Metadata:
    LAYER_TYPE=athematic

La soluzione non è pulitissima ma sono riuscito ad avere il mosaico ben proiettato rispetto ai miei layer vettoriali.

Saluti
Reply all
Reply to author
Forward
0 new messages