Densifier (Mise à jour)
Récapitulatif
Insère des sommets le long d'entités ligne ou polygone. Remplace également les segments de courbe (Bézier, arcs circulaires, arcs elliptiques) par des segments de ligne densifiés.
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éviation 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.
-
Tous les segments des entités en sortie ont des sommets figurant sur les entités en entrée d'origine. Les extrémités de début et de fin de chaque segment sont toujours respectées et restent identiques.
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éviation maximal.
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 |
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. | Linear unit |
max_deviation (Facultatif) |
Distance maximale entre la géométrie en sortie et la géométrie en entrée. Ce paramètre concerne spécifiquement la simplification de courbes. La valeur par défaut est la valeur utilisée pour la conversion de classes d'entités en fichiers de formes. | Linear unit |
max_angle (Facultatif) |
Angle maximal entre la géométrie en sortie et la géométrie en entrée. Ce paramètre concerne spécifiquement la simplification de courbes. L'angle d'entrée peut être compris entre 0 et 90 degrés. La valeur par défaut est la valeur utilisée pour la conversion de classes d'entités en fichiers de formes. | Double |
Exemple de code
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/data.gdb/lines", "ANGLE","", "", "0.75")
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 # Author: ESRI # 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 climate = "climate.shp" climateBackup = "C:/output/Output.gdb/climateBackup" arcpy.CopyFeatures_management(climate, 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, "DISTANCE", "10 Feet") # Snap climate regions feature class to vegetation layer vertices and edge veg = "Habitat_Analysis.gdb/vegtype" # first, snap climate region vertices to the nearest vegetation layer vertex within 30 Feet snapEnv1 = [veg, "VERTEX", "30 Feet"] # second, snap climate region vertices to the nearest vegetation layer edge within 20 Feet snapEnv2 = [veg, "EDGE", "20 Feet"] arcpy.Snap_edit(climate, [snapEnv1, snapEnv2])