[Gfoss] QGIS - collegamento tra tabelle

Luca Sigfrido Percich sigfrido a tiscali.it
Lun 27 Feb 2012 15:26:59 CET


Ciao a tutti,

Il giorno lun, 27/02/2012 alle 05.53 -0800, Gabriele N. ha scritto:
> Ciao.
> 
> In ARCpepp dovrebbe chiamarsi relate. Credo sia molto utile. 
> Ad esempio vorrei conoscere quali comuni (m) confluiscono nella discarica X
> (1). E' molto comodo cliccare sul punto (discarica) e evidenziare gli M
> comuni  realitivi. 
> Tempo fa chiesi lumi al nostro Presidente e credo ch Spatialite dovrebbe
> supportarlo...correggetemi se sbaglio.

tutti gli RDBMS supportano le chiavi esterne e l'integrità referenziale:
Spatialite, PostGIS, Oracle spatial, MySQL... Se ho capito il tuo
esempio, ogni comune ha un campo discarica_id che lo collega alle
discariche. L'RDBMS può essere informato del fatto che in discarica_id
possono finire solo dei valori presenti nella chiave primaria della
tabella discariche.

Il punto è se QGIS sia in grado di fornire all'utente una interfaccia
per navigare (geo)graficamente nelle associazioni tra oggetti e
consentire di  modificarle. E attualmente pare di no.

Anch'io reputo questa feature molto utile, e ne faccio spesso grande
uso; se fosse disponibile in QGIS sarebbe fantastico. Premetto che
nemmeno in MapInfo esiste e abbiamo dovuto implementarla con un tool.

Tramite l'information_schema, QGIS può conoscere tutte le relazioni
definite nel DB attraverso i constraint di integrità referenziale; per
due shapefile invece dovremmo dirgli noi come le relazioni sono
costruite. In entrambi i casi, un eventuale tool "relate" avrebbe
bisogno di conoscere queste relazioni per permetterci, una volta
selezionata una relazione per il layer corrente (es. comuni.discarica),
di:
= selezionare un comune e:
  - selezionare la sua discarica
  - toglierlo dalla relazione (discarica_id = null)
  - metterlo in relazione con la discarica su cui si fa clic
(discarica_id = id della discarica cliccata)
= selezionare una discarica e:
  - selezionare i suoi comuni
  - togliere tutti i suoni comuni dalla relazione

In QGIS si potrebbe aggiungere una linguetta "relations" alla finestra
di proprietà del layer, nella quale descrivere una o più relazioni verso
altri layer attraverso una coppia di campi chiave esterna / chiave
primaria. Molto simile a quello che si fa attualmente col "join". Ma
immagino si possa anche fare tramite un plugin con una sua
configurazione.

Che voi sappiate una cosa del genere è in progetto? Vale la pena di
proporla come feature in trac?

Sig


_____________
PRIVACY
Le informazioni contenute in questo messaggio sono riservate e confidenziali. Il loro utilizzo e' consentito esclusivamente al destinatario del messaggio, per le finalità indicate nel messaggio stesso. Qualora Lei non fosse la persona a cui il presente messaggio è destinato, La invitiamo ad eliminarlo dal Suo Sistema e a distruggere le varie copie o stampe, dandone gentilmente comunicazione all’indirizzo mail del mittente. Ogni utilizzo improprio e' contrario ai principi del D.lgs 196/03 e alla legislazione europea (Direttiva 2002/58/CE).

PRIVACY
Le informazioni contenute in questo messaggio sono riservate e confidenziali. Il loro utilizzo e' consentito esclusivamente al destinatario del messaggio, per le finalità indicate nel messaggio stesso. Qualora Lei non fosse la persona a cui il presente messaggio è destinato, La invitiamo ad eliminarlo dal Suo Sistema e a distruggere le varie copie o stampe, dandone gentilmente comunicazione all’indirizzo mail del mittente. Ogni utilizzo improprio e' contrario ai principi del D.lgs 196/03 e alla legislazione europea (Direttiva 2002/58/CE).


Maggiori informazioni sulla lista Gfoss