Simplifier des lignes ou des polygones (Couverture)
Récapitulatif
Simplifie une ligne ou une limite de polygone en supprimant les petites fluctuations ou les courbes superflues de celle-ci, tout en conservant sa forme globale.
Pour en savoir plus sur le fonctionnement de l'outil Simplifier des lignes ou des polygones
Illustration
Utilisation
-
Si la couverture en entrée contient déjà des lignes d'intersection, ou que vous souhaitez obtenir un résultat rapide et que peut vous importe les erreurs topologiques dans la couverture en sortie, utilisez l'option par défaut, ne pas détecter les erreurs topologiques. Les éventuelles erreurs topologiques introduites par le processus ne sont pas détectées, ni corrigées. Si la couverture en entrée contient des lignes d'intersection et que vous sélectionnez l'option Détecter les erreurs topologiques, cette fonction n'aboutira pas à la validation des données d'entrée et le programme se terminera par le message "Intersecting lines are found in in_cover" (Des lignes sécantes ont été détectées dans in_cover.) Le programme est terminé.
-
Si la couverture en entrée ne contient pas de lignes d'intersection, sélectionnez l'option Détecter les erreurs topologiques pour rechercher les erreurs générées par le processus de simplification et les éviter. Si des erreurs topologiques sont détectées, les arcs concernés sont de nouveau généralisés à l'aide de la tolérance réduite. Le résultat obtenu est soumis à la détection des erreurs topologiques. Et ainsi de suite jusqu'à ce que le programme ne détecte aucune erreur. Avec cette option, le temps d'exécution du programme est plus long qu'avec l'option par défaut.
-
A moins qu'il n'y ait aucune table input_coverage.AAT, la table output_coverage.AAT contient un nouvel attribut, TOLFLAG, qui stocke la tolérance en nombres décimaux utilisée pour chaque arc. Si les tolérances sont inférieures à la tolérance de simplification, cela signifie que les arcs ne sont pas suffisamment simplifiés pour éviter des erreurs topologiques.
-
Si la topologie de polygone existe pour la couverture en entrée, elle n'est pas conservée dans la couverture en sortie. La table PAT de la couverture est néanmoins conservée. Il faut utiliser la fonction Construire pour créer une nouvelle topologie de polygone. S'il existe des étiquettes, elles sont conservées. Si, après simplification de la limite, une étiquette se retrouve en dehors de la limite de polygone, elle est replacée à l'intérieur du segment de ligne le plus proche de la limite de polygone.
-
Si la couverture en entrée contient des régions, les régions de la couverture en sortie sont considérées comme des régions préliminaires. Lorsque l'option Construire est utilisée pour créer une nouvelle topologie de polygone, la topologie de région est également recréée.
-
La précision des coordonnées de la couverture en sortie est déterminée par la règle de traitement en cours définie par le paramètre d'environnement précision dérivée. Si la règle de précision n'a pas été définie, le niveau de précision de la couverture en sortie est identique à celui de la couverture en entrée.
Syntaxe
Paramètre | Explication | Type de données |
in_cover |
Couverture contenant des arcs ou des polygones à simplifier. | Coverage |
out_cover |
Couverture à créer. Le nom de la couverture en sortie doit être différent du nom de la couverture en entrée. | Coverage |
simplification_tolerance |
Définition de la tolérance en unités de couverture. La tolérance est obligatoire et doit être supérieure à zéro. | Double |
simplification_operator (Facultatif) |
Définition de l'opérateur de simplification.
| String |
ErrorCheck (Facultatif) |
Précise s'il faut ou non détecter les erreurs topologiques, notamment le croisement et la superposition de lignes, les lignes de longueur nulle, les polygones réduits et les trous situés en dehors des polygones.
| Boolean |
Exemple de code
Le script autonome suivant montre comment simplifier une couverture de lac.
# Name: SimplifyLineOrPolygon_Example.py
# Description: Simplifies a lake coverage
# Requirements: ArcInfo Workstation
# Import system modules
import arcpy
from arcpy import env
# Set environment settings
env.workspace = "C:/data"
# Set local variables
inCover = "lakeshore"
outCover = "C:/output/cartolake"
simplificationTolerance = 110
simplificationOperator = "BEND_SIMPLIFY"
# Execute SimplifyLineOrPolygon
arcpy.SimplifyLineOrPolygon_arc(inCover, outCover, simplificationTolerance,
simplificationOperator, "")