Disponible avec une licence 3D Analyst.
Résumé
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
arcpy.ddd.AppendTerrainPoints(in_terrain, terrain_feature_class, in_point_features, {polygon_features_or_extent})
Paramètre | Explication | Type de données |
in_terrain | Jeu de données de MNT à traiter. | 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 |
Sortie dérivée
Nom | Explication | Type de données |
derived_out_terrain | MNT mis à jour. | Couche de MNT |
Exemple de code
1er exemple d'utilisation de l'outil AppendTerrainPoints (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.AppendTerrainPoints_3d('sample.gdb/featuredataset/terrain',
'existing_points', 'new_points.shp')
2e exemple d'utilisation de l'outil AppendTerrainPoints (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
Informations de licence
- Basic: Requiert 3D Analyst
- Standard: Requiert 3D Analyst
- Advanced: Requiert 3D Analyst
Rubriques connexes
- Vue d'ensemble du jeu d'outils Gestion des données
- Notions de base relatives aux surfaces
- Formats de surface
- Qu'est-ce qu'un jeu de données de MNT?
- Avantages liés à l'utilisation des jeux de données de MNT
- Types de données source pris en charge dans les jeux de données de MNT
- Outils de chargement et d'importation de données pour les jeux de données de MNT