Disponible con una licencia Advanced.
Resumen
Crea una clase de entidad que contiene líneas generadas al convertir límites de polígonos en líneas o al dividir líneas, polígonos o ambas entidades en sus intersecciones.
Ilustración
Uso
Los atributos de entrada se pueden mantener opcionalmente en la clase de entidad de salida, que se determina con la opción Mantener atributos del cuadro de diálogo (el parámetro attributes en script).
Cuando se especifican varias clases o capas de entidades en la lista de entidades de entrada, el orden de las entradas en la lista no afecta el tipo de entidad de salida, pero la referencia espacial de la entrada superior en el cuadro de diálogo de la herramienta (la primera entrada en el script) en la lista se utilizará durante el procesamiento y se establecerá en la salida.
Cuando los límites de polígonos o líneas de entrada se toquen, se crucen o se superpongan entre sí en ubicaciones que no sean sus vértices de inicio y finales, se dividirán en esas intersecciones; cada una de las líneas de división se convertirá en una entidad de línea de salida. Si un límite de línea o polígono de entrada no está intersecado por otra entidad, su forma completa aún se escribirá como una entidad de línea.
Para las entidades de entrada multiparte, las líneas de salida serán 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. Esto no se aplica a los datos de shapefile.
Si la opción Mantener atributos del cuadro de diálogo está activada (el parámetro attributes está definido como ATTRIBUTES en el script), los atributos de todas las entradas permanecerán en la salida en el orden en el que aparecen en la lista de entrada. Se agregará un campo nuevo, FID_xxx –donde xxx es el nombre de la clase de entidad de origen de una entrada concreta–, a la salida de cada entrada y se establecerá en los Id. de entidades de origen. Las líneas de salida están asociadas a sus atributos en las siguientes formas:
- En el caso de líneas o límites de polígono coincidentes dentro del mismo conjunto de entidades de entrada, por ejemplo, el límite que separa dos polígonos, se escribirán en la salida dos entidades de línea con geometría idéntica: cada una de ellas tendrá los atributos de su entidad de origen.
- En el caso de líneas o límites de polígono coincidentes de dos conjuntos distintos de entidades de entrada, por ejemplo, una línea que se superpone a un límite de polígono, solo se escribirá en la salida una entidad de línea con los atributos de ambas entidades de origen.
- Si una línea de salida no se superpone con ninguna entidad en un conjunto de entidades de entrada en particular, tendrá el valor -1 en el campo FID_xxx y valores cero o nulos en los demás campos de ese conjunto de entidades.
Si la opción Mantener atributos del cuadro de diálogo está desactivada (el parámetro attributes está definido como NO_ATTRIBUTES en el script), no se mantendrá ninguno de los atributos de entrada en la clase de entidad de salida; se escribirá una entidad de línea única en la salida para cada conjunto de límites de polígonos o líneas coincidentes.
Si las entidades de entrada contienen polígonos adyacentes, utilice la herramienta De polígono a línea para obtener la línea de límite compartido con los Id. de entidades poligonales izquierdo y derecho como atributos en la salida.
Esta herramienta utilizará un proceso de ordenamiento en tesela para controlar datasets muy grandes para mejorar el rendimiento y la escalabilidad. Para obtener más detalles, consulte Geoprocesamiento con datasets grandes.
Sintaxis
arcpy.management.FeatureToLine(in_features, out_feature_class, {cluster_tolerance}, {attributes})
Parámetro | Explicación | Tipo de datos |
in_features [in_features,...] | Las entidades de entrada que pueden ser línea o polígono, o ambos. | Feature Layer |
out_feature_class | La clase de entidad de línea de salida. | Feature Class |
cluster_tolerance (Opcional) | La distancia mínima que separa todas las coordenadas de entidades, y la distancia que se puede mover una coordenada en X, en Y, o en ambas durante el cálculo espacial. La tolerancia XY predeterminada se establece como 0,001 metros o su equivalente en unidades de entidad. Precaución:El cambio del valor de este parámetro puede generar un fallo o resultados inesperados. Se recomienda no modificar este parámetro. Se ha eliminado de la vista en el cuadro de diálogo de la herramienta. Se utiliza de forma predeterminada la propiedad tolerancia x,y de referencia espacial de la clase de entidad de entrada. | Linear Unit |
attributes (Opcional) | Especifica si se mantendrán o se omitirán los atributos de entrada en la clase de entidad de salida.
| Boolean |
Muestra de código
El siguiente script de la ventana de Python demuestra cómo utilizar la función FeatureToLine en modo inmediato.
import arcpy
arcpy.env.workspace = "C:/data"
arcpy.FeatureToLine_management(["majorrds.shp", "habitat_analysis.gdb/futrds"],
"c:/output/output.gdb/allroads",
"0.001 Meters", "ATTRIBUTES")
El siguiente script independiente es un ejemplo de cómo aplicar la función FeatureToLine en un entorno 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
# Set environment settings
arcpy.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")
Entornos
Información de licenciamiento
- Basic: No
- Standard: Sí
- Advanced: Sí