Mettre à jour la valeur Z de l'entité (3D Analyst)

Résumé

Met à jour les coordonnées z de sommets d'entités 3D à l'aide d'une surface.

Utilisation

  • Seuls les sommets des entités recouvrant entièrement la surface en entrée seront mis à jour. Les entités ne recouvrant pas la surface seront ignorées.

    Remarque :

    Si la valeur z obtenue pour un sommet donné se trouve en dehors du domaine z de la référence spatiale d'une entité de géodatabase, la valeur z du sommet n'est pas mise à jour. Créez une copie des entités en entrée et indiquez un domaine z approprié pour traiter les entités concernées.

Syntaxe

arcpy.3d.UpdateFeatureZ(in_features, in_surface, {method}, {status_field})
ParamètreExplicationType de données
in_features

Entités 3D dont les valeurs z de sommet seront modifiées.

Feature Layer
in_surface

Surface qui servira à déterminer la nouvelle valeur z des sommets des entités 3D.

LAS Dataset Layer; Mosaic Layer; Raster Layer; TIN Layer
method
(Facultatif)

Méthode d'interpolation utilisée pour définir les informations sur la surface. Les options disponibles dépendent du type de données de la surface en entrée :

  • BILINEARMéthode d'interpolation réservée à la surface raster qui détermine les valeurs des cellules à partir des quatre cellules les plus proches. Il s'agit de la seule option disponible pour une surface raster.
  • LINEAR Méthode d'interpolation par défaut pour un jeu de données TIN, de MNT et LAS. Obtient une altitude à partir du plan défini par le triangle qui contient l'emplacement XY d'un point de requête.
  • NATURAL_NEIGHBORS Obtient une altitude en appliquant des pondérations basées sur la surface aux voisins naturels d'un point de requête.
  • CONFLATE_ZMIN Obtient l'altitude à partir de la plus petite valeur z détectée parmi les voisins naturels d'un point de requête.
  • CONFLATE_ZMAX Obtient l'altitude à partir de la plus grande valeur z détectée parmi les voisins naturels d'un point de requête.
  • CONFLATE_NEAREST Obtient l'altitude de la valeur la plus proche recherchée parmi les voisins naturels d'un point de requête.
  • CONFLATE_CLOSEST_TO_MEAN Obtient l'altitude à partir de la valeur z la plus proche de la moyenne de tous les voisins naturels d'un point de requête.
String
status_field
(Facultatif)

Champ numérique dans lequel seront spécifiées des valeurs indiquant si les sommets d'une entité ont été mis à jour. Une valeur égale à 1 indique que les entités ont été mises à jour et une valeur nulle indique qu'elles n'ont pas été mises à jour. Les entités qui recouvrent partiellement la surface ne seront pas mises à jour.

Field

Sortie dérivée

NomExplicationType de données
out_feature_class

Entités 3D mises à jour dont les valeurs z de sommet ont été modifiées.

Couche d'entités

Exemple de code

Exemple 1 d'utilisation de l'outil UpdateFeatureZ (fenêtre Python)

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

arcpy.env.workspace = 'C:/data'

arcpy.UpdateFeatureZ_3d('lines_3d.shp', 'dsm.tif', status_field='Updated')
Exemple 2 d'utilisation de l'outil UpdateFeatureZ (script autonome)

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

'''****************************************************************************
       Name: Update Antenna Positions
Description: Updates antenna positions based on elevations from a surface.
****************************************************************************'''
# Import system modules
import arcpy

in_fc = arcpy.GetParameterAsText(1) # pt features representing antenna locations
surface = arcpy.GetParameterAsText(2) # surface used to modify feature Z values


try:
    if arcpy.Describe(surface).dataType in ('Raster', 'RasterLayer'):
        method = 'BILINEAR'
    else:
        method = 'CONFLATE_ZMAX'
    arcpy.ddd.UpdateFeatureZ(in_fc, surface, method)

except arcpy.ExecuteError:
    print(arcpy.GetMessages())

Informations de licence

  • Basic: Requiert 3D Analyst
  • Standard: Requiert 3D Analyst
  • Advanced: Requiert 3D Analyst

Rubriques connexes