Simplificar bordes compartidos (Cartografía)

Resumen

Simplifica los bordes de las entidades de entrada y al mismo tiempo mantiene la relación topológica con los bordes compartidos con otras entidades.

Ilustración

Ejemplo de la herramienta Simplificar bordes compartidos
Las entradas 1 y 2 tienen todos los bordes simplificados. Polígono de borde compartido y Línea de borde compartido tienen simplificados solamente los bordes compartidos con las entradas 1 y 2.

Uso

  • Esta herramienta emplea distintos algoritmos de simplificación para diferentes finalidades. Para más información sobre estos algoritmos, consulte Cómo funcionan Simplificar línea y Simplificar polígono.

    • El algoritmo Retener puntos críticos (Douglas-Peucker) (algorithm='POINT_REMOVE' en Python) 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 las líneas resultantes se incrementa considerablemente a medida que aumenta la tolerancia. Este algoritmo se basa en el algoritmo de Douglas-Peucker: Douglas, David y 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–22 (1973).
    • El algoritmo Retener curvaturas críticas (Wang-Müller) (algorithm='BEND_SIMPLIFY' en Python) 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 Retener puntos críticos (Douglas-Peucker), pero puede tardar más tiempo en procesarse. 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 Retener áreas efectivas ponderadas (Zhou-Jones) (algorithm='WEIGHTED_AREA' en Python) 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 Retener áreas efectivas (Visvalingam-Whyatt) (algorithm='EFFECTIVE_AREA' en Python) 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).

  • Esta herramienta modifica los parámetros Entidades de entrada y Entidades de eje compartido. No genera una nueva salida.

  • La simplificación se aplica a todos los bordes de las Entidades de entrada y solamente a los bordes de las Entidades de eje compartido que comparten un borde con cualquier borde de las Entidades de entrada. No se simplifican los bordes de las Entidades de eje compartido que no comparten ningún borde con al menos un borde de las Entidades de entrada.

Parámetros

EtiquetaExplicaciónTipo de datos
Entidades de entrada

Las líneas o polígonos que se van a simplificar.

Feature Layer
Algoritmo de simplificación

Especifica el algoritmo de simplificación.

  • Retener puntos críticos (Douglas-Peucker)Retiene los puntos críticos que mantienen la forma esencial de un contorno de polígono y quita el resto de puntos (Douglas-Peucker). Esta es la opción predeterminada.
  • Retener curvaturas críticas (Wang-Müller) Retiene las curvaturas críticas y elimina las curvaturas extrañas de una línea (Wang-Müller).
  • Retener áreas efectivas ponderadas (Zhou-Jones)Retiene los vértices que forman triángulos de área efectiva ponderados por la forma del triángulo (Zhou-Jones).
  • Retener áreas efectivas (Visvalingam-Whyatt) Retiene los vértices que forman triángulos de área efectiva (Visvalingam-Whyatt).
String
Tolerancia de simplificación

Determina el grado de simplificación. Si no se especifica ninguna unidad, se utilizarán las unidades de la entrada.

  • Para el algoritmo Retener puntos críticos (Douglas-Peucker), la tolerancia será la distancia perpendicular máxima permitida entre cada vértice y la nueva línea creada.
  • Para el algoritmo Retener curvaturas críticas (Wang-Müller), la tolerancia será el diámetro de un círculo que se aproxima a una curvatura significativa.
  • Para el algoritmo Retener áreas efectivas ponderadas (Zhou-Jones), 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 Retener áreas efectivas (Visvalingam-Whyatt), el cuadrado de la tolerancia es el área de un triángulo significativo definido mediante tres vértices adyacentes.
Linear Unit
Entidades de eje compartido
(Opcional)

Las entidades poligonales o de línea que se simplificarán a lo largo de los bordes compartidos con entidades de entrada. El resto de bordes no se simplificarán.

Feature Layer
Área mínima
(Opcional)

El área mínima para que se conserve un polígono. El valor predeterminado es 0, en cuyo caso se conservarán todos los polígonos. Puede especificar unidades. Si no se especifica ninguna, se utilizarán las unidades de la entrada. Este parámetro está disponible solo cuando al menos una de las entradas es una clase de entidad poligonal.

Areal Unit
Capas de barrera de entrada
(Opcional)

Entidades de punto, de línea o poligonales que actúan como barreras para la simplificación. Las entidades simplificadas no tocarán ni cruzarán entidades de barrera.

Feature Layer

Salida derivada

EtiquetaExplicaciónTipo de datos
Clase de entidad de salida

Las entidades de entrada suavizadas.

Capa de entidades
Clase de entidad de salida

Las entidades de eje compartido.

Capa de entidades

arcpy.cartography.SimplifySharedEdges(in_features, algorithm, tolerance, {shared_edge_features}, {minimum_area}, {in_barriers})
NombreExplicaciónTipo de datos
in_features
[in_features,...]

Las líneas o polígonos que se van a simplificar.

Feature Layer
algorithm

Especifica el algoritmo de simplificación.

  • POINT_REMOVERetiene los puntos críticos que mantienen la forma esencial de un contorno de polígono y quita el resto de puntos (Douglas-Peucker). Esta es la opción predeterminada.
  • BEND_SIMPLIFY Retiene las curvaturas críticas y elimina las curvaturas extrañas de una línea (Wang-Müller).
  • WEIGHTED_AREARetiene 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

Determina el grado de simplificación. Si no se especifica ninguna unidad, se utilizarán las unidades de la entrada.

  • 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
shared_edge_features
[shared_edge_features,...]
(Opcional)

Las entidades poligonales o de línea que se simplificarán a lo largo de los bordes compartidos con entidades de entrada. El resto de bordes no se simplificarán.

Feature Layer
minimum_area
(Opcional)

El área mínima para que se conserve un polígono. El valor predeterminado es 0, en cuyo caso se conservarán todos los polígonos. Puede especificar unidades. Si no se especifica ninguna, se utilizarán las unidades de la entrada. Este parámetro está disponible solo cuando al menos una de las entradas es una clase de entidad poligonal.

Areal Unit
in_barriers
[in_barriers,...]
(Opcional)

Entidades de punto, de línea o poligonales que actúan como barreras para la simplificación. Las entidades simplificadas no tocarán ni cruzarán entidades de barrera.

Feature Layer

Salida derivada

NombreExplicaciónTipo de datos
out_feature_class

Las entidades de entrada suavizadas.

Capa de entidades
out_shared_edge_feature_class

Las entidades de eje compartido.

Capa de entidades

Muestra de código

Ejemplo de SimplifySharedEdges (ventana de Python)

El siguiente scriptde la ventana de Python muestra cómo utilizar la herramienta SimplifySharedEdges en el modo inmediato:

import arcpy
arcpy.env.workspace = "C:/data/LandUse.gdb"
arcpy.cartography.SimplifySharedEdges("Water;Parks;", 
                                      "POINT_REMOVE", 
                                      "10 Meters", 
                                      "Commercial;Highways;Buildings", 
                                      "0 SquareMeters")
Ejemplo de SimplifySharedEdges (script independiente)

Este script independiente muestra un ejemplo del uso de la herramienta SimplifySharedEdges.

# Name: SimplifySharedEdges_standalone_script.py
# Description: Simplifies input features while maintaining topological 
#              relationships along shared edges. For features included as 
#              shared_edge_features (4th argument of 
#              SimplifySharedEdges_cartography()) only the edges that are shared 
#              with in_features (1st argument) are simplified. 

# Import system modules
import arcpy

# Set environment settings
arcpy.env.workspace = "C:/data/LandUse.gdb"

# Set local variables
in_features = "Water;Parks"
algorithm = "POINT_REMOVE"
tolerance = "10 Meters"
shared_edge_features = "Commercial;Highways;Buildings"
minimum_area = "0 SquareMeters"
barriers = None

# Execute Simplify Shared Edges
arcpy.cartography.SimplifySharedEdges(in_features, algorithm, tolerance, 
                                      shared_edge_features, minimum_area, 
                                      barriers)

Información de licenciamiento

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

Temas relacionados