Simplificar por líneas rectas y arcos circulares (Edición)

Resumen

Simplifica las entidades de polígono y línea mediante la sustitución de los ejes o segmentos de línea consecutivos por menos ejes o segmentos de línea. Los segmentos de línea y los ejes de polígonos se simplifican basándose en el valor de desplazamiento máximo permitido especificado. Además, es posible crear arcos circulares a partir de ejes de polígonos o segmentos de líneas consecutivos.

Ilustración

Ajustar a vértices y Ajustar a segmentos
La línea de salida o el eje de polígono se construyen encajando segmentos de línea recta o de arco circular dentro del desplazamiento máximo permitido que se especifique.

Uso

    Precaución:

    Esta herramienta modifica los datos de entrada. Consulte Herramientas que modifican o actualizan los datos de entrada para obtener más información y estrategias para evitar cambios de datos no deseados.

  • Esta herramienta se puede utilizar para simplificar la geometría de las entidades de polígono y línea que contengan una acumulación de vértices o segmentos cortos no deseados como resultado de distintos procesos de conversión de datos y manipulación. Las secuencias de ejes o segmentos no lineales se pueden reemplazar por líneas rectas de dos puntos y la series de ejes o segmentos que representan arcos se pueden reemplazar por curvas verdaderas. Esta herramienta aproximará y reemplazará varios ejes o segmentos por líneas rectas y arcos circulares que encajen dentro del desplazamiento máximo permitido que se especifique.

  • Las entidades de entrada pueden ser polígonos o líneas. La línea de salida o el eje de polígono contienen un subconjunto de vértices originales. No se introducen nuevos vértices ni se elimina ninguna entidad.

  • Las curvas paramétricas existentes, tales como los segmentos de curvas de Bézier, arcos circulares y arcos elípticos, no se cambian.

    Nota:

    Si las entidades de entrada se almacenan en un shapefile, los arcos circulares de las entidades de salida siguen siendo una serie densamente poblada de pequeños segmentos rectos. Los shapefiles no admiten las curvas verdaderas. Para derivar las curvas verdaderas, exporte el shapefile a una clase de entidad.

  • Utilice el parámetro Crear arcos circulares para generar curvas verdaderas, además de líneas rectas. Los cinco parámetros opcionales, Paso de ángulo de arco máximo, Número mínimo de vértices, Radio mínimo, Radio máximo y Ángulo de arco mínimo, controlan de qué forma los arcos circulares se ajustan a los segmentos o los ejes.

    • Paso de ángulo de arco máximo (grados decimales) es el ángulo de arco máximo que puede usarse para construir arcos circulares. El ángulo de arco es el ángulo central de la curva candidata (la curva que se está construyendo). El paso de ángulo de arco máximo define el límite superior de la anchura del campo de búsqueda del ángulo central a la hora de localizar vértices para construir curvas circulares. Si se encuentra más de un vértice dentro de cada paso de ángulo de arco máximo, estos vértices se consideran para el ajuste de un arco circular. Use un ángulo de arco más pequeño para ajustar los arcos circulares a segmentos densamente distribuidos y para prevenir el ajuste excesivo de los arcos circulares a segmentos grandes. Use un ángulo de arco mayor para ajustar los arcos circulares a segmentos distribuidos con menos densidad. El rango de valores válidos va de los 2 a los 95 grados decimales. El valor predeterminado es de 20 grados decimales.

      En el gráfico que aparece a continuación, se considera un segmento con un ángulo central de 90 grados para el ajuste de un arco circular. Si se especifican 89 grados como paso de ángulo de arco máximo, el segmento no se considera y la salida constará de una curva y una línea recta (diagrama central). Si se especifican 91 grados, el segmento se usa para construir el arco circular y la salida constará de una sola curva (diagrama final).

      Paso de ángulo de arco máximo
      El parámetro Paso de ángulo de arco máximo se utiliza para localizar vértices para la construcción de arcos circulares.

    • Nota:

      El parámetro Paso de ángulo de arco máximo no está disponible si se selecciona la opción Ajustar a segmentos en el parámetro Tipo de ajuste.

  • Active el parámetro Conservar extremos de línea cerrada para preservar los extremos de una línea que tiene extremos coincidentes (bucle). Si Conservar extremos de línea cerrada está desactivada, los extremos se podrán mover o eliminar.

Sintaxis

arcpy.edit.SimplifyByStraightLinesAndCircularArcs(in_features, max_offset, {fitting_type}, {circular_arcs}, {max_arc_angle_step}, {min_vertex_count}, {min_radius}, {max_radius}, {min_arc_angle}, {closed_ends}, {anchor_points})
ParámetroExplicaciónTipo de datos
in_features
[in_features,...]

Entidades que se van a simplificar. Las entidades pueden ser líneas o polígonos. Si se utilizan varias entradas, las entidades deben tener la misma referencia espacial.

Feature Layer
max_offset

Distancia máxima que pueden desviarse los ejes de entidades de salida respecto de las formas de entidades de entrada. Cuando se elige la opción Ajustar a vértices en el parámetro Tipo de ajuste, la distancia se mide entre los vértices de entrada y los ejes de entidades de salida. Si se elige la opción Ajustar a segmentos, la distancia se mide entre los ejes de entidades de entrada y los ejes de entidades de salida.

Linear Unit
fitting_type
(Opcional)

Especifique cómo se van a ajustar los ejes de entidades de salida y los arcos a las formas de entidades de entrada.

Si se elige Ajustar a segmentos, ni el parámetro Paso de ángulo de arco máximo ni Número mínimo de vértices están disponibles.

  • FIT_TO_VERTICESLa separación de desplazamiento entre los ejes de entidades de salida y los vértices de entidades de entrada se minimizará. Las curvas y los ejes de las entidades de salida se ajustarán de manera aproximada a las posiciones de los vértices de entidades de entrada. Esta es la opción predeterminada.
  • FIT_TO_SEGMENTSLa separación de desplazamiento entre los ejes de entidades de salida y los ejes de entidades de entrada se reducirá al mínimo. Las curvas y los ejes de salida se ajustarán de manera aproximada a las posiciones de las formas de entidades de entrada.
String
circular_arcs
(Opcional)

Especifica si se crearán arcos circulares.

  • CREATESe crearán arcos circulares. Esta es la opción predeterminada.
  • NOT_CREATENo se crearán arcos circulares.
Boolean
max_arc_angle_step
(Opcional)

Paso de ángulo de arco máximo (grados decimales) que se usará para construir arcos circulares. El ángulo de arco define la amplitud que puede tener el campo visual durante la localización de vértices para construir curvas circulares. El ángulo de arco es el ángulo central de la curva candidata (la curva que se está construyendo). Si se encuentran vértices dentro de cada paso de ángulo de arco máximo, se construye un arco circular. Por ejemplo, si los vértices y ejes son escasos, utilice un paso de ángulo de arco grande. El rango de valores válidos va de los 2 a los 95 grados decimales. El valor predeterminado es de 20 grados decimales. Este parámetro no está disponible si se selecciona la opción Ajustar a segmentos en el parámetro Tipo de ajuste.

Double
min_vertex_count
(Opcional)

El número mínimo de vértices requerido para la creación de un arco circular. El valor debe ser mayor que 3. El valor predeterminado es 4. Este parámetro no está disponible si se selecciona la opción Ajustar a segmentos en el parámetro Tipo de ajuste.

Long
min_radius
(Opcional)

El radio más pequeño permitido para los arcos circulares de salida. Este valor debe ser mayor que 0 y más pequeño que el valor especificado para Radio máximo. Si no se especifica ningún valor, no se comprueba el radio de los arcos circulares de salida (predeterminado).

Linear Unit
max_radius
(Opcional)

El radio más grande permitido para los arcos circulares de salida. Este valor debe ser mayor que el valor especificado para Radio mínimo. Si no se especifica ningún valor, no se comprueba el radio de los arcos circulares de salida (predeterminado).

Linear Unit
min_arc_angle
(Opcional)

Ángulo de arco mínimo (grados decimales) que se usará para construir arcos circulares. El ángulo de arco mínimo es el ángulo central permitido más pequeño de los arcos circulares de salida. Si el ángulo central de cualquier arco circular de salida es inferior a este valor, no se creará. El rango de valores válidos va de los 2 a los 360 grados decimales. El valor predeterminado es de 2 grados decimales.

Double
closed_ends
(Opcional)

Especifica si se conservarán los extremos de una línea cerrada. La línea cerrada es una línea en la que los extremos coinciden (bucle).

  • PRESERVESe conservarán los extremos de las líneas cerradas. Esta es la opción predeterminada.
  • NOT_PRESERVENo se conservarán los extremos de las líneas cerradas; se pueden mover o eliminar.
Boolean
anchor_points
(Opcional)

Ruta y nombre de la clase de entidad que contiene puntos de anclaje. Los puntos de anclaje superponen vértices en las entidades de entrada e indican que deberían moverse o eliminarse en el proceso de simplificación.

Feature Layer

Salida derivada

NombreExplicaciónTipo de datos
out_feature_class

Entidades actualizadas.

Capa de entidades
out_feature_layers

Nombres de capas actualizados.

Capa de entidades

Muestra de código

Ejemplo 1 de SimplifyByStraightLinesAndCircularArcs (ventana de Python)

El siguiente script de la ventana de Python demuestra cómo utilizar la función SimplifyByStraightLinesAndCircularArcs para simplificar líneas.

import arcpy
arcpy.env.workspace = "C:\data\data.gdb"
arcpy.edit.SimplifyByStraightLinesAndCircularArcs_edit("myDensifiedLines", 
                                                       "1.5 feet")
Ejemplo 2 de SimplifyByStraightLinesAndCircularArcs (ventana de Python)

El siguiente script de la ventana de Python demuestra cómo utilizar la función SimplifyByStraightLinesAndCircularArcs para simplificar líneas y polígonos de forma simultánea con puntos de anclaje.

import arcpy
arcpy.env.workspace = "C:\data\data.gdb"
arcpy.edit.SimplifyByStraightLinesAndCircularArcs("myDensifiedPolygons;myDensifiedLines", 
                                                  "0.4 Meters", 
                                                  anchor_points="myAnchorPoints")

Información de licenciamiento

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

Temas relacionados