Contraer polígono de agua (Cartografía)

Resumen

Contrae total o parcialmente polígonos de agua a una línea central en función de un ancho de contracción.

Ilustración

Ilustración de la herramienta Contraer polígono de agua

Uso

  • Esta herramienta está optimizada para contraer entidades que serían adecuadas para representarse como líneas a escalas pequeñas. Puede ejecutar esta herramienta más de una vez con diferentes anchos de contracción para crear una salida adecuada para diferentes escalas. Las entidades poligonales de entrada compactas pueden producir líneas centrales inesperadas a menos que se intersequen con la entrada que conecta entidades de línea hidrológicas.

  • El rendimiento de la herramienta depende de la limpieza de los datos. Las entidades poligonales de entrada superpuestas o desconexiones en la red hidrológica entre las líneas y polígonos de entrada pueden causar resultados inesperados.

  • Los agujeros o islas en los polígonos de entrada darán como resultado líneas centrales de salida que se bifurcan alrededor de los agujeros. Para evitarlo, elimine agujeros de los polígonos de entrada con la herramienta Eliminar parte de polígono antes de ejecutar esta herramienta.

  • El procesamiento de datasets de hidrología grandes podría superar los límites de memoria. En este caso, procese los datos de entrada por partición identificando una clase de entidad poligonal relevante en la configuración de entorno Particiones cartográficas. Las partes de los datos definidos por los límites de partición se procesarán en secuencia.

    Después de que se procesen todas las particiones, las salidas de clase de entidad poligonal y de línea se generarán simultáneamente. Estas clases de entidad aparecerán sin interrupciones y no se dividirán en los bordes de la partición.

    Consulte Generalizar datasets grandes usando particiones para obtener más información.

  • Las entidades poligonales de entrada individuales de gran tamaño pueden tardar mucho tiempo en procesarse; evite disolver polígonos de entrada antes de ejecutar esta herramienta. Si primero se deben disolver los polígonos, marque el parámetro Fusionar polígonos de entrada adyacentes. Al utilizar este parámetro, la herramienta fusionará los polígonos de entrada sin crear polígonos grandes mientras mantiene la conectividad correcta en la red hidrológica. Las líneas de salida se dividirán en los límites del polígono de entrada originales.

    Para evitar tiempos de procesamiento largos, puede que deba dividir los polígonos de entrada en entidades más pequeñas con la herramienta Subdividir si son muy grandes. Utilice la herramienta Simplificar polígono para reducir el número de vértices y mejorar el rendimiento.

  • Se debe especificar una clase de entidad poligonal de salida si el valor de ancho de contracción se establece en una distancia mayor que 0. Los polígonos de salida contendrán polígonos que son más anchos que el ancho de contracción. Los polígonos se pueden contraer parcialmente si solo una parte del polígono es más pequeña que el valor del ancho de contracción. Las líneas de salida se crearán para todos los polígonos de entrada, incluidos aquellos que son mayores que el valor de ancho de contracción. Un valor de ancho de contracción de 0 hará que todos los polígonos de entrada se contraigan completamente y no se creará ninguna clase de entidad poligonal de salida.

  • La clase de entidad de línea de salida incluirá un campo COLLAPSED. Este campo contendrá un valor de 0 que se corresponda con los polígonos que no se contrajeron y un valor de 1 para los polígonos contraídos.

  • Cuando el valor del ancho de contracción se defina a una distancia mayor que 0, utilice los parámetros Tolerancia de ancho de contracción (%) y Longitud mínima para evitar oscilaciones en los polígonos parcialmente contraídos. Las oscilaciones se producen cuando un río poligonal se contrae parcialmente a lo largo de su longitud, lo que da como resultado una cadena de pequeños lagos poligonales conectados por ríos de una sola línea. Las secciones de los polígonos parcialmente contraídos que están dentro del valor del porcentaje de tolerancia del ancho de contracción se analizarán y el contexto circundante se tendrá en cuenta al determinar si contraer esa parte de la entidad poligonal. Si la parte del polígono que se está analizando es menor que el valor de longitud mínima, se puede ignorar el ancho de contracción para evitar la oscilación. La longitud mínima se basa en la longitud de la línea central creada para el polígono.

  • Los polígonos parcialmente contraídos se estrecharán en los puntos de conexión con líneas de salida para crear una transición fluida entre los polígonos contraídos y los que no se contraen. La longitud de cada estrechamiento se controla con el parámetro Porcentaje de longitud de estrechamiento, que establece la longitud del estrechamiento en un porcentaje del ancho del polígono parcialmente contraído en la ubicación del estrechamiento. Un valor de porcentaje de longitud de estrechamiento de 0 impide todos los estrechamientos.

  • La clase de entidad de línea de salida tendrá campos de atributos rellenados con varios Id. de las entidades utilizadas para crearlos. Utilice estos valores para unir las entidades de salida a la entrada correspondiente, según sea necesario.

    • InPoly_ID- Un número que representa el orden de entrada de la clase de entidad poligonal que contiene el polígono utilizado para crear la entidad de línea de salida. Se guardará una tabla llamada <out_line_feature_class>_InPoly_DecodeID en la ubicación de salida que vincula los valores de InPoly_ID a los nombres de las clases de entidad de entrada. Si la ubicación de salida se especifica en un dataset de entidades, la tabla se creará en un nivel más alto, en el nivel de geodatabase.
    • InPoly_FID- El valor OBJECTID de la entidad poligonal de entrada utilizada para crear la línea de salida.
    • InLine_ID- Un número que representa el orden de entrada de la entrada que conecta la clase de entidad de línea hidrológica que contiene la entidad conectada a la entidad de línea de salida. Se guardará una tabla llamada <out_line_feature_class>_InLine_DecodeID en la ubicación de salida que vincula los valores de InLine_ID a los nombres de las clases de entidad de entrada. Si la ubicación de salida se especifica en un dataset de entidades, la tabla se creará en un nivel más alto, en el nivel de geodatabase.
    • InLine_FID- El valor OBJECTID de la entrada que conecta la entidad de línea hidrológica conectada a la entidad de línea de salida. Se establecerá en un valor de -1 si las entidades de línea hidrológicas que no están conectadas se conectan a la entidad de línea de salida.

    Los polígonos de salida también incluirán los atributos InPoly_ID y InPolyFID rellenados con los Id. de las clases de entidad y las entidades utilizadas para crearlos. Solo se registrará un número de Id. en cada atributo si se utilizan varias líneas de conexión de entrada para crear una única entidad de salida.

  • Las entidades de salida de línea incluyen tres atributos de campo que registran información sobre el ancho de las entidades poligonales de entrada correspondientes. El ancho se mide en las unidades lineales de la referencia espacial de la salida.

    • MIN_WIDTH: el ancho mínimo del polígono a lo largo de la línea de salida
    • MAX_WIDTH: el ancho máximo del polígono a lo largo de la línea de salida
    • AVG_WIDTH: el ancho promedio del polígono a lo largo de la línea de salida

  • Las entidades de línea de salida se conectarán a ubicaciones en las que las entidades de línea de conexión de entrada toquen el límite exterior de las entidades poligonales de entrada, excepto cuando el límite del polígono se comparta entre varias entidades poligonales.

Parámetros

EtiquetaExplicaciónTipo de datos
Entidades poligonales hidrológicas de entrada

Una o varias capas de entidades que contienen polígonos de agua.

Feature Layer
Clase de entidad de línea de salida

La clase de entidad de línea que contiene las líneas centrales de los polígonos contraídos. Contiene líneas centrales de todos los polígonos de entrada, incluidas las que no están contraídas. Esta clase de entidad tiene un atributo COLLAPSED que especifica si la entidad de línea central representa un polígono contraído.

Feature Class
Fusionar polígonos de entrada adyacentes
(Opcional)

Especifica si los polígonos de entrada adyacentes se fusionarán antes de calcular las líneas centrales.

  • Activado: los polígonos de agua de entrada se fusionarán antes de calcular las líneas centrales. Esta es la opción predeterminada.
  • Desactivado: las líneas centrales se calcularán a partir de los polígonos de agua de entrada que no se hayan fusionado.

Boolean
Conectar entidades de línea hidrológica
(Opcional)

Las entidades de línea hidrológica de entrada que se conectan a los polígonos de agua de entrada que se deben contraer. Se crearán entidades de línea para mantener estas conexiones.

Feature Layer
Ancho de contracción
(Opcional)

El ancho del umbral de un polígono de agua de entrada que se va a tener en cuenta para la contracción. Se contraerán todos los polígonos que estén por debajo del ancho especificado. El valor predeterminado es 0, que contraerá todas las entidades.

Linear Unit
Tolerancia de ancho de contracción (%)
(Opcional)

Tolerancia porcentual dentro de la que se analizarán las entidades y se tendrá en cuenta el contexto circundante a la hora de determinar si contraer una entidad. Se realiza para minimizar las oscilaciones en la contracción. El valor predeterminado es 20 por ciento. Este parámetro solo se aplica cuando se especifica el valor del parámetro Ancho de contracción.

Double
Longitud mínima
(Opcional)

La longitud mínima necesaria para que un polígono se conserve en la clase de entidad poligonal de salida. La longitud mínima se basa en la longitud de la línea central creada para el polígono. Si la línea central de un polígono es más larga que el ancho de contracción, pero menor que la longitud mínima, el polígono no se incluirá en la clase de entidad poligonal de salida. El valor predeterminado es 0. Este parámetro solo se aplica cuando se especifica el valor del parámetro Ancho de contracción.

Linear Unit
Porcentaje de longitud de estrechamiento
(Opcional)

La longitud a la que se estrecharán las conexiones entre polígonos de la clase de entidad poligonal de salida y la clase de entidad de línea de salida. Este parámetro especifica la longitud de estrechamiento como un porcentaje del ancho en la ubicación de conexión. El resultado de un valor de porcentaje de longitud de estrechamiento de 0 es que no hay ningún estrechamiento. El valor predeterminado es 50. Este parámetro solo se aplica cuando se especifica el valor del parámetro Ancho de contracción.

Double
Clase de entidad poligonal de salida
(Opcional)

La clase de entidad poligonal que contiene las partes de los polígonos de agua de entrada que no están contraídas. Este parámetro solo se aplica cuando se especifica el valor del parámetro Ancho de contracción.

Feature Class

Salida derivada

EtiquetaExplicaciónTipo de datos
Tabla de Id. de decodificación de InPoly

La tabla que vincula los valores de InPoly_ID con los nombres de las entidades de polígonos hidrológicos de entrada. La tabla se creará en la misma ubicación que el valor de Clase de entidad de línea de salida. Si el valor de Clase de entidad de línea de salida se especifica en un dataset de entidades, la tabla se creará en un nivel más alto, en el nivel de geodatabase.

Table
Tabla de Id. de decodificación de InLine

La tabla que vincula los valores de InLine_ID con los nombres de las entidades de línea hidrológicas que se conectan. La tabla se creará en la misma ubicación que el valor de Clase de entidad de línea de salida. Si el valor de Clase de entidad de línea de salida se especifica en un dataset de entidades, la tabla se creará en un nivel más alto, en el nivel de geodatabase.

Table

arcpy.cartography.CollapseHydroPolygon(in_features, out_line_feature_class, {merge_adjacent_input_polygons}, {connecting_features}, {collapse_width}, {collapse_width_tolerance}, {minimum_length}, {taper_length_percentage}, {out_poly_feature_class})
NombreExplicaciónTipo de datos
in_features
[in_features,...]

Una o varias capas de entidades que contienen polígonos de agua.

Feature Layer
out_line_feature_class

La clase de entidad de línea que contiene las líneas centrales de los polígonos contraídos. Contiene líneas centrales de todos los polígonos de entrada, incluidas las que no están contraídas. Esta clase de entidad tiene un atributo COLLAPSED que especifica si la entidad de línea central representa un polígono contraído.

Feature Class
merge_adjacent_input_polygons
(Opcional)

Especifica si los polígonos de entrada adyacentes se fusionarán antes de calcular las líneas centrales.

  • MERGE_ADJACENTLos polígonos de agua de entrada se fusionarán antes de calcular las líneas centrales. Esta es la opción predeterminada.
  • NO_MERGELas líneas centrales se calcularán a partir de los polígonos de agua de entrada que no se hayan fusionado.
Boolean
connecting_features
[connecting_features,...]
(Opcional)

Las entidades de línea hidrológica de entrada que se conectan a los polígonos de agua de entrada que se deben contraer. Se crearán entidades de línea para mantener estas conexiones.

Feature Layer
collapse_width
(Opcional)

El ancho del umbral de un polígono de agua de entrada que se va a tener en cuenta para la contracción. Se contraerán todos los polígonos que estén por debajo del ancho especificado. El valor predeterminado es 0, que contraerá todas las entidades.

Linear Unit
collapse_width_tolerance
(Opcional)

Tolerancia porcentual dentro de la que se analizarán las entidades y se tendrá en cuenta el contexto circundante a la hora de determinar si contraer una entidad. Se realiza para minimizar las oscilaciones en la contracción. El valor predeterminado es 20 por ciento. Este parámetro solo se aplica cuando se especifica el valor del parámetro collapse_width.

Double
minimum_length
(Opcional)

La longitud mínima necesaria para que un polígono se conserve en la clase de entidad poligonal de salida. La longitud mínima se basa en la longitud de la línea central creada para el polígono. Si la línea central de un polígono es más larga que el ancho de contracción, pero menor que la longitud mínima, el polígono no se incluirá en la clase de entidad poligonal de salida. El valor predeterminado es 0. Este parámetro solo se aplica cuando se especifica el valor del parámetro collapse_width.

Linear Unit
taper_length_percentage
(Opcional)

La longitud a la que se estrecharán las conexiones entre polígonos de la clase de entidad poligonal de salida y la clase de entidad de línea de salida. Este parámetro especifica la longitud de estrechamiento como un porcentaje del ancho en la ubicación de conexión. El resultado de un valor de porcentaje de longitud de estrechamiento de 0 es que no hay ningún estrechamiento. El valor predeterminado es 50. Este parámetro solo se aplica cuando se especifica el valor del parámetro collapse_width.

Double
out_poly_feature_class
(Opcional)

La clase de entidad poligonal que contiene las partes de los polígonos de agua de entrada que no están contraídas. Este parámetro solo se aplica cuando se especifica el valor del parámetro collapse_width.

Feature Class

Salida derivada

NombreExplicaciónTipo de datos
in_poly_decode_id_table

La tabla que vincula los valores de InPoly_ID con los nombres de las entidades poligonales hidrológicas de entrada. La tabla se creará en la misma ubicación que el valor de out_line_feature_class. Si se especifica el valor de out_line_feature_class en un dataset de entidades, la tabla se creará en un nivel más alto, en el nivel de geodatabase.

Table
in_line_decode_id_table

La tabla que vincula los valores de InLine_ID con los nombres de las entidades de línea hidrológicas que se conectan. La tabla se creará en la misma ubicación que el valor de out_line_feature_class. Si se especifica el valor de out_line_feature_class en un dataset de entidades, la tabla se creará en un nivel más alto, en el nivel de geodatabase.

Table

Muestra de código

Ejemplo 1 de CollapseHydroPolygon (script independiente)

En este ejemplo se demuestra cómo utilizar la función CollapseHydroPolygon para crear una línea central desde una entidad poligonal.

# Name: CollapseHydroPolygon_sample1.py
# Description: Collapse all water polygons to produce centerlines

# Import System Modules
import arcpy
arcpy.env.workspace = r"C:/data/Hydro.gdb"

# Execute Collapse Hydro Polygon
arcpy.cartography.CollapseHydroPolygon('WaterPolygons', 'HydroCenterlinesOut')
Ejemplo 2 de CollapseHydroPolygon (script independiente)

En este ejemplo se demuestra cómo utilizar la función CollapseHydroPolygon para crear una línea central desde una entidad poligonal que tenga un ancho inferior al ancho de contracción especificado. Las entidades de conexión se utilizan para mantener conexiones entre líneas centrales creadas y las entidades de conexión.

# Name: CollapseHydroPolygon_sample2.py
# Description: Select the rivers and collapse features that are
#               below 6 meters wide to produce centerlines.

# Import System Modules
import arcpy
arcpy.env.workspace = r"C:/data/Hydro.gdb"

# Setting Local Variables
in_features = 'WaterPolygons'
out_line_feature_class = 'HydroCenterlinesOut'
merge_adjacent_input_polygons = False # default is True or "MERGE_ADJACENT"
connection_features = 'WaterLines'
collapse_width = "6 Meters"           # default is '0 Meters'
collapse_width_tolerance = 20         # default is 20
minimum_length = "10 Meters"          # default is '0 Meters' 
taper_length_percentage = 50          # default is 50
out_poly_feature_class =  'HydroPolyOut'

# Select only the Rivers
inputLyr = arcpy.MakeFeatureLayer_management(in_features,
                                             "inputLyr",
                                             "FTYPE = 'rivers'")

# Execute Collapse Hydro Polygon
arcpy.cartography.CollapseHydroPolygon(inputLyr,
                                       out_line_feature_class,
                                       merge_adjacent_input_polygons,
                                       connection_features,
                                       collapse_width,
                                       collapse_width_tolerance,
                                       minimum_length,
                                       taper_length_percentage,
                                       out_poly_feature_class)

Información de licenciamiento

  • Basic: No
  • Standard: No
  • Advanced: Sí

Temas relacionados