Généraliser (Mise à jour)
Récapitulatif
Simplifie les entités en entrée à l'aide de l'algorithme de simplification de Douglas-Peucker avec une tolérance de décalage maximale spécifiée. Les entités en sortie contiennent un sous-ensemble des sommets en entrée d'origine.
Illustration
Utilisation
-
Cet outil utilise le même algorithme que la méthode de suppression de points de l'outil Simplifier des lignes. L'outil Simplifier des lignes présente plus de paramètres et crée une sortie, contrairement à cet outil qui modifie la classe d'entités en entrée.
-
Cet outil généralise les entités enregistrement par enregistrement. Les sections de lignes et les limites de polygones qui coïncidaient entre les entités peuvent ne plus coïncider après l'exécution de l'outil.
-
Les segments de courbe de Bézier, d'arc circulaire, d'arc elliptique, sont convertis en un ensemble de segments de ligne droite.
Cet outil ne supprime pas les enregistrements ni les entités. Si la tolérance est supérieure à celle d'un polygone, celui-ci est réduit à trois sommets.
Cet outil modifie les données en entrée. Reportez-vous à la rubrique Outils sans sortie pour obtenir plus d'informations, ainsi que des stratégies pour éviter les mouvements de données indésirables.
Syntaxe
Paramètre | Explication | Type de données |
in_features |
Entités surfaciques ou linéaires à généraliser. | Feature Layer |
tolerance (Facultatif) |
La tolérance définit le décalage maximum autorisé, permettant de déterminer le degré de simplification. Cette valeur limite la distance de différence entre la géométrie en sortie et la géométrie en entrée. Vous pouvez spécifier une unité de mesure préférée. La valeur par défaut est l'unité de l'entité. | Linear unit |
Exemple de code
Le script de fenêtre Python ci-dessous illustre l'utilisation de la fonction Généraliser en mode immédiat :
import arcpy
from arcpy import env
env.workspace = "C:\data\data.gdb"
arcpy.Generalize_edit("zones", "10 Feet")
Le script autonome ci-dessous présente un exemple d'utilisation de la fonction Généraliser dans un workflow dans lequel les entités sont d'abord simplifiées, puis bufférisées :
#Name: BufferZones.py
#Purpose: Simplify features using the Generalize tool and then Buffer them
#Author: ESRI
#Import script modules
import arcpy
from arcpy import env
try:
#Set the workspace
env.workspace = "C:/data/data.gdb"
#Set local parameters
inFeatures = "zones"
gTolerance = "4 Feet"
copFeatures = "zones_cp"
bufDist = "50 Miles"
bufOutput = "zones_buff"
#Since Generalize permanently updates the input, first make a copy of the original FC
arcpy.CopyFeatures_management (inFeatures, copFeatures)
#Use the Generalize tool to simplify the Buffer input to shorten Buffer processing time
arcpy.Generalize_edit(copFeatures, gTolerance)
#Buffer the output
arcpy.Buffer_analysis(copFeatures, bufOutput, bufDist, "", "", "", "")
except Exception, e:
# If an error occurred, print line number and error message
import traceback, sys
tb = sys.exc_info()[2]
print "Line %i" % tb.tb_lineno
print e.message