Résumé
Simplifie les entités en entrée à l'aide de la tolérance de décalage maximal spécifiée. Les entités en sortie contiennent un sous-ensemble des sommets en entrée d'origine.
Illustration
Utilisation
Cet outil fait appel au même algorithme que la méthode de suppression de points (l'algorithme de simplification de Douglas-Peucker) de l'outil Simplifier des lignes. L'outil Simplifier des lignes offre davantage de paramètres et crée une nouvelle sortie, tandis que cet outil modifie la classe d'entités en entrée.
Cet outil généralise les entités, enregistrement par enregistrement. Les sections de ligne et les limites de polygone qui étaient coïncidentes entre les entités peuvent ne plus l'être après l'exécution de l'outil.
Les segments de courbe de Bézier, d'arc circulaire et d'arc elliptique sont convertis en un ensemble de segments de ligne droite.
Cet outil ne supprime pas les enregistrements ou les entités. Si la tolérance est plus importante en taille qu'un polygone, le polygone est réduit en trois sommets.
Syntaxe
Generalize_edit (in_features, {tolerance})
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 maximal autorisé, qui détermine le degré de simplification. Cette valeur limite la distance à laquelle la géométrie en sortie peut différer de la géométrie en entrée. Vous pouvez spécifier une unité de mesure préférée. Par défaut, il s'agit de 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 suivant illustre l'utilisation de la fonction Généraliser en mode immédiat :
import arcpy
arcpy.env.workspace = "C:\data\data.gdb"
arcpy.Generalize_edit("zones", "10 Feet")
2e exemple d'utilisation de la fonction Généraliser (script autonome)
Le script autonome ci-dessous est un exemple d'utilisation de la fonction Généraliser dans un workflow où 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
#Import script modules
import arcpy
try:
#Set the workspace
arcpy.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 as err:
print(err)
Environnements
Informations de licence
- ArcGIS Desktop Basic: Non
- ArcGIS Desktop Standard: Oui
- ArcGIS Desktop Advanced: Oui