#1 Mon 20 March 2017 12:56
- fnixou
- Participant actif
- Date d'inscription: 22 Feb 2017
- Messages: 82
QGIS 2.18: Intersection et isochrones
Bonjour à tous je cherche actuellement une solution me permettant de calculer le % d'aire partagée pour chacun de mes isochrones dans une shapefile contenant plusieurs isochrones.
Dans l'idée j'ai une couche contenant un ensemble d'isochrones, ces isochrones peuvent potentiellement se toucher.
J'aimerais pour chaque isochrone rajouter un champs dans ma table attributaire correspondant à l'aire partagée par chacun.
Exemple : l'isochrone 1 partage une partie de son aire avec l'isochrone 2,5,8,9 partageant avec chacun 20%,25%,50%,80% de l'aire de 1.
je voudrais alors que dans mon champs nouvellement créé j'entre la valeur 175 ou 1,75 peut importe.
J'espère avoir été assez clair.
Merci d'avance pour vos retours et n'hésitez pas à me poser des questions si un détail vous manque.
Cordialement,
Dernière modification par fnixou (Mon 20 March 2017 12:57)
Hors ligne
#2 Tue 21 March 2017 11:14
- Florent LUQUET
- Participant occasionnel
- Lieu: Vallet
- Date d'inscription: 24 Mar 2016
- Messages: 12
Re: QGIS 2.18: Intersection et isochrones
Bonjour,
Avec PostGIS ou une base spatialite on peut faire ça aisément.
Exemple de syntaxe PostGIS :
Code:
select id_org, sum(surf_overlap) as surf_overlap_tot, sum(perc_overlap) as perc_overlap_tot from ( select a.id as id_org, st_area(a.geom) as surf_org, b.id as id_overlap, st_area(st_intersection(a.geom, b.geom)) as surf_overlap, (st_area(st_intersection(a.geom, b.geom))/st_area(a.geom)) * 100 as perc_overlap from public.isochrone a, public.isochrone b where st_intersects(b.geom, a.geom) and a.id <> b.id order by a.id ) qry group by id_org
Sinon en shapefile, il faut d'abord calculer la surface complète de chaque isochrones, puis utiliser la commande "Vecteur / Outils de géotraitements / Union" et faire les calculs de surface de chaque morceaux rapportés à la surface d'origine.
Ensuite, on regroupe par id d'origine grâce à la commande "Traitement / Géotraitements QGIS / Statistiques par catégories".
Bonne continuation.
Hors ligne
#3 Tue 21 March 2017 16:18
- fnixou
- Participant actif
- Date d'inscription: 22 Feb 2017
- Messages: 82
Re: QGIS 2.18: Intersection et isochrones
merci pour le coup de main je vais passer par postgis l'utilisant déjà pour d'autres requêtes .
PS : la requête marche parfaitement il faudra tout de même que je l'améliore un poil pour tenir compte du fait que si une portion d'aire a déjà été partagé entre 2 iso alors le calcul doit en tenir compte je sais pas encore bien comment je vais faire mais je vais bien finir par trouver xD
Hors ligne
#4 Tue 21 March 2017 16:23
- Florent LUQUET
- Participant occasionnel
- Lieu: Vallet
- Date d'inscription: 24 Mar 2016
- Messages: 12
Re: QGIS 2.18: Intersection et isochrones
Effectivement, il y a une petite subtilité... je vais y réfléchir. Bon courage.
Hors ligne
#5 Tue 21 March 2017 16:33
- fnixou
- Participant actif
- Date d'inscription: 22 Feb 2017
- Messages: 82
Re: QGIS 2.18: Intersection et isochrones
merci à toi je ne sais pas si tu as vu l'explication exacte de ce que je souhaitais mais si ce n'est pas le cas elle se trouve ici
Dernière modification par fnixou (Tue 21 March 2017 16:34)
Hors ligne