Résumé
Simplifie les entités linéaires et surfaciques en remplaçant les segments ou les tronçons de ligne consécutifs par un nombre inférieur de segments ou de tronçons. Les segments de ligne et les tronçons de polygone sont simplifiés en fonction d’un décalage maximal autorisé. En outre, des arcs circulaires peuvent être créés à partir des segments de ligne ou des tronçons de polygone consécutifs.
Illustration
Utilisation
Cet outil peut servir à simplifier la géométrie des entités linéaires et surfaciques qui ont accumulé les sommets indésirables ou les segments courts suite à diverses conversions de données et processus. Les séquences de segments ou de tronçons non linéaires peuvent être remplacées par des lignes droites à deux points et une série de segments ou de tronçons représentant des arcs peut être remplacée par des courbes vraies. Cet outil évalue et remplace plusieurs segments ou tronçons par des lignes droites et des arcs circulaires qui s’ajustent dans un décalage maximal autorisé spécifié.
Les entités en entrée peuvent être des polygones ou des lignes. La ligne en sortie ou le tronçon de polygone contient un sous-ensemble de ses sommets d’origine. Aucun nouveau sommet n’est introduit et aucune entité n’est supprimée.
Les courbes paramétriques existantes, comme les courbes de Bézier, les segments d’arc circulaire et elliptique, ne sont pas modifiées.
Remarque :
Si les entités en entrée sont stockées dans un shapefile, les arcs circulaires dans les entités en sortie restent une série densément peuplée de petits segments droits. Les fichiers de formes ne prennent pas en charge les courbes vraies. Pour dériver des courbes vraies, exportez le fichier de formes dans une classe d’entités.
Utilisez le paramètre Create circular arcs (Créer des arcs circulaires) pour générer des courbes vraies en plus des lignes droites. Les cinq paramètres en option, Maximum Arc Angle Step (Pas d’angle d’arc maximal), Minimum Number Of Vertices (Nombre minimal de sommets), Minimum Radius (Rayon minimum), Maximum Radius (Rayon maximum) et Minimum Arc Angle (Angle d’arc minimum), contrôlent que la circularité des arcs est ajustée aux segments ou tronçons.
- Maximum Arc Angle Step (Pas d’angle d’arc maximal) est l’angle d’arc maximal utilisable pour construire des arcs circulaires. L’angle d’arc est l’angle central de la courbe candidate (la courbe en cours de construction). Le pas d'angle d'arc maximal définit la limite haute de la largeur possible du champ de recherche de l'angle central pour localiser les sommets de construction des courbes circulaires. S'il y a plus d'un sommet dans chaque pas d'angle d'arc maximum, ces sommets sont considérés comme adaptés à un arc circulaire. Utilisez un pas d'arc plus petit pour ajuster les arcs circulaires aux segments denses et éviter l'excès d'ajustement des arcs circulaires aux segments larges. Utilisez un pas d'arc plus grand pour ajuster les arcs circulaires aux segments éparses. La plage de valeurs valide est comprise entre 2 et 95 degrés décimaux. La valeur par défaut est de 20 degrés décimaux.
Le graphique ci-dessous se base sur un segment ayant un angle central à 90 degrés pour l'ajustement d'un arc circulaire. Si un pas d’angle d’arc maximal de 89° est spécifié, le segment est ignoré et la sortie se compose d’une courbe et d’une ligne droite (diagramme central). Si c'est 91 degrés, le segment sert à construire l'arc circulaire, et la sortie se compose d'une courbe simple (diagramme d'extrémité).
Remarque :
Le paramètre Maximum Arc Angle Step (Pas d’angle d’arc maximal) n’est pas disponible si l’option Fit to segments (Ajuster aux segments) est sélectionnée pour le paramètre Fitting Type (Type d’ajustement).
- Maximum Arc Angle Step (Pas d’angle d’arc maximal) est l’angle d’arc maximal utilisable pour construire des arcs circulaires. L’angle d’arc est l’angle central de la courbe candidate (la courbe en cours de construction). Le pas d'angle d'arc maximal définit la limite haute de la largeur possible du champ de recherche de l'angle central pour localiser les sommets de construction des courbes circulaires. S'il y a plus d'un sommet dans chaque pas d'angle d'arc maximum, ces sommets sont considérés comme adaptés à un arc circulaire. Utilisez un pas d'arc plus petit pour ajuster les arcs circulaires aux segments denses et éviter l'excès d'ajustement des arcs circulaires aux segments larges. Utilisez un pas d'arc plus grand pour ajuster les arcs circulaires aux segments éparses. La plage de valeurs valide est comprise entre 2 et 95 degrés décimaux. La valeur par défaut est de 20 degrés décimaux.
Sélectionnez le paramètre Preserve endpoints for closed line (Conserver les extrémités de la ligne fermée) pour conserver les extrémités d’une ligne dotée de points finaux coïncidents (boucle). Si le paramètre Preserve endpoints for closed line (Conserver les extrémités de la ligne fermée) n’est pas sélectionné, les extrémités peuvent être déplacées ou supprimées.
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.SimplifyByStraightLinesAndCircularArcs(in_features, max_offset, {fitting_type}, {circular_arcs}, {max_arc_angle_step}, {min_vertex_count}, {min_radius}, {max_radius}, {min_arc_angle}, {closed_ends}, {anchor_points})
Paramètre | Explication | Type de données |
in_features [in_features,...] | Entités à simplifier. Les entités être des lignes ou des polygones. Si plusieurs entrées sont utilisées, les entités doivent avoir la même référence spatiale. | Feature Layer |
max_offset | Distance maximale selon laquelle les tronçons de l’entité en sortie peuvent dévier des formes de l’entité en entrée. Lorsque l’option Fit to vertices (Ajuster aux sommets) est sélectionnée pour le paramètre Fitting Type (Type d’ajustement), la distance est mesurée entre les sommets en entrée et les tronçons de l’entité en sortie. Lorsque l’option Fit to segments (Ajuster aux segments) est sélectionnée, la distance est mesurée entre les tronçons de l’entité en entrée et ceux de l’entité en sortie. | Linear Unit |
fitting_type (Facultatif) | Indique comment les tronçons de l’entité en entrée et les arcs circulaires seront ajustés aux formes de l’entité en entrée. Si l’option Fit to segments (Ajuster aux segments) est sélectionnée, les paramètres Maximum Arc Angle Step (Pas d’angle d’arc maximal) et Minimum Number Of Vertices (Nombre minimal de sommets) ne sont pas disponibles.
| String |
circular_arcs (Facultatif) | Spécifie si des arcs circulaires seront créés.
| Boolean |
max_arc_angle_step (Facultatif) | Pas d’angle d’arc maximal (degrés décimaux) qui servira à construire des arcs circulaires. L’angle d’arc définit la largeur possible du champ visuel, pour chaque étape, lors de la localisation de sommets pour construire des courbes circulaires. L’angle d’arc est l’angle central de la courbe candidate (la courbe en cours de construction). Si des sommets se trouvent dans chaque pas d’angle d’arc maximal, un arc circulaire est construit. Par exemple, si les sommets et les tronçons sont rares, utilisez un pas d’angle d’arc important. La plage de valeurs valide est comprise entre 2 et 95 degrés décimaux. La valeur par défaut est de 20 degrés décimaux. Ce paramètre n’est pas disponible si l’option Fit to segments (Ajuster aux segments) est sélectionnée pour le paramètre Fitting Type (Type d’ajustement). | Double |
min_vertex_count (Facultatif) | Nombre minimal de sommets requis pour créer un arc circulaire. La valeur doit être supérieure à 3. La valeur par défaut est 4. Ce paramètre n’est pas disponible si l’option Fit to segments (Ajuster aux segments) est sélectionnée pour le paramètre Fitting Type (Type d’ajustement). | Long |
min_radius (Facultatif) | Rayon minimal autorisé pour les arcs circulaires en sortie. La valeur doit être supérieure à 0 et inférieure à la valeur spécifiée pour Maximum Radius (Rayon maximum). Si aucune valeur n’est spécifiée, le rayon des arcs circulaires en sortie n’est pas vérifié (par défaut). | Linear Unit |
max_radius (Facultatif) | Rayon maximal autorisé pour les arcs circulaires en sortie. La valeur doit être supérieure à la valeur spécifiée pour le Maximum Radius (Rayon maximum). Si aucune valeur n’est spécifiée, le rayon des arcs circulaires en sortie n’est pas vérifié (par défaut). | Linear Unit |
min_arc_angle (Facultatif) | Angle d’arc minimal (degrés décimaux) qui servira à construire des arcs circulaires. L’angle d’arc minimal est le plus petit angle central autorisé dans les arcs circulaires en sortie. Si l’angle central d’un arc circulaire en sortie est inférieur à cette valeur, il n’est pas créé. La plage de valeurs valide est comprise entre 2 et 360 degrés décimaux. La valeur par défaut est de 2 degrés décimaux. | Double |
closed_ends (Facultatif) | Spécifie si les points d’extrémité d’une ligne fermée seront conservés. Une ligne fermée est une ligne dont les points d’extrémité coïncident (boucle).
| Boolean |
anchor_points (Facultatif) | Chemin et nom de la classe d’entités qui contient les points d’ancrage. Les points d’ancrage se superposent aux sommets dans les entités en entrée et indiquent qu’ils ne doivent pas être déplacés ou supprimés au cours du processus de simplification. | Feature Layer |
Sortie dérivée
Nom | Explication | Type de données |
out_feature_class | Entités mises à jour. | Couche d’entités |
out_feature_layers | Noms des couches mises à jour. | Couche d’entités |
Exemple de code
Le script de fenêtre Python ci-dessous illustre l’utilisation de la fonction SimplifyByStraightLinesAndCircularArcs pour simplifier des lignes.
import arcpy
arcpy.env.workspace = "C:\data\data.gdb"
arcpy.edit.SimplifyByStraightLinesAndCircularArcs_edit("myDensifiedLines",
"1.5 feet")
Le script de fenêtre Python ci-dessous illustre l’utilisation de la fonction SimplifyByStraightLinesAndCircularArcs pour simplifier des lignes et des polygones simultanément à l’aide de points d’ancrage.
import arcpy
arcpy.env.workspace = "C:\data\data.gdb"
arcpy.edit.SimplifyByStraightLinesAndCircularArcs("myDensifiedPolygons;myDensifiedLines",
"0.4 Meters",
anchor_points="myAnchorPoints")
Environnements
Informations de licence
- Basic: Non
- Standard: Oui
- Advanced: Oui
Rubriques connexes
Vous avez un commentaire à formuler concernant cette rubrique ?