Ciao 2014-04-08 18:44 GMT+02:00 Rocco Pispico <r.pisp...@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 _______________________________________________ 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