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) _______________________________________________ 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. Non inviate messaggi commerciali. I messaggi di questa lista non rispecchiano necessariamente le posizioni dell'Associazione GFOSS.it. 540 iscritti al 4.11.2011 |
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 :-D 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 _______________________________________________ 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. Non inviate messaggi commerciali. I messaggi di questa lista non rispecchiano necessariamente le posizioni dell'Associazione GFOSS.it. 540 iscritti al 4.11.2011 |
> 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 _______________________________________________ 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. Non inviate messaggi commerciali. I messaggi di questa lista non rispecchiano necessariamente le posizioni dell'Associazione GFOSS.it. 540 iscritti al 4.11.2011 |
In reply to this post by Massimo Paone
Ciao a tutti di nuovo,
sto continuando a fare i primi passi con Spatialite e le istruzioni SQL. Ho creato alcune view (con qualche condizione where, tanto per fare delle prove) a partire da una precedente View (che era una JOIN tra due tabelle e che riesco correttamente a visualizzare in QGIS, avendo popolato il campo geometry). Non riesco pero' a popolare il campo geometry delle varie view (che sembrano tutte avere il campo geometry) con i consueti due comandi e quindi non posso visualizzare queste view in QGIS: SELECT AddGeometryColumn("NOME_VIEW", "Geometry", 4326, "POINT", 2); UPDATE "NOME_VIEW" SET Geometry=MakePoint("Long", "Lat", 4326); Il messaggio di errore dice: SQL error: "cannot modify NOME_VIEW because it is a view". Questo significa che io dovrei creare necessariamente le varie view a partire dalle TABELLE iniziali e NON DALLA VIEW che le joina? Grazie di nuovo, Massimo ----- Original Message ----- From: "Massimo Paone" <[hidden email]> To: <[hidden email]> Cc: <[hidden email]> Sent: Thursday, November 17, 2011 3:08 PM Subject: Re: [Gfoss] AddGeometryColumn >> 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 _______________________________________________ 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. Non inviate messaggi commerciali. I messaggi di questa lista non rispecchiano necessariamente le posizioni dell'Associazione GFOSS.it. 540 iscritti al 4.11.2011 |
On Fri, 18 Nov 2011 14:39:38 +0100, Massimo Paone wrote
> Questo significa che io dovrei creare necessariamente le varie view > a partire dalle TABELLE iniziali e NON DALLA VIEW che le joina? > Ciao Massimo, pensa alle VIEW come ad una specie di "guscio virtuale" che ti consente di leggere in tuoi dati in modo semplicificato e meglio organizzato. appunto: "ti consentono di leggere", cioè di fare delle SELECT. ma le VIEW (almeno per SQLite, come per moltissimi DBMS) sono rigorosamente read-only: i comandi INSERT, UPDATE e DELETE sono tassativamente proibiti per una VIEW: devi necessariamente accedere alla TABLE sottostante per modificare i dati. e naturalmente non puoi creare una nuova colonna "attaccandola" ad una VIEW: la dovrai piuttosto definire in una delle TABLE sottostanti. insomma, fino a che si parla di SELECT una TABLE ed una VIEW sono praticamente indistinguibili. N.B.: puoi anche creare una VIEW che mette in JOIN altre 2 o 3 VIEWs, non c'è nulla di anomalo. ma qualsiasi altra operazione che implichi modificare i dati (oppure modificare la struttura dei dati) è tassativamente proibita per una VIEW. ------------- piccolo excursus storico che ti aiuterà a capire meglio: i DBMS esistono da quasi 40 anni, cioè ben da prima che approdassero dalle parti del GIS. allora, prova a pensare ad un sistema contabile ed amministrativo, con tanto di informazioni anagrafiche, finanziarie, di carriera, promozioni, procedimenti disciplinari, listini prezzi, sconti riservati a clienti particolari etc ovviamente sono tutte informazioni riservate, per un motivo o per un altro. ecco quindi che i "dati grezzi" staranno nelle TABLEs vere e proprie: e magari pochissimi addetti della direzione centrale saranno abilitati a modificare ed inserire i dati. viceversa, un oceano di VIEWs consentirà a tutti gli altri uffici (e pure al pubblico esterno, magari via web) di consultare "quasi" tutto: escluso ovviamente i dati sensibili, che saranno accuratamente nascosti ed assolutamente inaccessibili ed invisibili. ovviamente gli Spatial DMBS sono semplicemente DBMS "normali", a cui viene attaccata qualche estensione un po' buffa: ma la logica operativa resta pur sempre la stessa di cui sopra. ciao Sandro _______________________________________________ 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. Non inviate messaggi commerciali. I messaggi di questa lista non rispecchiano necessariamente le posizioni dell'Associazione GFOSS.it. 540 iscritti al 4.11.2011 |
Free forum by Nabble | Edit this page |