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