Simplifier un polygone (Cartographie)

Récapitulatif

Simplifie des polygones en supprimant les courbes superflues, tout en conservant la forme globale.

Illustration

Simplification de polygone

Utilisation

Syntaxe

SimplifyPolygon_cartography (in_features, out_feature_class, algorithm, tolerance, {minimum_area}, {error_option}, {collapsed_point_option})
ParamètreExplicationType de données
in_features

Entités surfaciques à simplifier.

Feature Layer
out_feature_class

Classe d'entités surfaciques en sortie à créer.

Feature Class
algorithm

Spécifie l'algorithme de simplification des polygones à utiliser.

  • POINT_REMOVEConserve les points critiques qui décrivent la forme globale d'un polygone et supprime tous les autres points. Il s'agit de l'option par défaut.
  • BEND_SIMPLIFYConserve la forme globale d'un polygone et supprime les courbes superflues de son contour.
String
tolerance

Tolérance qui détermine le degré de simplification. Une tolérance supérieure à zéro doit être spécifiée. Vous pouvez choisir une unité préférée. Par défaut, l'unité de l'entité est spécifiée.

  • Pour l'algorithme POINT_REMOVE, la tolérance que vous spécifiez correspond au décalage maximum autorisé.
  • Pour l'algorithme BEND_SIMPLIFY, la tolérance que vous spécifiez correspond à la longueur de la ligne de référence de la courbe.
Linear unit
minimum_area
(Facultatif)

Définit la superficie minimale pour qu'un polygone simplifié soit conservé. La valeur par défaut est de zéro, auquel cas tous les polygones sont conservés. Vous pouvez choisir une unité préférée pour la valeur spécifiée. Par défaut, il s'agit de l'unité des entités.

Areal unit
error_option
(Facultatif)

Précise la manière de traiter les erreurs topologiques (qui ont pu s'introduire au cours du processus, notamment les croisements de lignes, les superpositions de lignes et les lignes de longueur nulle éliminées).

  • NO_CHECKLes erreurs topologiques ne sont pas détectées. Il s'agit de l'option par défaut.
  • FLAG_ERRORSLes erreurs topologiques seront signalées par des balises, le cas échéant.
  • RESOLVE_ERRORSIndique de résoudre les erreurs topologiques, le cas échéant.
String
collapsed_point_option
(Facultatif)

Spécifie s'il faut conserver les polygones de surface nulle éliminés en tant que points s'il en existe dans le processus. Cette option s'applique uniquement lorsque NO_CHECK ou FLAG_ERRORS est spécifié.

  • KEEP_COLLAPSED_POINTSIndique de conserver les polygones de surface nulle éliminés en tant que points. Les extrémités des contours de polygones éliminés sont stockées dans une classe d'entités ponctuelles à l'emplacement de la classe d'entités en sortie. Celle-ci prend le nom de la classe d'entités en sortie auquel est ajouté le suffixe _Pnt. Il s'agit de l'option par défaut.
  • NO_KEEPSpécifie de ne pas conserver les polygones de surface nulle éliminés en tant que points s'il en existe dans le processus. Par conséquent, la classe d'entités ponctuelles sera vide.
Boolean

Exemple de code

Exemple d'utilisation de l'outil SimplifyPolygon (fenêtre Python)

Le script de fenêtre Python ci-dessous illustre l'utilisation de l'outil SimplifyPolygon en mode immédiat.

import arcpy
from arcpy import env
import arcpy.cartography as CA
env.workspace = "C:/data"
CA.SimplifyPolygon("soils.shp", "C:/output/output.gdb/simplified_soils", "POINT_REMOVE", 100)
Exemple 2 d'utilisation de l'outil SimplifyPolygon (script autonome)

Le script autonome ci-dessous explique comment utiliser l'outil SimplifyPolygon.

# Name: SimplifyPolygon_Example2.py
# Description: Eliminate small islands before simplifying and smoothing lake boundaries
# Author: ESRI
 
# Import system modules
import arcpy
from arcpy import env
import arcpy.management as DM
import arcpy.cartography as CA
 
# Set environment settings
env.workspace = "C:/data/Portland.gdb/Hydrography"
 
# Set local variables
inLakeFeatures = "lakes"
eliminatedFeatures = "C:/data/PortlandOutput.gdb/lakes_eliminated"
simplifiedFeatures = "C:/data/PortlandOutput.gdb/lakes_simplified"
smoothedFeatures = "C:/data/PortlandOutput.gdb/lakes_smoothed"

# Eliminate small islands in lake polygons.
DM.EliminatePolygonPart(inLakeFeatures, eliminatedFeatures, 100, "OR", 0, "CONTAINED_ONLY")
 
# Simplify lake polygons.
CA.SimplifyPolygon(eliminatedFeatures, simplifiedFeatures, "POINT_REMOVE", 50, 200, "RESOLVE_ERRORS", "KEEP_COLLAPSED_POINTS", "CHECK")
 
# Smooth lake polygons.
CA.SmoothPolygon(simplifiedFeatures, smoothedFeatures, "PAEK", 100, "FLAG_ERRORS")
 

Environnements

Rubriques connexes

Informations de licence

ArcView : Non
ArcEditor : Obligatoire V
ArcInfo : Obligatoire V

7/10/2012