Salve,
è possibile visualizzare dati con lo strumento "i" (information) in qgis di tabelle relazionate ad un file shp?
Forse è possibile solo se lo shp e le tabelle stanno in postgis ed precedentemente relazionate?
Grazie
Eugenio
_________________________________________________________________
Crea GRATIS i tuoi biglietti da visita su Windows Live Messenger! http://www.messenger.it/biglietti_da_visita.html
Eugenio Trumpy wrote:
Salve,
è possibile visualizzare dati con lo strumento "i" (information) in qgis
di
tabelle relazionate ad un file shp?
Se ho ben capito, vorresti visualizzare i dati di un'altra tabella rispetto
alla tabella dbf generalmente legata al file .shp .
Con i dbf non è possibile e mi pare nemmeno con postgis. Io mi sono fatto
uno script in python per fare i join tra un dbf e una tabella in postgis. E'
ancora un po' rudimentale ma funziona.
ciao
--
View this message in context: http://www.nabble.com/relazioni-qgis-tf4384510.html#a12507690
Sent from the Gfoss mailing list archive at Nabble.com.
Eugenio Trumpy ha scritto:
Salve,
è possibile visualizzare dati con lo strumento "i" (information) in qgis di tabelle relazionate ad un file shp?
Forse è possibile solo se lo shp e le tabelle stanno in postgis ed precedentemente relazionate?
Un trucco che consigliamo agli utenti in GeoServer è quello di caricare
tutto in PostGis, creare una vista che effettui il join desiderato,
registrare la colonna geometrica della vista nella tabella geometry_columns.
GeoServer in questo caso tratta la vista proprio come se fosse una
normale tabella spaziale... non so se anche QGis lo fa, ma vale
la pena tentare no? Se non ci fosse il supporto, non dovrebbe
essere difficile aggiungerlo al codice esistente.
Ciao
Andrea
Ciao Andrea,
il tuo consiglio mi sembra buono ma non capisco bene come metterlo in
pratica. Ti faccio un po' di domande:
Un trucco che consigliamo agli utenti in GeoServer è quello di caricare
tutto in PostGis, creare una vista che effettui il join desiderato,
Per "creare una vista" intendi "fare una query a livello del
database"? Ho capito bene?
registrare la colonna geometrica della vista nella tabella geometry_columns.
Non ho ben capito: se la colonna geometrica con un join mi da n
record, come li memorizzo in un unico record nella tabella
geometry_columns?
In questo modo, mi par di capire, riuscirei a vedere i dati del mio
vettoriale ricercati grazie ad un join esterno ma non i dati (ovvero
le colonne) delle tabelle relazionate come mi pare chiedesse Eugenio.
Dico bene? Mi sbaglio?
ciao ciao
Luca Mandolesi ha scritto:
Ciao Andrea,
il tuo consiglio mi sembra buono ma non capisco bene come metterlo in
pratica. Ti faccio un po' di domande:
Un trucco che consigliamo agli utenti in GeoServer è quello di caricare
tutto in PostGis, creare una vista che effettui il join desiderato,
Per "creare una vista" intendi "fare una query a livello del
database"? Ho capito bene?
Qualcosa del tipo:
create view myview as select x, y, z from t1 inner join t2 on t1.id = t2.fk
Per maggiori informazioni
http://www.postgresql.org/docs/8.2/static/sql-createview.html
Le view sono fondamentalmente query a cui viene dato un nome e
un posto di primo piano in catalogo. Le puoi usare in altre query
come se fossero normali tabelle.
registrare la colonna geometrica della vista nella tabella geometry_columns.
Non ho ben capito: se la colonna geometrica con un join mi da n
record, come li memorizzo in un unico record nella tabella
geometry_columns?
In questo modo, mi par di capire, riuscirei a vedere i dati del mio
vettoriale ricercati grazie ad un join esterno ma non i dati (ovvero
le colonne) delle tabelle relazionate come mi pare chiedesse Eugenio.
Dico bene? Mi sbaglio?
Hem, no... La tua view avrà tutte le colonne che la select ha
richiesto, una di queste sarà geometrica. La registri in geometry_columns come se la vista che hai creato fosse una normale
tabella.
Detto questo, non so se QGis supporta questo trucco. Come diceva quella
pubblicità dei prestiti banco posta, "bisogna provare" 
Ciao
Andrea
Detto questo, non so se QGis supporta questo trucco. Come diceva quella
pubblicità dei prestiti banco posta, "bisogna provare" 
Confermo che funziona a meraviglia! Qgis va a pescare anche nelle viste.
Se cmq qualcuno fosse interessato ai join di tabelle dbf attraverso
python, senza passare per postgres mi faccia sapere, che magari ci si
scambia un po' di consigli.
ciao ciao
ps: c'era anche il mitico "provare per credere" ma non ricordo che
pubblicità fosse.
Chiedo ai più esperti:
anche l'argomento dei join tra tabelle di diversa natura (dbf, postgres,
ecc.) e visualizzazioni su GIS OS mi sembra lo spunto per una pagina sul
wiki. Non mi pare di aver mai letto sulla doc di QGIS la possibilità di
gestire in questo modo le relazioni e le viste. Ma magari sbaglio.
ciao cioa
--
View this message in context: http://www.nabble.com/relazioni-qgis-tf4384510.html#a12519518
Sent from the Gfoss mailing list archive at Nabble.com.
Non voglio sostituirmi a Lorenzo e agli altri GFOSSiani di lungo corso che animano la lista e il wiki, ma vorrei cogliere l’occasione della proposta di Luca per una pagina wiki sul join, che peraltro trovo interessantissima, per far presente a tutti un piccolo aggiornamento al wiki stesso: nella sezione “Formazione” ne è stata creata una nuova su “HOWTOs e procedure tipo”, nella quale potrebbe trovare posto l’idea di Luca e quelle relative ad altre del genere: “come faccio a…?”.
Contribuite, contribuite, contribuite…
Saluti a tutti,
PB
Il 06/09/07, mando ha scritto:
Chiedo ai più esperti:
anche l’argomento dei join tra tabelle di diversa natura (dbf, postgres,
ecc.) e visualizzazioni su GIS OS mi sembra lo spunto per una pagina sul
wiki. Non mi pare di aver mai letto sulla doc di QGIS la possibilità di
gestire in questo modo le relazioni e le viste. Ma magari sbaglio.
ciao cioa
View this message in context: http://www.nabble.com/relazioni-qgis-tf4384510.html#a12519518
Sent from the Gfoss mailing list archive at Nabble.com.
Iscriviti all’associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione
Gfoss@faunalia.com
http://www.faunalia.com/cgi-bin/mailman/listinfo/gfoss
Non voglio sostituirmi a Lorenzo e agli altri GFOSSiani di lungo corso che
animano la lista e il wiki,
hehe, non ci paga nessuno e non ci ha eletti nessuno, se ti senti di partecipare sei il benvenuto.
ma vorrei cogliere l'occasione della proposta di
Luca per una pagina wiki sul join, che peraltro trovo interessantissima, per
far presente a tutti un piccolo aggiornamento al wiki stesso: nella sezione
"Formazione" ne è stata creata una nuova su "HOWTOs e procedure tipo", nella
quale potrebbe trovare posto l'idea di Luca e quelle relative ad altre del
genere: "come faccio a...?".
Contribuite, contribuite, contribuite...
anche per me è una ottima idea
Contribuite, contribuite, contribuite...

aaime wrote:
Un trucco che consigliamo agli utenti in GeoServer è quello di caricare
tutto in PostGis, creare una vista che effettui il join desiderato,
registrare la colonna geometrica della vista nella tabella
geometry_columns.
GeoServer in questo caso tratta la vista proprio come se fosse una
normale tabella spaziale... non so se anche QGis lo fa, ma vale
la pena tentare no? Se non ci fosse il supporto, non dovrebbe
essere difficile aggiungerlo al codice esistente.
Ho notato che Qgis+Postgis funziona bene con tabelle a relazione di tipo
1:1. Nel caso di N:N o 1:N, in cui i record di una delle due tabelle vengono
ripetuti, Qgis non ha più alcuna colonna con carattere di univocità e il
layer non può essere caricato.
Per esempio:
ho una tabella che mi contiene alcune perimetrazioni, la colonna geometrica,
l'ID univoco e le singole definizioni. In una seconda tabella ho l'ID e la
definizione della perimetrazione (casa, stalla, fattoria, capanno). In una
terza tabella sono present l'ID e i nomi delle persone che vi lavorano.
Ora, se volessi unire le tabelle, non avrei più alcuna colonna univoca e
quindi QGIS non riuscirebbe più a caricare i dati.
Come si può risolvere o qualcuno ha già risolto un simile problema?
--
View this message in context: http://www.nabble.com/relazioni-qgis-tf4384510.html#a13323753
Sent from the Gfoss mailing list archive at Nabble.com.
Come ti diceva Andrea, potresti crearti una vista dentro Postgresql,
con un join su tutte le tabelle secondo le relazioni 1:n o n:n che le
legano. Tanto la vista non viene "materializzata fisicamente"[1], ma
viene ricreata ogni volta che una query (Qgis) la richiede.
Giovanni
[1]: http://www.postgresql.org/docs/8.1/static/sql-createview.html
Il 21/10/07, mando<mandoluca@gmail.com> ha scritto:
aaime wrote:
>
> Un trucco che consigliamo agli utenti in GeoServer è quello di caricare
> tutto in PostGis, creare una vista che effettui il join desiderato,
> registrare la colonna geometrica della vista nella tabella
> geometry_columns.
> GeoServer in questo caso tratta la vista proprio come se fosse una
> normale tabella spaziale... non so se anche QGis lo fa, ma vale
> la pena tentare no? Se non ci fosse il supporto, non dovrebbe
> essere difficile aggiungerlo al codice esistente.
>
Ho notato che Qgis+Postgis funziona bene con tabelle a relazione di tipo
1:1. Nel caso di N:N o 1:N, in cui i record di una delle due tabelle vengono
ripetuti, Qgis non ha più alcuna colonna con carattere di univocità e il
layer non può essere caricato.
Per esempio:
ho una tabella che mi contiene alcune perimetrazioni, la colonna geometrica,
l'ID univoco e le singole definizioni. In una seconda tabella ho l'ID e la
definizione della perimetrazione (casa, stalla, fattoria, capanno). In una
terza tabella sono present l'ID e i nomi delle persone che vi lavorano.
Ora, se volessi unire le tabelle, non avrei più alcuna colonna univoca e
quindi QGIS non riuscirebbe più a caricare i dati.
Come si può risolvere o qualcuno ha già risolto un simile problema?
--
View this message in context: http://www.nabble.com/relazioni-qgis-tf4384510.html#a13323753
Sent from the Gfoss mailing list archive at Nabble.com.
_______________________________________________
Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione
Gfoss@faunalia.com
http://www.faunalia.com/cgi-bin/mailman/listinfo/gfoss
264 iscritti al 17.10.2007
On 10/22/07, G. Allegri <giohappy@gmail.com> wrote:
Come ti diceva Andrea, potresti crearti una vista dentro Postgresql,
con un join su tutte le tabelle secondo le relazioni 1:n o n:n che le
legano. Tanto la vista non viene "materializzata fisicamente"[1], ma
viene ricreata ogni volta che una query (Qgis) la richiede.
Giovanni
[1]: http://www.postgresql.org/docs/8.1/static/sql-createview.html
Il 21/10/07, mando<mandoluca@gmail.com> ha scritto:
>
>
Ok. Allora credo che il problema stia nel mio modello. Ho dei poligoni
che hanno il medesimo ID pur essendo due oggetti distinti nel GIS e il
legame degli attributi a livello di tabella viene eseguito sugli
IDduplicati. Appena ho due record di attributi che si riferiscono al
medesimo ID, nella vista perdo l'ID univoco e non posso caricarla su
QGSI.
Di seguito porto un esempio banale. Una tabella Particelle che
contiene una particella (IDparticella 1) formata da due poligoni
distinti. La particella 1 è posseduta da due prorpietari in comune. La
vista che ne esce non ha colonna con criteri di univocità.
Tabella Particella
IDp IDparticella
1 1
2 1
3 2
Famiglie
IDf nome IDparticella
1 rossi 1
2 bianchi 1
Vista completa
IDp | IDparticella | IDf | nome
---------------------------------------------
1 1 1 rossi
2 1 2 rossi
1 1 1 bianchi
2 1 2 bianchi
Credo che il mio problema provenga dal modello da cui traggo i dati,
che è un cartaceo storico e non si poneva problematiche di id univoci.
La cosa certa è che se si potesse visualizzare la vista anche così, i
dati ricavabili sarebbe cmq utilizzabili.
PS: ma le pagine sui join nel wiki sono state aggiunte? Non mi pare. A
me personalmente piacerebbe sviluppare qualcosa in python, anche un
plugin per qgis appoggiandosi alle QT, che non so usare (ho provato a
fare uno scriptino per appiccare colonne ad un DBF di uno shpfile
prelevandole da Postgres, che funzia si e no con le wxWidgets), ma da
solo vado poco lontano. Chi è interessato mi contatti, almeno per un
po' di idee di base; io poi scrivo! : )
C'è qualcosa che non mi quadra nella vista che produci, forse perché
non ho capito il tuo modello: perché, se la famiglia "Rossi" ha IDf 1
(che suppongo sia univoco), nella vista prodotto ha sia un IDf 1 che
un IDf 2?
Comunque, se riuscissi ad identificare una tupla composta più di IDx,
in fase di creazione della vista potresti
- esplicitare le colonne e crearne una dalla composizione (in
qualche modo) dei vari campi che formano l'identificativo univoco
- creare una primary key sugli stessi campi
Non ho postgresql sotto mano in questi grioni, quindi non posso
provare questro metodo...
Giovanni
Il 22/10/07, Luca Mandolesi <mandoluca@gmail.com> ha scritto:
On 10/22/07, G. Allegri <giohappy@gmail.com> wrote:
> Come ti diceva Andrea, potresti crearti una vista dentro Postgresql,
> con un join su tutte le tabelle secondo le relazioni 1:n o n:n che le
> legano. Tanto la vista non viene "materializzata fisicamente"[1], ma
> viene ricreata ogni volta che una query (Qgis) la richiede.
>
> Giovanni
>
> [1]: http://www.postgresql.org/docs/8.1/static/sql-createview.html
>
> Il 21/10/07, mando<mandoluca@gmail.com> ha scritto:
> >
> >
Ok. Allora credo che il problema stia nel mio modello. Ho dei poligoni
che hanno il medesimo ID pur essendo due oggetti distinti nel GIS e il
legame degli attributi a livello di tabella viene eseguito sugli
IDduplicati. Appena ho due record di attributi che si riferiscono al
medesimo ID, nella vista perdo l'ID univoco e non posso caricarla su
QGSI.
Di seguito porto un esempio banale. Una tabella Particelle che
contiene una particella (IDparticella 1) formata da due poligoni
distinti. La particella 1 è posseduta da due prorpietari in comune. La
vista che ne esce non ha colonna con criteri di univocità.
Tabella Particella
IDp IDparticella
1 1
2 1
3 2
Famiglie
IDf nome IDparticella
1 rossi 1
2 bianchi 1
Vista completa
IDp | IDparticella | IDf | nome
---------------------------------------------
1 1 1 rossi
2 1 2 rossi
1 1 1 bianchi
2 1 2 bianchi
Credo che il mio problema provenga dal modello da cui traggo i dati,
che è un cartaceo storico e non si poneva problematiche di id univoci.
La cosa certa è che se si potesse visualizzare la vista anche così, i
dati ricavabili sarebbe cmq utilizzabili.
PS: ma le pagine sui join nel wiki sono state aggiunte? Non mi pare. A
me personalmente piacerebbe sviluppare qualcosa in python, anche un
plugin per qgis appoggiandosi alle QT, che non so usare (ho provato a
fare uno scriptino per appiccare colonne ad un DBF di uno shpfile
prelevandole da Postgres, che funzia si e no con le wxWidgets), ma da
solo vado poco lontano. Chi è interessato mi contatti, almeno per un
po' di idee di base; io poi scrivo! : )
G. Allegri wrote:
C'è qualcosa che non mi quadra nella vista che produci, forse perché
non ho capito il tuo modello: perché, se la famiglia "Rossi" ha IDf 1
(che suppongo sia univoco), nella vista prodotto ha sia un IDf 1 che
un IDf 2?
Scusami ho sbagliato a scrivere
IDp | IDparticella | IDf | nome
---------------------------------------------
1 1 1 rossi
2 1 1 rossi
1 1 2 bianchi
2 1 2 bianchi
G. Allegri wrote:
Comunque, se riuscissi ad identificare una tupla composta più di IDx,
in fase di creazione della vista potresti
- esplicitare le colonne e crearne una dalla composizione (in
qualche modo) dei vari campi che formano l'identificativo univoco
- creare una primary key sugli stessi campi
Okkappa, intanto lavoro su queste alternative e vedo cosa ne viene fuori.
cià
--
View this message in context: http://www.nabble.com/relazioni-qgis-tf4384510.html#a13368544
Sent from the Gfoss mailing list archive at Nabble.com.