[Gfoss] Ottimizzare "informazione elementi"

Paolo Corti pcorti a gmail.com
Lun 24 Mar 2014 10:45:41 CET


2014-03-24 9:23 GMT+01:00 NicoPez <nico.pezzotta a gmail.com>:
> Ciao Paolo e grazie per la risposta!
> I miei dati sono in dbf che poi vanno in join con dei shapefile.
> La soluzione da te indicata in fondo è molto interessante, stavo leggendo
> l'argomento sul link che hai aggiunto.  Non è che puoi indicarmi come fare?
> Perché non ho ancora un livello così avanzato :p
> Per utilizzare il supporto SQL Join devo per caso scaricare qualche
> pacchetto?
>
> Grazie mille
>

Ciao

Supponendo che tu abbia uno shapefile e una tabella dbf da joinare
cosi costituiti (il driver vrt supporta comunque qualsiasi formato
vettoriale di OGR, quindi potresti joinare un layer postgis con un dbf
o uno shapefile con un file csv, tanto per fare due esempi):

layer.shp
* id
* field1
* field2

table.dbf
* id
* field1
* field2

Ipotizzando che tu voglia joinare queste due entita' e visualizzare il
solo campo field1 di layer.shp e field2 di table.dbf, creati un file
joined_layer.vrt cosi fatto:

<OGRVRTDataSource>
    <OGRVRTLayer name="layer">
        <SrcDataSource>layer.shp</SrcDataSource>
        <SrcSQL>SELECT layer.field1, table.field2 FROM layer LEFT JOIN
'table.dbf'.table ON layer.id = table.layer_id</SrcSQL>
    </OGRVRTLayer>
</OGRVRTDataSource>

Ora aggiungi tale file a QGIS come virtual layer: interrogando le
singole feature o aprendo la tabella attributi dovresti vedere solo i
campi layer.field1 e table.field2.

Ciao
p

-- 
Paolo Corti
Geospatial software developer
web: http://www.paolocorti.net
twitter: @capooti
skype: capooti


Maggiori informazioni sulla lista Gfoss