Entité vers ligne (Gestion des données)
Récapitulatif
Crée une classe d'entités contenant des lignes générées en convertissant des limites de polygone en lignes, ou en fractionnant des entités linéaires, surfaciques ou les deux, à leurs intersections.
Illustration
Utilisation
-
Les attributs en entrée peuvent également être conservés dans la classe d'entités en sortie, déterminée par l'option Conserver les attributs de la boîte de dialogue (paramètre attributs dans l'écriture de script).
-
Lorsque plusieurs couches ou classes d'entités sont spécifiées dans la liste des entités en entrée, l'ordre des entrées dans la liste n'affecte pas le type d'entité en sortie, mais la référence spatiale de l'entrée supérieure de la boîte de dialogue de l'outil (première entrée dans l'écriture de script) dans la liste sera utilisée au cours du traitement et définie sur la sortie.
-
Lorsque les limites de ligne ou de polygone se touchent, s'intersectent ou se superposent ailleurs qu'à leurs sommets de début et de fin, elles sont fractionnées à ces intersections et chaque ligne fractionnée devient une entité linéaire en sortie. Si une limite de ligne ou de polygone en entrée n'intersecte pas une autre entité, sa forme toute entière reste écrite comme entité linéaire.
-
Pour les entités multi-parties en entrée, les lignes en sortie seront à une partie.
-
Pour les entités en entrée qui sont des courbes paramétriques (vrai), les lignes en sortie resteront de vraies courbes même si elles sont fractionnées. Cela ne s'applique pas aux données des fichiers de formes.
-
Si l'option Conserver les attributs de la boîte de dialogue est activée (le paramètre attributs est défini sur ATTRIBUTES dans l'écriture de script), les attributs de toutes les entrées sont conservés dans la sortie dans l'ordre dans lequel ils apparaissent dans la liste des entrées. Un nouveau champ, FID_xxx, où xxx est le nom de classe d'entité source d'une entrée particulière, est ajouté à la sortie pour chaque entrée et défini sur les identifiants d'entité source. Les lignes en sortie sont associées à leurs attributs des façons suivantes :
- Pour les lignes coïncidentes ou les limites de polygones à l'intérieur d'un même jeu d'entités en entrée (la limite séparant deux polygones, par exemple), deux entités linéaires de géométrie identique sont écrites dans la sortie, chacune avec les attributs de son entité source.
- Pour les lignes coïncidentes ou les limites de polygone de deux jeux d'entités en entrée différents (une superposition de ligne, par exemple), une seule entité linéaire avec les attributs des deux entités source est écrite dans la sortie.
- Si une ligne en sortie ne se superpose à aucune entité dans un jeu d'entités en entrée particulier, elle a la valeur -1 dans le champ FID_xxx des valeurs égales à zéro ou Null dans les autres champs de ce jeu d'entités.
Si l'option Conserver les attributs de la boîte de dialogue est désactivée (le paramètre attributs est défini sur NO_ATTRIBUTES dans l'écriture de script), aucun des attributs en entrée n'est conservé dans la classe d'entités en sortie ; une seule entité linéaire est écrite dans la sortie pour chaque jeu de lignes coïncidentes ou de limites de polygone.
-
Lorsque des entités en entrée contiennent des polygones adjacents, pour obtenir la ligne de limite partagée avec les identifiants de l'entité surfacique gauche et droit comme attributs de la sortie, utilisez plutôt l'outil Polygon_To_Line.
-
Cet outil 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é. Pour plus de détails, reportez-vous à la rubrique Géotraitement sur jeux de données volumineux.
Syntaxe
Paramètre | Explication | Type de données |
in_features [in_features,...] |
Entités en entrée qui peuvent être des lignes, des polygones, ou les deux. | Feature Layer |
out_feature_class |
Classe d’entités linéaires en sortie. | Feature Class |
cluster_tolerance (Facultatif) |
La distance minimale séparant toutes les coordonnées d'entité, ainsi que la distance de déplacement possible d'une coordonnée sur X ou Y (ou les deux) au cours du calcul spatial. La tolérance XY par défaut est de 0,001 mètre ou son équivalent dans les unités d'entité. | Linear unit |
attributes (Facultatif) |
Spécifie s'il faut conserver ou omettre les attributs en entrée dans la classe d'entités en sortie.
| Boolean |
Exemple de code
Le script de fenêtre Python suivant montre comment utiliser la fonction FeatureToLine en mode immédiat.
import arcpy
from arcpy import env
env.workspace = "C:/data"
arcpy.FeatureToLine_management(["majorrds.shp", "habitat_analysis.gdb/futrds"],
"c:/output/output.gdb/allroads",
"0.001 Meters", "ATTRIBUTES")
Le script autonome suivant dessous est un exemple d'application simple de la fonction FeatureToLine dans un environnement de scripts.
# Name: FeatureToLine_Example2.py
# Description: Use FeatureToLine function to combine features from two
# street feature classes into a single feature class,
# then determine an area of impact around all streets
# by buffering
# import system modules
import arcpy
from arcpy import env
# Set environment settings
env.workspace = "C:/data"
# Set local variables
oldStreets = "majorrds.shp"
newStreets = "habitat_analysis.gdb/futrds"
uptodateStreets = "c:/output/output.gdb/allroads"
# Use FeatureToLine function to combine features into single feature class
arcpy.FeatureToLine_management([oldStreets, newStreets], uptodateStreets,
"0.001 Meters", "ATTRIBUTES")
# Use Buffer function to determine area of impact around streets
roadsBuffer = "c:/output/output.gdb/buffer_output"
arcpy.Buffer_analysis(uptodateStreets, roadsBuffer, "50 Feet",
"FULL", "ROUND", "ALL")