Etiqueta | Explicación | Tipo de datos |
Entidades de entrada | Las entidades poligonales de entrada. | Feature Layer |
Clase de entidad de salida | La clase de entidad de línea de salida. | Feature Class |
Identificar y almacenar información de polígonos adyacentes (Opcional) | Especifica si las relaciones de adyacencia de polígonos se identifican y almacenan en la salida.
| Boolean |
Resumen
Crea una clase de entidad de línea a partir de los límites de las entidades de polígono, con una opción para tener en cuenta los polígonos adyacentes.
Ilustración

Uso
Si se activa el parámetro Identificar y guardar la información de adyacencia, se analiza la relación de adyacencia de polígonos. Los límites se convierten en líneas y se tienen en cuenta los segmentos compartidos y cruces. Los campos siguientes se agregarán a la salida:
- LEFT_FID—El Id. de entidad del polígono de entrada a la izquierda de la línea de salida.
- RIGHT_FID—El Id. de entidad del polígono de entrada a la derecha de la línea de salida.
En las siguientes situaciones se describe con más detalle el proceso y la salida:
- En una geometría de polígono, el límite exterior siempre se almacena en el sentido de las agujas del reloj. Si el polígono tiene un orificio, el límite del orificio (o límite interior) siempre se almacena en el sentido contrario a las agujas del reloj. Por tanto, para un polígono sin ningún vecino a la izquierda (fuera) de este límite exterior ni a la izquierda (dentro) del límite del orificio, las líneas resultantes tendrán el valor -1 como valor del campo LEFT_FID y el Id. de entidad poligonal como valor del campo RIGHT_FID.
- Cuando un polígono contiene otro polígono, se genera una línea de salida en el sentido de las agujas del reloj para representar el límite compartido; el valor del campo LEFT_FID será el Id. de la entidad poligonal exterior y el valor del campo RIGHT_FID será el Id. de la entidad poligonal interior.
- Cuando dos polígonos comparten una parte de sus límites, se genera una línea de salida que representa el segmento compartido. El sentido de la línea será arbitrario y los valores de los campos LEFT_FID y RIGHT_FID serán los Id. de las entidades poligonales izquierda o derecha, según corresponda.
- Cuando un polígono se superpone con otro polígono, se generan dos líneas de salida que representan dos veces a cada límite que se cruza. La primera línea representa el límite exterior de uno de los polígonos superpuestos; el valor del campo LEFT_FID será el Id. de entidad del polígono que cruza y el valor del campo RIGHT_FID será su propio Id. de entidad poligonal. La segunda línea estará en el sentido opuesto, dividiendo así el otro polígono; por tanto, sus valores de campo LEFT_FID y RIGHT_FID serán los mismos que los del otro Id. de entidad poligonal.
- Las entidades multiparte de entrada no se mantienen; las líneas de salida serán todas de parte simple.
En el caso de las entidades de entrada que son curvas paramétricas (verdaderas), las líneas de salida seguirán siendo curvas verdaderas incluso si se dividen.
Este parámetro utiliza un proceso de ordenamiento en teselas para controlar datasets muy grandes, a fin de mejorar el rendimiento y la escalabilidad.
Cuando se activa el parámetro Identificar y guardar la información de adyacencia, los polígonos de entrada se convertirán en una entidad de línea cerrada. Los polígonos multiparte se convertirán en una línea multiparte.
Se agregará un campo ORIG_FID a la salida con el Id. de entidad de cada línea de entrada. Los atributos de las entidades de entrada se mantendrán en la salida.
Parámetros
arcpy.management.PolygonToLine(in_features, out_feature_class, {neighbor_option})
Nombre | Explicación | Tipo de datos |
in_features | Las entidades poligonales de entrada. | Feature Layer |
out_feature_class | La clase de entidad de línea de salida. | Feature Class |
neighbor_option (Opcional) | Especifica si las relaciones de adyacencia de polígonos se identifican y almacenan en la salida.
| Boolean |
Muestra de código
La siguiente secuencia de comandos de la ventana de Python muestra cómo utilizar la función PolygonToLine de modo inmediato.
import arcpy
arcpy.env.workspace = "C:/data"
arcpy.management.PolygonToLine("Habitat_Analysis.gdb/vegtype",
"C:/output/Output.gdb/vegtype_lines",
"IGNORE_NEIGHBORS")
El siguiente script independiente es un ejemplo de cómo se utiliza la función 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.")