| Etiqueta | Explicación | Tipo de datos |
Entidades de entrada | Las entidades poligonales que se van a suavizar. | Feature Layer |
Clase de entidad de salida | La clase de entidad poligonal de salida que se va a crear. | Feature Class |
Algoritmo de suavizado | Especifica el algoritmo de suavizado que se va a utilizar.
| String |
Tolerancia del suavizado | La tolerancia utilizada por la opción algoritmo de aproximación polinomial con núcleo exponencial (PAEK) del parámetro Algoritmo de suavizado. Se debe especificar una tolerancia, la cual debe ser mayor que cero. Puede elegir la unidad que prefiera; el valor predeterminado es la unidad de la entidad. Este parámetro no está disponible cuando se utiliza la opción Interpolación de Bézier del parámetro Algoritmo de suavizado. | Linear Unit |
Conservar extremo para anillos (Opcional) | Este es un parámetro heredado que ya no se utiliza. Antes se utilizaba para especificar si se conservaba el extremo de un anillo de polígono aislado. Este parámetro sigue incluido en la sintaxis de la herramienta a efectos de compatibilidad con los scripts y modelos, pero está oculto en el panel Geoprocesamiento. Especifica si se conservarán los extremos de anillos de polígonos aislados. Esta opción funciona solo con la opción Aproximación polinomial con núcleo exponencial (PAEK) del parámetro Algoritmo de suavizado.
| Boolean |
Manejo de errores topológicos (Opcional) | Especifica cómo se manejarán los errores topológicos (posiblemente introducidos en el proceso, como el cruce o superposición de línea).
| String |
Capas de barrera de entrada (Opcional) | Entradas que contienen las entidades que actuarán como barreras para el suavizado. Los polígonos suavizados resultantes no tocarán ni cruzarán las entidades de barrera. | Feature Layer |
Resumen
Suaviza ángulos cerrados en contornos de polígonos para mejorar la calidad estética o cartográfica.
Más información sobre cómo funcionan las herramientas Suavizar línea y Suavizar polígono
Ilustración

Uso
El parámetro Algoritmo de suavizado tiene estas opciones:
- Aproximación polinomial con núcleo exponencial (PAEK): suaviza los polígonos en función de una tolerancia de suavizado. Cada polígono suavizado puede tener más vértices que el polígono de origen. El parámetro Tolerancia del suavizado controla la longitud de una ruta en movimiento que se utiliza para calcular los nuevos vértices. Cuanto menor sea la longitud, más detalles se preservarán y mayor será el tiempo de procesamiento.
- Interpolación de Bézier: suaviza polígonos sin utilizar una tolerancia al crear curvas de Bézier aproximadas que coinciden con las líneas de entrada.
Utilice el parámetro Capas de barrera de entrada para identificar las entidades que los polígonos suavizados no deben cruzar. Las entidades de barrera pueden ser puntos, líneas o polígonos.
El procesamiento de datasets grandes podría superar los límites de memoria. En estos casos, considere la posibilidad de procesar los datos de entrada por partición identificando una clase de entidad poligonal relevante en la configuración de entornoParticiones cartográficas. Las partes de los datos definidos por los límites de partición se procesarán en secuencia. La clase de entidad resultante será sin fisuras y coherente en los bordes de la partición. Consulte Generalizar datasets grandes usando particiones para obtener más información.
Precaución:
Se ignora la configuración del entorno Particiones cartográficas cuando el parámetro Manejo de errores topológicos está establecido en No verificar errores topológicos o en Verificar y marcar errores topológicos.
Los dominios y subtipos se copiarán a la salida, aunque el entorno Transferir dominios de campo, subtipos y reglas de atributo esté desactivado.
La clase de entidad poligonal de salida será correcta desde el punto de vista topológico. Todos los errores topológicos de los datos de entrada se marcarán en la clase de entidad poligonal de salida. La clase de entidad de salida incluirá los siguientes campos adicionales:
- InPoly_FID—Contiene los Id. de entidad de la entrada.
- SmoPgnFlag—Contiene los errores topológicos de la entrada. El valor 1 indica que existe un error topológico; el valor 0 indica que no hay errores.
Heredado:
Antes de la versión ArcGIS Pro 2.2 de esta herramienta, se utilizaba el parámetro Conservar extremo para anillos para especificar si se conservaba el extremo de un anillo de polígono aislado resultante. Este parámetro sigue incluido en la sintaxis de la herramienta a efectos de compatibilidad con los scripts y modelos, pero ahora se ignora y está oculto en el cuadro de diálogo de la herramienta.
Parámetros
arcpy.cartography.SmoothPolygon(in_features, out_feature_class, algorithm, tolerance, {endpoint_option}, {error_option}, {in_barriers})| Nombre | Explicación | Tipo de datos |
in_features | Las entidades poligonales que se van a suavizar. | Feature Layer |
out_feature_class | La clase de entidad poligonal de salida que se va a crear. | Feature Class |
algorithm | Especifica el algoritmo de suavizado que se va a utilizar.
| String |
tolerance | La tolerancia utilizada por la opción PAEK del parámetro algorithm. Se debe especificar una tolerancia, la cual debe ser mayor que cero. Puede elegir la unidad que prefiera; el valor predeterminado es la unidad de la entidad. Debe introducir 0 como marcador de posición cuando utilice la opción BEZIER_INTERPOLATION del parámetro algorithm. | Linear Unit |
endpoint_option (Opcional) | Este es un parámetro heredado que ya no se utiliza. Antes se utilizaba para especificar si se conservaba el extremo de un anillo de polígono aislado. Este parámetro sigue incluido en la sintaxis de la herramienta a efectos de compatibilidad con los scripts y modelos. Especifica si se conservarán los extremos de anillos de polígonos aislados. Esta opción solo funciona con la opción PAEK del parámetro algorithm.
| Boolean |
error_option (Opcional) | Especifica cómo se manejarán los errores topológicos (posiblemente introducidos en el proceso, como el cruce o superposición de línea).
| String |
in_barriers [in_barriers,...] (Opcional) | Entradas que contienen las entidades que actuarán como barreras para el suavizado. Los polígonos suavizados resultantes no tocarán ni cruzarán las entidades de barrera. | Feature Layer |
Muestra de código
La siguiente secuencia de comandos de la ventana de Python muestra cómo utilizar la función SmoothPolygon de modo inmediato.
import arcpy
arcpy.env.workspace = "C:/data"
arcpy.cartography.SmoothPolygon("soils.shp", "C:/output/output.gdb/smoothed_soils", "PAEK", 100)El siguiente script independiente muestra cómo utilizar la función SmoothPolygon.
# Name: SmoothPolygon_Example2.py
# Description: Eliminate small islands before simplifying and smoothing lake boundaries
# Import system modules.
import arcpy
# Set environment settings.
arcpy.env.workspace = "C:/data/Portland.gdb/Hydrography"
# Set local variables.
inLakeFeatures = "lakes"
barriers = "C:/data/Portland.gdb/Structures/buildings"
eliminatedFeatures = "C:/data/PortlandOutput.gdb/lakes_eliminated"
simplifiedFeatures = "C:/data/PortlandOutput.gdb/lakes_simplified"
smoothedFeatures = "C:/data/PortlandOutput.gdb/lakes_smoothed"
# Eliminate small islands in lake polygons.
arcpy.management.EliminatePolygonPart(
inLakeFeatures, eliminatedFeatures, 100, "OR", 0, "CONTAINED_ONLY")
# Simplify lake polygons.
arcpy.cartography.SimplifyPolygon(
eliminatedFeatures, simplifiedFeatures, "POINT_REMOVE", 50, 200,
"RESOLVE_ERRORS", "KEEP_COLLAPSED_POINTS", barriers)
# Smooth lake polygons.
arcpy.cartography.SmoothPolygon(
simplifiedFeatures, smoothedFeatures, "PAEK", 100, "", "FLAG_ERRORS",
barriers)Entornos
Información de licenciamiento
- Basic: No
- Standard: Sí
- Advanced: Sí