ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • Ayuda
  • Sign Out
ArcGIS Desktop

ArcGIS Online

La plataforma de representación cartográfica para tu organización

ArcGIS Desktop

Un completo SIG profesional

ArcGIS Enterprise

SIG en tu empresa

ArcGIS Developers

Herramientas para crear aplicaciones basadas en la ubicación

ArcGIS Solutions

Plantillas de aplicaciones y mapas gratuitas para tu sector

ArcGIS Marketplace

Obtén aplicaciones y datos para tu organización.

  • Documentación
  • Soporte
Esri
  • Iniciar sesión
user
  • Mi perfil
  • Cerrar sesión

ArcMap

  • Inicio
  • Introducción
  • Cartografiar
  • Analizar
  • Administrar datos
  • Herramientas
  • Extensiones

Suavizar polígono

  • Resumen
  • Ilustración
  • Uso
  • Sintaxis
  • Muestra de código
  • Entornos
  • Información de licenciamiento

Resumen

Suaviza ángulos cerrados en contornos de polígonos para mejorar la calidad estética o cartográfica.

Ilustración

Ejemplos de opciones de algoritmo de la herramienta Suavizar polígono
Los ángulos agudos de un polígono se pueden suavizar con los métodos PAEK o Interpolación de Bézier.

Uso

  • Existen dos métodos de suavizado:

    • El método Aproximación polinómica con núcleo exponencial (PAEK) (PAEK en Python) 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.
    • El método Interpolación de Bézier (BEZIER_INTERPOLATION en Python) suaviza polígonos sin utilizar una tolerancia al crear curvas de Bézier aproximadas que coinciden con los polígonos 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á definido en No verificar errores topológicos (error_option = "NO_CHECK" en Python) o en Marcar errores topológicos (error_option = "FLAG_ERRORS" en Python).

  • 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 incluye dos campos adicionales: InPoly_FID y SmoPgnFlag, que contienen los Id. de entidad de entrada y los errores topológicos de la entrada, respectivamente. Un valor de SmoPgnFlag de 1 indica que existe un error topológico; un valor de 0 (cero) indica que no hay errores.

    Heredado:

    Antes de la versión ArcMap 10.6.1 de esta herramienta, se utilizaba el parámetro Conservar extremo para anillos (endpoint_option en Python) 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.

Sintaxis

arcpy.cartography.SmoothPolygon(in_features, out_feature_class, algorithm, tolerance, {endpoint_option}, {error_option}, {in_barriers})
ParámetroExplicaciónTipo de datos
in_features

Las entidades poligonales que se suavizarán.

Feature Layer
out_feature_class

La clase de entidad poligonal de salida que se creará.

Feature Class
algorithm

Especifica el algoritmo de suavizado.

  • PAEK —Es el acrónimo de Polynomial Approximation with Exponential Kernel (Aproximación polinómica con núcleo exponencial). Se calculará un polígono suavizado que no pasará a través de los vértices del polígono de entrada. Esta es la opción predeterminada.
  • BEZIER_INTERPOLATION —Las curvas de Bézier se ajustarán entre los vértices. Los polígonos resultantes pasan a través de los vértices de los polígonos de entrada. Este algoritmo no requiere una tolerancia. Las curvas de Bézier serán aproximadas en la salida.
String
tolerance

Una tolerancia utilizada por el algoritmo PAEK. Se debe especificar una tolerancia, la cual debe ser mayor que cero. Puede especificar la unidad que prefiera; el valor predeterminado es la unidad de la entidad. Debe introducir 0 como marcador de posición cuando utilice el algoritmo de suavizado Interpolación de Bézier.

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, pero está oculto en el cuadro de diálogo de la herramienta.

Especifica si se conservarán los extremos de anillos de polígonos aislados. Esta opción funciona sólo con el algoritmo PAEK.

  • FIXED_ENDPOINT —Se conservará el extremo de un anillo de polígono aislado. Esta es la opción predeterminada.
  • NO_FIXED —No se conservará el extremo de un anillo de polígono aislado, sino que se suavizará.
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).

  • NO_CHECK —No se identificarán errores topológicos. Esta es la opción predeterminada.
  • FLAG_ERRORS —Si se encuentran errores topológicos, se marcarán.
  • RESOLVE_ERRORS —Si se encuentran errores topológicos, se resolverán.
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

Ejemplo de SmoothPolygon (ventana de Python)

La siguiente secuencia de comandos de la ventana de Python demuestra cómo utilizar la función SmoothPolygon de modo inmediato.

import arcpy
import arcpy.cartography as CA
arcpy.env.workspace = "C:/data"
CA.SmoothPolygon("soils.shp", "C:/output/output.gdb/smoothed_soils", "PAEK", 100)
Ejemplo 2 de SmoothPolygon (script independiente)

La siguiente secuencia de comandos 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
import arcpy.cartography as CA
import arcpy.management as DM

# 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.
DM.EliminatePolygonPart(inLakeFeatures, eliminatedFeatures, 100, "OR", 0, 
                        "CONTAINED_ONLY")

# Simplify lake polygons.
CA.SimplifyPolygon(eliminatedFeatures, simplifiedFeatures, "POINT_REMOVE", 50, 
                   200, "RESOLVE_ERRORS", "KEEP_COLLAPSED_POINTS", barriers)

# Smooth lake polygons.
CA.SmoothPolygon(simplifiedFeatures, smoothedFeatures, "PAEK", 100, "", 
                 "FLAG_ERRORS", barriers)

Entornos

  • Espacio de trabajo actual
  • Valor Z de salida predeterminado
  • Palabra clave CONFIG de salida
  • Dominio XY de salida
  • Sistema de coordenadas de salida
  • Extensión
  • La salida tiene valores M
  • La salida tiene valores Z
  • Espacio de trabajo temporal
  • Tolerancia XY
  • Particiones cartográficas

Información de licenciamiento

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

Temas relacionados

  • Una vista general de las herramientas de Generalización
  • Comprender la resolución de conflictos y la generalización
  • Automatizar los flujos de trabajo de resolución de conflictos y generalización con geoprocesamiento
  • Suavizar línea
  • Simplificar polígono
  • Generalizar datasets grandes usando particiones

ArcGIS Desktop

  • Inicio
  • Documentación
  • Soporte

ArcGIS

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS
  • ArcGIS Developer
  • ArcGIS Solutions
  • ArcGIS Marketplace

Acerca de Esri

  • Quiénes somos
  • Empleo
  • Blog de Esri
  • Conferencia de usuarios
  • Cumbre de desarrolladores
Esri
Díganos su opinión.
Copyright © 2021 Esri. | Privacidad | Legal