Ajouter des informations Z (3D Analyst)

Résumé

Ajoute des informations sur les propriétés d'altitude d'entités dans une classe d'entités prenant en charge les valeurs Z.

Chaque forme 3D est examinée et les propriétés sélectionnées sont ajoutées à la table attributaire de la classe d’entités en entrée. Les options en sortie varient selon la géométrie de l'entité.

Utilisation

  • Les propriétés Z disponibles sont les suivantes :

    géométrie des entitésPropriétés Z

    Point

    Valeur Z du point.

    Multi-point

    Nombre de points et valeurs Z minimale, maximale et moyenne de tous les points d'un enregistrement multi-points.

    Polyligne et polygone

    Nombre de sommets et distance 3D de la ligne ou périmètre du polygone.

    Valeur minimale, maximale et moyenne de la valeur Z et pente de la ligne ou périmètre du polygone.

    Multipatch

    Superficie et volume d’un multipatch fermé.

    Valeurs minimale, maximale et moyenne de la valeur Z et pente le long de la surface multipatch.

  • La pente est indiquée sous la forme d’un pourcentage ou d’un degré, et est calculée différemment selon le type de géométrie prenant en charge cette propriété.

    • Les valeurs de pente des entités linéaires et les périmètres de polygones sont calculés le long de chaque segment de ligne :
      • La pente minimale provient du segment dont la valeur est la plus proche de 0, ou du degré horizontal.
      • La pente maximale provient du segment présentant la plus grande valeur calculée.
      • La pente moyenne provient de la moyenne de la pente de tous les segments de ligne après pondération de chaque segment par sa longueur 3D. Les segments les plus longs ont donc une plus grande influence sur les segments les plus courts.
    • Les valeurs de pente des entités multipatch sont calculées pour chaque face de triangle.
      • La pente minimale provient de la face dont la valeur est la plus proche de 0, ou du degré horizontal.
      • La pente maximale provient de la face présentant la plus grande valeur.
      • La pente moyenne provient de la moyenne de la pente de toutes les faces du triangle après pondération de chaque segment par sa surface tridimensionnelle. Les plus grandes surfaces ont donc plus d'influence sur la valeur obtenue que les plus petites surfaces.
    • Les valeurs de pente des entités surfaciques sont calculées avec les tronçons à l'aide de la même technique que pour les segments de ligne.
  • Le volume ne peut être calculé que pour les multipatchs fermés. Une entité multipatch ouverte renvoie une valeur de 0,0. Sur la plate-forme Solaris, la limitation de création empêche actuellement l'outil de déterminer si un multipatch est fermé, ce qui entraîne le calcul de mesures de volume pour tous les multipatchs en partant du principe qu'ils sont fermés.

Syntaxe

arcpy.3d.AddZInformation(in_feature_class, out_property, {noise_filtering})
ParamètreExplicationType de données
in_feature_class

Entités en entrée à traiter.

Feature Layer
out_property
[out_property,...]

Propriétés z qui sont ajoutées à la table attributaire de la classe d’entités en entrée. Les options disponibles sont les suivantes :

  • ZPoint coté d'entité point unique.
  • POINT_COUNTNombre de points de chaque entité multi-points.
  • Z_MINValeur Z la plus faible dans chaque entité multi-points, polyligne, surfacique ou multipatch.
  • Z_MAXValeur Z la plus élevée dans chaque entité multi-points, polyligne, surfacique ou multipatch.
  • Z_MEANValeur Z moyenne dans chaque entité multi-points, polyligne, surfacique ou multipatch.
  • LENGTH_3DLongueur tridimensionnelle de chaque entité polyligne ou surfacique.
  • SURFACE_AREASuperficie totale de la surface d'une entité multipatch.
  • VERTEX_COUNTNombre total de sommets dans chaque entité polyligne ou surfacique.
  • MIN_SLOPEValeur de pente la plus basse, calculée pour chaque entité polyligne, surfacique ou multipatch.
  • MAX_SLOPEValeur de pente la plus élevée, calculée pour chaque entité polyligne, surfacique ou multipatch.
  • AVG_SLOPEValeur de pente moyenne, calculée pour chaque entité polyligne, surfacique ou multipatch.
  • VOLUMEVolume d'espace enfermé par chaque entité multipatch.
String
noise_filtering
(Facultatif)

Valeur numérique facultative utilisée pour exclure des portions d’entités des calculs obtenus. Ce paramètre peut être utile lorsque l’entrée 3D contient des entités relativement petites présentant des pentes extrêmes qui risquent de biaiser les résultats statistiques. Si les unités linéaires de l’entité 3D sont des mètres, la valeur 0,001 exclura les lignes ou les arêtes de polygone qui mesurent moins de 0,001 mètre. Pour les entités multipatch, la même valeur exclura les sous-parties dont la surface est inférieure à 0,001 mètre carré. Ce paramètre ne s'applique pas aux entités points uniques et multi-points.

String

Sortie dérivée

NomExplicationType de données
output_feature_class

Classe d’entités prenant en charge les valeurs Z mise à jour.

Couche d'entités

Exemple de code

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

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

arcpy.env.workspace = 'C:/data'
arcpy.AddZInformation_3d('lines_3D.shp', 'Z_MEAN; LENGTH_3D; AVG_SLOPE', 
                        'NO_FILTER')
2e exemple d'utilisation de l'outil AddZInformation (script autonome)

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

'''******************************************************************
Name: AddZInformation Example
Description: This script demonstrates AddZInformation on all 
             z-aware features in a target workspace.
******************************************************************'''
# Import system modules
import arcpy

# Set environment settings
arcpy.env.workspace = 'C:/data'
# Create list of feature classes
fcList = arcpy.ListFeatureClasses()
if fcList:
    for fc in fcList:
        desc = arcpy.Describe(fc)
        if desc.hasZ:
            # Set Local Variables
            noise = 'No_Filter'
            if desc.shapeType == 'Polygon':
                Prop = ['Z_MIN', 'Z_MAX', 'VERTEX_COUNT']
            elif desc.shapeType == 'Point':
                Prop = 'Z'
            elif desc.shapeType == 'Multipoint':
                Prop = ['Z_MIN', 'Z_MAX', 'Z_MEAN']
            elif desc.shapeType == 'Polyline':
                Prop = 'LENGTH_3D'
            print('Completed adding Z information.')
            # Execute AddZInformation
            arcpy.AddZInformation_3d(inFC, Prop, noise)

Informations de licence

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

Rubriques connexes