#1 Thu 10 March 2016 14:39
- tp13
- Participant occasionnel
- Date d'inscription: 15 Mar 2013
- Messages: 25
[Arcgis10] Calculer la surface en fonction d'un zonage
Bonjour,
Peu être que mon problème a déjà été cité mais n'arrivant pas vraiment à le formuler en mots clés, j'ai du mal à le chercher dans le forum.
Je cherche en fait à partir du carroyage INSEE et de l'OccSol Paca, à calculer la surface de chaque occupation du sol de niveau 1 en fonction des carreaux INSEE.
Mon but serait donc, pour chaque carreau INSEE de savoir la surface des zones 1,2,3,4 et 5 qui est contenu dans ceux-ci.
J'ai déjà essayé de faire une intersection sauf que ça me crée par carreaux, autant de polygones que de type d'occsol qui sont présents (mes carreaux sont donc parfois coupé en 5 lorsque les 5 types d'occsol sont présents).
Je voudrais donc que les surfaces des types d'occsol soient intégrées à mes carreaux sans que ça altère le découpage de ceux-ci.
Ex :
Carreaux | Surf_urba | Surf_agri | .....
Carreau 1 | ............ | ....... | ....
Carreau 2 | .............. | ....... |.....
En vous remerciant d'avance.
Hors ligne
#2 Thu 10 March 2016 14:54
Re: [Arcgis10] Calculer la surface en fonction d'un zonage
Bonjour,
Sans découpage, vous pouvez Tabuler l'intersection puis joindre cette table résultat à votre table de découpage d'origine.
http://pro.arcgis.com/fr/pro-app/tool-r … ection.htm
Seulement en licence "Advanced"
Sinon, suite à votre intersection vous pouvez Fusionner votre couche pour retomber sur vos géométries d'origine.
http://pro.arcgis.com/fr/pro-app/tool-r … ssolve.htm
Martin
Hors ligne
#3 Thu 10 March 2016 15:11
- tp13
- Participant occasionnel
- Date d'inscription: 15 Mar 2013
- Messages: 25
Re: [Arcgis10] Calculer la surface en fonction d'un zonage
Le problème est que si je fusionne ma couche intersectée, je vais effectivement retomber sur mes carreaux INSEE d'origine, mais je n'aurais pas pour autant accès à la superficie de chaque occupation du sol contenu dans ceux-ci non ?
Ce qu'il faudrait c'est que les données de surface de chaque polygone composant mes carreaux après intersection, deviennent des champs en table attributaire comme je l'ai illustré au dessus. Or je n'ai pas l'impression que ce soit une option possible lors de la fusion.
Hors ligne
#4 Wed 06 April 2016 15:30
- tp13
- Participant occasionnel
- Date d'inscription: 15 Mar 2013
- Messages: 25
Re: [Arcgis10] Calculer la surface en fonction d'un zonage
N'ayant toujours pas trouvé de solution satisfaisante, je me permet de remonter le message.
Pour le moment, ma solution consiste à tout faire à la main sur excel après l'exportation de la table attributaire d'ArcGis. Dans l'exemple ci-dessous mes entités sont des communes, donc c'est encore faisable sans perdre trop trop de temps. Quand je vais devoir passer aux carreaux INSEE comme indiqué dans mon premier post, ça sera tout simplement impossible à gérer (j'ai environ 30 000 carreaux sur ma zone d'étude !).
[img]http://img15.hostingpics.net/thumbs/mini_244104Exemple.jpg[/img]
Ce qui serait idéal c'est que dans Arcgis, je puisse avoir pour chaque entité (ici mes communes) dans la table attributaire, la surface allouée à chaque utilisation des sols plutôt que d'avoir 1 polygone par classe CLC et par commune.
Dernière modification par tp13 (Wed 06 April 2016 15:33)
Hors ligne
#5 Thu 07 April 2016 09:31
- tp13
- Participant occasionnel
- Date d'inscription: 15 Mar 2013
- Messages: 25
Re: [Arcgis10] Calculer la surface en fonction d'un zonage
J'ai enfin trouvé ma solution miracle. Il s'agit de l'outil Table croisée (Gestion de données -> Table).
J'y insère ma couche intersectée (entre CLC et mes contours communaux dans mon cas)
Dans "champ en entrée", je met la variable par laquelle je veux agréger mes données (dans mon cas le nom des communes puisque je veux 1 ligne = 1 commune)
Dans "champ de croisement", je met la variable que je veux faire passer en colonne (ici mes codes de nv1 de CLC comme indiqué sur l'image en dessous), donc l'outil va créer autant de colonnes qu'il existe de valeur possible pour la variable (donc ici, 5 colonnes).
Enfin, dans "champ de valeur", je met la variable que je veux renseigner dans mes nouvelles colonnes crées, ici le but étant de retrouver la surface en hectare pour chaque code nv1 de CLC. Donc j'indique le champ "surf_ha"
Pour vous donner une idée, voici ce que ça a changé concrètement dans ma table :
[img]http://img15.hostingpics.net/pics/713606Exemple.jpg[/img]
En espérant que ça aidera du monde.
PS : La même manipulation est probablement possible sur Excel grace aux tableaux croisés, mais je ne m'y connais pas suffisamment pour l'affirmer.
Dernière modification par tp13 (Thu 07 April 2016 09:34)
Hors ligne