Message posté par : Julien81
----------------------------------------
Bonjour,
si je comprends bien d'après votre capture il y a une relation N-N entre vos deux
couches de polygones (1 entité EMD peut intersecter plusieurs entités IRIS, et
réciproquement)
donc si vous souhaitez renseigner dans votre couche EMD :
-la liste des IRIS intersectés dans un champ de type texte avec un séparateur défini+
-la liste des ratios surface intersectée/surface EMD *100 (%de surface EMD pour chaque
entité intersectée) avec un séparateur et dans le même ordre
Il vous faut créer deux champs texte (255?) dans votre couche EMD ex:
champ1--> l_id_IRIS
champ2-->l_surf_IRIS
puis mettre à jour avec des fonctions d'aggregats
champ1 :
-----------------
Code :
aggregate('IRIS','concatenate',to_string("fid"),
intersects($geometry,geometry(@parent)),';',1/area(intersection($geometry,geometry(@parent))))
-----------------
champ2 :
-----------------
Code :
aggregate('IRIS','concatenate',to_string(round(area(intersection($geometry,geometry(@parent)))/area(geometry(@parent))*100,2)),
intersects($geometry,geometry(@parent)),';',1/area(intersection($geometry,geometry(@parent))))
-----------------
J'ai testé sur 3.10 (doit etre ok pour 3.xx)
https://docs.qgis.org/3.4/fr/docs/user_manual/working_with_vector/expressio…
pour la doc
en gros aggregate(layer,aggregate,expression,filter,concatenator,order_by) vous n'avez
qu'à remplacer dans la partie expression pour la mise à jour de votre champ 1 le nom
champ identifiant iris ("fid" chez moi) et dans la partie 'layer' le nom
de votre couche iris.
Sur le même principe en faisant au préalable une intersection entre les deux couches
EMD/IRIS vous pourriez ensuite obtenir les ratios par rapport au parent EMD affectés à
chaque partie intersectée par un seul iris (et non N ce qui oblige à manipuler une liste
de x iris intersectés)
Bien sur selon votre besoin c'est à vous de voir
En espérant vous avoir aiguillé
Cordialement^
Julien
----------------------------------------
Le message est situé
https://georezo.net/forum/viewtopic.php?pid=332345#p332345
Pour y répondre : qgis_fr(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net