[Gfoss] Export da postgis a shapefile

Ciao a tutti,
in QGis quando si esporta da postgis a shapefile se i campi della tavola sono più lunghi di 10 caratteri vengono tagliati e fissato un nome con un numero progressivo.
Ho provato ad impostare un alias nelle proprietà dei campi ma non viene mantenuto nell’export.

Avete da suggerirmi un modo furbo e veloce per non dover dover toccare tavole, query e viste su una cinquantina di campi di un po’ di tavole e allo stesso tempo non dover usare postgres come un dbf.

Il fomato shapefile in output in questo lavoro è un vincolo.
Grazie

Rocco

ho paura che sia un limite degli shapefile

···

2014-04-08 18:44 GMT+02:00 Rocco Pispico <r.pispico@gmail.com>:

Ciao a tutti,
in QGis quando si esporta da postgis a shapefile se i campi della tavola sono più lunghi di 10 caratteri vengono tagliati e fissato un nome con un numero progressivo.
Ho provato ad impostare un alias nelle proprietà dei campi ma non viene mantenuto nell’export.

Avete da suggerirmi un modo furbo e veloce per non dover dover toccare tavole, query e viste su una cinquantina di campi di un po’ di tavole e allo stesso tempo non dover usare postgres come un dbf.

Il fomato shapefile in output in questo lavoro è un vincolo.
Grazie

Rocco


Gfoss@lists.gfoss.it
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.
666 iscritti al 22.7.2013

Confermo quanto detto da Gino.
È un limite del DBF

···

2014-04-08 18:44 GMT+02:00 Rocco Pispico <r.pispico@gmail.com>:

Ciao a tutti,
in QGis quando si esporta da postgis a shapefile se i campi della tavola sono più lunghi di 10 caratteri vengono tagliati e fissato un nome con un numero progressivo.
Ho provato ad impostare un alias nelle proprietà dei campi ma non viene mantenuto nell’export.

Avete da suggerirmi un modo furbo e veloce per non dover dover toccare tavole, query e viste su una cinquantina di campi di un po’ di tavole e allo stesso tempo non dover usare postgres come un dbf.

Il fomato shapefile in output in questo lavoro è un vincolo.
Grazie

Rocco


Gfoss@lists.gfoss.it
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.
666 iscritti al 22.7.2013

Ciao

2014-04-08 18:44 GMT+02:00 Rocco Pispico <r.pispico@gmail.com>:

Ciao a tutti,
in QGis quando si esporta da postgis a shapefile se i campi della tavola
sono più lunghi di 10 caratteri vengono tagliati e fissato un nome con un
numero progressivo.
Ho provato ad impostare un alias nelle proprietà dei campi ma non viene
mantenuto nell'export.
Avete da suggerirmi un modo furbo e veloce per non dover dover toccare
tavole, query e viste su una cinquantina di campi di un po' di tavole e allo
stesso tempo non dover usare postgres come un dbf.

Il fomato shapefile in output in questo lavoro è un vincolo.
Grazie

puoi rinominare i campi in export con un alias, anziche' lasciarli
troncare al 10o carattere da PostgreSQL, usando la seguente sintassi
di ogr2ogr:

ogr2ogr myshape PG:"dbname='mydb' host='localhost' port='5432'
user='myuser' password='mypassword'" -sql "SELECT field1 as alias1,
the_geom FROM mytable"

oppure con pgsql2shp:

pgsql2shp -f "/path/to/shape" -h localhost -u myuser -P mypasswrord mydb
"SELECT field1 as alias1, the_geom FROM mytable'"

meglio ancora, definirti un OGR virtual format che puoi riusare anche
successivamente o per vedere direttamente su QGIS la tabella PostGIS
con gli stessi nomi che avresti sullo shapefile (pur rimanendo
invariati sul db), e quindi esportarli con tali alias:

<OGRVRTDataSource>
    <OGRVRTLayer name="remapped_layer">
        <SrcDataSource>PG:"dbname='mydb' host='localhost' port='5432'
user='myuser' password='mypassword'</SrcDataSource>
        <SrcSQL>SELECT field1 as alias1, the_geom FROM mytable</SrcSQL>
    </OGRVRTLayer>
</OGRVRTDataSource>

ciao
p

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