Cambiar límites de resolución de terreno (3D Analyst)
Resumen
Los cambios de los niveles de pirámide en los que se aplicará una clase de entidad de un dataset de terreno determinado.
Uso
Los límites de resolución de pirámide solo se pueden asignar a tipos de superficie que no están designados como puntos de masa.
-
Considere ajustar los límites de resolución de una entidad de terreno cuando introduzca nuevas pirámides o su rango actual proporciona un rendimiento de la visualización no deseado.
-
El dataset de terreno no se invalidará a partir de esta operación y no es necesario volver a construirlo con la herramienta Construir terreno.
Sintaxis
Parámetro | Explicación | Tipo de datos |
in_terrain |
The input terrain dataset. | Terrain Layer |
feature_class |
La clase de entidad a la que hace referencia el terreno a la que se le modificarán las resoluciones a nivel de pirámide. | String |
lower_pyramid_resolution (Opcional) |
La nueva resolución de nivel de pirámide más baja para la clase de entidad elegida. | Double |
upper_pyramid_resolution (Opcional) |
La nueva resolución de nivel de pirámide más alta para la clase de entidad elegida. | Double |
overview (Opcional) | Especifica si la clase de entidad contribuirá a la vista general del dataset de terreno.
| Boolean |
Ejemplo de código
The following sample demonstrates the use of this tool in the Python window:
import arcpy from arcpy import env arcpy.CheckOutExtension('3D') env.workspace = 'C:/data' arcpy.ChangeTerrainResolutionBounds_3d('sample.gdb/featuredataset/terrain', 'breaklines', 2.5, 7.5)
The following sample demonstrates the use of this tool in a stand-alone Python script:
'''**************************************************************************** Name: Update Terrain Description: This script demonstrates how to update a terrain dataset with new elevation measurements obtained from Lidar by importing LAS files to multipoint features, then appending the new points to another multipoint feature that participates in a terrain. The terrain's pyramids are modified to optimize its draw speed. ****************************************************************************''' # Import system modules import arcpy from arcpy import env import exceptions, sys, traceback try: arcpy.CheckOutExtension("3D") # Set environment settings env.workspace = "C:/data" # Set Variables inTerrain = "sample.gdb/featuredataset/terrain" currentPts = "existing_points" lasFiles = ['las/NE_Philly.las', 'las/NW_Philly.las'] newPts = 'in_memory/update_pts' # Define spatial reference of LAS files using factory code # for NAD_1983_StatePlane_Pennsylvania_South lasSR = arcpy.SpatialReference() lasSR.factoryCode = 2272 lasSR.create() arcpy.AddMessage("Converting LAS files to multipoint features...") arcpy.ddd.LASToMultipoint(lasFiles, newPts, 1.5, 2, 1, 'INTENSITY', lasSR) arcpy.AddMessage("Appending LAS points to {0}..."\ .format(currentPts)) arcpy.AppendTerrainPoints_3d(inTerrain, currentPts, newPts) arcpy.AddMessage("Changing terrain pyramid reference scales...") arcpy.ddd.ChangeTerrainReferenceScale(inTerrain, 1000, 500) arcpy.ddd.ChangeTerrainReferenceScale(inTerrain, 2500, 2000) arcpy.AddMessage("Adding terrain pyramid level...") arcpy.ddd.AddTerrainPyramidLevel(inTerrain, "", "4 4500") arcpy.AddMessage("Changing pyramid resolution bounds for breaklines...") arcpy.ChangeTerrainResolutionBounds_3d(inTerrain, "breaklines", 5, 4) arcpy.AddMessage("Building terrain...") arcpy.ddd.BuildTerrain(inTerrain) arcpy.AddMessage("Completed updates.") 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")