[Gfoss] AddGeometryColumn

Ciao a tutti,

sto cercando di importare un csv in Spatialite (usando la Gui esterna: spatialite-gui-win-x86-1.3.0). Il csv contiene gia' due campi di coordinate.
Il problema e' che dopo aver aggiunto la geometria con il classico comando

SELECT AddGeometryColumn ("NOME_TABELLA", "Geometry", 4326, "POINT", 2);

La tabella sembra acquisire la geometria (compare correttamente il piccolo mappamondino blu-verde), ma poi in QGIS non vedo i punti (se carico il layer spatailite) ed infatti se guardo cosa c'e' nel campo Geometry (sempre dalla GUI), i valori sono tutti NULL!

Qualche giorno fa avevo fatto la stessa operazione con la stessa tabella csv di origine, la stessa gui e la stessa istruzione SELECT AddGeometryColumn
ed il campo geometry era di tipo BLOB: infatti tutto funzionava in QGIS (visualizzavo i punti).

Cosa succede?

Grazie anticipatamente!!

Massimo

p.s. quando importo il csv specifico la virgola come delimitatore decimale poiche' le coordinate sono LongLat con virgola (ma d'altronde avevo fatto lo stesso qualche giorno fa)

On Thu, 17 Nov 2011 13:05:07 +0100, Massimo Paone wrote

Ciao a tutti,

sto cercando di importare un csv in Spatialite (usando la Gui
esterna: spatialite-gui-win-x86-1.3.0). Il csv contiene gia' due
campi di coordinate. Il problema e' che dopo aver aggiunto la
geometria con il classico comando

SELECT AddGeometryColumn ("NOME_TABELLA", "Geometry", 4326, "POINT",
2);

La tabella sembra acquisire la geometria (compare correttamente il
piccolo mappamondino blu-verde), ma poi in QGIS non vedo i punti (se
carico il layer spatailite) ed infatti se guardo cosa c'e' nel campo
Geometry (sempre dalla GUI), i valori sono tutti NULL!

scusa Massimo, ma fino a qua (stando a quel che dici)
hai semplicemente definito una nuova colonna Geometry.
ma non ci hai ancora inserito neppure un singolo valore :smiley:
e quindi è del tutto normale che siano tutti NULL

quello che devi fare è popolare le Geometrie: p.es.
lanciando (dalla GUI) qualcosa di questo tipo:

UPDATE nome_tabella SET geometry = MakePoint(long, lat, 4326);

ovviamene i nomi "long" e "lat" te li devi aggiustare
in modo tale che corrispondano alle due colonne che
contengono i rispettivi valori delle coordinate.

ciao Sandro

quello che devi fare è popolare le Geometrie: p.es.
lanciando (dalla GUI) qualcosa di questo tipo:

UPDATE nome_tabella SET geometry = MakePoint(long, lat, 4326);

Grazie mille Sandro, ora funziona, sono uno sbadato, mi ero dimenticato l'update!
Ehm ehm ... ho appena iniziato con le istruzioni sql, mi metto a studiare un po'.

Grazie ancora.

massimo