#1 Wed 08 May 2013 13:57
- aondine
- Juste Inscrit !
- Date d'inscription: 8 May 2013
- Messages: 5
Détection de polygones selon leur forme
Bonjour,
je cherche à détecter des polygones selon des caractéristiques de forme.
Mon objectif est d'identifier les polygones ayant des formes qui s'apparentent soit à un triangle, soit à un rectangle.
Est-il possible de réaliser cela sous ArcGIS 10 et si oui, auriez-vous quelques pistes à me fournir ?
Merci d'avance pour votre aide. :-)
aondine.
ps : pardon d'avance s'il y avait déjà un post sur ce sujet, je n'ai pas su le trouver.
Hors ligne
#2 Thu 09 May 2013 09:39
- supernul
- Participant actif
- Date d'inscription: 31 Jan 2010
- Messages: 103
Re: Détection de polygones selon leur forme
Je ne connais pas d'outil sous la version 10 qui le fasse directement. Mais une petite procédure devrait faire l'affaire :
- convertir les sommets d'entités en points
- ajouter un compteur sur la couche de points
- fusionner la couche de points sur le champ d'id du polygone en sommant le compteur
- définir la valeur d'un nouveau champ en fonction du compteur sommé
- joindre la table de la couche de point sur la couche initiale
Hors ligne
#3 Thu 09 May 2013 12:53
- Kevin Jousseaume
- Participant assidu
- Lieu: Nanterre, région parisienne
- Date d'inscription: 20 Mar 2006
- Messages: 217
Re: Détection de polygones selon leur forme
Bonjour,
Si la technique de la détermination du nombre de vertex est une piste pour vous, je me permettrais d'apporter une petite amélioration à la solution proposée par supernul (pertinente mais un poil compliquée à mettre en oeuvre).
En effet, si vos entités ne sont pas multipartes, il vous suffit d'ajouter un champ numérique puis de calculer le nombre de vertex avec la formule suivante :
Code:
!shape.getpart(0).count!
Comme indiqué ici : http://gis.stackexchange.com/questions/ … r-of-sides
In the attribute table, compute a numeric field with the Python expression
Code:
!shape.getpart(0).count!The triangles will all have values of 4 (three vertices plus a duplicate of the first one to close the polygon). The islands almost surely will have more than 4: select them based on this count and delete them, or (more safely) set the layer's definition to include only 4-vertex polygons.
Kevin
Hors ligne
#4 Thu 09 May 2013 19:16
- aondine
- Juste Inscrit !
- Date d'inscription: 8 May 2013
- Messages: 5
Re: Détection de polygones selon leur forme
Bonjour,
merci beaucoup pour vos réponses. En effet, je ne travaille pas avec des entités multi-parties. Cette technique est très efficace pour identifier les polygones de formes géométriques simples. Grâce à cela, je peux identifier en effet les polygones s'approchant de la forme rectangulaire. Merci !
Cependant, je rencontre toujours des difficultés pour identifier les polygones triangulaires : pour plus de précisions, je travaille sur la couche surface_eau de la bdtopo, et les polygones peuvent avoir de 4 à 7097 vertex. Cela dit, au dessus d'un certain seuil (estimé à 400) il va s'agir de surfaces de cours d'eau que j'ai déjà exclues puisque ce sont les plans d'eau qui m'intéressent.
Auriez vous d'autres pistes pour identifier les polygones s'approchant au plus près des formes triangulaires mais aussi circulaires ?
Merci beaucoup pour votre aide
Dernière modification par aondine (Thu 09 May 2013 20:06)
Hors ligne