Ajouter des informations Z (3D Analyst)

Synthèse

Ajoute des informations sur les propriétés d’élévation des entités d’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 en fonction de la géométrie de l’entité.

Utilisation

  • Les propriétés z suivantes sont disponibles :

    Géométrie d’entitéProprié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-point.

    Polyligne et polygone

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

    Valeurs z minimale, maximale et moyenne et pente de la ligne ou périmètre du polygone.

    Multipatch

    Superficie et volume d’un multipatch fermé.

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

  • La pente est renvoyée sous forme de valeur de pourcentage, ou grade, et est calculée de manière différente selon le type de géométrie prenant en charge cette propriété.

    • Les valeurs de pente des entités linéaires et des périmètres de polygone sont calculées le long de chaque segment :
      • 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 est obtenue en calculant la moyenne de la pente de tous les segments linéaires après pondération de chaque segment par sa longueur 3D. Les segments les plus longs ont donc une plus grande influence que les segments les plus courts.
    • Les valeurs de pente des entités multipatch sont calculées pour chaque face de triangle.
      • La pente minimale est obtenue à partir de la face dont la valeur est la plus proche de 0, ou du grade horizontal.
      • La pente maximale est obtenue à partir de la face présentant la plus grande valeur.
      • La pente moyenne est obtenue en calculant la moyenne de la pente de toutes les faces de triangle après pondération de chaque segment par son aire tridimensionnelle. Les aires les plus grandes ont donc une plus grande influence sur la valeur obtenue que les aires les plus petites.
    • Les valeurs de pente des entités surfaciques sont calculées le long des arêtes avec la même technique que pour les segments linéaires.
  • La valeur z moyenne des entités surfaciques est calculée de la même manière que pour les entités linéaires. Les intérieurs de polygones sont ignorés car seules les limites sont évaluées. La valeur z au point médian de chaque segment est multipliée par la longueur 3D de ce segment, et le produit de tous les segments est ensuite ajouté. Cette somme est ensuite divisée par la longueur 3D totale de l’entité linéaire ou de la limite du polygone pour produire le résultat.

  • La valeur z moyenne de chaque entité multipatch est calculée en multipliant la valeur z au point médian de chaque triangle par la surface 3D de ce triangle. Les produits de tous les triangles dans une entité donnée sont ajoutés, puis divisés par l’aire totale de la surface 3D de l’entité multipatch pour produire le résultat.

  • Le volume peut uniquement être calculé pour les multipatchs fermés. Une entité multipatch ouverte renvoie une valeur 0,0. Sur la plateforme Solaris, une limitation de conception empêche actuellement l’outil de savoir si une entité multipatch est fermée ; les mesures de volume sont donc calculées pour toutes les entités multipatch en supposant qu’elles sont fermées.

Paramètres

ÉtiquetteExplicationType de données
Entités en entrée

Entités en entrée à traiter.

Feature Layer
Propriété en sortie

Spécifie les propriétés z ajoutées à la table attributaire de la classe d’entités en entrée.

  • Point ZPoint coté d’une entité point unique.
  • Nombre de pointsNombre de points dans chaque entité multi-point.
  • Valeur Z la plus faibleValeur z la plus faible trouvée dans chaque entité multi-point, polyligne, surfacique ou multipatch.
  • Valeur Z la plus élevéeValeur z la plus élevée trouvée dans chaque entité multi-point, polyligne, surfacique ou multipatch.
  • Valeur Z moyenneValeur z moyenne trouvée dans chaque entité multi-point, polyligne, surfacique ou multipatch.
  • Longueur tridimensionnelleLongueur tridimensionnelle de chaque entité polyligne ou surfacique.
  • Surface - SuperficieAire totale de la surface d’une entité multipatch.
  • Nombre de sommetsNombre total de sommets dans chaque entité polyligne ou surfacique.
  • Pente la plus faibleValeur de pente la plus faible calculée pour chaque entité polyligne, surfacique ou multipatch.
  • Pente la plus élevéeValeur de pente la plus élevée calculée pour chaque entité polyligne, surfacique ou multipatch.
  • Pente moyenneValeur de pente moyenne calculée pour chaque entité polyligne, surfacique ou multipatch.
  • VolumeVolume de l’espace englobé par chaque entité multipatch.
String
Filtrage du bruit
(Facultatif)

Valeur numérique utilisée pour exclure des parties d’entités des calculs obtenus. Cela peut être utile si l’entrée 3D contient des entités relativement petites présentant des pentes extrêmes, ce qui est susceptible de générer des résultats statistiques biaisés. Si l’unité linéaire de l’entrée 3D est le mètre et que vous indiquez une valeur de 0,001, les lignes ou les arêtes de polygones inférieures à 0,001 mètre sont exclues. Dans le cas d’entités multipatch, la même valeur entraîne l’exclusion de ses sous-parties dont l’aire est inférieure à 0,001 mètres carrés. Ce paramètre ne s’applique pas aux entités ponctuelles et multi-points.

String

Sortie obtenue

ÉtiquetteExplicationType de données
Entités en entrée mises à jour

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

Feature Layer

arcpy.ddd.AddZInformation(in_feature_class, out_property, {noise_filtering})
NomExplicationType de données
in_feature_class

Entités en entrée à traiter.

Feature Layer
out_property
[out_property,...]

Spécifie les propriétés z ajoutées à la table attributaire de la classe d’entités en entrée.

  • ZPoint coté d’une entité point unique.
  • POINT_COUNTNombre de points dans chaque entité multi-point.
  • Z_MINValeur z la plus faible trouvée dans chaque entité multi-point, polyligne, surfacique ou multipatch.
  • Z_MAXValeur z la plus élevée trouvée dans chaque entité multi-point, polyligne, surfacique ou multipatch.
  • Z_MEANValeur z moyenne trouvée dans chaque entité multi-point, polyligne, surfacique ou multipatch.
  • LENGTH_3DLongueur tridimensionnelle de chaque entité polyligne ou surfacique.
  • SURFACE_AREAAire 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 faible 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 de l’espace englobé par chaque entité multipatch.
String
noise_filtering
(Facultatif)

Valeur numérique utilisée pour exclure des parties d’entités des calculs obtenus. Cela peut être utile si l’entrée 3D contient des entités relativement petites présentant des pentes extrêmes, ce qui est susceptible de générer des résultats statistiques biaisés. Si l’unité linéaire de l’entrée 3D est le mètre et que vous indiquez une valeur de 0,001, les lignes ou les arêtes de polygones inférieures à 0,001 mètre sont exclues. Dans le cas d’entités multipatch, la même valeur entraîne l’exclusion de ses sous-parties dont l’aire est inférieure à 0,001 mètres carrés. Ce paramètre ne s’applique pas aux entités ponctuelles et multi-points.

String

Sortie obtenue

NomExplicationType de données
output_feature_class

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

Feature Layer

Exemple de code

Exemple 1 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.ddd.AddZInformation('lines_3D.shp', 'Z_MEAN; LENGTH_3D; AVG_SLOPE', 
                        'NO_FILTER')
Exemple 2 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.ddd.AddZInformation(inFC, Prop, noise)

Informations de licence

  • Basic: Oui
  • Standard: Oui
  • Advanced: Oui

Rubriques connexes