Ajouter des informations de surface (3D Analyst)

Synthèse

Attribue aux entités en entrée des informations statistiques de hauteur dérivées des portions superposées d’une surface.

Utilisation

  • Les statistiques tirées de la surface seront déterminées selon les méthodes suivantes pour chaque géométrie prise en charge :

    • Pour les points, les valeurs z seront dérivées des coordonnées x,y sur la surface.
    • Pour les lignes, les propriétés z seront obtenues en interpolant les mesures de surface sur leur longueur.
    • Pour les polygones, les propriétés z de la surface triangulée créée à partir de la surface qui intersecte le polygone seront récapitulées.

    Les courbes des entités linéaires en entrée seront densifiées en segments linéaires en utilisant la valeur du paramètre Distance d’échantillonnage. Si une distance d’échantillonnage n’est pas spécifiée, cette valeur sera dérivée de la surface en entrée. Pour un raster, la distance d’échantillonnage par défaut sera la taille de cellule du raster. Pour un jeu de données TIN, MNT ou LAS, l’échantillonnage par défaut sera fonction des tronçons produits par la surface triangulée. Lors de la densification des courbes, toutes les portions de la courbe ne seront pas capturées avec précision par les valeurs en sortie. Si la courbe est plus courte que la distance d’échantillonnage, la courbe sera simplifiée en une ligne à deux points en utilisant ses points de début et de fin.

  • Les options du paramètre Propriété en sortie sont écrites dans la table attributaire de l’entité en entrée. Chaque entité définit la localisation des propriétés de surface évaluées et le type de propriété pouvant être renvoyé varie en fonction de la géométrie de l’entité :

    Géométrie d’entitéPropriétés de surface

    Point

    Points cotés interpolés à partir des coordonnées x,y du point sur la surface

    Multi-point

    Valeurs minimale, maximale et moyenne du point coté pour tous les points d’un enregistrement multi-point

    Polyligne

    Distance 3D de la ligne sur la surface

    Valeurs minimale, maximale et moyenne de l’élévation et de la pente de la ligne sur la surface

    Polygone

    Superficie 3D de la surface superposée au polygone

    Valeurs minimale, maximale et moyenne de l’élévation et de la pente de la surface

  • Les valeurs de pente sont mesurées sous la forme de pourcentages (grade) et, pour les entités linéaires, elles sont calculées à chaque segment de la ligne.

    • La pente minimale provient du segment dont la valeur est la plus proche de 0, ou du grade horizontal.
    • La pente maximale provient du segment présentant la plus grande valeur calculée.
    • La pente moyenne d’une polyligne est obtenue à partir de la moyenne pondérée de la pente de chaque segment linéaire. La pondération est basée sur la longueur 3D de chaque segment. Les segments les plus longs ont donc une plus grande influence sur le calcul obtenu que les segments les plus courts.
  • Tous les attributs sont calculés en fonction d’une surface TIN utilisée pour interpoler les informations Z pour les entités en entrée. Les surfaces qui ne sont pas des surfaces TIN sont converties en un jeu de données TIN intermédiaire. Les entités sont découpées selon la limite de cette surface TIN et seule la zone commune aux entités et à la surface est évaluée. La construction de ce TIN peut prendre un temps considérable si l’entrée est un jeu de données LAS dense ou un raster haute résolution. Si un TIN de plus faible résolution est acceptable pour l’analyse, vous pouvez utiliser l’outil Raster vers TIN ou Jeu de données LAS vers TIN pour générer une surface TIN affinée pouvant être utilisée avec cet outil.

  • Pour calculer la valeur z moyenne d’un polygone, découpez le TIN en utilisant le polygone et dérivez les résultats du TIN découpé. La valeur z du point médian de chaque triangle de ce TIN est multipliée par la surface 3D du triangle. Les résultats de ce calcul pour tous les triangles sont additionnés et cette somme est divisée par la surface 3D cumulée de ces triangles afin d’obtenir le résultat final. Lorsqu’une entité surfacique volumineuse est spécifiée avec une surface raster qui contient un nombre élevé de cellules superposées, le traitement est susceptible d’échouer en raison d’un nombre insuffisant de ressources mémoire nécessaires à la création de la surface TIN intermédiaire. Si cela se produit, vous devez créer un TIN de plus faible résolution ou utiliser une approche basée sur un raster pour obtenir les propriétés en sortie souhaitées. Plusieurs outils sont disponibles dans le jeu d’outils Statistiques zonales qui permet de déduire plus rapidement des propriétés telles que les valeurs de surface, minimale, maximale et moyenne. Les outils Tabuler les superficies et Statistiques zonales (table) fournissent une table en sortie qui peut être jointe à l’entité surfacique. Pour obtenir les propriétés de pente, vous pouvez créer un raster de pente et exécuter l’un de ces outils. Si vous ne possédez pas l’extension Spatial Analyst mais que vous souhaitez calculer l’aire et le volume de la surface, vous pouvez découper le raster en entrée avec le polygone et utiliser l’outil Surface - Volume qui génère en sortie l’aire et le volume de la surface.

  • Lors du traitement des entités linéaires, les lignes sont drapées sur la surface TIN et un sommet est inséré à l’endroit où la ligne croise une arête TIN. Les lignes avec des segments courbes sont densifiées en segments droits plus courts avant le traitement. La valeur z moyenne d’une ligne donnée est calculée en multipliant le point médian du segment par la longueur 3D de ce segment, puis en ajoutant ensemble les résultats de ce calcul pour tous les segments linéaires et en divisant cette somme par la longueur 3D cumulée des segments de ligne.

  • Utilisez le paramètre Filtrage du bruit pour exclure du calcul de la pente les portions de la surface caractérisées par des mesures anormales. Les entités linéaires sont segmentées par des sommets qui capturent le profil de la surface ; le fait de filtrer ces segments par longueur permet de supprimer l’influence des segments courts probablement générés par des mesures de surface non prévues. De même, le filtre de surface pour les entités surfaciques permet de ne pas prendre en compte les microtriangles des surfaces triangulées dans le calcul de la pente. Pour les surfaces raster, un sous-ensemble de centroïdes de cellules permet de créer une surface triangulée à laquelle le filtre de surface est appliqué. Les polygones sont convertis en interne en multipatchs (ensembles de triangles). Chaque triangle, lorsqu’il est drapé sur la surface, est généralement fractionné en plusieurs triangles plus petits de telle sorte que la totalité du polygone corresponde à l’ensemble de la surface. La valeur z au point médian de chaque triangle est multipliée par la surface 3D de ce triangle. Les résultats de ce calcul sont additionnés, puis cette somme est divisée par la surface 3D cumulée des triangles, ce qui génère la moyenne pondérée des valeurs z aux points médians des triangles.

Paramètres

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

Entités ponctuelles, multi-points, polylignes ou surfaciques qui définissent les localisations permettant de déterminer une ou plusieurs propriétés de surface.

Feature Layer
Surface en entrée

Surface de jeu de données LAS, de mosaïque, raster, TIN ou de MNT utilisée pour interpoler les valeurs z.

LAS Dataset Layer; Mosaic Layer; Raster Layer; Terrain Layer; TIN Layer
Propriété en sortie

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

  • ZLes valeurs z de surface interpolées pour la localisation x,y de chaque entité ponctuelle unique sont ajoutées.
  • Z minimumLes valeurs z de surface les plus faibles dans la zone définie par le polygone, sur la longueur d’une ligne, ou parmi les valeurs interpolées des points dans un enregistrement multi-point sont ajoutées.
  • Z maximumL’élévation de surface la plus importante dans la zone définie par le polygone, sur la longueur d’une ligne, ou parmi les valeurs interpolées des points dans un enregistrement multi-point est ajoutée.
  • Z moyenL’élévation de surface moyenne de la zone définie par le polygone, sur la longueur d’une ligne, ou parmi les valeurs interpolées des points dans un enregistrement multi-point est ajoutée.
  • Surface - SuperficieLa superficie 3D de la région définie par chaque polygone est ajoutée.
  • Surface - LongueurLa distance 3D de la ligne sur la surface est ajoutée.
  • Pente minimaleLa valeur de pente la plus proche de zéro sur la ligne ou à l’intérieur de la zone définie par le polygone est ajoutée.
  • Pente maximaleLa valeur de pente la plus élevée sur la ligne ou à l’intérieur de la zone définie par le polygone est ajoutée.
  • Pente moyenneLa valeur de pente moyenne sur la ligne ou à l’intérieur de la zone définie par le polygone est ajoutée.
String
Méthode
(Facultatif)

Spécifie la méthode d’interpolation utilisée pour déterminer les informations sur la surface.

  • BilinéaireUne méthode d’interpolation exclusive à la surface raster qui définit les valeurs de cellule des quatre cellules les plus proches sera utilisée. Il s’agit de la seule option disponible pour une surface raster.
  • LinéaireL’élévation est obtenue à partir du plan défini par le triangle qui contient la localisation x,y d’un point de requête. Il s’agit de la méthode d’interpolation par défaut pour les TIN, les MNT et les jeux de données LAS.
  • Voisins naturelsL’élévation est obtenue par l’application de pondérations basées sur la surface aux voisins naturels d’un point de requête.
  • Fusion de la valeur Z minimaleL’élévation est obtenue à partir de la plus petite valeur z détectée parmi les voisins naturels d’un point de requête.
  • Fusion de la valeur Z maximaleL’élévation est obtenue à partir de la plus grande valeur z détectée parmi les voisins naturels d’un point de requête.
  • Fusion de la valeur Z la plus procheL’élévation est obtenue à partir de la valeur la plus proche parmi les voisins naturels d’un point de requête.
  • Fusion de la valeur Z la plus proche de la moyenneL’élévation est obtenue à partir de la valeur z la plus proche de la moyenne de tous les voisins naturels d’un point de requête.
String
Distance d’échantillonnage
(Facultatif)

Espacement selon lequel les valeurs z sont interpolées. Par défaut, la taille de cellule raster est utilisée lorsque la surface en entrée est un raster, et la densification naturelle de la surface triangulée est utilisée lorsque l’entrée est un MNT ou un jeu de données TIN.

Double
Facteur Z
(Facultatif)

Facteur par lequel les valeurs z sont multipliées. Cette option permet généralement de convertir les unités linéaires z afin qu’elles correspondent aux unités linéaires x,y. La valeur par défaut est 1, qui laisse les valeurs d'altitude inchangées. Ce paramètre n’est pas disponible si la référence spatiale de la surface en entrée possède un datum z dont l’unité linéaire est spécifiée.

Double
Résolution des niveaux de pyramide
(Facultatif)

Résolution de taille de fenêtre ou de tolérance z du niveau de pyramide de MNT qui sera utilisée. La valeur par défaut est 0 (ou résolution maximale).

Double
Filtrage du bruit
(Facultatif)

Définit si les portions de la surface susceptibles d’être caractérisées par des mesures anormales seront exclues du calcul de la pente. Les autres propriétés ne sont pas affectées par ce paramètre.

Les entités linéaires offrent un filtre de longueur, dans lequel les segments linéaires dont la longueur 3D est inférieure à la valeur spécifiée sont exclus du calcul de la pente. Les entités surfaciques offrent un filtre de surface dans lequel les polygones couvrant une superficie inférieure à la valeur spécifiée sont exclus.

String

Sortie obtenue

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

Entités en entrée mises à jour.

Feature Layer

arcpy.ddd.AddSurfaceInformation(in_feature_class, in_surface, out_property, {method}, {sample_distance}, {z_factor}, {pyramid_level_resolution}, {noise_filtering})
NomExplicationType de données
in_feature_class

Entités ponctuelles, multi-points, polylignes ou surfaciques qui définissent les localisations permettant de déterminer une ou plusieurs propriétés de surface.

Feature Layer
in_surface

Surface de jeu de données LAS, de mosaïque, raster, TIN ou de MNT utilisée pour interpoler les valeurs z.

LAS Dataset Layer; Mosaic Layer; Raster Layer; Terrain Layer; TIN Layer
out_property
[out_property,...]

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

  • ZLes valeurs z de surface interpolées pour la localisation x,y de chaque entité ponctuelle unique sont ajoutées.
  • Z_MINLes valeurs z de surface les plus faibles dans la zone définie par le polygone, sur la longueur d’une ligne, ou parmi les valeurs interpolées des points dans un enregistrement multi-point sont ajoutées.
  • Z_MAXL’élévation de surface la plus importante dans la zone définie par le polygone, sur la longueur d’une ligne, ou parmi les valeurs interpolées des points dans un enregistrement multi-point est ajoutée.
  • Z_MEANL’élévation de surface moyenne de la zone définie par le polygone, sur la longueur d’une ligne, ou parmi les valeurs interpolées des points dans un enregistrement multi-point est ajoutée.
  • SURFACE_AREALa superficie 3D de la région définie par chaque polygone est ajoutée.
  • SURFACE_LENGTHLa distance 3D de la ligne sur la surface est ajoutée.
  • MIN_SLOPELa valeur de pente la plus proche de zéro sur la ligne ou à l’intérieur de la zone définie par le polygone est ajoutée.
  • MAX_SLOPELa valeur de pente la plus élevée sur la ligne ou à l’intérieur de la zone définie par le polygone est ajoutée.
  • AVG_SLOPELa valeur de pente moyenne sur la ligne ou à l’intérieur de la zone définie par le polygone est ajoutée.
String
method
(Facultatif)

Spécifie la méthode d’interpolation utilisée pour déterminer les informations sur la surface.

  • BILINEARUne méthode d’interpolation exclusive à la surface raster qui définit les valeurs de cellule des quatre cellules les plus proches sera utilisée. Il s’agit de la seule option disponible pour une surface raster.
  • LINEARL’élévation est obtenue à partir du plan défini par le triangle qui contient la localisation x,y d’un point de requête. Il s’agit de la méthode d’interpolation par défaut pour les TIN, les MNT et les jeux de données LAS.
  • NATURAL_NEIGHBORSL’élévation est obtenue par l’application de pondérations basées sur la surface aux voisins naturels d’un point de requête.
  • CONFLATE_ZMINL’élévation est obtenue à partir de la plus petite valeur z détectée parmi les voisins naturels d’un point de requête.
  • CONFLATE_ZMAXL’élévation est obtenue à partir de la plus grande valeur z détectée parmi les voisins naturels d’un point de requête.
  • CONFLATE_NEARESTL’élévation est obtenue à partir de la valeur la plus proche parmi les voisins naturels d’un point de requête.
  • CONFLATE_CLOSEST_TO_MEANL’élévation est obtenue à partir de la valeur z la plus proche de la moyenne de tous les voisins naturels d’un point de requête.
String
sample_distance
(Facultatif)

Espacement selon lequel les valeurs z sont interpolées. Par défaut, la taille de cellule raster est utilisée lorsque la surface en entrée est un raster, et la densification naturelle de la surface triangulée est utilisée lorsque l’entrée est un MNT ou un jeu de données TIN.

Double
z_factor
(Facultatif)

Facteur par lequel les valeurs z sont multipliées. Cette option permet généralement de convertir les unités linéaires z afin qu’elles correspondent aux unités linéaires x,y. La valeur par défaut est 1, qui laisse les valeurs d'altitude inchangées. Ce paramètre n’est pas disponible si la référence spatiale de la surface en entrée possède un datum z dont l’unité linéaire est spécifiée.

Double
pyramid_level_resolution
(Facultatif)

Résolution de taille de fenêtre ou de tolérance z du niveau de pyramide de MNT qui sera utilisée. La valeur par défaut est 0 (ou résolution maximale).

Double
noise_filtering
(Facultatif)

Définit si les portions de la surface susceptibles d’être caractérisées par des mesures anormales seront exclues du calcul de la pente. Les autres propriétés ne sont pas affectées par ce paramètre.

Les entités linéaires offrent un filtre de longueur, dans lequel les segments linéaires dont la longueur 3D est inférieure à la valeur spécifiée sont exclus du calcul de la pente. Les entités surfaciques offrent un filtre de surface dans lequel les polygones couvrant une superficie inférieure à la valeur spécifiée sont exclus.

String

Sortie obtenue

NomExplicationType de données
output_feature_class

Entités en entrée mises à jour.

Feature Layer

Exemple de code

Exemple 1 d’utilisation de la fonction AddSurfaceInformation (fenêtre Python)

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

arcpy.env.workspace = "C:/data"
arcpy.ddd.AddSurfaceInformation("points.shp", "my_tin", "Z", "LINEAR")
Exemple 2 d’utilisation de la fonction AddSurfaceInformation (script autonome)

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

'''*********************************************************************
Name: AddSurfaceInformation Example
Description: This script demonstrates how to use AddSurfaceInformation 
             on all 2D feature classes in a target workspace.
*********************************************************************'''
# Import system modules
import arcpy

# Set Local Variables
arcpy.env.workspace = 'c:/data'
inSurface = 'fgdb.gdb/municipal/terrain'
pyramid = 5
method = "BILINEAR"

# Create list of feature classes
fcList = arcpy.ListFeatureClasses()

if fcList:
    for fc in fcList:
        desc = arcpy.Describe(fc)
        # Determine if the feature is 2D
        if not desc.hasZ:
            if desc.shapeType == "Polygon":
                # Desired properties separated by semi-colons
                Prop = "Z_MIN;Z_MAX" 
            elif desc.shapeType == "Point":
                Prop = "Z"
            elif desc.shapeType == "Multipoint":
                Prop = "Z_MIN;Z_MAX;Z_MEAN"
            elif desc.shapeType == "Polyline":
                Prop = "LENGTH_3D"
            # Execute AddSurfaceInformation
            arcpy.ddd.AddSurfaceInformation(fc, inSurface, Prop, 
                                            method, 15, 1, pyramid)
            print("Completed adding surface information.")

Rubriques connexes