Statistiques de points LAS par surface (3D Analyst)

Synthèse

Evalue les statistiques des points LAS superposés à la surface définie par des entités surfaciques.

Utilisation

  • Il est possible que limiter les points LAS affichés et traités par la couche de jeu de données LAS en sélectionnant une combinaison de codes de classification, de balises de classification et de valeurs renvoyées dans les paramètres de filtrage de la couche. Les filtres peuvent être définis dans la boîte de dialogue Propriétés de la couche ou l’outil Créer une couche de jeu de données LAS.

  • Utilisez cet outil pour déterminer les caractéristiques des points Lidar sur des régions d'intérêt définies par des limites surfaciques. Seule l'altitude obtenue à partir de points LAS est évaluée. Les valeurs Z auxquelles contribuent les entités de contrainte de surface référencées par le jeu de données LAS sont ignorées.

  • Cet outil ajoute plusieurs champs à la table attributaire des entités en entrée. Si les champs existent déjà, leurs valeurs sont écrasées. Les valeurs des champs actualisés reflètent les statistiques indiquées concernant les points LAS superposés à l'entité en entrée :

    • Z_MIN : valeur Z minimale.
    • Z_MAX : valeur Z maximale.
    • Z_MEAN : valeur Z moyenne.
    • POINT_COUNT : décompte des points LAS qui ont été évalués.
    • STD_DEV : écart type des valeurs Z.

Paramètres

ÉtiquetteExplicationType de données
Jeu de données LAS en entrée

Jeu de données LAS qui va être traité.

LAS Dataset Layer
Polygones en entrée

Polygone qui définit la surface pour laquelle des statistiques seront signalées.

Feature Layer
Propriété en sortie

Propriétés qui seront calculées.

  • Z_MINValeur Z minimale des points LAS superposés à l'entité.
  • Z_MAXValeur Z maximale des points LAS superposés à l'entité.
  • Z_MEANValeur Z moyenne des points LAS superposés à l'entité.
  • POINT_COUNTDécompte des points LAS qui ont été évalués.
  • STANDARD_DEVIATIONEcart type des valeurs Z.
String

Sortie obtenue

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

Entités surfaciques en entrée mises à jour.

Classe d’entités

arcpy.ddd.LasPointStatsByArea(in_las_dataset, in_features, out_property)
NomExplicationType de données
in_las_dataset

Jeu de données LAS qui va être traité.

LAS Dataset Layer
in_features

Polygone qui définit la surface pour laquelle des statistiques seront signalées.

Feature Layer
out_property
[out_property,...]

Propriétés qui seront calculées.

  • Z_MINValeur Z minimale des points LAS superposés à l'entité.
  • Z_MAXValeur Z maximale des points LAS superposés à l'entité.
  • Z_MEANValeur Z moyenne des points LAS superposés à l'entité.
  • POINT_COUNTDécompte des points LAS qui ont été évalués.
  • STANDARD_DEVIATIONEcart type des valeurs Z.
String

Sortie obtenue

NomExplicationType de données
output_polygons

Entités surfaciques en entrée mises à jour.

Classe d’entités

Exemple de code

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

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

import arcpy
from arcpy import env

env.workspace = 'C:/data'
arcpy.ddd.LasPointStatsByArea('city_lidar.lasd', 'study_area.shp', 
                              ['Z_MIN', 'Z_MAX'])
Exemple 2 d'utilisation de l'outil LasPointStatsByArea (script autonome)

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

'''****************************************************************************
       Name: Extract Building Footprints
Description: Extract footprint from lidar points classified as buildings, 
             regularize its geometry, and calculate the building height.

****************************************************************************'''
import arcpy

lasd = arcpy.GetParameterAsText(0)
footprint = arcpy.GetParameterAsText(1)

try:
    lasd_layer = 'building points'
    arcpy.management.MakeLasDatasetLayer(lasd, lasd_layer, class_code=6)
    temp_raster = 'in_memory/bldg_raster'
    arcpy.management.LasPointStatsAsRaster(lasd_layer, temp_raster,
                                           'PREDOMINANT_CLASS', 'CELLSIZE', 2.5)
    temp_footprint = 'in_memory/footprint'
    arcpy.conversion.RasterToPolygon(temp_raster, temp_footprint)
    arcpy.ddd.RegularizeBuildingFootprint(temp_footprint, footprint, 
                                          method='RIGHT_ANGLES')
    arcpy.ddd.LasPointStatsByArea(lasd_layer, footprint, ['MIN_Z', 'MAX_Z'])
    arcpy.management.AddField(footprint, 'Height', 'Double')
    arcpy.management.CalculateField(footprint, 'Height', 
                                    "round('!Z_Max! - !Z_Min!', 2)", 
                                    'PYTHON_9.3')


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

Rubriques connexes