[Gfoss] Problema (bug?) esportando da PG a SQLITE con ogr2ogr

Alessandro Pasotti ale.pas a tiscali.it
Ven 24 Set 2010 11:48:58 CEST


In data venerdì 24 settembre 2010 11:39:05, Giuseppe Sucameli ha scritto:
: > Ciao Alessandro,
> 
> 2010/9/24 Alessandro Pasotti <ale.pas at tiscali.it>
> 
> > $ ogr2ogr -f SQLite -dsco SPATIALITE=yes myfile.sqlite PG:"host=localhost
> > dbname=miodb" routing_arc
> > 
> > ottengo un sqlite senza la colonna ID
> 
> La colonna ID (chiave primaria) viene rimpiazzata con la colonna OGC_FID,
> colonna usata internamente per identificare le features.
> 
> se invece, provo con:
> > $ ogr2ogr -f SQLite -dsco SPATIALITE=yes myfile.sqlite PG:"host=localhost
> > dbname=miodb" -sql "select id, * from routing_arc"
> > 
> > ottengo un sqlite con la colonna ID ma con i valori ID tutti impostati a
> > NULL
> 
> Usando la query invece, la colonna con chiave primaria non viene
> rimpiazzata.
> Infatti la colonna OGC_FID viene compilata senza considerare la colonna ID
> poiché la query che hai inserito potrebbe anche non contenere un campo
> univoco
> tra quelli restituiti.
> 
> In questo caso quindi è come se avessi inserito 2 volte la colonna ID.
> Forse a seguito di conflitto di nomi di colonna (in quanto ripetuti) viene
> lasciata
> a NULL.
> 
> l'unico modo che ho trovato di fargli riempire correttamente l'id è:
> > $ ogr2ogr -f SQLite -dsco SPATIALITE=yes myfile.sqlite PG:"host=localhost
> > dbname=miodb" -sql "select id as gid, * from routing_arc"
> > 
> > curiosamente, con quest'ultimo comando mi trovo un sqlite con 2 colonne,
> > ID e
> > GID entrambe compilate correttamente.
> 
> Ovviamente ti ritrovi il campo ID e quello GID, perché come ti dicevo sopra
> tutti
> i campi vengono mantenuti usando una query come parametro.
> 
> C'è qualche logica in questo comportamento o è un baco ?
> 
> Sei arrivato vicinissimo alla soluzione ;)
> Prova questa:
> 
> $ ogr2ogr -f SQLite -dsco SPATIALITE=yes myfile.sqlite PG:"host=localhost
> dbname=miodb" -sql "select * from routing_arc"
> 
> e tutto dovrebbe andare.

Perfetto!

Grazie.

-- 
Alessandro Pasotti
itOpen - "Open Solutions for the Net Age"
w3:  www.itopen.it
Linux User# 167502


Maggiori informazioni sulla lista Gfoss