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

Crear terreno

  • Resumen
  • Uso
  • Sintaxis
  • Muestra de código
  • Entornos
  • Información de licenciamiento

Resumen

Crea un nuevo dataset de terreno.

Uso

  • El valor del parámetro Espaciado de punto promedio debe reflejar una buena aproximación de los datos que se utilizarán en el terreno, ya que se servirán para definir el tamaño de las teselas internas del terreno que se utilizan para optimizar el análisis de datos y el rendimiento de la visualización. Cada tesela se aproxima para que no tenga más de 200,000 puntos de elevación de origen. Si los datos se han recopilado a densidades significativamente diferentes de una ubicación a otra, el valor especificado debe favorecer el espaciado más pequeño.

  • Para completar el terreno, utilice Agregar nivel de pirámide del terreno para especificar la definición de pirámide, a continuación, Agregar clase de entidad al terreno para hacer referencia a los orígenes de datos que contribuyen a la superficie y, por último, Construir terreno para construir el terreno por completo.

  • Las herramientas de geoprocesamiento para la construcción de terrenos están orientadas a los procedimientos de automatización de datos en scripts de Python y ModelBuilder. Considere utilizar el Asistente de terrenos de ArcCatalog o la ventana Catálogo para crear un terreno nuevo de forma interactiva. Para acceder al Asistente de terreno, haga clic con el botón derecho del ratón en el dataset de entidades y, a continuación, haga clic en Nuevo > terreno.

Sintaxis

arcpy.ddd.CreateTerrain(in_feature_dataset, out_terrain_name, average_point_spacing, {max_overview_size}, {config_keyword}, {pyramid_type}, {windowsize_method}, {secondary_thinning_method}, {secondary_thinning_threshold})
ParámetroExplicaciónTipo de datos
in_feature_dataset

Dataset de entidades que contendrá el dataset de terreno.

Feature Dataset
out_terrain_name

Nombre del dataset de terreno.

String
average_point_spacing

Distancia horizontal media entre los puntos de datos que se utilizarán para modelar el terreno. Las mediciones basadas en sensores, como los relevamientos topográficos fotogramétricos, LIDAR y SONAR, normalmente tienen un espaciado conocido que se debería usar. El espaciado debe expresarse en unidades horizontales del sistema de coordenadas del dataset de entidades.

Double
max_overview_size
(Opcional)

La vista general del terreno es similar al concepto de vista en miniatura de la imagen. Es la representación más burda del dataset de terreno y el tamaño máximo representa el límite superior del número de puntos de medición que se pueden muestrear para crear la vista general.

Long
config_keyword
(Opcional)

Palabra clave de configuración para optimizar el almacenamiento del terreno en una base datos corporativa.

String
pyramid_type
(Opcional)

El método de simplificación de puntos que se utiliza para construir las pirámides de terreno.

  • WINDOWSIZE —La simplificación se realiza seleccionando los puntos de datos en el área definida por un tamaño de ventana determinado para cada nivel de pirámide con el criterio especificado en el parámetro windowsize_method.
  • ZTOLERANCE —La simplificación se realiza al especificar la precisión vertical de cada nivel de pirámide con respecto a la resolución completa de los puntos de datos.
String
windowsize_method
(Opcional)

El criterio utilizado para seleccionar puntos en el área definida por el tamaño de ventana. Este parámetro solo se aplica cuando se especifica WINDOWSIZE en el parámetro pyramid_type.

  • ZMIN —El punto con el valor de elevación más pequeño.
  • ZMAX —El punto con el valor de elevación más grande.
  • ZMEAN —El punto con el valor de elevación más cercano al promedio de todos los valores.
  • ZMINMAX —Los puntos con valores de elevación más grandes y más pequeños.
String
secondary_thinning_method
(Opcional)

Especifica las opciones de simplificación adicionales para reducir el número de puntos que se usan en las áreas planas cuando se utilizan pirámides de tamaño de ventana. Un área se considera plana si las alturas de puntos en un área están dentro del valor proporcionado para el parámetro Umbral de simplificación secundario. Su efecto es más evidente en niveles de pirámide de mayor resolución, dado que las áreas más pequeñas tienen más posibilidad de ser planas que las más grandes.

  • NONE —No se realizará ninguna simplificación secundaria. Esta es la opción predeterminada.
  • MILD —Funciona mejor para conservar discontinuidades lineales (por ejemplo, laterales de edificios y límites de bosques). Se recomienda para datos de lidar que incluyan puntos de tierra y no tierra. Simplificará el mínimo de puntos.
  • MODERATE —Proporciona un buen equilibrio entre rendimiento y precisión. No conserva tantos detalles como la simplificación leve, pero se le acerca y además elimina más puntos en general.
  • STRONG —Elimina la mayoría de puntos pero conserva menos entidades bien delineadas. Su uso se debería limitar a aquellas superficies en las que la pendiente tiende a cambiar gradualmente. Por ejemplo, sería eficaz para datos de lidar de terreno desnudo y batimétricos.
String
secondary_thinning_threshold
(Opcional)

Umbral vertical utilizado para activar la simplificación secundaria con el filtro WINDOWSIZE. El valor configurado debe ser igual o mayor que la precisión vertical de los datos.

Double

Salida derivada

NombreExplicaciónTipo de datos
derived_out_terrain

El nuevo dataset de terreno.

Terreno

Muestra de código

Ejemplo 1 de CreateTerrain (ventana de Python)

En el siguiente ejemplo se muestra cómo usar esta herramienta en la ventana de Python.

import arcpy
from arcpy import env

arcpy.CheckOutExtension('3D')
env.workspace = 'C:/data'
arcpy.CreateTerrain_3d('source.gdb/Redlands', 'Redlands_terrain',  5,
                      50000, '', 'WINDOWSIZE', 'ZMIN', 'NONE', 1)
Ejemplo 2 de CreateTerrain (script independiente)

En el siguiente ejemplo se muestra cómo usar esta herramienta en un script independiente de Python.

"""****************************************************************************
Name: Create Terrain from TIN
Description: This script demonstrates how to create a terrain dataset using
             features extracted from a TIN. It is particularly useful in 
             situations where the source data used in the TIN is not available,
             and the amount of data stored in the TIN proves to be too large 
             for the TIN. The terrain's scalability will allow improved
             display performance and faster analysis. The script is designed 
             to work as a script tool with 5 input arguments.
****************************************************************************"""
# Import system modules
import arcpy
import exceptions, sys, traceback
from arcpy import env

# Set local variables
tin = arcpy.GetParameterAsText(0) # TIN used to create terrain
gdbLocation = arcpy.GetParameterAsText(1) # Folder that will store terran GDB
gdbName = arcpy.GetParameterAsText(2) # Name of terrain GDB
fdName = arcpy.GetParameterAsText(3) # Name of feature dataset
terrainName = arcpy.GetParameterAsText(4) # Name of terrain

try:
    arcpy.CheckOutExtension("3D")
    # Create the file gdb that will store the feature dataset
    arcpy.management.CreateFileGDB(gdbLocation, gdbName)
    gdb = '{0}/{1}'.format(gdbLocation, gdbName)
    # Obtain spatial reference from TIN
    SR = arcpy.Describe(tin).spatialReference
    # Create the feature dataset that will store the terrain
    arcpy.management.CreateFeatureDataset(gdb, fdName, SR)
    fd = '{0}/{1}'.format(gdb, fdName)
    # Export TIN elements to feature classes for terrain
    arcpy.AddMessage("Exporting TIN footprint to define terrain boundary...")
    boundary = "{0}/boundary".format(fd)
    # Execute TinDomain
    arcpy.ddd.TinDomain(tin, tinDomain, 'POLYGON')
    arcpy.AddMessage("Exporting TIN breaklines...")
    breaklines = "{0}/breaklines".format(fd)
    # Execute TinLine
    arcpy.ddd.TinLine(tin, breaklines, "Code")
    arcpy.AddMessage("Exporting TIN nodes...")
    masspoints = "{0}/masspoints".format(fd)
    # Execute TinNode
    arcpy.ddd.TinNode(sourceTIN, TIN_nodes)
    arcpy.AddMessage("Creating terrain dataset...")
    terrain = "terrain_from_tin"
    # Execute CreateTerrain
    arcpy.ddd.CreateTerrain(fd, terrainName, 10, 50000, "", 
                            "WINDOWSIZE", "ZMEAN", "NONE", 1)
    arcpy.AddMessage("Adding terrain pyramid levels...")
    terrain = "{0}/{1}".format(fd, terrainName)
    pyramids = ["20 5000", "25 10000", "35 25000", "50 50000"]
    # Execute AddTerrainPyramidLevel
    arcpy.ddd.AddTerrainPyramidLevel(terrain, "", pyramids)
    arcpy.AddMessage("Adding features to terrain...")
    inFeatures = "{0} Shape softclip 1 0 10 true false boundary_embed <None> "\
             "false; {1} Shape masspoints 1 0 50 true false points_embed "\
             "<None> false; {2} Shape softline 1 0 25 false false lines_embed "\
             "<None> false".format(boundary, masspoints, breaklines)
    # Execute AddFeatureClassToTerrain
    arcpy.ddd.AddFeatureClassToTerrain(terrain, inFeatures) 
    arcpy.AddMessage("Building terrain...")
    # Execute BuildTerrain
    arcpy.ddd.BuildTerrain(terrain, "NO_UPDATE_EXTENT")
    arcpy.GetMessages()

except arcpy.ExecuteError:
    print arcpy.GetMessages()
except:
    # Get the traceback object
    tb = sys.exc_info()[2]
    tbinfo = traceback.format_tb(tb)[0]
    # Concatenate error information into message string
    pymsg = "PYTHON ERRORS:\nTraceback info:\n{0}\nError Info:\n{1}"\
          .format(tbinfo, str(sys.exc_info()[1]))
    msgs = "ArcPy ERRORS:\n {0}\n".format(arcpy.GetMessages(2))
    # Return python error messages for script tool or Python Window
    arcpy.AddError(pymsg)
    arcpy.AddError(msgs)
finally:
    arcpy.CheckInExtension("3D")

Entornos

  • Espacio de trabajo actual
  • Auto ejecución
  • Palabra clave CONFIG de salida

Información de licenciamiento

  • Basic: Requiere 3D Analyst
  • Standard: Requiere 3D Analyst
  • Advanced: Requiere 3D Analyst

Temas relacionados

  • Información general sobre el conjunto de herramientas Administración de datos
  • Fundamentos de las superficies
  • Formatos de superficie
  • ¿Qué es un dataset de terreno?
  • Ventajas de utilizar datasets de terreno
  • Generar un dataset de terreno con las herramientas de geoprocesamiento
  • Espaciado de punto promedio
  • Pirámides de terreno

ArcGIS Desktop

  • Inicio
  • Documentación
  • Soporte

ArcGIS

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS
  • ArcGIS Developer
  • 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 © 2021 Esri. | Privacidad | Legal