Comment supprimer les pics dans les polygones avec ArcGIS 10 / Python?

8

Dans l'image ci-dessous, vous pouvez voir une couche de polygones, représentant des pentes abruptes, extraite d'un TIN. Les polygones contiennent beaucoup de pointes. Je voudrais supprimer ces pointes pendant que le reste des frontières reste exactement au même endroit. Je voudrais le faire dans un script Python, en utilisant des fonctions arcpy ou Python.

Pour plus d'informations: ArcGIS 10.0, Python 2.6.5, la couche de polygones est dans un GDB

image

Vincent Udo
la source
3
Je ne suis pas sûr que vous allez trouver une méthode automatisée pour réparer vos pointes. Le problème est, comment distinguez-vous les angles vifs à l'intérieur des polygones par rapport à l'extérieur? Ou comment dites-vous à votre logiciel ce qu'est un pic vs un non-pic? Et comme vous ne voulez pas que le reste du polygone se déplace / change, cela limite les outils qui fonctionneront. C'est difficile.
Baltok
Avec quelle étendue spatiale travaillez-vous? Seriez-vous prêt à modifier manuellement vos données vectorielles (si possible)?
Aaron
1
Si vous pouvez accéder à FME, l' outil SpikeRemover peut faire ce que vous recherchez. Pas vraiment la solution que vous avez demandée, mais ce serait rapide.
Fezter
@Baltok merci pour votre réponse. Rien n'est impossible n'est-ce pas ?;) Je suis d'accord pour dire que c'est difficile ...
Vincent Udo
@Aaron L'étendue spatiale est trop grande pour le faire à la main. Je dois le faire pour une grande partie des Pays-Bas.
Vincent Udo

Réponses:

2

Je suggère de jouer avec l' outil Simplifier le polygone (en premier) ou l' outil Lisser le polygone (en second), pour voir dans quelle mesure ils répondent à votre exigence que "le reste de la frontière reste exactement au même endroit".

andytilia
la source
Merci d'avoir répondu! Malheureusement, à la fois simplifier et lisser ne donnent pas le résultat que je recherche.
Vincent Udo
Salut Vincent - pouvez-vous donner plus d'informations sur la façon dont le résultat s'écarte de votre exigence? Cela pourrait nous aider à déterminer si certains ajustements de paramètres pourraient donner une sortie acceptable, ou si une solution différente serait mieux.
andytilia
Je dois utiliser les polygones pour sélectionner les lignes qui se trouvent sur les bordures des polygones, mais je ne veux pas sélectionner les lignes coupant les pointes. Simplifier et lisser modifient les bordures, ce qui rend impossible la sélection des bonnes lignes. Les lignes sont utilisées pour construire le TIN, elles se trouvent donc exactement au même endroit que les bordures du polygone.
Vincent Udo
0

D'après votre image, je peux dire que cette approche vous aidera.

La procédure est simple

  1. Commencez par tamponner le calque d'origine avec une distance raisonnable.

  2. Ensuite, effectuez un tampon inverse avec la même distance sur le résultat de la première étape.

  3. Après ce clip, vous créez le calque d'origine avec le résultat de l'étape 2.

vous devrez peut-être effectuer une simplification sur votre dernière couche.

j'espère que cela vous aidera.

iRfAn
la source
Merci pour votre réponse. Malheureusement, cette méthode n'a pas le résultat que je recherche. Il comble les écarts entre les pointes et les pentes. Je voudrais trouver un moyen de supprimer les pointes en supprimant le sommet de la pointe de la pointe.
Vincent Udo