Étiquette | Explication | Type de données |
Entités en entrée | Entités lignes à lisser. | Feature Layer |
Classe d’entités en sortie | Classe d'entités en sortie à créer. | Feature Class |
Algorithme de lissage | Spécifie l'algorithme de lissage.
| String |
Tolérance de lissage | Une tolérance utilisée par l’algorithme PAEK (approximation polynomiale avec noyau exponentiel). Une tolérance supérieure à zéro doit être spécifiée. Vous pouvez choisir une unité préférée. Par défaut, l'unité de l'entité est spécifiée. Ce paramètre n’est pas disponible lorsque l’algorithme Bezier interpolation (Interpolation de Bézier) est utilisé. | Linear Unit |
Conserver l’extrémité des lignes fermées (Facultatif) | Il s'agit d'un ancien paramètre qui n'est plus utilisé. Il était auparavant utilisé pour indiquer si l’extrémité des lignes fermées devait être conservée. Ce paramètre est encore inclus dans la syntaxe de l'outil pour la compatibilité des scripts et des modèles, mais est désormais ignoré et masqué à partir de la boîte de dialogue de l'outil. Spécifie si les points d’extrémité des lignes fermées seront conservés. Cette option est valide uniquement avec l'algorithme PAEK.
| Boolean |
Traitement des erreurs topologiques (Facultatif) | Précise la manière de traiter les erreurs topologiques (qui ont pu s’introduire au cours du processus, notamment les croisements et les superpositions de lignes).
| String |
Couches de barrières en entrée (Facultatif) | Entrées contenant les entités qui jouent le rôle d’interruptions pour le lissage. Les lignes lissées obtenues ne touchent pas ni ne traversent les entités interruptions. Par exemple, lors du lissage des isolignes, la saisie des entités de point côté comme interruptions garantit que les isolignes lissées ne sont pas lissées sur ces points. La sortie n'enfreindra pas l'altitude comme décrit par les points côtés mesurés. | Feature Layer |
Synthèse
Lisse des angles vifs en lignes afin d'améliorer la qualité esthétique ou cartographique.
Pour en savoir plus sur le fonctionnement des outils Lisser des lignes et Lisser un polygone.
Illustration
Utilisation
Deux méthodes de lissage sont disponibles :
- La méthode PAEK (approximation polynomiale avec noyau exponentiel) (PAEK dans Python) lisse les lignes selon une tolérance de lissage. Chaque ligne lissée peut avoir plus de sommets que sa ligne source. Le paramètre Tolérance de lissage contrôle la longueur d'un chemin « mobile » qui sert à calculer les nouveaux sommets. Plus la longueur est courte, plus le niveau de détail est préservé et plus le temps de traitement est long.
- La méthode Interpolation de Bézier (BEZIER_INTERPOLATION dans Python) lisse les lignes sans faire appel à une tolérance. Elle crée des courbes de Bézier évaluées qui correspondent aux lignes en entrée.
Utilisez le paramètre Input barrier layers (Couches d’interruptions en entrée) pour identifier les entités qui ne doivent pas être traversées par des lignes lissées. Les entités interruptions peuvent être des points, des lignes ou des polygones.
Le traitement de jeux de données volumineux peut dépasser les limites de mémoire. Dans ce cas, envisagez de traiter les données en entrée par partition en identifiant une classe d’entités surfaciques pertinente dans le paramètre d’environnement Partitions cartographiques. Les portions de données, définies par les limites des partitions, sont traitées séquentiellement. La classe d'entités résultante sera transparente et cohérente aux tronçons de partition. Reportez-vous à Généralisation de jeux de données volumineux à l'aide de partitions pour en savoir plus.
Attention :
Le paramètre d'environnement Partitions cartographiques est ignoré lorsque le paramètre Traitement des erreurs topologiques est défini sur Ne pas détecter les erreurs topologiques (error_option = "NO_CHECK" dans Python) ou sur Signaler les erreurs topologiques (error_option = "FLAG_ERRORS" in Python).
Les domaines et sous-types sont copiés dans la sortie, même si l’environnement Transférer le domaine de champ, les sous-types et règles attributaires n’est pas sélectionné.
La classe d'entités linéaires en sortie est correcte d'un point de vue topologique. Toute erreur topologique dans les données en entrée est signalée dans la classe d’entités linéaires en sortie. La classe d’entités en sortie inclut deux champs supplémentaires : InLine_FIDet SmoLnFlag, qui contiennent respectivement les ID des entités en entrée et les erreurs topologiques de l’entrée. Une valeur SmoLnFlag de 1 indique une erreur topologique ; une valeur de 0 (zéro) indique l’absence d’erreur.
Héritage :
Avant la version ArcGIS Pro 2.2 de cet outil, le paramètre Conserver l’extrémité des anneaux (endpoint_option dans Python) était utilisé pour indiquer si l’extrémité d’un anneau surfacique isolé obtenu devait être conservé. Ce paramètre est encore inclus dans la syntaxe de l’outil pour la compatibilité des scripts et des modèles, mais est désormais ignoré et masqué dans la boîte de dialogue de l’outil.
Paramètres
arcpy.cartography.SmoothLine(in_features, out_feature_class, algorithm, tolerance, {endpoint_option}, {error_option}, {in_barriers})
Nom | Explication | Type de données |
in_features | Entités lignes à lisser. | Feature Layer |
out_feature_class | Classe d'entités en sortie à créer. | Feature Class |
algorithm | Spécifie l'algorithme de lissage.
| String |
tolerance | Une tolérance utilisée par l’algorithme PAEK. Une tolérance supérieure à zéro doit être spécifiée. Vous pouvez choisir une unité préférée. Par défaut, l'unité de l'entité est spécifiée. Si vous utilisez l'algorithme de lissage BEZIER_INTERPOLATION, vous devez entrer un 0 en tant qu’espace réservé. | Linear Unit |
endpoint_option (Facultatif) | Il s'agit d'un ancien paramètre qui n'est plus utilisé. Il était auparavant utilisé pour indiquer si l’extrémité des lignes fermées devait être conservée. Ce paramètre est encore inclus dans la syntaxe de l'outil pour la compatibilité des scripts et des modèles, mais est désormais ignoré et masqué à partir de la boîte de dialogue de l'outil. Spécifie si les points d’extrémité des lignes fermées seront conservés. Cette option est valide uniquement avec l'algorithme PAEK.
| Boolean |
error_option (Facultatif) | Précise la manière de traiter les erreurs topologiques (qui ont pu s’introduire au cours du processus, notamment les croisements et les superpositions de lignes).
| String |
in_barriers [in_barriers,...] (Facultatif) | Entrées contenant les entités qui jouent le rôle d’interruptions pour le lissage. Les lignes lissées obtenues ne touchent pas ni ne traversent les entités interruptions. Par exemple, lors du lissage des isolignes, la saisie des entités de point côté comme interruptions garantit que les isolignes lissées ne sont pas lissées sur ces points. La sortie n'enfreindra pas l'altitude comme décrit par les points côtés mesurés. | Feature Layer |
Exemple de code
Le script ci-dessous pour la fenêtre Python illustre l’utilisation de la fonction SmoothLine en mode immédiat.
import arcpy
import arcpy.cartography as CA
arcpy.env.workspace = "C:/data"
CA.SmoothLine("contours.shp", "C:/output/output.gdb/smoothed_contours", "PAEK", 100)
Le script autonome ci-dessous illustre l’utilisation de la fonction SmoothLine.
# Name: SmoothLine_Example2.py
# Description: Simplify and then Smooth coastlines
# Import system modules
import arcpy
import arcpy.cartography as CA
# Set environment settings
arcpy.env.workspace = "C:/data/Portland.gdb/Hydrography"
# Set local variables
inCoastlineFeatures = "coastlines"
barriers = "C:/data/Portland.gdb/Structures/buildings"
simplifiedFeatures = "C:/data/PortlandOutput.gdb/coastlines_simplified"
smoothedFeatures = "C:/data/PortlandOutput.gdb/coastlines_smoothed"
# Simplify coastlines.
CA.SimplifyLine(inCoastlineFeatures, simplifiedFeatures, "POINT_REMOVE", 50,
"RESOLVE_ERRORS", "KEEP_COLLAPSED_POINTS", "CHECK", barriers)
# Smooth coastlines.
CA.SmoothLine(simplifiedFeatures, smoothedFeatures, "PAEK", 100, "",
"FLAG_ERRORS", barriers)
Environnements
Informations de licence
- Basic: Non
- Standard: Oui
- Advanced: Oui
Rubriques connexes
Vous avez un commentaire à formuler concernant cette rubrique ?