Generalizar (Edición)
Resumen
Simplifica las entidades de entrada mediante el algoritmo de simplificación de Douglas-Peucker con una tolerancia de desplazamiento máxima 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. 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.
Esta herramienta modifica los datos de entrada. Vea Herramientas sin salidas para ver más información y estrategias para evitar cambios de datos no deseados.
Sintaxis
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 medición que prefiera. El valor predeterminado es la unidad de la entidad. | Linear unit |
Ejemplo de código
La siguiente secuencia de comandos de la ventana Python muestra cómo utilizar la función Generalizar en el modo inmediato.
import arcpy from arcpy import env env.workspace = "C:\data\data.gdb" arcpy.Generalize_edit("zones", "10 Feet")
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 #Author: ESRI #Import script modules import arcpy from arcpy import env try: #Set the workspace 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, e: # If an error occurred, print line number and error message import traceback, sys tb = sys.exc_info()[2] print "Line %i" % tb.tb_lineno print e.message