Ciao
esportando una tabella fatta così: Colonna | Tipo | Modificatori -------------------------+--------------------------+------------------------ id | integer | not null preimpostato nextval('routing_arc_id_seq'::regclass) geom | geometry | not null con questo comando: $ ogr2ogr -f SQLite -dsco SPATIALITE=yes myfile.sqlite PG:"host=localhost dbname=miodb" routing_arc ottengo un sqlite senza la colonna ID 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 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. C'è qualche logica in questo comportamento o è un baco ? Versioni: $ apt-cache policy libspatialite2 libspatialite2: Installato: 2.4.0~rc4-2~lucid1 $ apt-cache policy libgdal1-1.7.0 libgdal1-1.7.0: Installato: 1.7.2-4~lucid3 $ apt-cache policy postgis postgis: Installato: 1.5.1-3~lucid1 -- Alessandro Pasotti itOpen - "Open Solutions for the Net Age" w3: www.itopen.it Linux User# 167502 _______________________________________________ Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione [hidden email] 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 rispecchiano necessariamente le posizioni dell'Associazione GFOSS.it. 474 iscritti al 18.9.2010 |
Ciao Alessandro,
2010/9/24 Alessandro Pasotti <[hidden email]> $ ogr2ogr -f SQLite -dsco SPATIALITE=yes myfile.sqlite PG:"host=localhost La colonna ID (chiave primaria) viene rimpiazzata con la colonna OGC_FID, colonna usata internamente per identificare le features. se invece, provo con: 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 è: 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. Saluti!! -- Giuseppe Sucameli _______________________________________________ Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione [hidden email] 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 rispecchiano necessariamente le posizioni dell'Associazione GFOSS.it. 474 iscritti al 18.9.2010 |
In data venerdì 24 settembre 2010 11:39:05, Giuseppe Sucameli ha scritto:
: > Ciao Alessandro, > > 2010/9/24 Alessandro Pasotti <[hidden email]> > > > $ 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 _______________________________________________ Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione [hidden email] 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 rispecchiano necessariamente le posizioni dell'Associazione GFOSS.it. 474 iscritti al 18.9.2010 |
Free forum by Nabble | Edit this page |