Modifier les limites de résolution de MNT (3D Analyst)

Niveau de licence :BasicStandardAdvanced

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

Syntaxe

ChangeTerrainResolutionBounds_3d (in_terrain, feature_class, {lower_pyramid_resolution}, {upper_pyramid_resolution}, {overview})
ParamètreExplicationType de données
in_terrain

Jeu de données de MNT en entrée.

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.

  • OVERVIEW Applique la classe d'entités à l'affichage de vue d'ensemble du jeu de données de MNT. Il s'agit du paramétrage par défaut.
  • NO_OVERVIEWOmet la classe d'entités dans l'affichage de vue d'ensemble du jeu de données de MNT.
Boolean

Exemple de code

1er exemple d'utilisation de l'outil ChangeTerrainResolutionBounds (fenêtre Python)

L'exemple suivant illustre l'utilisation de cet outil dans la fenêtre Python :

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)
2e exemple d'utilisation de l'outil ChangeTerrainResolutionBounds (script autonome)

L'exemple suivant illustre l'utilisation de cet outil dans un script Python autonome :

'''****************************************************************************
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")

Environnements

Thèmes connexes

Informations de licence

ArcGIS for Desktop Basic: Requis 3D Analyst
ArcGIS for Desktop Standard: Requis 3D Analyst
ArcGIS for Desktop Advanced: Requis 3D Analyst
6/5/2014