Ajouter des points au MNT (3D Analyst)
Récapitulatif
Ajoute des points sur une entité ponctuelle référencée par un jeu de données de MNT.
Utilisation
-
Cet outil invalide un jeu de données de MNT. Exécutez l'outil Générer un MNT après avoir ajouté des points ou des multi-points.
S'il s'agit d'un MNT SDE, il doit être inscrit comme versionné.
Syntaxe
Paramètre | Explication | Type de données |
in_terrain |
The input terrain dataset. | Terrain Layer |
terrain_feature_class |
Classe d'entités qui contribue au jeu de données de MNT dans lequel les points ou les multi-points seront ajoutés. Ce paramètre nécessite seulement le nom de la classe d'entités et pas son chemin complet. | String |
in_point_features |
Classe d'entités de points ou de multi-points à ajouter en tant que source de données supplémentaire pour le jeu de données de MNT. | Feature Layer |
polygon_features_or_extent (Facultatif) | Spécifiez une classe d'entités surfaciques ou un objet arcpy.Extent pour définir la surface sur laquelle les entités ponctuelles seront ajoutées. Ce paramètre est vide par défaut, ce qui entraîne le chargement de tous les points de la classe d'entités en entrée vers l'entité de MNT. | Extent; Feature Layer |
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.AppendTerrainPoints_3d('sample.gdb/featuredataset/terrain', 'existing_points', 'new_points.shp')
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")