ArcGIS Desktop

  • Documentation
  • Support

  • My Profile
  • Aide
  • Sign Out
ArcGIS Desktop

ArcGIS Online

La plateforme cartographique de votre organisation

ArcGIS Desktop

Un SIG professionnel complet

ArcGIS Enterprise

SIG dans votre entreprise

ArcGIS for Developers

Outils de création d'applications de localisation

ArcGIS Solutions

Modèles d'applications et de cartes gratuits pour votre secteur d'activité

ArcGIS Marketplace

Téléchargez des applications et des données pour votre organisation.

  • Documentation
  • Support
Esri
  • Se connecter
user
  • Mon profil
  • Déconnexion

ArcMap

  • Accueil
  • Commencer
  • Carte
  • Analyser
  • Gérer les données
  • Outils
  • Extensions

Lisser un polygone

  • Résumé
  • Illustration
  • Utilisation
  • Syntaxe
  • Exemple de code
  • Environnements
  • Informations de licence

Résumé

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

  • Vous avez le choix entre deux méthodes de lissage :

    • La méthode PAEK (Polynomial Approximation with Exponential Kernel, approximation polynomiale avec noyau exponentiel) lisse des polygones selon une tolérance de lissage. Chaque polygone lissé peut avoir davantage de sommets que son polygone source. Le paramètre Tolérance de lissage contrôle la longueur d'un chemin "mobile" qui sert à calculer les nouveaux sommets. Plus la longueur est courte, plus le niveau de détail est préservé et plus le temps de traitement est long.
    • La méthode Interpolation de Bézier (BEZIER_INTERPOLATION dans Python) lisse les polygones sans faire appel à une tolérance. Elle crée des courbes de Bézier qui correspondent aux lignes en entrée. Si la sortie est un fichier de formes, les courbes de Bézier seront approximatives, car les vraies courbes de Bézier ne peuvent pas être stockées dans des fichiers de formes.
  • Le lissage peut introduire des erreurs topologiques, telles que des contours de polygone qui se croisent. Utilisez l'option Signaler les erreurs (FLAG_ERRORS dans Python) du paramètre Détecter les erreurs topologiques pour identifier ces erreurs. Deux champs seront ajoutés, InPoly_FID et SmoPlyFlag, dans lesquels seront indiqués les identifiants d'entité et les erreurs topologiques. La valeur 1 dans le champ SmoPlyFlag indique une erreur topologique ; la valeur 0 (zéro) indique l'absence d'erreur. Le champ InPoly_FID relie les polygones en sortie à leurs polygones en entrée. L'option Signaler les erreurs ne peut pas être utilisée dans une session de mise à jour.

  • Il se peut qu'une géométrie non valide (qui s'entrecoupe) soit créée pendant le processus de lissage. Celle-ci sera réparée, mais non améliorée. Par exemple, si un polygone s'entrecoupe, il sera transformé en polygone multi-parties, mais apparaîtra toujours comme s'entrecoupant.

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.

  • PAEK —Acronyme 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_INTERPOLATION —Ajuste 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, l'unité de l'entité est spécifiée. Si vous utilisez l'algorithme de lissage BEZIER_INTERPOLATION, vous devez entrer 0 comme espace réservé.

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_ENDPOINT —L'extrémité d'une boucle de polygone isolée est conservée. Il s'agit de l'option par défaut.
  • NO_FIXED —Procè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_CHECK —Les erreurs topologiques ne sont pas détectées. Il s'agit de l'option par défaut.
  • FLAG_ERRORS —Les 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 suivant montre comment utiliser l'outil SmoothPolygon en mode immédiat.

import arcpy
import arcpy.cartography as CA
arcpy.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 suivant illustre l'utilisation de l'outil SmoothPolygon.

# Name: SmoothPolygon_Example2.py
# Description: Eliminate small islands before simplifying and smoothing lake boundaries
 
# Import system modules
import arcpy
import arcpy.cartography as CA
import arcpy.management as DM
 
# Set environment settings
arcpy.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

  • Espace de travail courant
  • Valeur Z en sortie par défaut
  • Domaine M en sortie
  • Domaine XY en sortie
  • Système de coordonnées en sortie
  • Etendue
  • Valeurs M en sortie
  • Valeurs Z en sortie
  • Espace de travail temporaire
  • Tolérance XY

Informations de licence

  • ArcGIS Desktop Basic: Non
  • ArcGIS Desktop Standard: Oui
  • ArcGIS Desktop Advanced: Oui

Rubriques connexes

  • Vue d'ensemble du jeu d'outils Généralisation
  • Comprendre la résolution des conflits et leur généralisation
  • Automatisation de la résolution des conflits et des workflows de généralisation avec le géotraitement
  • Lisser des lignes
  • Simplifier un polygone

ArcGIS Desktop

  • Accueil
  • Documentation
  • Support

ArcGIS Platform

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

A propos d'Esri

  • A propos de la société
  • Carrières
  • Blog des initiés
  • Conférence des utilisateurs
  • Sommet des développeurs
Esri
Donnez-nous votre avis.
Copyright © 2018 Esri. | Confidentialité | Légal