Disponible con una licencia Advanced.
Resumen
Simplifica una línea o un límite de polígono quitando pequeñas fluctuaciones o curvaturas extrañas mientras se conserva su forma esencial.
Más información sobre el funcionamiento de Simplificar líneas o polígonos
Ilustración
Uso
Si la cobertura de entrada ya contiene líneas que se intersecan, o si desea un resultado rápido y no le importan los errores topológicos de la cobertura de salida, utilice la opción predeterminada, que es no comprobar los errores topológicos. Los errores topológicos que introduzca el proceso no se comprobarán ni se corregirán. Si la cobertura de entrada contiene líneas que se intersecan, y decide comprobar los errores topológicos, se producirá un error en la validación de los datos de entrada, y el programa finalizará con un mensaje: "Hay líneas intersecantes en in_cover. El programa ha finalizado".
Si la cobertura de entrada no contiene ninguna línea que se interseque, active la opción Verificar errores topológicos para buscar y evitar los errores generados por el proceso de simplificación. Si se encuentra algún error topológico, los arcos implicados se regenerarán utilizando una tolerancia reducida. Se comprobará de nuevo si hay errores topológicos en el resultado. El proceso se repite hasta que no se encuentra ningún error más. Con esta opción, el programa tardará mucho más tiempo en ejecutarse que con la opción predeterminada.
A menos que no haya input_coverage.AAT, output_coverage.AAT contendrá un nuevo elemento, TOLFLAG, que almacena la tolerancia en números decimales utilizados para cada arco. Las tolerancias menores que Tolerancia de simplificación indican arcos que no se han simplificado por completo para evitar los errores topológicos.
Si existe topología de polígonos para la cobertura de entrada, no se conservará en la cobertura de salida. La PAT de la cobertura, sin embargo, se conserva. Se debe utilizar Construir para recrear la topología de polígonos. Si salen etiquetas, se conservarán. Si una etiqueta cae fuera del límite del polígono al simplificar el límite, simplemente se desplazará al interior del segmento de línea más cercano del límite del polígono.
Si existen regiones en la cobertura de entrada, las regiones de la cobertura de salida serán regiones preliminares. Cuando se utiliza Construir para recrear la topología de polígonos, también se recrea la topología de región.
La precisión de las coordenadas de la cobertura de salida la determina la regla de procesamiento actual según se establezca a través de la configuración de entorno Precisión derivada. Si no se ha establecido la regla de procesamiento, la cobertura de salida tendrá la misma precisión que la cobertura de entrada.
Sintaxis
arcpy.arc.SimplifyLineOrPolygon(in_cover, out_cover, simplification_tolerance, {simplification_operator}, {ErrorCheck})
Parámetro | Explicación | Tipo de datos |
in_cover | La cobertura que contiene los arcos o polígonos que se van a simplificar. | Coverage |
out_cover | La cobertura que se va a crear. El nombre de la cobertura de salida debe ser diferente al nombre de la cobertura de entrada. | Coverage |
simplification_tolerance | Establece la tolerancia en unidades de cobertura. Se debe especificar una tolerancia que sea mayor que cero. | Double |
simplification_operator (Opcional) | Especifica el operador de simplificación.
| String |
ErrorCheck (Opcional) | Especifica si se debe comprobar si hay errores topológicos, incluidos el cruce de líneas, la superposición de líneas, las líneas de longitud cero, los polígonos contraídos y los agujeros que caigan fuera de los polígonos.
| Boolean |
Muestra de código
Ejemplo de SimplifyLineOrPolygon (secuencia de comandos independiente)
La siguiente secuencia de comandos independiente demuestra cómo simplificar una cobertura de lago.
# Name: SimplifyLineOrPolygon_Example.py
# Description: Simplifies a lake coverage
# Requirements: ArcInfo Workstation
# Import system modules
import arcpy
from arcpy import env
# Set environment settings
env.workspace = "C:/data"
# Set local variables
inCover = "lakeshore"
outCover = "C:/output/cartolake"
simplificationTolerance = 110
simplificationOperator = "BEND_SIMPLIFY"
# Execute SimplifyLineOrPolygon
arcpy.SimplifyLineOrPolygon_arc(inCover, outCover, simplificationTolerance,
simplificationOperator, "")
Entornos
Información de licenciamiento
- Basic: No
- Standard: No
- Advanced: Requiere ArcInfo Workstation instalado