Étiquette | Explication | Type de données |
Entités en entrée | Entités surfaciques en entrée. | Feature Layer |
Classe d’entités en sortie | Classe d’entités linéaires en sortie. | Feature Class |
Identifier et enregistrer les informations de voisinage du polygone (Facultatif) | Indique si les relations de voisinage du polygone seront identifiées et enregistrées dans la sortie.
| Boolean |
Synthèse
Crée une classe d’entités linéaires convertie à partir de limites de polygone. Vous pouvez définir les paramètres d’outil afin que les segments partagés et leurs ID d’entité surfacique voisins soient analysés. Vous pouvez également définir les paramètres d’outils afin qu’une entité linéaire délimitée soit créée pour chaque polygone en entrée.
Illustration

Utilisation
Si le paramètre Identifier et enregistrer les informations de voisinage du polygone est coché, la relation de voisinage du polygone est analysée. Les limites sont converties en lignes en tenant compte des segments de croisement ou des segments partagés. Les champs suivants sont ajoutés à la sortie :
- LEFT_FID : ID d’entité du polygone en entrée à gauche de la ligne en sortie.
- RIGHT_FID : ID d’entité du polygone en entrée à droite de la ligne en sortie.
Les scénarios suivants décrivent la procédure et la sortie plus en détail :
- Dans une géométrie de polygone, la limite externe est toujours stockée dans le sens des aiguilles d’une montre. Si le polygone a un trou, la limite du trou (ou intérieure) est toujours stockée dans le sens inverse des aiguilles d’une montre. Par conséquent, dans le cas d’un polygone sans voisin du côté gauche (à l’extérieur) de sa limite externe et du côté gauche (à l’intérieur) de la limite du trou, les lignes résultantes présenteront la valeur -1 pour le champ LEFT_FID et l’ID d’entité surfacique comme valeur pour le champ RIGHT_FID.
- Si un polygone contient un autre polygone, une ligne en sortie dans le sens horaire est générée afin de représenter la limite partagée. Sa valeur pour le champ LEFT_FID sera l’ID d’entité surfacique externe et sa valeur pour le champ RIGHT_FID sera l’ID d’entité surfacique interne.
- Si deux polygones partagent une portion de leurs limites, une ligne en sortie est générée afin de représenter le segment partagé. Le sens de la ligne est arbitraire et les valeurs des champs LEFT_FID et RIGHT_FID sont en conséquence l’ID d’entité surfacique de gauche ou de droite.
- Si un polygone se superpose à un autre polygone, deux lignes en sortie sont générées afin de représenter chaque limite de croisement deux fois. La première ligne représente la limite externe de l’un des polygones superposés. Sa valeur pour le champ LEFT_FID est l’ID d’entité du polygone qu’elle croise et sa valeur pour le champ RIGHT_FID est son propre ID d’entité surfacique. La deuxième ligne est dirigée dans le sens opposé et fractionne l’autre polygone. Ses valeurs pour les champs LEFT_FID et RIGHT_FID sont identiques à l’autre l’ID d’entité surfacique.
- Les entités multi-parties en entrée ne sont pas gérées ; les lignes en sortie seront toutes en une seule partie.
Pour les entités en entrée qui sont des courbes paramétriques (vraies), les lignes en sortie restent des courbes vraies, même si elles sont fractionnées.
Ce paramètre utilise un processus de tuilage pour la gestion des jeux de données très volumineux afin d’améliorer les performances et l’évolutivité.
Si le paramètre Identifier et enregistrer les informations de voisinage du polygone est coché, chaque polygone en entrée est converti en entité linéaire délimitée. Les polygones multi-parties sont convertis en ligne multi-partie.
Un champ ORIG_FID est ajouté à la sortie avec l’ID d’entité de chaque ligne en entrée. Les attributs des entités en entrée sont conservés dans la sortie.
Paramètres
arcpy.management.PolygonToLine(in_features, out_feature_class, {neighbor_option})
Nom | Explication | Type de données |
in_features | Entités surfaciques en entrée. | Feature Layer |
out_feature_class | Classe d’entités linéaires en sortie. | Feature Class |
neighbor_option (Facultatif) | Indique si les relations de voisinage du polygone seront identifiées et enregistrées dans la sortie.
| Boolean |
Exemple de code
Le script ci-dessous pour la fenêtre Python montre comment utiliser la fonction PolygonToLine en mode immédiat.
import arcpy
arcpy.env.workspace = "C:/data"
arcpy.management.PolygonToLine("Habitat_Analysis.gdb/vegtype",
"C:/output/Output.gdb/vegtype_lines",
"IGNORE_NEIGHBORS")
Le script autonome ci-dessous illustre l’utilisation de la fonction PolygonToLine.
# Name: PolygonToLine_Example2.py
# Description: Use the PolygonToLine function to convert polygons to lines,
# and report how many shared or overlapping boundary lines
# were found.
# Import system modules
import arcpy
# Set environment settings
arcpy.env.workspace = "C:/data/landcovers.gdb"
# Create variables for the input and output feature classes
inFeatureClass = "bldgs"
outFeatureClass = "bldgs_lines"
# Run PolygonToLine to convert polygons to lines using default neighbor_option
arcpy.management.PolygonToLine(inFeatureClass, outFeatureClass)
# Select lines that have LEFT_FID values greater than -1
arcpy.management.MakeFeatureLayer(outFeatureClass, "selection_lyr",
"\"LEFT_FID\" > -1")
result = arcpy.management.GetCount("selection_lyr")
if result[0] == "0":
print("No overlapping or shared boundary lines were found.")
else:
print(f"{result[0]} overlapping or shared boundary lines were found.")
Environnements
Informations de licence
- Basic: Non
- Standard: Non
- Advanced: Oui
Rubriques connexes
Vous avez un commentaire à formuler concernant cette rubrique ?