Résumé
Ajoute des sommets le long d'entités linéaires ou surfaciques. Remplace également les segments de courbe (Bézier, arcs circulaires et arcs elliptiques) par des segments de ligne.
Illustration
Utilisation
Les segments de ligne droite sont densifiés en fonction du paramètre Distance. Les segments de courbe sont simplifiés par densification en fonction des paramètres Distance, Angle de déflexion maximal ou Ecart de décalage maximal.
La densification est réalisée segment par segment.
Une seule méthode de densification peut être sélectionnée pour chaque exécution de l'outil Densifier.
La Référence spatiale des données est primordiale pour le résultat généré par cet outil. Les données doivent être densifiées dans un système de coordonnées approprié afin de conserver la forme correcte des entités.
Pour chaque sommet de l'entité d'origine, y compris les points de début et de fin, existe un sommet coïncident dans l'entité résultante.
Lors de la densification en fonction du paramètre Ecart de décalage maximal, si la géométrie en entrée contient des arcs circulaires, une limite supérieure est appliquée au décalage afin de limiter l'angle entre deux segments de ligne consécutifs en sortie à dix degrés au maximum. Cet angle peut être dépassé en cas de densification en fonction du paramètre Angle de déflexion maximal.
Syntaxe
arcpy.edit.Densify(in_features, {densification_method}, {distance}, {max_deviation}, {max_angle})
Paramètre | Explication | Type de données |
in_features | Classe d'entités linéaires ou surfaciques à densifier. | Feature Layer |
densification_method (Facultatif) | Méthode sélectionnée pour gérer la densification d'entité.
| String |
distance (Facultatif) | Distance linéaire maximale entre les sommets. Cette distance est toujours appliquée aux segments de ligne et pour la simplification des courbes. La valeur par défaut est une fonction de la tolérance XY des données. | Linear unit |
max_deviation (Facultatif) | Distance maximale du segment en sortie par rapport à l'original. Ce paramètre concerne uniquement les courbes. La valeur par défaut est une fonction de la tolérance XY des données. | Linear unit |
max_angle (Facultatif) | Angle maximal entre la géométrie en sortie et la géométrie en entrée. La plage valide s'étend de 0 à 90. La valeur par défaut est 10. Ce paramètre concerne seulement les courbes. | Double |
Exemple de code
Exemple 1 d'utilisation de l'outil Densifier (fenêtre Python)
Le script de fenêtre Python ci-dessous illustre l'utilisation de la fonction Densifier en mode immédiat.
import arcpy
arcpy.Densify_edit("C:/data.gdb/lines", "ANGLE","", "", "0.75")
Exemple 2 d'utilisation de l'outil Densifier (script autonome)
Le script autonome ci-dessous présente la fonction Densifier dans le cadre d'un workflow qui utilise également l'outil de mise à jour Aligner.
# Name: Snap.py
# Description: Snap climate regions boundary to vegetation layer
# boundary to ensure common boundary is coincident
# import system modules
#
import arcpy
# Set environment settings
#
arcpy.env.workspace = "C:/data"
# Make backup copy of climate regions feature class,
# since modification with the Editing tools below is permanent
#
climateBackup = "backups/climate.shp"
arcpy.CopyFeatures_management('climate.shp', climateBackup)
# Densify climate regions feature class to make sure there are enough
#vertices to match detail of vegetation layer when layers are snapped
#
arcpy.Densify_edit('climate.shp', "DISTANCE", "10 Feet")
# Snap climate regions feature class to vegetation layer vertices and edge
# first, snap climate region vertices to the nearest vegetation vertex within 30 Feet
# second, snap climate region vertices to the nearest vegetation edge within 20 Feet
#
snapEnv1 = ["Habitat_Analysis.gdb/vegtype", "VERTEX", "30 Feet"]
snapEnv2 = ["Habitat_Analysis.gdb/vegtype", "EDGE", "20 Feet"]
arcpy.Snap_edit('climate.shp', [snapEnv1, snapEnv2])
Environnements
Informations de licence
- Basic: Non
- Standard: Oui
- Advanced: Oui