Suavizar polígono (Cartografía)

Nivel de licencia:BasicStandardAdvanced

Resumen

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

Ilustración

Ilustración de Suavizar polígono

Uso

Sintaxis

SmoothPolygon_cartography (in_features, out_feature_class, algorithm, tolerance, {endpoint_option}, {error_option})
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.

  • PAEKAcrónimo de Polynomial Approximation with Exponential Kernel (Aproximación polinomial con núcleo exponencial). Calcula 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_INTERPOLATIONAjusta las curvas de Bézier entre los vértices. El polígono resultante pasa a través de los vértices del polígono de entrada. Este algoritmo no requiere una tolerancia. Las curvas de Bézier se aproximarán en una salida de shapefile.
String
tolerance

Establece 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 BEZIER_INTERPOLATION.

Linear unit
endpoint_option
(Opcional)

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

  • FIXED_ENDPOINTPreserva el extremo de un anillo de polígono aislado. Esta es la opción predeterminada.
  • NO_FIXEDSuaviza el extremo de un anillo de polígono aislado.
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_CHECKEspecifica que no se buscarán errores topológicos. Esta es la opción predeterminada.
  • FLAG_ERRORSEspecifica que se marcarán los errores topológicos, si se encuentra alguno.
String

Ejemplo de código

Ejemplo de SmoothPolygon (ventana de Python)

La siguiente secuencia de comandos de la ventana de Python muestra cómo utilizar la herramienta SmoothPolygon en el modo inmediato.

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

La siguiente secuencia de comandos independiente muestra cómo utilizar la herramienta SmoothPolygon.

# Name: SmoothPolygon_Example2.py
# Description: Eliminate small islands before simplifying and smoothing lake boundaries
 
# Import system modules
import arcpy
from arcpy import env
import arcpy.cartography as CA
import arcpy.management as DM
 
# Set environment settings
env.workspace = "C:/data/Portland.gdb/Hydrography"
 
# Set local variables
inLakeFeatures = "lakes"
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", "CHECK")
 
# Smooth lake polygons.
CA.SmoothPolygon(simplifiedFeatures, smoothedFeatures, "PAEK", 100, "", "FLAG_ERRORS")

Entornos

Temas relacionados

Información sobre licencias

ArcGIS for Desktop Basic: No
ArcGIS for Desktop Standard: Sí
ArcGIS for Desktop Advanced: Sí
5/9/2014