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

La ligne est simplifiée dans la limite du décalage maximum autorisé
La ligne est simplifiée dans la limite du décalage maximum autorisé

Utilisation

Syntaxe

Generalize_edit (in_features, {tolerance})
ParamètreExplicationType 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

Exemple d'utilisation de l'outil Généraliser (fenêtre Python)

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")
Exemple d'utilisation de l'outil Généraliser 2 (script autonome)

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    

Environnements

Rubriques connexes


7/10/2012