banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

GEODATA DAYS 2024

#1 Thu 09 June 2016 22:39

hugoroussaffa
Participant occasionnel
Lieu: Verdun en lauraguais
Date d'inscription: 19 Oct 2008
Messages: 38
Site web

QGIS: Calcul $area dynamique+somme dans une jointure spatiale (shape)

bonjour,

J'ai 2 couches shape polygonales. L'une est une couche de limites de Propriétés et l'autre des limites de Parcelles.

j'ai besoin d'avoir la somme des surfaces des Parcelles contenues dans chaque Propriété. Le mieux serait de pouvoir disposer de la somme sans faire d'opération, ou une allez ! et que ces valeurs soient toujours à jour. je ne sais pas si c'est possible avec des fichiers shape, ou s'il faut forcement faire ça en SGBD avec une vue.

Je pensai pouvoir m'appuyer sur un champ virtuel "surface" créé dans la couche Parcelle pour déjà avoir une valeur de surface dynamique.

Puis établir une jointure spatiale dynamique (plugin spatialJoin) mais je n'ai pas l'impression qui gère de relations N-N ou qui permette de faire en plus la somme des surfaces des entités jointes. Et là je plante.

J'ai d'autre part essayé de faire la jointure spatial (non dynamique) mais là c'est python qui plante lors de la création de la couche (surement à cause du champ virtuel).

Est ce qu'avec les relations c'est faisable ?

je ne pensais pas que ça me prendrais autant la tête. C'est un besoin assez lambda je pense. Si quelqu'un a une solution je suis preneur.

merci


Hugo Roussaffa
GeoDatup

Hors ligne

 

#2 Fri 10 June 2016 14:54

SANTANNA
Moderateur
Lieu: Angers
Date d'inscription: 18 Jan 2008
Messages: 3881

Re: QGIS: Calcul $area dynamique+somme dans une jointure spatiale (shape)

Bonjour,

j'ai besoin d'avoir la somme des surfaces des Parcelles contenues dans chaque Propriété. Le mieux serait de pouvoir disposer de la somme sans faire d'opération, ou une allez ! et que ces valeurs soient toujours à jour. je ne sais pas si c'est possible avec des fichiers shape, ou s'il faut forcement faire ça en SGBD avec une vue.


C'est désormais possible dans la 2.16 (description). Et d'ailleurs les tests sont les bienvenus actuellement donc si tu veux, c'est par ici la version.
Par contre, je pense qu'à l'aide des couches virtuelles (lien vers doc officielle mais je pense que tu dois pouvoir trouver sur le net (dont le forum) des infos en français dessus).
Bon courage

Hors ligne

 

#3 Fri 10 June 2016 17:38

hugoroussaffa
Participant occasionnel
Lieu: Verdun en lauraguais
Date d'inscription: 19 Oct 2008
Messages: 38
Site web

Re: QGIS: Calcul $area dynamique+somme dans une jointure spatiale (shape)

je viens de tester sur la v2,15,0-Master, c'est génial !!

Il faut établir la jointure spatiale 1-N (et pas NN comme j'ai pu dire) entre les Propriétés et les parcelles (stocker l'iD de la propriété dans chaque parcelle).
Mettre en place une relation Parent/enfant basé sur l'identifiant Propriété.

utiliser la fonction suivante dans la calculatrice :

Code:

relation_aggregate('nom_de_la_relation' , 'sum' , $area)

par contre ça ne fonctionne pas avec une jointure dynamique smile) qui est un champs virtuel.

Donc le seul point faible c'est qu'il faille maintenir la jointure spatial à jour (c'est l'opération manuelle autorisé tongue)


Hugo Roussaffa
GeoDatup

Hors ligne

 

#4 Fri 10 June 2016 17:55

hugoroussaffa
Participant occasionnel
Lieu: Verdun en lauraguais
Date d'inscription: 19 Oct 2008
Messages: 38
Site web

Re: QGIS: Calcul $area dynamique+somme dans une jointure spatiale (shape)

et merci SANTANA pour l'info, j'en pouvais plus de ces manips


Hugo Roussaffa
GeoDatup

Hors ligne

 

#5 Fri 10 June 2016 19:41

SANTANNA
Moderateur
Lieu: Angers
Date d'inscription: 18 Jan 2008
Messages: 3881

Re: QGIS: Calcul $area dynamique+somme dans une jointure spatiale (shape)

De rien!

par contre ça ne fonctionne pas avec une jointure dynamique smile) qui est un champs virtuel.


J'ai peur de ne pas bien comprendre ce que tu entends par là mais il faudrait peut-être porter la requête auprès des développeurs. Et peut-être que c'est juste un cas oublié dans l'implémentation de la fonction...

Hors ligne

 

#6 Fri 10 June 2016 21:44

hugoroussaffa
Participant occasionnel
Lieu: Verdun en lauraguais
Date d'inscription: 19 Oct 2008
Messages: 38
Site web

Re: QGIS: Calcul $area dynamique+somme dans une jointure spatiale (shape)

en effet c'est pas à cause du champs virtuel, ça marche très bien l'agrégation des champs virtuel.
En fait j'utilise une extension pour faire une jointure spatial dynamique (spatialJoin). c'est la relation qui est basée sur le champs virtuel qui liste les ID des ilots pours chaque parcelles.
J'ai l'impression que c'est le plugin qui n'est pas prévu pour.
Ce plugin n'est pas listé dans les http://hub.qgis.org/projects/qgis-user-plugins/. je vais voir auprès du développeur s'il voit ce qui ne va pas.

merci A+


Hugo Roussaffa
GeoDatup

Hors ligne

 

#7 Fri 10 June 2016 21:59

SANTANNA
Moderateur
Lieu: Angers
Date d'inscription: 18 Jan 2008
Messages: 3881

Re: QGIS: Calcul $area dynamique+somme dans une jointure spatiale (shape)

Ce plugin n'est pas listé dans les http://hub.qgis.org/projects/qgis-user-plugins/. je vais voir auprès du développeur s'il voit ce qui ne va pas.


Ne sont listées là que les extensions hébergées sur cette plateforme. Les extensions officiellement disponibles via le gestionnaire d'extensions sont plutôt à chercher sur http://plugins.qgis.org/plugins/ (et tu trouveras SpatialJoin à http://plugins.qgis.org/plugins/spatialJoin/)

Hors ligne

 

Pied de page des forums

Powered by FluxBB