Lisser un polygone (Cartographie)

Récapitulatif

Lisse des angles vifs en contours de polygone pour améliorer la qualité esthétique ou cartographique.

Illustration

Illustration de l'utilisation de l'outil Lisser un polygone

Utilisation

Syntaxe

SmoothPolygon_cartography (in_features, out_feature_class, algorithm, tolerance, {endpoint_option}, {error_option})
ParamètreExplicationType de données
in_features

Entités surfaciques à lisser.

Feature Layer
out_feature_class

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

Feature Class
algorithm

Spécifie l'algorithme de lissage.

  • PAEKAcronyme de Polynomial Approximation with Exponential Kernel, approximation polynomiale avec noyau exponentiel. Calcule un polygone lissé qui ne passe pas par les sommets du polygone en entrée. Il s'agit de l'option par défaut.
  • BEZIER_INTERPOLATIONAjuste les courbes de Bézier entre les sommets. Le polygone obtenu passe par les sommets des polygones en entrée. Cet algorithme ne requiert pas de tolérance. Le fichier de formes en sortie contient des courbes de Bézier approximatives.
String
tolerance

Définit la tolérance utilisée par l'algorithme PAEK. Une tolérance supérieure à zéro doit être spécifiée. Vous pouvez spécifier une unité préférée. Par défaut, il s'agit de l'unité de l'entité. Si vous utilisez l'algorithme de lissage BEZIER_INTERPOLATION, vous devez entrer un 0 comme valeur de remplissage.

Linear unit
endpoint_option
(Facultatif)

Spécifie s'il faut conserver ou non les extrémités des boucles de polygone isolées. Cette option est valide uniquement avec l'algorithme PAEK.

  • FIXED_ENDPOINTL'extrémité d'une boucle de polygone isolée est conservée. Il s'agit de l'option par défaut.
  • NOT_FIXEDProcède à un lissage via l'extrémité d'une boucle de polygone isolée.
Boolean
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 et les superpositions de lignes).

  • 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 indicateurs, le cas échéant.
String

Exemple de code

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

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

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

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

# Name: SmoothPolygon_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.cartography as CA
import arcpy.management as DM
 
# 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