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.
Attention :
Cet outil modifie les données en entrée. Pour plus d’informations et connaître les stratégies permettant d’empêcher les modifications de données indésirables, reportez-vous à la rubrique Outils qui modifient ou mettent à jour les données en entrée.
Syntaxe
arcpy.edit.Generalize(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 |
Sortie dérivée
Nom | Explication | Type de données |
out_feature_class | Entités en entrée mises à jour. | Classe d’entités |
Exemple de code
Le script de fenêtre Python ci-dessous illustre l’utilisation de la fonction Generalize en mode immédiat :
import arcpy
arcpy.env.workspace = "C:\data\data.gdb"
arcpy.Generalize_edit("zones", "10 Feet")
Le script autonome ci-dessous est un exemple d’utilisation de la fonction Generalize dans un processus 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
# 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 feature class
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)
Environnements
Informations de licence
- Basic: Non
- Standard: Oui
- Advanced: Oui
Rubriques connexes
Vous avez un commentaire à formuler concernant cette rubrique ?