[Gfoss] SPOSTARE I CENTROIDI DERIVATI DA UNO SHAPE POLIGONALE SUI LORO POLIGONI SE SONO AL DI FUORI DI ESSI

Sto cercando un modo per poter spostare i centroidi calcolati con l’apposita funzione da uno shp di molti poligoni in modo che la loro posizione, qualora risulti fuori dal poligono da cui sono stati calcolati, sia sul punto del poligono a cui appartengono più vicino possibile a loro. Questo deve essere una procedura che mi dia sempre lo stesso risultato, ovvero, se applico il metodo sempre con lo stesso poligono, devo ottenere un punto sempre nella stessa posizione.
Mi spiego meglio:

  1. calcolo i centroidi da uno shp poligonali;
  2. individuo (se ci sono) i centroidi al di fuori dei perimetri dei poligoni da cui sono stati calcolati;
  3. sposto questi centroidi in modo che vadano a contatto col poligono da cui sono stati derivati (QUESTA E’LA FUNZIONE CHE VOGLIO SCOPRIRE!!!).
    Lo scopo è quello di affidare un codice identificativo a ciascuno dei miei poligoni che si basi sulle coordinate dei punti calcolati in questo modo.

2013/2/5 Umberto Filippo Minora <umberto.minora@unimi.it>

Sto cercando un modo per poter spostare i centroidi calcolati con l’apposita funzione da uno shp di molti poligoni in modo che la loro posizione, qualora risulti fuori dal poligono da cui sono stati calcolati, sia sul punto del poligono a cui appartengono più vicino possibile a loro. Questo deve essere una procedura che mi dia sempre lo stesso risultato, ovvero, se applico il metodo sempre con lo stesso poligono, devo ottenere un punto sempre nella stessa posizione.
Mi spiego meglio:

  1. calcolo i centroidi da uno shp poligonali;
  2. individuo (se ci sono) i centroidi al di fuori dei perimetri dei poligoni da cui sono stati calcolati;
  3. sposto questi centroidi in modo che vadano a contatto col poligono da cui sono stati derivati (QUESTA E’LA FUNZIONE CHE VOGLIO SCOPRIRE!!!).
    Lo scopo è quello di affidare un codice identificativo a ciascuno dei miei poligoni che si basi sulle coordinate dei punti calcolati in questo modo.

Questo problema noi lo risolviamo con St_PointOnSurface, funzione di PostGIS.

2013/2/5 Umberto Filippo Minora <umberto.minora@unimi.it>:

Sto cercando un modo per poter spostare i centroidi calcolati con l'apposita
funzione da uno shp di molti poligoni in modo che la loro posizione, qualora
risulti fuori dal poligono da cui sono stati calcolati, sia sul punto del
poligono a cui appartengono più vicino possibile a loro. Questo deve essere
una procedura che mi dia sempre lo stesso risultato, ovvero, se applico il
metodo sempre con lo stesso poligono, devo ottenere un punto sempre nella
stessa posizione.
Mi spiego meglio:

calcolo i centroidi da uno shp poligonali;
individuo (se ci sono) i centroidi al di fuori dei perimetri dei poligoni da
cui sono stati calcolati;
sposto questi centroidi in modo che vadano a contatto col poligono da cui
sono stati derivati (QUESTA E'LA FUNZIONE CHE VOGLIO SCOPRIRE!!!).

Lo scopo è quello di affidare un codice identificativo a ciascuno dei miei
poligoni che si basi sulle coordinate dei punti calcolati in questo modo.

Non ci dici il software che stai usando.
Ad ogni modo, perche' non usare ST_PointOnSurface?
Ad es in PostGIS (ma sicuramente c'e' anche in Spatialite)
http://postgis.refractions.net/docs/ST_PointOnSurface.html

ciao
p

--
Paolo Corti
Geospatial software developer
web: http://www.paolocorti.net
twitter: @capooti
skype: capooti

chiedo scusa, il software che sto usando è QGIS 1.8 Lisboa, ma se questo si può fare solo con PostGIS o Spatialite ((che ancora non so usare), proverò con quelli. Se intanto sapete dirmi come farlo in QGIS (se esiste un modo), ve ne sarei grato!
grazie della celere risposta

Il 05/02/13, Paolo Corti pcorti@gmail.com ha scritto:

2013/2/5 Umberto Filippo Minora umberto.minora@unimi.it:

Sto cercando un modo per poter spostare i centroidi calcolati con l’apposita
funzione da uno shp di molti poligoni in modo che la loro posizione, qualora
risulti fuori dal poligono da cui sono stati calcolati, sia sul punto del
poligono a cui appartengono più vicino possibile a loro. Questo deve essere
una procedura che mi dia sempre lo stesso risultato, ovvero, se applico il
metodo sempre con lo stesso poligono, devo ottenere un punto sempre nella
stessa posizione.
Mi spiego meglio:

calcolo i centroidi da uno shp poligonali;
individuo (se ci sono) i centroidi al di fuori dei perimetri dei poligoni da
cui sono stati calcolati;
sposto questi centroidi in modo che vadano a contatto col poligono da cui
sono stati derivati (QUESTA E’LA FUNZIONE CHE VOGLIO SCOPRIRE!!!).

Lo scopo è quello di affidare un codice identificativo a ciascuno dei miei
poligoni che si basi sulle coordinate dei punti calcolati in questo modo.

Non ci dici il software che stai usando.
Ad ogni modo, perche’ non usare ST_PointOnSurface?
Ad es in PostGIS (ma sicuramente c’e’ anche in Spatialite)
http://postgis.refractions.net/docs/ST_PointOnSurface.html

ciao
p


Paolo Corti
Geospatial software developer
web: http://www.paolocorti.net
twitter: @capooti
skype: capooti

Aiutoooooo!!!
Ho installato il plugin QSpatiaLite e all’inizio sono riuscito a farlo partire, creando un database “myDB.sqlite”. Il problema è che poi ho cancellato manualmente questo file e questo sembra aver causato un errore irreversibile che non mi permette più di aprire il plugin in alcun modo, ho provato anche a disinstallarlo e reinstallarlo, ma niente, mi dà sempre questo messaggio d’errore:

Errore durante l’esecuzione di codice Python:

Traceback (most recent call last):
File “C:/Users/Umberto/.qgis//python/plugins\QspatiaLite\qspatialite.py”, line 68, in run
dlg = QspatiaLiteApp(self.iface)
File “C:/Users/Umberto/.qgis//python/plugins\QspatiaLite\QspatiaLiteApp.py”, line 80, in init
self.changeDb(max(0,self.connections[‘idx’]))
File “C:/Users/Umberto/.qgis//python/plugins\QspatiaLite\QspatiaLiteApp.py”, line 146, in changeDb
self.drawTreeView()
File “C:/Users/Umberto/.qgis//python/plugins\QspatiaLite\QspatiaLiteApp.py”, line 151, in drawTreeView
model=self.db.createTreeModel()
File “C:/Users/Umberto/.qgis//python/plugins\QspatiaLite\Classes\Database.py”, line 98, in createTreeModel
self.getTables()
File “C:/Users/Umberto/.qgis//python/plugins\QspatiaLite\Classes\Database.py”, line 71, in getTables
header,data=self.executeQuery(query)
File “C:/Users/Umberto/.qgis//python/plugins\QspatiaLite\Classes\Database.py”, line 43, in executeQuery
cursor=self.connectionObject.cursor()
AttributeError: Database instance has no attribute ‘connectionObject’

Versione Python:
2.7.2 (default, Jun 12 2011, 15:08:59) [MSC v.1500 32 bit (Intel)]

Versione di QGIS:
1.8.0-Lisboa Lisboa, 6416f38

Percorso Python: [‘C:/Quantum_GIS_Lisboa/apps/qgis/./python’, ‘C:/Users/Umberto/.qgis//python’, ‘C:/Users/Umberto/.qgis//python/plugins’, ‘C:/Quantum_GIS_Lisboa/apps/qgis/./python/plugins’, ‘C:\Quantum_GIS_Lisboa\apps\qgis\python’, ‘C:\Windows\system32\python27.zip’, ‘C:\Quantum_GIS_Lisboa\apps\Python27\DLLs’, ‘C:\Quantum_GIS_Lisboa\apps\Python27\lib’, ‘C:\Quantum_GIS_Lisboa\apps\Python27\lib\plat-win’, ‘C:\Quantum_GIS_Lisboa\apps\Python27\lib\lib-tk’, ‘C:\Quantum_GIS_Lisboa\apps\qgis\bin’, ‘C:\Quantum_GIS_Lisboa\apps\Python27’, ‘C:\Quantum_GIS_Lisboa\apps\Python27\lib\site-packages’, ‘C:\Quantum_GIS_Lisboa\apps\Python27\lib\site-packages\PIL’, ‘C:\Quantum_GIS_Lisboa\apps\Python27\lib\site-packages\win32’, ‘C:\Quantum_GIS_Lisboa\apps\Python27\lib\site-packages\win32\lib’, ‘C:\Quantum_GIS_Lisboa\apps\Python27\lib\site-packages\Pythonwin’, ‘C:\Quantum_GIS_Lisboa\apps\Python27\lib\site-packages\wx-2.8-msw-unicode’, ‘C:\Users\Umberto\.qgis\python\plugins\mmqgis/forms’, ‘C:\Quantum_GIS_Lisboa\apps\qgis\python\plugins\fTools\tools’]

Ho appena provato a creare un db e a cancellarlo manualmente. Noto che nel provider di spatialite di qgis per caricare un db, rimane settata la connessione a quel DB.
Però se apro Qspatialite mi ricrea un DB senza bloccare il plugin. Quindi non riesco a ricreare il tuo errore.
Prova magari a eliminare la connessione dal provider (il “barattolo” color marroncino) di qgis e vedere se cambia qualcosa…forse avevi aggiunto delle tabelle?

···

2013/2/5 Umberto Filippo Minora <umberto.minora@unimi.it>

Aiutoooooo!!!
Ho installato il plugin QSpatiaLite e all’inizio sono riuscito a farlo partire, creando un database “myDB.sqlite”. Il problema è che poi ho cancellato manualmente questo file e questo sembra aver causato un errore irreversibile che non mi permette più di aprire il plugin in alcun modo, ho provato anche a disinstallarlo e reinstallarlo, ma niente, mi dà sempre questo messaggio d’errore:

Errore durante l’esecuzione di codice Python:

Traceback (most recent call last):
File “C:/Users/Umberto/.qgis//python/plugins\QspatiaLite\qspatialite.py”, line 68, in run
dlg = QspatiaLiteApp(self.iface)
File “C:/Users/Umberto/.qgis//python/plugins\QspatiaLite\QspatiaLiteApp.py”, line 80, in init
self.changeDb(max(0,self.connections[‘idx’]))
File “C:/Users/Umberto/.qgis//python/plugins\QspatiaLite\QspatiaLiteApp.py”, line 146, in changeDb
self.drawTreeView()
File “C:/Users/Umberto/.qgis//python/plugins\QspatiaLite\QspatiaLiteApp.py”, line 151, in drawTreeView
model=self.db.createTreeModel()
File “C:/Users/Umberto/.qgis//python/plugins\QspatiaLite\Classes\Database.py”, line 98, in createTreeModel
self.getTables()
File “C:/Users/Umberto/.qgis//python/plugins\QspatiaLite\Classes\Database.py”, line 71, in getTables
header,data=self.executeQuery(query)
File “C:/Users/Umberto/.qgis//python/plugins\QspatiaLite\Classes\Database.py”, line 43, in executeQuery
cursor=self.connectionObject.cursor()
AttributeError: Database instance has no attribute ‘connectionObject’

Versione Python:
2.7.2 (default, Jun 12 2011, 15:08:59) [MSC v.1500 32 bit (Intel)]

Versione di QGIS:
1.8.0-Lisboa Lisboa, 6416f38

Percorso Python: [‘C:/Quantum_GIS_Lisboa/apps/qgis/./python’, ‘C:/Users/Umberto/.qgis//python’, ‘C:/Users/Umberto/.qgis//python/plugins’, ‘C:/Quantum_GIS_Lisboa/apps/qgis/./python/plugins’, ‘C:\Quantum_GIS_Lisboa\apps\qgis\python’, ‘C:\Windows\system32\python27.zip’, ‘C:\Quantum_GIS_Lisboa\apps\Python27\DLLs’, ‘C:\Quantum_GIS_Lisboa\apps\Python27\lib’, ‘C:\Quantum_GIS_Lisboa\apps\Python27\lib\plat-win’, ‘C:\Quantum_GIS_Lisboa\apps\Python27\lib\lib-tk’, ‘C:\Quantum_GIS_Lisboa\apps\qgis\bin’, ‘C:\Quantum_GIS_Lisboa\apps\Python27’, ‘C:\Quantum_GIS_Lisboa\apps\Python27\lib\site-packages’, ‘C:\Quantum_GIS_Lisboa\apps\Python27\lib\site-packages\PIL’, ‘C:\Quantum_GIS_Lisboa\apps\Python27\lib\site-packages\win32’, ‘C:\Quantum_GIS_Lisboa\apps\Python27\lib\site-packages\win32\lib’, ‘C:\Quantum_GIS_Lisboa\apps\Python27\lib\site-packages\Pythonwin’, ‘C:\Quantum_GIS_Lisboa\apps\Python27\lib\site-packages\wx-2.8-msw-unicode’, ‘C:\Users\Umberto\.qgis\python\plugins\mmqgis/forms’, ‘C:\Quantum_GIS_Lisboa\apps\qgis\python\plugins\fTools\tools’]


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.
630 iscritti al 1.12.2012

Usate DB manager.
Saluti.

Luca Mandolesi mandoluca@gmail.com ha scritto:

···

2013/2/5 Umberto Filippo Minora <umberto.minora@unimi.it>

Aiutoooooo!!!
Ho installato il plugin QSpatiaLite e all’inizio sono riuscito a farlo partire, creando un database “myDB.sqlite”. Il problema è che poi ho cancellato manualmente questo file e questo sembra aver causato un errore irreversibile che non mi permette più di aprire il plugin in alcun modo, ho provato anche a disinstallarlo e reinstallarlo, ma niente, mi dà sempre questo messaggio d’errore:

Errore durante l’esecuzione di codice Python:

Traceback (most recent call last):
File “C:/Users/Umberto/.qgis//python/plugins\QspatiaLite\qspatialite.py”, line 68, in run
dlg = QspatiaLiteApp(self.iface)
File “C:/Users/Umberto/.qgis//python/plugins\QspatiaLite\QspatiaLiteApp.py”, line 80, in init
self.changeDb(max(0,self.connections[‘idx’]))
File “C:/Users/Umberto/.qgis//python/plugins\QspatiaLite\QspatiaLiteApp.py”, line 146, in changeDb
self.drawTreeView()
File “C:/Users/Umberto/.qgis//python/plugins\QspatiaLite\QspatiaLiteApp.py”, line 151, in drawTreeView
model=self.db.createTreeModel()
File “C:/Users/Umberto/.qgis//python/plugins\QspatiaLite\Classes\Database.py”, line 98, in createTreeModel
self.getTables()
File “C:/Users/Umberto/.qgis//python/plugins\QspatiaLite\Classes\Database.py”, line 71, in getTables
header,data=self.executeQuery(query)
File “C:/Users/Umberto/.qgis//python/plugins\QspatiaLite\Classes\Database.py”, line 43, in executeQuery
cursor=self.connectionObject.cursor()
AttributeError: Database instance has no attribute ‘connectionObject’

Versione Python:
2.7.2 (default, Jun 12 2011, 15:08:59) [MSC v.1500 32 bit (Intel)]

Versione di QGIS:
1.8.0-Lisboa Lisboa, 6416f38

Percorso Python: [‘C:/Quantum_GIS_Lisboa/apps/qgis/./python’, ‘C:/Users/Umberto/.qgis//python’, ‘C:/Users/Umberto/.qgis//python/plugins’, ‘C:/Quantum_GIS_Lisboa/apps/qgis/./python/plugins’, ‘C:\Quantum_GIS_Lisboa\apps\qgis\python’, ‘C:\Windows\system32\python27.zip’, ‘C:\Quantum_GIS_Lisboa\apps\Python27\DLLs’, ‘C:\Quantum_GIS_Lisboa\apps\Python27\lib’, ‘C:\Quantum_GIS_Lisboa\apps\Python27\lib\plat-win’, ‘C:\Quantum_GIS_Lisboa\apps\Python27\lib\lib-tk’, ‘C:\Quantum_GIS_Lisboa\apps\qgis\bin’, ‘C:\Quantum_GIS_Lisboa\apps\Python27’, ‘C:\Quantum_GIS_Lisboa\apps\Python27\lib\site-packages’, ‘C:\Quantum_GIS_Lisboa\apps\Python27\lib\site-packages\PIL’, ‘C:\Quantum_GIS_Lisboa\apps\Python27\lib\site-packages\win32’, ‘C:\Quantum_GIS_Lisboa\apps\Python27\lib\site-packages\win32\lib’, ‘C:\Quantum_GIS_Lisboa\apps\Python27\lib\site-packages\Pythonwin’, ‘C:\Quantum_GIS_Lisboa\apps\Python27\lib\site-packages\wx-2.8-msw-unicode’, ‘C:\Users\Umberto\.qgis\python\plugins\mmqgis/forms’, ‘C:\Quantum_GIS_Lisboa\apps\qgis\python\plugins\fTools\tools’]


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.
630 iscritti al 1.12.2012

Grazie mille, ora QSpatialite sembra funzionare ma devo ancora capire come funziona. Ho aperto DB Manager e riesco a importare il layer aperto in QGIS (e incredibilmente sembra che lo importi da SpatiaLite dove in realtà non riesco ad aprirlo!!!). Ma se voglio usare una funzione tipo “ST_PointOnSurface” lo posso fare anche dalla SQL di DB Manager o devo usare per forza spatialite? Se mi poteste spiegare per cortesia a che servono, io purtroppo ero abituato con ArcMap e ora trovo le cose un po’complicate, ma voglio imparare a lavorare con l’opensource!
grazie mille in anticipo!

···

2013/2/5 Umberto Filippo Minora <umberto.minora@unimi.it>

Aiutoooooo!!!
Ho installato il plugin QSpatiaLite e all’inizio sono riuscito a farlo partire, creando un database “myDB.sqlite”. Il problema è che poi ho cancellato manualmente questo file e questo sembra aver causato un errore irreversibile che non mi permette più di aprire il plugin in alcun modo, ho provato anche a disinstallarlo e reinstallarlo, ma niente, mi dà sempre questo messaggio d’errore:

Errore durante l’esecuzione di codice Python:

Traceback (most recent call last):
File “C:/Users/Umberto/.qgis//python/plugins\QspatiaLite\qspatialite.py”, line 68, in run
dlg = QspatiaLiteApp(self.iface)
File “C:/Users/Umberto/.qgis//python/plugins\QspatiaLite\QspatiaLiteApp.py”, line 80, in init
self.changeDb(max(0,self.connections[‘idx’]))
File “C:/Users/Umberto/.qgis//python/plugins\QspatiaLite\QspatiaLiteApp.py”, line 146, in changeDb
self.drawTreeView()
File “C:/Users/Umberto/.qgis//python/plugins\QspatiaLite\QspatiaLiteApp.py”, line 151, in drawTreeView
model=self.db.createTreeModel()
File “C:/Users/Umberto/.qgis//python/plugins\QspatiaLite\Classes\Database.py”, line 98, in createTreeModel
self.getTables()
File “C:/Users/Umberto/.qgis//python/plugins\QspatiaLite\Classes\Database.py”, line 71, in getTables
header,data=self.executeQuery(query)
File “C:/Users/Umberto/.qgis//python/plugins\QspatiaLite\Classes\Database.py”, line 43, in executeQuery
cursor=self.connectionObject.cursor()
AttributeError: Database instance has no attribute ‘connectionObject’

Versione Python:
2.7.2 (default, Jun 12 2011, 15:08:59) [MSC v.1500 32 bit (Intel)]

Versione di QGIS:
1.8.0-Lisboa Lisboa, 6416f38

Percorso Python: [‘C:/Quantum_GIS_Lisboa/apps/qgis/./python’, ‘C:/Users/Umberto/.qgis//python’, ‘C:/Users/Umberto/.qgis//python/plugins’, ‘C:/Quantum_GIS_Lisboa/apps/qgis/./python/plugins’, ‘C:\Quantum_GIS_Lisboa\apps\qgis\python’, ‘C:\Windows\system32\python27.zip’, ‘C:\Quantum_GIS_Lisboa\apps\Python27\DLLs’, ‘C:\Quantum_GIS_Lisboa\apps\Python27\lib’, ‘C:\Quantum_GIS_Lisboa\apps\Python27\lib\plat-win’, ‘C:\Quantum_GIS_Lisboa\apps\Python27\lib\lib-tk’, ‘C:\Quantum_GIS_Lisboa\apps\qgis\bin’, ‘C:\Quantum_GIS_Lisboa\apps\Python27’, ‘C:\Quantum_GIS_Lisboa\apps\Python27\lib\site-packages’, ‘C:\Quantum_GIS_Lisboa\apps\Python27\lib\site-packages\PIL’, ‘C:\Quantum_GIS_Lisboa\apps\Python27\lib\site-packages\win32’, ‘C:\Quantum_GIS_Lisboa\apps\Python27\lib\site-packages\win32\lib’, ‘C:\Quantum_GIS_Lisboa\apps\Python27\lib\site-packages\Pythonwin’, ‘C:\Quantum_GIS_Lisboa\apps\Python27\lib\site-packages\wx-2.8-msw-unicode’, ‘C:\Users\Umberto\.qgis\python\plugins\mmqgis/forms’, ‘C:\Quantum_GIS_Lisboa\apps\qgis\python\plugins\fTools\tools’]


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.
630 iscritti al 1.12.2012

Il 06/02/2013 11:41, Umberto Filippo Minora ha scritto:

Grazie mille, ora QSpatialite sembra funzionare ma devo ancora capire
come funziona. Ho aperto DB Manager e riesco a importare il layer
aperto in QGIS (e incredibilmente sembra che lo importi da SpatiaLite
dove in realtà non riesco ad aprirlo!!!). Ma se voglio usare una
funzione tipo "ST_PointOnSurface" lo posso fare anche dalla SQL di DB
Manager o devo usare per forza spatialite?

Dalla finestra SQL di DB Manager puoi fare tutto, con autocompletamento
ed evidenziazione della sintassi.

Se mi poteste spiegare per cortesia a che servono, io purtroppo ero
abituato con ArcMap e ora trovo le cose un po'complicate, ma voglio
imparare a lavorare con l'opensource!

Bravo.

--
Paolo Cavallini - Faunalia
www.faunalia.eu
Full contact details at www.faunalia.eu/pc
Nuovi corsi QGIS e PostGIS: http://www.faunalia.it/calendario

Buongiorno,

2013/2/6 Umberto Filippo Minora <umberto.minora@unimi.it>

Ma se voglio usare una funzione tipo “ST_PointOnSurface” lo posso fare anche dalla SQL di DB Manager […]?

certamente, basta scrivere la query SQL nella finestra ed eseguirla.

Se mi poteste spiegare per cortesia a che servono,

Scusa, ma non capisco il soggetto della frase quale sia per
cui non vorrei rispondere a casaccio.

Ciao.

···

2013/2/5 Umberto Filippo Minora <umberto.minora@unimi.it>

Aiutoooooo!!!
Ho installato il plugin QSpatiaLite e all’inizio sono riuscito a farlo partire, creando un database “myDB.sqlite”. Il problema è che poi ho cancellato manualmente questo file e questo sembra aver causato un errore irreversibile che non mi permette più di aprire il plugin in alcun modo, ho provato anche a disinstallarlo e reinstallarlo, ma niente, mi dà sempre questo messaggio d’errore:

Errore durante l’esecuzione di codice Python:

Traceback (most recent call last):
File “C:/Users/Umberto/.qgis//python/plugins\QspatiaLite\qspatialite.py”, line 68, in run
dlg = QspatiaLiteApp(self.iface)
File “C:/Users/Umberto/.qgis//python/plugins\QspatiaLite\QspatiaLiteApp.py”, line 80, in init
self.changeDb(max(0,self.connections[‘idx’]))
File “C:/Users/Umberto/.qgis//python/plugins\QspatiaLite\QspatiaLiteApp.py”, line 146, in changeDb
self.drawTreeView()
File “C:/Users/Umberto/.qgis//python/plugins\QspatiaLite\QspatiaLiteApp.py”, line 151, in drawTreeView
model=self.db.createTreeModel()
File “C:/Users/Umberto/.qgis//python/plugins\QspatiaLite\Classes\Database.py”, line 98, in createTreeModel
self.getTables()
File “C:/Users/Umberto/.qgis//python/plugins\QspatiaLite\Classes\Database.py”, line 71, in getTables
header,data=self.executeQuery(query)
File “C:/Users/Umberto/.qgis//python/plugins\QspatiaLite\Classes\Database.py”, line 43, in executeQuery
cursor=self.connectionObject.cursor()
AttributeError: Database instance has no attribute ‘connectionObject’

Versione Python:
2.7.2 (default, Jun 12 2011, 15:08:59) [MSC v.1500 32 bit (Intel)]

Versione di QGIS:
1.8.0-Lisboa Lisboa, 6416f38

Percorso Python: [‘C:/Quantum_GIS_Lisboa/apps/qgis/./python’, ‘C:/Users/Umberto/.qgis//python’, ‘C:/Users/Umberto/.qgis//python/plugins’, ‘C:/Quantum_GIS_Lisboa/apps/qgis/./python/plugins’, ‘C:\Quantum_GIS_Lisboa\apps\qgis\python’, ‘C:\Windows\system32\python27.zip’, ‘C:\Quantum_GIS_Lisboa\apps\Python27\DLLs’, ‘C:\Quantum_GIS_Lisboa\apps\Python27\lib’, ‘C:\Quantum_GIS_Lisboa\apps\Python27\lib\plat-win’, ‘C:\Quantum_GIS_Lisboa\apps\Python27\lib\lib-tk’, ‘C:\Quantum_GIS_Lisboa\apps\qgis\bin’, ‘C:\Quantum_GIS_Lisboa\apps\Python27’, ‘C:\Quantum_GIS_Lisboa\apps\Python27\lib\site-packages’, ‘C:\Quantum_GIS_Lisboa\apps\Python27\lib\site-packages\PIL’, ‘C:\Quantum_GIS_Lisboa\apps\Python27\lib\site-packages\win32’, ‘C:\Quantum_GIS_Lisboa\apps\Python27\lib\site-packages\win32\lib’, ‘C:\Quantum_GIS_Lisboa\apps\Python27\lib\site-packages\Pythonwin’, ‘C:\Quantum_GIS_Lisboa\apps\Python27\lib\site-packages\wx-2.8-msw-unicode’, ‘C:\Users\Umberto\.qgis\python\plugins\mmqgis/forms’, ‘C:\Quantum_GIS_Lisboa\apps\qgis\python\plugins\fTools\tools’]


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.
630 iscritti al 1.12.2012

Grazie ancora della spiegazione.
Una domanda: ho installato qgis 1.8 lisboa dal sito ufficiale di QGIS. per usare SQL in DB Manager devo avere installato SpatiaLite? perchè mi pare di capire che il plugin QSpatiaLite serve ad usare le potenzialità di SpatiaLite su QGIS, ma se SpatiaLite non è installato funziona lo stesso? Idem per DB Manager, mi pare di intuire alla schermata iniziale che importa dati da PostGIS o SpatiaLite, quindi li devo aver installati?
Purtroppo non sono ancora riuscito a far funzionare la funzione ST_PointOnSurface tramite l’SQL di DB Manager, potreste indicarmi dove posso trovare come si usa DB Manager e le sue funzioni?
se la cosa va avanti per le lunghe creerò una nuova domanda in modo da rimanere coerente col titolo della discussione, comunque se chiedo tutto questo è perchè mi sembra complicato che per usare una funzione ci sia bisogno di così tanti software diversi, quindi la soluzione deve essere semplice ma a me ancora oscura.

grazie ancora
umberto

···

2013/2/5 Umberto Filippo Minora <umberto.minora@unimi.it>

Aiutoooooo!!!
Ho installato il plugin QSpatiaLite e all’inizio sono riuscito a farlo partire, creando un database “myDB.sqlite”. Il problema è che poi ho cancellato manualmente questo file e questo sembra aver causato un errore irreversibile che non mi permette più di aprire il plugin in alcun modo, ho provato anche a disinstallarlo e reinstallarlo, ma niente, mi dà sempre questo messaggio d’errore:

Errore durante l’esecuzione di codice Python:

Traceback (most recent call last):
File “C:/Users/Umberto/.qgis//python/plugins\QspatiaLite\qspatialite.py”, line 68, in run
dlg = QspatiaLiteApp(self.iface)
File “C:/Users/Umberto/.qgis//python/plugins\QspatiaLite\QspatiaLiteApp.py”, line 80, in init
self.changeDb(max(0,self.connections[‘idx’]))
File “C:/Users/Umberto/.qgis//python/plugins\QspatiaLite\QspatiaLiteApp.py”, line 146, in changeDb
self.drawTreeView()
File “C:/Users/Umberto/.qgis//python/plugins\QspatiaLite\QspatiaLiteApp.py”, line 151, in drawTreeView
model=self.db.createTreeModel()
File “C:/Users/Umberto/.qgis//python/plugins\QspatiaLite\Classes\Database.py”, line 98, in createTreeModel
self.getTables()
File “C:/Users/Umberto/.qgis//python/plugins\QspatiaLite\Classes\Database.py”, line 71, in getTables
header,data=self.executeQuery(query)
File “C:/Users/Umberto/.qgis//python/plugins\QspatiaLite\Classes\Database.py”, line 43, in executeQuery
cursor=self.connectionObject.cursor()
AttributeError: Database instance has no attribute ‘connectionObject’

Versione Python:
2.7.2 (default, Jun 12 2011, 15:08:59) [MSC v.1500 32 bit (Intel)]

Versione di QGIS:
1.8.0-Lisboa Lisboa, 6416f38

Percorso Python: [‘C:/Quantum_GIS_Lisboa/apps/qgis/./python’, ‘C:/Users/Umberto/.qgis//python’, ‘C:/Users/Umberto/.qgis//python/plugins’, ‘C:/Quantum_GIS_Lisboa/apps/qgis/./python/plugins’, ‘C:\Quantum_GIS_Lisboa\apps\qgis\python’, ‘C:\Windows\system32\python27.zip’, ‘C:\Quantum_GIS_Lisboa\apps\Python27\DLLs’, ‘C:\Quantum_GIS_Lisboa\apps\Python27\lib’, ‘C:\Quantum_GIS_Lisboa\apps\Python27\lib\plat-win’, ‘C:\Quantum_GIS_Lisboa\apps\Python27\lib\lib-tk’, ‘C:\Quantum_GIS_Lisboa\apps\qgis\bin’, ‘C:\Quantum_GIS_Lisboa\apps\Python27’, ‘C:\Quantum_GIS_Lisboa\apps\Python27\lib\site-packages’, ‘C:\Quantum_GIS_Lisboa\apps\Python27\lib\site-packages\PIL’, ‘C:\Quantum_GIS_Lisboa\apps\Python27\lib\site-packages\win32’, ‘C:\Quantum_GIS_Lisboa\apps\Python27\lib\site-packages\win32\lib’, ‘C:\Quantum_GIS_Lisboa\apps\Python27\lib\site-packages\Pythonwin’, ‘C:\Quantum_GIS_Lisboa\apps\Python27\lib\site-packages\wx-2.8-msw-unicode’, ‘C:\Users\Umberto\.qgis\python\plugins\mmqgis/forms’, ‘C:\Quantum_GIS_Lisboa\apps\qgis\python\plugins\fTools\tools’]


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.
630 iscritti al 1.12.2012

Ciao,

2013/2/6 Umberto Filippo Minora <umberto.minora@unimi.it>

Una domanda: ho installato qgis 1.8 lisboa dal sito ufficiale di QGIS. per usare SQL in DB Manager devo avere installato SpatiaLite?

QGIS 1.8 installa anche le librerie per usare SpatiaLite, per cui non
devi preoccuparti di installarle.

perchè mi pare di capire che il plugin QSpatiaLite serve ad usare le potenzialità di SpatiaLite su QGIS,

No, QGIS supporta SpatiaLite nativamente.
QSpatialite è un plugin per QGIS opzionale che mostra all’utente
un’interfaccia grafica per lavorare con SpatiaLite, cioé fare operazioni
di import ed export, così come query sul db, etc.

Lo stesso fa DBManager, ovvero anche quello è un plugin che
permette all’utente di lavorare con i SpatiaLite e PostGis, ma è già
incluso in QGIS (non c’è bisogno di installarlo).

Purtroppo non sono ancora riuscito a far funzionare la funzione ST_PointOnSurface tramite l’SQL di DB Manager, potreste indicarmi dove posso trovare come si usa DB Manager e le sue funzioni?

Mi sfugge un passaggio: hai provato a scrivere una query SQL ed
eseguirla e ti ha dato un errore? Qualcosa del tipo (scritto ad orecchio):

SELECT *, ST_PointOnSurface(“Geometry”) as point
FROM myTable

Oppure stai cercando un qualcosa (banalmente un pulsante) che
dato un layer ti restituisca un nuovo layer di punti come risultato?

perchè mi sembra complicato che per usare una funzione ci sia bisogno di così tanti software diversi, quindi la soluzione deve essere semplice ma a me ancora oscura.

Non c’è bisogno di null’altro che installare QGIS (che si tira dietro
SpatiaLite e DBManager).

Ciao.

···

2013/2/5 Umberto Filippo Minora <umberto.minora@unimi.it>

Aiutoooooo!!!
Ho installato il plugin QSpatiaLite e all’inizio sono riuscito a farlo partire, creando un database “myDB.sqlite”. Il problema è che poi ho cancellato manualmente questo file e questo sembra aver causato un errore irreversibile che non mi permette più di aprire il plugin in alcun modo, ho provato anche a disinstallarlo e reinstallarlo, ma niente, mi dà sempre questo messaggio d’errore:

Errore durante l’esecuzione di codice Python:

Traceback (most recent call last):
File “C:/Users/Umberto/.qgis//python/plugins\QspatiaLite\qspatialite.py”, line 68, in run
dlg = QspatiaLiteApp(self.iface)
File “C:/Users/Umberto/.qgis//python/plugins\QspatiaLite\QspatiaLiteApp.py”, line 80, in init
self.changeDb(max(0,self.connections[‘idx’]))
File “C:/Users/Umberto/.qgis//python/plugins\QspatiaLite\QspatiaLiteApp.py”, line 146, in changeDb
self.drawTreeView()
File “C:/Users/Umberto/.qgis//python/plugins\QspatiaLite\QspatiaLiteApp.py”, line 151, in drawTreeView
model=self.db.createTreeModel()
File “C:/Users/Umberto/.qgis//python/plugins\QspatiaLite\Classes\Database.py”, line 98, in createTreeModel
self.getTables()
File “C:/Users/Umberto/.qgis//python/plugins\QspatiaLite\Classes\Database.py”, line 71, in getTables
header,data=self.executeQuery(query)
File “C:/Users/Umberto/.qgis//python/plugins\QspatiaLite\Classes\Database.py”, line 43, in executeQuery
cursor=self.connectionObject.cursor()
AttributeError: Database instance has no attribute ‘connectionObject’

Versione Python:
2.7.2 (default, Jun 12 2011, 15:08:59) [MSC v.1500 32 bit (Intel)]

Versione di QGIS:
1.8.0-Lisboa Lisboa, 6416f38

Percorso Python: [‘C:/Quantum_GIS_Lisboa/apps/qgis/./python’, ‘C:/Users/Umberto/.qgis//python’, ‘C:/Users/Umberto/.qgis//python/plugins’, ‘C:/Quantum_GIS_Lisboa/apps/qgis/./python/plugins’, ‘C:\Quantum_GIS_Lisboa\apps\qgis\python’, ‘C:\Windows\system32\python27.zip’, ‘C:\Quantum_GIS_Lisboa\apps\Python27\DLLs’, ‘C:\Quantum_GIS_Lisboa\apps\Python27\lib’, ‘C:\Quantum_GIS_Lisboa\apps\Python27\lib\plat-win’, ‘C:\Quantum_GIS_Lisboa\apps\Python27\lib\lib-tk’, ‘C:\Quantum_GIS_Lisboa\apps\qgis\bin’, ‘C:\Quantum_GIS_Lisboa\apps\Python27’, ‘C:\Quantum_GIS_Lisboa\apps\Python27\lib\site-packages’, ‘C:\Quantum_GIS_Lisboa\apps\Python27\lib\site-packages\PIL’, ‘C:\Quantum_GIS_Lisboa\apps\Python27\lib\site-packages\win32’, ‘C:\Quantum_GIS_Lisboa\apps\Python27\lib\site-packages\win32\lib’, ‘C:\Quantum_GIS_Lisboa\apps\Python27\lib\site-packages\Pythonwin’, ‘C:\Quantum_GIS_Lisboa\apps\Python27\lib\site-packages\wx-2.8-msw-unicode’, ‘C:\Users\Umberto\.qgis\python\plugins\mmqgis/forms’, ‘C:\Quantum_GIS_Lisboa\apps\qgis\python\plugins\fTools\tools’]


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.
630 iscritti al 1.12.2012

Ciao e mille grazie ancora,
credo che il problema sia il fatto che non riesco ancora a capire come creare un database. Ammettiamo che la mia scelta sia quella ora di applicare una funzione in linguaggio SQL in ambiente DB Manager. Nella schermata iniziale ho nellla finestra “Tree” le voci “PostGIS” e “SpatiaLite”. Se provo ad estendere PostGIS non succede niente (quindi immagino non siano presenti database PostGIS), mentre in SpatiaLite mi compare un database creato per caso avendo aperto in precedenza una volta “QSpatiaLite”, ma purtroppo non riesco ad importarvi niente… Io vorrei solo applicare la funzione “PointOnSurface” a uno shp poligonale, e seguendo le istruzioni dal sito di qgis, nella sezione dedicata al plugin DB Manager c’è scritto che posso importare da QGIS Browser a DB Manager, ma immagino che la cosa valga solo per i database. Ora, la domanda è: come faccio a importare il mio shp in DB Manager in modo che poi posso usare la funzione desiderata con SQL??? Devo prima creare un database dove inserire lo shp su cui voglio fare l’elaborazione? E se sì, come lo faccio?
Scusate, ma una volta capito questo punto potrò finalmente rendermi un minimo più indipendente.
Se potete consigliarmi una buon fonte da trovare su internet che spieghi un po’più in dettaglio del sito ufficiale queste cose ve ne sarei immensamente grato!

P.S. avrei provato la query proposta, ma non essendo riuscito ad importare un bel niente non ho potuto verificare che funzionasse o meno, il mio scopo è quello di creare uno shp di punti tipo “centroidi” ma sempre interni ai poligoni (per questo uso la funzione “PointOnSurface”) e poi metterla come layer in QGIS.

···

2013/2/5 Umberto Filippo Minora <umberto.minora@unimi.it>

Aiutoooooo!!!
Ho installato il plugin QSpatiaLite e all’inizio sono riuscito a farlo partire, creando un database “myDB.sqlite”. Il problema è che poi ho cancellato manualmente questo file e questo sembra aver causato un errore irreversibile che non mi permette più di aprire il plugin in alcun modo, ho provato anche a disinstallarlo e reinstallarlo, ma niente, mi dà sempre questo messaggio d’errore:

Errore durante l’esecuzione di codice Python:

Traceback (most recent call last):
File “C:/Users/Umberto/.qgis//python/plugins\QspatiaLite\qspatialite.py”, line 68, in run
dlg = QspatiaLiteApp(self.iface)
File “C:/Users/Umberto/.qgis//python/plugins\QspatiaLite\QspatiaLiteApp.py”, line 80, in init
self.changeDb(max(0,self.connections[‘idx’]))
File “C:/Users/Umberto/.qgis//python/plugins\QspatiaLite\QspatiaLiteApp.py”, line 146, in changeDb
self.drawTreeView()
File “C:/Users/Umberto/.qgis//python/plugins\QspatiaLite\QspatiaLiteApp.py”, line 151, in drawTreeView
model=self.db.createTreeModel()
File “C:/Users/Umberto/.qgis//python/plugins\QspatiaLite\Classes\Database.py”, line 98, in createTreeModel
self.getTables()
File “C:/Users/Umberto/.qgis//python/plugins\QspatiaLite\Classes\Database.py”, line 71, in getTables
header,data=self.executeQuery(query)
File “C:/Users/Umberto/.qgis//python/plugins\QspatiaLite\Classes\Database.py”, line 43, in executeQuery
cursor=self.connectionObject.cursor()
AttributeError: Database instance has no attribute ‘connectionObject’

Versione Python:
2.7.2 (default, Jun 12 2011, 15:08:59) [MSC v.1500 32 bit (Intel)]

Versione di QGIS:
1.8.0-Lisboa Lisboa, 6416f38

Percorso Python: [‘C:/Quantum_GIS_Lisboa/apps/qgis/./python’, ‘C:/Users/Umberto/.qgis//python’, ‘C:/Users/Umberto/.qgis//python/plugins’, ‘C:/Quantum_GIS_Lisboa/apps/qgis/./python/plugins’, ‘C:\Quantum_GIS_Lisboa\apps\qgis\python’, ‘C:\Windows\system32\python27.zip’, ‘C:\Quantum_GIS_Lisboa\apps\Python27\DLLs’, ‘C:\Quantum_GIS_Lisboa\apps\Python27\lib’, ‘C:\Quantum_GIS_Lisboa\apps\Python27\lib\plat-win’, ‘C:\Quantum_GIS_Lisboa\apps\Python27\lib\lib-tk’, ‘C:\Quantum_GIS_Lisboa\apps\qgis\bin’, ‘C:\Quantum_GIS_Lisboa\apps\Python27’, ‘C:\Quantum_GIS_Lisboa\apps\Python27\lib\site-packages’, ‘C:\Quantum_GIS_Lisboa\apps\Python27\lib\site-packages\PIL’, ‘C:\Quantum_GIS_Lisboa\apps\Python27\lib\site-packages\win32’, ‘C:\Quantum_GIS_Lisboa\apps\Python27\lib\site-packages\win32\lib’, ‘C:\Quantum_GIS_Lisboa\apps\Python27\lib\site-packages\Pythonwin’, ‘C:\Quantum_GIS_Lisboa\apps\Python27\lib\site-packages\wx-2.8-msw-unicode’, ‘C:\Users\Umberto\.qgis\python\plugins\mmqgis/forms’, ‘C:\Quantum_GIS_Lisboa\apps\qgis\python\plugins\fTools\tools’]


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.
630 iscritti al 1.12.2012

Ciao,

2013/2/6 Umberto Filippo Minora <umberto.minora@unimi.it>

Se provo ad estendere PostGIS non succede niente (quindi immagino non siano presenti database PostGIS),

esatto, non hai definito connessioni a DB PostGIS in QGIS.

mentre in SpatiaLite mi compare un database creato per caso avendo aperto in precedenza una volta “QSpatiaLite”, ma purtroppo non riesco ad importarvi niente…

purtroppo la creazione di un DB non è stata ancora implementata,
conto di aggiungerla presto dal momento che (almeno in sqlite) è
una banalità (in Postgres è necessario avere permessi, etc…).

Tuttavia se hai già il db (come capisco) basterà fare drag&drop
dello shapefile dal browser di QGIS o da un’altro database (vedi [1]).

Adesso dovresti avere tutto quel che ti serve per importare lo shape.

Nella versione di sviluppo qgis1.9 (almeno fino a qualche settimana
fa funzionava, ora causa cambiamenti radicali probabilmente non più)
ho aggiunto 2 pulsanti per importare uno shape dentro un db o
esportare una tabella in shapefile.

Facci sapere come va (ma cambia il soggetto della mail così
se ne tiene traccia).
Ciao.

[1] http://www.youtube.com/watch?v=3nG-oY5p9O0

···

2013/2/5 Umberto Filippo Minora <umberto.minora@unimi.it>

Aiutoooooo!!!
Ho installato il plugin QSpatiaLite e all’inizio sono riuscito a farlo partire, creando un database “myDB.sqlite”. Il problema è che poi ho cancellato manualmente questo file e questo sembra aver causato un errore irreversibile che non mi permette più di aprire il plugin in alcun modo, ho provato anche a disinstallarlo e reinstallarlo, ma niente, mi dà sempre questo messaggio d’errore:

Errore durante l’esecuzione di codice Python:

Traceback (most recent call last):
File “C:/Users/Umberto/.qgis//python/plugins\QspatiaLite\qspatialite.py”, line 68, in run
dlg = QspatiaLiteApp(self.iface)
File “C:/Users/Umberto/.qgis//python/plugins\QspatiaLite\QspatiaLiteApp.py”, line 80, in init
self.changeDb(max(0,self.connections[‘idx’]))
File “C:/Users/Umberto/.qgis//python/plugins\QspatiaLite\QspatiaLiteApp.py”, line 146, in changeDb
self.drawTreeView()
File “C:/Users/Umberto/.qgis//python/plugins\QspatiaLite\QspatiaLiteApp.py”, line 151, in drawTreeView
model=self.db.createTreeModel()
File “C:/Users/Umberto/.qgis//python/plugins\QspatiaLite\Classes\Database.py”, line 98, in createTreeModel
self.getTables()
File “C:/Users/Umberto/.qgis//python/plugins\QspatiaLite\Classes\Database.py”, line 71, in getTables
header,data=self.executeQuery(query)
File “C:/Users/Umberto/.qgis//python/plugins\QspatiaLite\Classes\Database.py”, line 43, in executeQuery
cursor=self.connectionObject.cursor()
AttributeError: Database instance has no attribute ‘connectionObject’

Versione Python:
2.7.2 (default, Jun 12 2011, 15:08:59) [MSC v.1500 32 bit (Intel)]

Versione di QGIS:
1.8.0-Lisboa Lisboa, 6416f38

Percorso Python: [‘C:/Quantum_GIS_Lisboa/apps/qgis/./python’, ‘C:/Users/Umberto/.qgis//python’, ‘C:/Users/Umberto/.qgis//python/plugins’, ‘C:/Quantum_GIS_Lisboa/apps/qgis/./python/plugins’, ‘C:\Quantum_GIS_Lisboa\apps\qgis\python’, ‘C:\Windows\system32\python27.zip’, ‘C:\Quantum_GIS_Lisboa\apps\Python27\DLLs’, ‘C:\Quantum_GIS_Lisboa\apps\Python27\lib’, ‘C:\Quantum_GIS_Lisboa\apps\Python27\lib\plat-win’, ‘C:\Quantum_GIS_Lisboa\apps\Python27\lib\lib-tk’, ‘C:\Quantum_GIS_Lisboa\apps\qgis\bin’, ‘C:\Quantum_GIS_Lisboa\apps\Python27’, ‘C:\Quantum_GIS_Lisboa\apps\Python27\lib\site-packages’, ‘C:\Quantum_GIS_Lisboa\apps\Python27\lib\site-packages\PIL’, ‘C:\Quantum_GIS_Lisboa\apps\Python27\lib\site-packages\win32’, ‘C:\Quantum_GIS_Lisboa\apps\Python27\lib\site-packages\win32\lib’, ‘C:\Quantum_GIS_Lisboa\apps\Python27\lib\site-packages\Pythonwin’, ‘C:\Quantum_GIS_Lisboa\apps\Python27\lib\site-packages\wx-2.8-msw-unicode’, ‘C:\Users\Umberto\.qgis\python\plugins\mmqgis/forms’, ‘C:\Quantum_GIS_Lisboa\apps\qgis\python\plugins\fTools\tools’]


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.
630 iscritti al 1.12.2012

Rieccomi!
Dunque, no il database non ce l’ho purtroppo. Sto cercando di capire come crearlo in spatialite, e in internet la soluzione che danno è quella di scaricare spatialite-gui. Ho anche il plugin “QSpatiaLite” e speravo bastasse quello, ma non capisco come possa sfruttarlo. Ma perchè devo avere per forza un database e non posso lavorare direttamente sullo shp??? Comnque, questo è un altro discorso, il mio problema ora è cercare di creare questo database in cui inserire il mio shp per poi importarlo in DB Managre e infine usare la mia funzione.
Grazie per il link, è molto utile!
Spero di risolvere la cosa.

grazie, ciao ancora!

···

2013/2/5 Umberto Filippo Minora <umberto.minora@unimi.it>

Aiutoooooo!!!
Ho installato il plugin QSpatiaLite e all’inizio sono riuscito a farlo partire, creando un database “myDB.sqlite”. Il problema è che poi ho cancellato manualmente questo file e questo sembra aver causato un errore irreversibile che non mi permette più di aprire il plugin in alcun modo, ho provato anche a disinstallarlo e reinstallarlo, ma niente, mi dà sempre questo messaggio d’errore:

Errore durante l’esecuzione di codice Python:

Traceback (most recent call last):
File “C:/Users/Umberto/.qgis//python/plugins\QspatiaLite\qspatialite.py”, line 68, in run
dlg = QspatiaLiteApp(self.iface)
File “C:/Users/Umberto/.qgis//python/plugins\QspatiaLite\QspatiaLiteApp.py”, line 80, in init
self.changeDb(max(0,self.connections[‘idx’]))
File “C:/Users/Umberto/.qgis//python/plugins\QspatiaLite\QspatiaLiteApp.py”, line 146, in changeDb
self.drawTreeView()
File “C:/Users/Umberto/.qgis//python/plugins\QspatiaLite\QspatiaLiteApp.py”, line 151, in drawTreeView
model=self.db.createTreeModel()
File “C:/Users/Umberto/.qgis//python/plugins\QspatiaLite\Classes\Database.py”, line 98, in createTreeModel
self.getTables()
File “C:/Users/Umberto/.qgis//python/plugins\QspatiaLite\Classes\Database.py”, line 71, in getTables
header,data=self.executeQuery(query)
File “C:/Users/Umberto/.qgis//python/plugins\QspatiaLite\Classes\Database.py”, line 43, in executeQuery
cursor=self.connectionObject.cursor()
AttributeError: Database instance has no attribute ‘connectionObject’

Versione Python:
2.7.2 (default, Jun 12 2011, 15:08:59) [MSC v.1500 32 bit (Intel)]

Versione di QGIS:
1.8.0-Lisboa Lisboa, 6416f38

Percorso Python: [‘C:/Quantum_GIS_Lisboa/apps/qgis/./python’, ‘C:/Users/Umberto/.qgis//python’, ‘C:/Users/Umberto/.qgis//python/plugins’, ‘C:/Quantum_GIS_Lisboa/apps/qgis/./python/plugins’, ‘C:\Quantum_GIS_Lisboa\apps\qgis\python’, ‘C:\Windows\system32\python27.zip’, ‘C:\Quantum_GIS_Lisboa\apps\Python27\DLLs’, ‘C:\Quantum_GIS_Lisboa\apps\Python27\lib’, ‘C:\Quantum_GIS_Lisboa\apps\Python27\lib\plat-win’, ‘C:\Quantum_GIS_Lisboa\apps\Python27\lib\lib-tk’, ‘C:\Quantum_GIS_Lisboa\apps\qgis\bin’, ‘C:\Quantum_GIS_Lisboa\apps\Python27’, ‘C:\Quantum_GIS_Lisboa\apps\Python27\lib\site-packages’, ‘C:\Quantum_GIS_Lisboa\apps\Python27\lib\site-packages\PIL’, ‘C:\Quantum_GIS_Lisboa\apps\Python27\lib\site-packages\win32’, ‘C:\Quantum_GIS_Lisboa\apps\Python27\lib\site-packages\win32\lib’, ‘C:\Quantum_GIS_Lisboa\apps\Python27\lib\site-packages\Pythonwin’, ‘C:\Quantum_GIS_Lisboa\apps\Python27\lib\site-packages\wx-2.8-msw-unicode’, ‘C:\Users\Umberto\.qgis\python\plugins\mmqgis/forms’, ‘C:\Quantum_GIS_Lisboa\apps\qgis\python\plugins\fTools\tools’]


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.
630 iscritti al 1.12.2012

Ciao Giuseppe

2013/2/6 Giuseppe Sucameli <brush.tyler@gmail.com>

mentre in SpatiaLite mi compare un database creato per caso avendo aperto in precedenza una volta "QSpatiaLite", ma purtroppo non riesco ad importarvi niente...

purtroppo la creazione di un DB non è stata ancora implementata,
conto di aggiungerla presto dal momento che (almeno in sqlite) è
una banalità (in Postgres è necessario avere permessi, etc...).

su 1.8.0-Lisboa si puo' fare da "Layer > Add Spatialite layer > New", penso
sia sfuggito al tuo occhio vigile :slight_smile:

Nella versione di sviluppo qgis1.9 (almeno fino a qualche settimana
fa funzionava, ora causa cambiamenti radicali probabilmente non più)
ho aggiunto 2 pulsanti per importare uno shape dentro un db o
esportare una tabella in shapefile.

Ho notato che sul DB Manager, non mi funziona il "Load as new layer"
se uso funzioni spaziali, ad es ST_PointOnSurface. Il pulsante "Load
now!" in tal caso non da segni di vita.
Mentre funziona perfettamente se si lascia geometry "intatto", ad es
con Select * from...
Il malfunzionamento si verifica anche con PostGIS

ciao e grazie ancora per il plugin, davvero utile :wink:
p

--
Paolo Corti
Geospatial software developer
web: http://www.paolocorti.net
twitter: @capooti
skype: capooti

2013/2/6 Paolo Corti <pcorti@gmail.com>:

2013/2/6 Giuseppe Sucameli <brush.tyler@gmail.com>

purtroppo la creazione di un DB non è stata ancora implementata,

su 1.8.0-Lisboa si puo' fare da "Layer > Add Spatialite layer > New", penso
sia sfuggito al tuo occhio vigile :slight_smile:

hai perfettamente ragione! ero focalizzato su DBManager e mi è del
tutto sfuggito che si potesse fare da QGIS...

Ho notato che sul DB Manager, non mi funziona il "Load as new layer"
se uso funzioni spaziali, ad es ST_PointOnSurface. Il pulsante "Load
now!" in tal caso non da segni di vita.

uhm... strano. In fin dei conti tutte quelle chiamate vengono
redirette sul provider...

Mentre funziona perfettamente se si lascia geometry "intatto", ad es
con Select * from...
Il malfunzionamento si verifica anche con PostGIS

uhm... sono sicuro funzionasse (strk ha avuto modo di testarlo
abbondantemente :))

Provo e vi dico.

ciao e grazie ancora per il plugin, davvero utile :wink:
p

--
Paolo Corti
Geospatial software developer
web: http://www.paolocorti.net
twitter: @capooti
skype: capooti

--
Giuseppe Sucameli

Ora riesco a creare database con spatialite-GUI. PERO’!!! Non riesco a importarli in DB Managre come vorrei. Oltretutto, il plugin QSpatialite sembra diventato irrimovibile, mi dice solo che posso reinstallarlo (in QGIS 1.8->Plugin->Recupera Plugin…), e continua a fare riferimento a due database creati in precedenza, ma che ho cancellato (manualmente dalla cartella dove si trovavano), la qual cosa adesso sembra aver causato un crash continuo di QSptialLite quando cerco di aprirlo. Come se non bastasse, non posso fare quasi niente dalla schermata di DB Manager per togliere questi due database inesistenti, né posso importare il database appena creato con SpatiaLiate-Gui, nemmeno facendo click & drag da QGIS Browser. MA CHE SUCCEDE???
Spero possiate aiutarmi e spero di essere stato abbastanza chiaro.

Il 06/02/13, Giuseppe Sucameli brush.tyler@gmail.com ha scritto:

2013/2/6 Paolo Corti pcorti@gmail.com:

2013/2/6 Giuseppe Sucameli brush.tyler@gmail.com

purtroppo la creazione di un DB non è stata ancora implementata,

su 1.8.0-Lisboa si puo’ fare da “Layer > Add Spatialite layer > New”, penso
sia sfuggito al tuo occhio vigile :slight_smile:

hai perfettamente ragione! ero focalizzato su DBManager e mi è del
tutto sfuggito che si potesse fare da QGIS…

Ho notato che sul DB Manager, non mi funziona il “Load as new layer”
se uso funzioni spaziali, ad es ST_PointOnSurface. Il pulsante “Load
now!” in tal caso non da segni di vita.

uhm… strano. In fin dei conti tutte quelle chiamate vengono
redirette sul provider…

Mentre funziona perfettamente se si lascia geometry “intatto”, ad es
con Select * from…
Il malfunzionamento si verifica anche con PostGIS

uhm… sono sicuro funzionasse (strk ha avuto modo di testarlo
abbondantemente :))

Provo e vi dico.

ciao e grazie ancora per il plugin, davvero utile :wink:
p


Paolo Corti
Geospatial software developer
web: http://www.paolocorti.net
twitter: @capooti
skype: capooti


Giuseppe Sucameli

2013/2/6 Umberto Filippo Minora <umberto.minora@unimi.it>:

Ora riesco a creare database con spatialite-GUI. PERO'!!!! Non riesco a
importarli in DB Managre come vorrei. Oltretutto, il plugin QSpatialite
sembra diventato irrimovibile, mi dice solo che posso reinstallarlo (in QGIS
1.8->Plugin->Recupera Plugin...),

fossi in te per il momento mi concentrerei solo su DB Manager e
lascierei perdere QSpatialite.
Detto cio': puoi spiegare bene cosa vuoi dire con "Non riesco a
importarli in DB Managre"?

Una volta che hai creato il file spatialite (cosa che, come detto,
potevi fare anche direttamente da QGIS con "Aggiungi spatialite
layer") quello che devi fare e':

* aggiungere uno dei layer di spatialite alla mappa usando "Layers >
Add spatialite layer"
* a questo punto aprendo il DB Manager, nel nodo spatialite dovresti
vedere il tuo database

non e' questo cio' che accade sul tuo ambiente di lavoro?
potresti riportare il sistema operativo che utilizzi?

ciao
p

--
Paolo Corti
Geospatial software developer
web: http://www.paolocorti.net
twitter: @capooti
skype: capooti

Ciao Umberto,

2013/2/6 Umberto Filippo Minora <umberto.minora@unimi.it>:

Ora riesco a creare database con spatialite-GUI.

come ha scritto Paolo Corti, si può anche usare QGIS per creare
un db spatialite dal menu Layer.

PERO'!!!! Non riesco a importarli in DB Managre come vorrei.

Per prima cosa devi aggiungere il DB SpatiaLite appena
creato dentro QGIS: Layer->Add Spatialite Layer->New
e selezionare il db appena creato.

A questo punto il db dovrebbe essere visibile in DBManager e
puoi procedere con l'importazione degli shape tramite drag&drop.

Oltretutto, il plugin QSpatialite
sembra diventato irrimovibile, mi dice solo che posso reinstallarlo (in QGIS
1.8->Plugin->Recupera Plugin...), e continua a fare riferimento a due
database creati in precedenza, ma che ho cancellato (manualmente dalla
cartella dove si trovavano), la qual cosa adesso sembra aver causato un
crash continuo di QSptialLite quando cerco di aprirlo.

Se quando avvii QGIS non ti da errore, lascialo lì tranquillo
che se ne può fare a meno.

Come se non bastasse,
non posso fare quasi niente dalla schermata di DB Manager per togliere
questi due database inesistenti,

Anche questi, devi rimuoverli da Layer->Add Spatialite Layer,
quindi selezioni il db dalla lista e lo rimuovi.

né posso importare il database appena
creato con SpatiaLiate-Gui, nemmeno facendo click & drag da QGIS Browser.

Avevo immaginato avessi provato a fare quell'operazione.
Il drag&drop funziona per i layer, non per i database.

I database devi aggiungerli da QGIS, tramite Layer->Add Spatialite Layer->New.

Ciao.

MA
CHE SUCCEDE???
Spero possiate aiutarmi e spero di essere stato abbastanza chiaro.

Il 06/02/13, Giuseppe Sucameli <brush.tyler@gmail.com> ha scritto:

2013/2/6 Paolo Corti <pcorti@gmail.com>:

2013/2/6 Giuseppe Sucameli <brush.tyler@gmail.com>

purtroppo la creazione di un DB non è stata ancora implementata,

su 1.8.0-Lisboa si puo' fare da "Layer > Add Spatialite layer > New",
penso
sia sfuggito al tuo occhio vigile :slight_smile:

hai perfettamente ragione! ero focalizzato su DBManager e mi è del
tutto sfuggito che si potesse fare da QGIS...

Ho notato che sul DB Manager, non mi funziona il "Load as new layer"
se uso funzioni spaziali, ad es ST_PointOnSurface. Il pulsante "Load
now!" in tal caso non da segni di vita.

uhm... strano. In fin dei conti tutte quelle chiamate vengono
redirette sul provider...

Mentre funziona perfettamente se si lascia geometry "intatto", ad es
con Select * from...
Il malfunzionamento si verifica anche con PostGIS

uhm... sono sicuro funzionasse (strk ha avuto modo di testarlo
abbondantemente :))

Provo e vi dico.

ciao e grazie ancora per il plugin, davvero utile :wink:
p

--
Paolo Corti
Geospatial software developer
web: http://www.paolocorti.net
twitter: @capooti
skype: capooti

--
Giuseppe Sucameli

--
Giuseppe Sucameli