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 for 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

Simplificar línea

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

Resumen

Simplifica líneas con la eliminación de vértices relativamente extraños y preserva la forma esencial.

Ilustración

Comparación de los cuatro algoritmos de simplificación que utiliza la herramienta Simplificar línea

Uso

  • Esta herramienta emplea distintos algoritmos de simplificación para diferentes finalidades:

    • El algoritmo POINT_REMOVE funciona identificando y eliminando vértices relativamente redundantes para simplificar los datos a fin de visualizarlos a escalas más pequeñas. Es el algoritmo de simplificación más rápido de esta herramienta. Este algoritmo se suele utilizar para la compresión de datos o para una simplificación más gruesa. La angulosidad de la línea resultante se incrementa considerablemente a medida que aumenta la tolerancia. Este algoritmo se basa en el algoritmo de Douglas-Peucker: Douglas, David and Peucker, Thomas, "Algorithms for the reduction of the number of points required to represent a digitized line or its caricature," The Canadian Cartographer 10(2), 112–122 (1973).
    • El algoritmo BEND_SIMPLIFY funciona identificando y eliminando curvaturas relativamente insignificantes para simplificar los datos a fin de visualizarlos a escalas más pequeñas. Suele ser más fiel a la geometría de entrada que el algoritmo POINT_REMOVE, pero puede tardar más tiempo en procesarse. Es más lento, pero generalmente produce resultados más fieles a las entidades originales. Opera con la eliminación de las curvaturas insignificantes a lo largo de las líneas. Este algoritmo se basa en el algoritmo definido en Wang, Zeshen and Müller, Jean-Claude, "Line Generalization Based on Analysis of Shape Characteristics," Cartography and Geographic Information Systems 25(1), 3–15 (1998).
    • El algoritmo WEIGHTED_AREA funciona identificando primero triángulos de un área efectiva para cada vértice. Seguidamente, estos triángulos se ponderan mediante un conjunto de métricas a fin de comparar lo llano, el sesgo y la convexidad de cada área. Las áreas ponderadas determinan la eliminación de sus vértices correspondientes para simplificar la línea manteniendo a la vez la mayor cantidad de carácter posible. Este algoritmo se basa en el algoritmo definido en Zhou, Sheng and Jones, Christopher B., "Shape-Aware Line Generalisation with Weighted Effective Area," en Fisher, Peter F. (Ed.), Developments in Spatial Handling: 11th International Symposium on Spatial Handling, 369–80 (2005).
    • El algoritmo EFFECTIVE_AREA funciona identificando triángulos del área efectiva para que cada vértice guíe la eliminación de vértices para simplificar la línea mientras se mantienen tantos caracteres como resulta posible. Este algoritmo se basa en el algoritmo definido en Visvalingam, M. and Whyatt, J. D., "Line Generalisation by Repeated Elimination of the Smallest Area," Cartographic Information Systems Research Group (CISRG) Documento de trabajo 10, The University of Hull (1992).

  • El valor del parámetro Tolerancia de simplificación determina el grado de simplificación. Cuanto más grande sea la tolerancia, más gruesa será la geometría resultante. Con tolerancias más pequeñas se genera una geometría más fiel a la entrada. MinSimpTol y MaxSimpTol se agregan a la salida para almacenar la tolerancia que se utilizó.

    Legado:

    Durante la resolución de la topología, en versiones de la herramienta anteriores a ArcGIS Desktop 10.5 se modificaba la tolerancia por entidad y estos valores se almacenaban en los campos MinSimpTol y MaxSimpTol. Ahora, los valores de estos campos serán los mismos y equivaldrán a la tolerancia especificada en el parámetro Tolerancia de simplificación. Asegúrese de modificar los modelos o scripts existentes basados en cualquiera de estos campos.

    • Para el algoritmo POINT_REMOVE, la tolerancia será la distancia perpendicular máxima permitida entre cada vértice y la nueva línea creada.
    • Para el algoritmo BEND_SIMPLIFY, la tolerancia será el diámetro de un círculo que se aproxima a una curvatura significativa.
    • Para el algoritmo WEIGHTED_AREA, el cuadrado de la tolerancia será el área de un triángulo significativo definido mediante tres vértices adyacentes. Cuanto más se desvíe el triángulo de ser equilátero, mayor ponderación se dará y, por tanto, menores serán sus probabilidades de ser eliminado.
    • Para el algoritmo EFFECTIVE_AREA, el cuadrado de la tolerancia será el área de un triángulo significativo definido mediante tres vértices adyacentes.

  • Utilice el parámetro Mantener puntos contraídos (collapsed_point_option en Python) para crear una clase de entidad de puntos de salida para almacenar los extremos de cualquier línea que sea más pequeña que la tolerancia espacial de los datos. Se deriva la salida de puntos; utilizará el mismo nombre y ubicación que la Clase de entidad de salida (out_feature_class en Python) pero con el sufijo _Pnt. La clase de entidad de línea de salida contiene todos los campos presentes en la clase de entidad de entrada. La clase de entidad de punto de salida no contiene ninguno de estos campos.

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

    Legado:

    Con anterioridad a la versión ArcGIS Desktop 10.5 de esta herramienta, se podían generar errores topológicos durante el procesamiento. Se incluyeron los parámetros Verificar errores topológicos (error_checking_option en Python) y Resolver errores topológicos (error_resolving_option en Python) para identificar y, opcionalmente, resolver estos errores. Estos parámetros siguen incluidos en la sintaxis de la herramienta a efectos de compatibilidad con los scripts y modelos, pero ahora se ignoran y están ocultos en el cuadro de diálogo de la herramienta. El campo SimLnFlag se utilizó para marcar los errores topológicos introducidos por la herramienta en el procesamiento. Ahora este campo marca los errores presentes en la entrada.

  • Utilice el parámetro Capas de barrera de entrada para identificar las entidades que las líneas simplificadas 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 entorno Particiones 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.

Sintaxis

SimplifyLine(in_features, out_feature_class, algorithm, tolerance, {error_resolving_option}, {collapsed_point_option}, {error_checking_option}, {in_barriers})
ParámetroExplicaciónTipo de datos
in_features

Las entidades de línea de entrada que se van a simplificar.

Feature Layer
out_feature_class

La clase de entidad de línea de salida simplificada. Contiene todos los campos incluidos en la clase de entidad de entrada. La clase de entidad de línea de salida será correcta desde el punto de vista topológico. La herramienta no introduce errores topológicos, sino que los errores topológicos de los datos de entrada se marcan en la clase de entidad de línea de salida. La clase de entidad de salida incluye dos campos adicionales: InLine_FID y SimLnFlag, que contienen los Id. de entidad de entrada y los errores topológicos de la entrada, respectivamente. Un valor de SimLnFlag de 1 indica que existe un error topológico de entrada; 0 (cero) indica que no hay errores de entrada.

Feature Class
algorithm

Especifica el algoritmo de simplificación de línea.

  • POINT_REMOVE — Retiene los puntos críticos que mantienen la forma esencial de una línea y quita el resto de puntos (Douglas-Peucker). Esta es la configuración predeterminada.
  • BEND_SIMPLIFY — Retiene las curvaturas críticas y elimina las curvaturas extrañas de una línea (Wang-Müller).
  • WEIGHTED_AREA —Retiene los vértices que forman triángulos de área efectiva ponderados por la forma del triángulo (Zhou-Jones).
  • EFFECTIVE_AREA — Retiene los vértices que forman triángulos de área efectiva (Visvalingam-Whyatt).
String
tolerance

La tolerancia determina el grado de simplificación. Puede elegir la unidad que prefiera; de lo contrario, se utilizarán las unidades de la entrada.MinSimpTol y MaxSimpTol se agregan a la salida para almacenar la tolerancia que se utilizó durante el procesamiento.

  • Para el algoritmo POINT_REMOVE, la tolerancia será la distancia perpendicular máxima permitida entre cada vértice y la nueva línea creada.
  • Para el algoritmo BEND_SIMPLIFY, la tolerancia será el diámetro de un círculo que se aproxima a una curvatura significativa.
  • Para el algoritmo WEIGHTED_AREA, el cuadrado de la tolerancia será el área de un triángulo significativo definido mediante tres vértices adyacentes. Cuanto más se desvíe el triángulo de ser equilátero, mayor ponderación se dará y, por tanto, menores serán sus probabilidades de ser eliminado.
  • Para el algoritmo EFFECTIVE_AREA, el cuadrado de la tolerancia será el área de un triángulo significativo definido mediante tres vértices adyacentes.
Linear Unit
error_resolving_option
(Opcional)
Legado:

Este es un parámetro heredado que ya no se utiliza. Antes se utilizaba para indicar cómo se manejaban los errores topológicos posiblemente introducidos durante el procesamiento. 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.

Boolean
collapsed_point_option
(Opcional)

Indica si se va a crear una clase de entidad de puntos de salida para almacenar los extremos de cualquier línea que sea más pequeña que la tolerancia espacial. Se deriva la salida de puntos; utilizará el mismo nombre y ubicación que out_feature_class, pero con el sufijo _Pnt.

  • KEEP_COLLAPSED_POINTS —Registra los extremos de líneas de longitud cero en una clase de entidad de puntos de salida derivada. Esta es la opción predeterminada.
  • NO_KEEP —No se crea una clase de entidad de puntos de salida derivada.
Boolean
error_checking_option
(Opcional)
Nota:

Este es un parámetro heredado que ya no se utiliza. Antes se utilizaba para indicar cómo se manejaban los errores topológicos posiblemente introducidos durante el procesamiento. 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.

Boolean
in_barriers
[in_barriers,...]
(Opcional)

Entradas que contienen las entidades que van a actuar como barreras para la simplificación. Las líneas simplificadas resultantes no tocarán ni cruzarán las entidades de barrera. Por ejemplo, al simplificar líneas de contornos, las entidades de altura de punto introducidas como barreras garantizan que las líneas de contornos simplificadas no se van a simplificar a lo largo de estos puntos. La salida no infringirá la elevación indicada mediante alturas de punto medidas.

Feature Layer

Salida derivada

NombreExplicaciónTipo de datos
out_point_feature_class

Cuando utiliza el parámetro Mantener puntos contraídos (collapsed_point_option en Python), se crea una clase de entidad de puntos de salida para almacenar los extremos de cualquier línea que sea más pequeña que la tolerancia espacial de los datos.

Clase de entidad

Muestra de código

Ejemplo de SimplifyLine (ventana de Python)

El script de la ventana de Python muestra cómo utilizar la herramienta SimplifyLine en el modo inmediato.

import arcpy
import arcpy.cartography as CA
arcpy.env.workspace = "C:/data"
CA.SimplifyLine("roads.shp", 
                "C:/output/output.gdb/simplified_roads", 
                "POINT_REMOVE", 
                20)
Ejemplo 2 de SimplifyLine (script independiente)

El siguiente script independiente muestra cómo utilizar la herramienta SimplifyLine.

# Name: SimplifyLine_Example2.py
# Description: Simplify line features from two feature classes, rivers and coastlines,
# while maintaining their connections
# Import system modules
import arcpy
import arcpy.management as DM
import arcpy.cartography as CA
 
# Set environment settings
arcpy.env.workspace = "C:/data/Portland.gdb/Hydrography"
 
# Set local variables
inRiverFeatures = "rivers"
inCoastlineFeatures = "coastlines"
mergedFeatures = "C:/data/PortlandOutput.gdb/merged_lines"
simplifiedFeatures = "C:/data/PortlandOutput.gdb/merged_lines_simplified"
tempLayer = "tempLyr"
outRiverFeatureClass = "C:/data/PortlandOutput.gdb/rivers_final"
outCoastlineFeatureClass = "C:/data/PortlandOutput.gdb/coastlines_final"
# Merge rivers and coastlines into one feature class, 
# assuming that they have a common f-code field 
# with value 40 for rivers and 80 for coastlines.
DM.Merge(inRiverFeatures, inCoastlineFeatures, mergedFeatures)
# Simplify all lines.
CA.SimplifyLine(mergedFeatures, 
                simplifiedFeatures, 
                "BEND_SIMPLIFY", 
                100, 
                "KEEP_COLLAPSED_POINTS")
 
# Select rivers and coastlines by their f-code values 
# and put them in separate feature classes.
DM.MakeFeatureLayer(simplifiedFeatures, tempLayer, "f-code = 40")
DM.CopyFeatures(tempLayer, outRiverFeatureClass)
DM.MakeFeatureLayer(simplifiedFeatures, tempLayer, "f-code = 80")
DM.CopyFeatures(tempLayer, outCoastlineFeatureClass)

Entornos

  • Particiones cartográficas
  • Espacio de trabajo actual
  • Valor Z de salida predeterminado
  • Dominio M 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

Información sobre licencias

  • 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
  • Simplificar polígono
  • Cómo funciona Simplificar línea y Simplificar polígono

ArcGIS Desktop

  • Inicio
  • Documentación
  • Soporte

Plataforma ArcGIS

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS for Developers
  • 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 © 2019 Esri. | Privacidad | Legal