Modifier les limites de résolution de MNT (3D Analyst)
Récapitulatif
Modifie les niveaux de pyramide auxquels une classe d'entités est mise en place pour un jeu de données de MNT donné.
Utilisation
Les limites de résolution de pyramide peuvent uniquement être attribuées pour des types de surface qui ne sont pas désignés comme points cotés.
-
Envisagez d'ajuster les limites de résolution pour une entité de MNT lorsque de nouvelles pyramides sont introduites ou sa plage actuelle fournit des performances d'affichage indésirables.
-
Le jeu de données de MNT n'est pas invalidé en raison de cette opération et ne doit pas être régénéré avec l'outil Générer un MNT.
Syntaxe
Paramètre | Explication | Type de données |
in_terrain |
The input terrain dataset. | Terrain Layer |
feature_class |
Classe d'entités référencée par le MNT et dont les résolutions des niveaux de pyramide sont modifiées. | String |
lower_pyramid_resolution (Facultatif) |
Nouvelle résolution des niveaux de pyramide plus petite pour la classe d'entités choisie. | Double |
upper_pyramid_resolution (Facultatif) |
Nouvelle résolution des niveaux de pyramide plus grande pour la classe d'entités choisie. | Double |
overview (Facultatif) | Détermine si la classe d'entités donnée contribue à la vue d'ensemble du jeu de données de MNT.
| Boolean |
Exemple de code
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")