ArcGIS for Desktop

  • Documentation
  • Tarification
  • Support

  • My Profile
  • Aide
  • Sign Out
ArcGIS for Desktop

ArcGIS Online

La plateforme cartographique de votre organisation

ArcGIS for Desktop

Un SIG professionnel complet

ArcGIS for Server

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
  • Tarification
  • Support
Esri
  • Se connecter
user
  • Mon profil
  • Déconnexion

Aide

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

Lisser un polygone

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

Récapitulatif

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

Illustration

Illustration 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é en entrée 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.

    Remarque :

    ArcGIS Pro permet de définir ces paramètres à tout moment, même si la mise à jour est toujours possible.

  • 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 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_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 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
 
# 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

  • 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 for Desktop Basic: Annuler
  • ArcGIS for Desktop Standard: Oui
  • ArcGIS for Desktop Advanced: Oui

Thèmes connexes

  • Vue d'ensemble du jeu d'outils Généralisation
  • Présentation de la résolution des conflits et de la 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
Vous avez un commentaire à formuler concernant cette rubrique ?

ArcGIS for Desktop

  • Accueil
  • Documentation
  • Tarification
  • Support

ArcGIS Platform

  • ArcGIS Online
  • ArcGIS for Desktop
  • ArcGIS for Server
  • 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
© Copyright 2016 Environmental Systems Research Institute, Inc. | Confidentialité | Légal