Simplifier par lignes droites et arcs circulaires (Mise à jour)

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

Ajuster aux Sommets et Segments
La ligne en sortie ou le tronçon de polygone est construit en ajustant des segments de ligne droite et d’arc circulaire dans le décalage maximal autorisé spécifié.

Utilisation

    Attention :

    Cet outil modifie les données en entrée. Reportez-vous à la rubrique Outils qui ne génèrent pas de jeux de données en sortie pour obtenir plus d’informations, ainsi que des stratégies pour éviter les modifications de données indésirables.

  • 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é).

      Pas d'angle d'arc maximum
      Le pas d’angle d’arc maximal permet de localiser des sommets et de construire des arcs circulaires.

    • 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).

  • 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.

Syntaxe

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ètreExplicationType 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.

  • FIT_TO_VERTICESLe décalage entre les tronçons de l’entité en sortie et les sommets de l’entité en entrée sera réduit. Les tronçons et les courbes de l’entité en sortie seront ajustées approximativement aux positions des sommets de l’entité. Il s’agit de l’option par défaut.
  • FIT_TO_SEGMENTSLe décalage entre les tronçons de l’entité en sortie et les tronçons de l’entité en entrée sera réduit. Les tronçons et les courbes en sortie seront ajustés approximativement aux positions des formes de l’entité en entrée.
String
circular_arcs
(Facultatif)

Spécifie si des arcs circulaires seront créés.

  • CREATEDes arcs circulaires seront créés. Il s’agit de l’option par défaut.
  • NOT_CREATEAucun arc circulaire ne sera créé.
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).

  • PRESERVELes points d’extrémité des lignes fermées sont conservés. Il s’agit de l’option par défaut.
  • NOT_PRESERVELes points d’extrémité des lignes fermées ne sont pas conservés ; ils peuvent être déplacés ou supprimés.
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

NomExplicationType 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

Exemple 1 d'utilisation de l'outil SimplifyByStraightLinesAndCircularArcs (fenêtre Python)

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")
Exemple 2 d’utilisation de l’outil SimplifyByStraightLinesAndCircularArcs (fenêtre Python)

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")

Informations de licence

  • Basic: Non
  • Standard: Oui
  • Advanced: Oui

Rubriques connexes