[Gfoss] Dati regione Sardegna

Andrea Aime aaime at openplans.org
Thu Jun 21 18:29:00 CEST 2007


Simone Giannecchini ha scritto:
> On 6/21/07, Maurizio Napolitano <napo a itc.it> wrote:
> Ho provato con udig e con gaia2 e non ho visto problemi particolari.
> Naturalmente il retrieval è lento, anzi sembra lento visto che stiamo
> facendo streaming di un botto di xml non compresso su http. Sarebbe
> bello sapere che tipo di sorgenti sono, se postgis o shapefiles.

Il retrieval è troppo lento... e lo è perché non hanno attivato nessuna
forma di compressione del GML... ma dai!
Per farlo, bisogna solo dire ad Apache (visto che lo usano come proxy)
che il content type application/gml2 è comprimibile, così si scarica 
molto meno.

Per dare qualche idea su quanto si risparmia, e allo stesso tempo dare
qualche esempio di scaricamento dati da linea di comando:

Comuni, tutto il layer, tutti gli attributi, GML2 non compresso:
C:\Temp\test>wget 
"http://webgis.regione.sardegna.it/geoserver/wfs?service=WFS&request=GetFeature&typeName=ras:IDT_AA01G_COMUNI"
--18:18:17-- 
http://webgis.regione.sardegna.it/geoserver/wfs?service=WFS&request=GetFeature&typeName=ras:IDT_AA01G_COMUNI
            => 
`wfs a service=WFS&request=GetFeature&typeName=ras%3AIDT_AA01G_COMUNI'
Resolving webgis.regione.sardegna.it... 82.85.18.147
Connecting to webgis.regione.sardegna.it[82.85.18.147]:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/xml]
     [ <=>                                 ] 10,085,300   157.93K/s
18:19:21 (162.88 KB/s) - 
`wfs a service=WFS&request=GetFeature&typeName=ras%3AIDT_AA01G_COMUNI' 
saved [10085300]


Uag! 10MB! Vediamo invece se si fa la richiesta con formato GML2-GZIP 
(in cui si forza una compressione GZIP):


Comuni, GML2, compresso (in formato gzip):
C:\Temp\test>wget 
"http://webgis.regione.sardegna.it/geoserver/wfs?service=WFS&request=GetFeature&typeName=ras:IDT_AA01G_COMUNI&outputFormat=GML2-GZIP"
--18:20:50-- 
http://webgis.regione.sardegna.it/geoserver/wfs?service=WFS&request=GetFeature&typeName=ras:IDT_AA01G_COMUNI&outputFormat=GML2-GZIP
            => 
`wfs a service=WFS&request=GetFeature&typeName=ras%3AIDT_AA01G_COMUNI&outputFormat=GML2-GZIP'
Resolving webgis.regione.sardegna.it... 82.85.18.147
Connecting to webgis.regione.sardegna.it[82.85.18.147]:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [application/gzip]
     [           <=>                       ] 2,901,615    164.19K/s
18:21:10 (162.21 KB/s) - 
`wfs a service=WFS&request=GetFeature&typeName=ras%3AIDT_AA01G_COMUNI&outputFormat=GML2-GZIP' 
saved [2901615]


Così va già molto meglio, "solo" 3MB invece che 10...
Se poi si vuole lo shapefile zippato:


C:\Temp\test>wget 
"http://webgis.regione.sardegna.it/geoserver/wfs?service=WFS&request=GetFeature&typeName=ras:IDT_AA01G_COMUNI&outputFormat=SHAPE-ZIP"
--18:22:15-- 
http://webgis.regione.sardegna.it/geoserver/wfs?service=WFS&request=GetFeature&typeName=ras:IDT_AA01G_COMUNI&outputFormat=SHAPE-ZIP
            => 
`wfs a service=WFS&request=GetFeature&typeName=ras%3AIDT_AA01G_COMUNI&outputFormat=SHAPE-ZIP'
Resolving webgis.regione.sardegna.it... 82.85.18.147
Connecting to webgis.regione.sardegna.it[82.85.18.147]:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [application/zip]
     [ <=>                                 ] 2,473,345    167.82K/s
18:22:33 (163.06 KB/s) - 
`wfs a service=WFS&request=GetFeature&typeName=ras%3AIDT_AA01G_COMUNI&outputFormat=SHAPE-ZIP' 
saved [2473345]



Solo 2.4MB, e in un formato direttamente fruibile da QGis senza dover 
caricare ulteriormente la rete. Cosa volete di più? :)
Se volete filtrare su un bbox specifico, basta dare il parametro 
BBOX=minlon,minlat,maxlon,maxlat

Se volete sbizzarrirvi con i filtri, vi consiglio di dare una occhiata 
alla describeFeature per sapere quali sono gli attributi (e il loro 
tipo) e poi vi potete fare degli interessanti filtri usando il 
linguaggio CQL, una estensione al protocollo WFS fuori dallo standard, 
ma col vantaggio che il filtro è una espressione leggibile (
per qualche esempio, guardate qui: 
http://docs.codehaus.org/display/GEOSDOC/Common+Query+Language+%28CQL%29+Tutorial+%28unfinished%29)

Ciao
Andrea



More information about the Gfoss mailing list