Simplificar línea (Cartografía)

Nivel de licencia:BasicStandardAdvanced

Resumen

Simplifica líneas con la eliminación de curvaturas extrañas y preserva la forma esencial.

Más información sobre cómo funciona Simplificar línea

Ilustración

Ilustración de Simplificar línea

Uso

Sintaxis

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

Entidades de línea que se simplificarán.

Feature Layer
out_feature_class

La clase de entidad de línea de salida que se creará.

Feature Class
algorithm

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

  • POINT_REMOVERetiene los puntos críticos que representan la forma esencial de una línea y quita el resto de los puntos. Esta es la opción predeterminada.
  • BEND_SIMPLIFYRetiene las curvaturas críticas de una línea y elimina las curvaturas extrañas.
String
tolerance

La tolerancia que determina el grado de simplificación. Se debe especificar una tolerancia, la cual debe ser mayor que cero. Puede elegir la unidad que prefiera; el valor predeterminado es la unidad de la entidad.

  • Para el algoritmo POINT_REMOVE, la tolerancia que especifique será el desplazamiento máximo permisible de cada vértice desde su ubicación original. Este valor se puede reducir localmente en algunas áreas cuando se utiliza la opción para resolver errores topológicos.
  • Para el algoritmo BEND_SIMPLIFY, la tolerancia que especifique será la longitud de la línea base de curvatura de referencia.
Linear unit
error_resolving_option
(Opcional)

Especifica cómo se manejarán los errores topológicos (posiblemente introducidos en el proceso, incluidos el cruce de línea, la superposición de línea y las líneas contraídas a una longitud de cero). Este parámetro funciona cuando la opción error_checking_option está establecida en CHECK (la opción predeterminada).

  • FLAG_ERRORSEspecifica que se marcarán los errores topológicos, si se encuentra alguno. Esta es la opción predeterminada.
  • RESOLVE_ERRORSEspecifica que se resolverán los errores topológicos, si se encuentra alguno.
Boolean
collapsed_point_option
(Opcional)

Especifica si las líneas contraídas a una longitud de cero se deben mantener como puntos, de encontrarse algunas en el proceso. Esta opción se aplica solamente cuando se especifica la opción NO_CHECK o cuando se especifican las opciones FLAG_ERRORS y CHECK.

  • KEEP_COLLAPSED_POINTSEspecifica que las líneas contraídas a una longitud de cero se mantendrán como puntos. Los extremos de las líneas contraídas se almacenan en una clase de entidad de puntos en la ubicación de la clase de entidad de salida, y toman el nombre de la clase de entidad de salida más el sufijo _Pnt. Esta es la opción predeterminada.
  • NO_KEEPEspecifica que las líneas contraídas a una longitud de cero no se mantendrán como puntos, aun si se las encuentra en el proceso; por lo tanto, la clase de entidad de puntos estará vacía.
Boolean
error_checking_option
(Opcional)

Especifica cómo se manejarán los errores topológicos (posiblemente introducidos en el proceso, incluidos el cruce de línea, la superposición de línea y las líneas contraídas a una longitud de cero).

  • CHECKEspecifica que se verificarán los errores topológicos y habilita el parámetro error_resolving_option. Esta es la opción predeterminada.
  • NO_CHECKEspecifica que no se verificarán los errores topológicos y deshabilita el parámetro error_resolving_option.
Boolean

Ejemplo de código

Ejemplo de SimplifyLine (ventana de Python)

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

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

La siguiente secuencia de comandos 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
from arcpy import env
import arcpy.management as DM
import arcpy.cartography as CA
 
# Set environment settings
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, 
                "RESOLVE_ERRORS", 
                "KEEP_COLLAPSED_POINTS", 
                "CHECK")
 
# 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

Temas relacionados

Información sobre licencias

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