Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
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é ?

#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

 

Pied de page des forums

Powered by FluxBB