[QGIS-it-user] QGIS - select in join (tabella in relazione)

Giulio Fattori giulio.fattori a tin.it
Mer 12 Apr 2017 22:55:45 PDT


Il 12/04/2017 22:16, Totò ha scritto:
> Salve a tutti,
> scrivo questa email sperando di trovare una soluzione al quesito in oggetto.
>
> In QGIS è possibile fare un join tra una layer (vettore o non) e una
> qualsiasi altro layer (anche semplice tabella) basta che ci sia un campo
> comune; su questo join è possibile fare selezioni e quindi zoom a selezione;
> ma se al posto del join facessi una relazione 1:n NON è più possibile fare
> una selezione partendo dalla tabella lato n, questo è un grosso limite in
> quanto NON è possibile neanche usando spatialite o postgis.
>
> Domanda, come mai NON è stata implementata questa feature in QGIS? credo sia
> una caratteristica molto utile.
>
> Esempio:
> supponiamo di fare un censimento della pubblica illuminazione e creo un
> layer puntuale che rappresenti il palo e una tabella che rappresenti le
> armature (un palo può avere da 1 a 'n' armature) del palo stesso; in questo
> caso specifico utilizzerei una relazione tra palo e armature; se facessi una
> ricerca nella tabella armature, come selezionare il relativo palo?
>
> questo è un semplice caso per spiegare l'utilità della feature che manca in
> QGIS e credo in tutti i software GIS.
>
> saluti
>
>
>
> --
> View this message in context: http://osgeo-org.1560.x6.nabble.com/QGIS-select-in-join-tabella-in-relazione-tp5317093.html
> Sent from the QGIS Italian User mailing list archive at Nabble.com.
> _______________________________________________
> QGIS-it-user mailing list
> QGIS-it-user a lists.osgeo.org
> https://lists.osgeo.org/mailman/listinfo/qgis-it-user

Buongiorno, incuriosito dalla tua problematica ho fatto qualche prova, 
creato un layer puntuale "Pali" e una tabella "Armature" di cui 
condividono l'Id del palo.

Effettivamente il join produce solo layer tabella virtuali che non 
visualizzano nulla.

Tuttavia, senza join alcuno, con il DB manager riesco a produrre un 
layer virtuale puntuale per ogni selezione di armatura, il problema è 
che si produce un layer per ogni interrogazione (armatura) diversa.

La query è del tipo

"SELECT "Pali"."ID", "Pali"."geometry","Armature"."armatura"
FROM "Pali", "Armature"
WHERE "Armature"."palo"="Pali"."ID" and "Armature"."armatura"='b'

E' necessario portarsi dietro la geometria dai pali altrimenti otteniamo 
una tabella virtuale come nel join.

E' un risultato ma dubito che possa risolvere dinamicamente la questione.

Saluti

-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.osgeo.org/pipermail/qgis-it-user/attachments/20170413/870793a2/attachment.html>


Maggiori informazioni sulla lista QGIS-it-user