Ajouter des points au MNT (3D Analyst)

Disponible avec une licence 3D Analyst.

Synthèse

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é.

Paramètres

ÉtiquetteExplicationType de données
MNT en entrée

Jeu de données de MNT qui sera traité.

Terrain Layer
Source de données de MNT en entrée

Classe d'entités qui contribue au jeu de données de MNT dans lequel les points ou les multi-points seront ajoutés.

String
Points en entrée

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
Zone d'intérêt
(Facultatif)

Spécifiez une classe d'entités surfaciques ou des valeurs d'étendue 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 obtenue

ÉtiquetteExplicationType de données
MNT en entrée mis à jour

MNT mis à jour.

Couche de MNT

arcpy.ddd.AppendTerrainPoints(in_terrain, terrain_feature_class, in_point_features, {polygon_features_or_extent})
NomExplicationType de données
in_terrain

Jeu de données de MNT qui sera traité.

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 obtenue

NomExplicationType 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.

arcpy.env.workspace = 'C:/data'
arcpy.ddd.AppendTerrainPoints('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

try:
    # Set environment settings
    arcpy.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(2272)

    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.ddd.AppendTerrainPoints(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.ddd.ChangeTerrainResolutionBounds(inTerrain, "breaklines", 5, 4)

    arcpy.AddMessage("Building terrain...")
    arcpy.ddd.BuildTerrain(inTerrain)

    arcpy.AddMessage("Completed updates.")

except arcpy.ExecuteError:
    print(arcpy.GetMessages())
except Exception as err:
    print(err)

Rubriques connexes