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 (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.
La 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.
Sintaxis
Generalize_edit (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 permisible, 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 |
Muestra de código
Ejemplo de Generalizar (Ventana de Python)
La siguiente secuencia de comandos de la ventana Python muestra cómo utilizar la función Generalizar en el modo inmediato.
import arcpy
arcpy.env.workspace = "C:\data\data.gdb"
arcpy.Generalize_edit("zones", "10 Feet")
Ejemplo 2 de Generalizar (Secuencia de comandos independiente)
La siguiente secuencia de comandos independiente es un ejemplo de cómo utilizar la función Generalizar 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
try:
#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 FC
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)
except Exception as err:
print(err)
Entornos
Información sobre licencias
- ArcGIS Desktop Basic: No
- ArcGIS Desktop Standard: Sí
- ArcGIS Desktop Advanced: Sí