Resumen
Simplifica las entidades de entrada utilizando una tolerancia de desplazamiento máximo especificada. Las entidades de salida contendrán un subconjunto de los vértices de entrada originales.
Ilustración
Uso
Esta herramienta utiliza el mismo algoritmo que el método para quitar puntos de la herramienta Simplificar línea (el algoritmo de simplificación Douglas-Peucker). La herramienta Simplificar línea proporciona más parámetros y crea una nueva salida, mientras que esta herramienta modifica la clase de entidad de entrada.
Esta herramienta generaliza las entidades registro por registro. Es posible que las secciones de límites de polígonos y líneas que fueron coincidentes entre entidades no coincidan después de la ejecución de la herramienta.
Los segmentos de curva de Bézier, arco circular y arco elíptico se convertirán en un conjunto de segmentos de línea recta.
Esta herramienta no elimina registros ni entidades. Si la tolerancia es mayor que un polígono, el polígono se reducirá a tres vértices.
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.
Sintaxis
arcpy.edit.Generalize(in_features, {tolerance})
Parámetro | Explicación | Tipo de datos |
in_features | Las entidades poligonales o de línea que se van a generalizar. | Feature Layer |
tolerance (Opcional) | La tolerancia establece el desplazamiento máximo permitido, que determinará el grado de simplificación. Este valor limita la distancia en que la geometría de salida puede diferir de la geometría de entrada. Puede especificar la unidad de medida que prefiera. El valor predeterminado es la unidad de la entidad. | Linear Unit |
Salida derivada
Nombre | Explicación | Tipo de datos |
out_feature_class | Las entidades de entrada actualizadas. | Clase de entidad |
Muestra de código
El siguiente script de la ventana de Python demuestra cómo utilizar la función Generalize en el modo inmediato:
import arcpy
arcpy.env.workspace = "C:\data\data.gdb"
arcpy.Generalize_edit("zones", "10 Feet")
El siguiente script independiente es un ejemplo de cómo utilizar la función Generalize en un flujo de trabajo donde primero se simplifican las entidades y luego se les establece una zona de influencia:
# Name: BufferZones.py
# Purpose: Simplify features using the Generalize tool and then Buffer them
# Import script modules
import arcpy
# Set the workspace
arcpy.env.workspace = "C:/data/data.gdb"
# Set local parameters
inFeatures = "zones"
gTolerance = "4 Feet"
copFeatures = "zones_cp"
bufDist = "50 Miles"
bufOutput = "zones_buff"
# Since Generalize permanently updates the input, first make a copy of the
# original feature class
arcpy.CopyFeatures_management (inFeatures, copFeatures)
# Use the Generalize tool to simplify the Buffer input to shorten Buffer
# processing time
arcpy.Generalize_edit(copFeatures, gTolerance)
# Buffer the output
arcpy.Buffer_analysis(copFeatures, bufOutput, bufDist)
Entornos
Información de licenciamiento
- Basic: No
- Standard: Sí
- Advanced: Sí