Alle 18:21, venerdì 6 febbraio 2009, Luca Mandolesi ha scritto:
Ciao Vito,non ho capito se le geometrie nulle sono tali in quanto hai il
campo con le coordinate ma non i dati alfanumerici, oppure hai i dati
alfanumerici ma non la geometria.
Il secondo caso.
Seguo il tuo ragionamento punto per punto.
Se il caso è il secondo prova così:
1 - dividere in due la tua tabella:
- Tab1 campo ID e campo geometrico
- Tab2 campo ID (che chiamerai tipo ID_b o come ti pare a te ma non
uguale all'ID di tab1) + dati alfanumerici
Fatto.
2 - Qgis carichi la tabella con i dati geometrici e continui a disegnare le
tue geometrie inserendo l'ID;
E' quello che vorrei evitare per due motivi:
* evitare all'utente di QGIS di inserire a mano l'ID di collegamento tra le
due tabelle
* permettere all'utente di QGIS di avere disponibili anche i dati
alfanumerici, per essere sicuro che la geometria che inserisce corrisponde
proprio a quei dati alfanumerici
3 - crei una view in postgres che unisce tab1 e tab2
Fatto.
4 - esporti da qgis in formato shapefile la view;
Intendi da postgres, vero?
Se si, fatto.
5 - se vuoi ripulisci i campi del dbf lasciando un solo id via Calc di
OpenOffice;
Per ora non necessario, li lascio stare.
6 - tramite SPIT di Qgis o metodo da te preferito importi lo shape in
Postgres.
Fatto.
7 - Buona fortuna!!
Fatto (pregato ![:slight_smile: :slight_smile:](/images/emoji/twitter/slight_smile.png?v=12)
8 - )
Luca
Ok, il giro funziona.
L'unico appunto è quello del punto 2, che pensavo di risolvere in modo
differente ma molto macchinoso:
1. divido la tab in 2: parte geometrica e parte alfanumerica, legate da un id
comune, come dici tu.
2. creo una view postgres che unisce i campi delle due tabelle,e INSERISCE UNA
GEOMETRIA FITTIZIA (all'equatore, o al polo nord...) per le righe della tab
alfanumerica che non hanno corrispondente riga nella tab geometrica
3. esporto questa view da postgres in shapefile
4 edito lo shapefile con QGIS e, per le righe che hanno la geometria a casa
del diavolo uso Aggiungi Isola per aggiungere la vera geometria; l'utente non
modifica nè gli ID nè gli attributi alfanumerici, ma li vede per poterli
confrontare
5. reimporto la shapefile su postgres (in tabella temporanea, con tutti i
campi della view) mediante procedura Java che:
* elimina la geometria fittizia
* copia le sole geometrie dalla tab temporanea alla tab geometrica, sfruttando
gli ID presenti
Ne ho fatto un prototipo e sembra funzionare, ma si può fare di meglio?
Soprattutto non mi piace l'Aggiungi Isola con un pezzo all'Equatore e un pezzo
in Italia (a parte un bug che è appena stato risolto, vedi altri thread [1] e
[2])
Grazie dei suggerimenti, ci penso un po' su.
Saluti,
Vito
[1] [Gfoss] QGIS: aggiungi isola
[2] [Gfoss] Utilizzo del trac di QGIS
--
Ing. Vito Meuli
Tecnologie Avanzate S.r.l.
via B. Croce, 49
70015 Noci (BA)
tel. +39 080 4979652
fax +39 080 4979263
email: v.meuli@tecnologieavanzate.it
http://www.tecnologieavanzate.it