Résumé
Classe les toits et les côtés de bâtiment dans les données LAS.
Illustration
Utilisation
Les données LAS doivent posséder des points au sol classés pour que vous puissiez classer les points de toit d’un bâtiment. Vous pouvez utiliser l’outil Classer le sol LAS si aucun point au sol n’a été classé. Les points au sol doivent avoir un code de classe de valeur 2. Si les points au sol possèdent une valeur différente de 2, utilisez l’outil Modifier les codes de classes LAS pour réaffecter le code de classe comme il convient.
Les points LAS dont les valeurs de codes de classes sont égales à 0, 1 et 6 sont évalués afin de déterminer s’ils répondent aux caractéristiques des toits de bâtiments. Les points classés en tant que bâtiments qui ne répondent pas à ces critères sont réaffectés à une valeur de code de classe égale à 1 sauf si l’option visant à réutiliser les points classés de bâtiments existants est spécifiée.
Le paramètre Method (Méthode) n’est pas utilisé lorsque l’option Is photogrammetric data (Sont des données photogrammétriques) est spécifiée.
Syntaxe
arcpy.ddd.ClassifyLasBuilding(in_las_dataset, {min_height}, min_area, {compute_stats}, {extent}, boundary, {process_entire_files}, point_spacing, {reuse_building}, {photogrammetric_data}, {method}, {classify_above_roof}, {above_roof_height}, {above_roof_code})
Paramètre | Explication | Type de données |
in_las_dataset | Le jeu de données LAS à classer. | LAS Dataset Layer |
min_height (Facultatif) | La hauteur à partir du sol qui définit le point le plus bas à partir duquel les points de toit seront identifiés. | Linear Unit |
min_area | Surface la plus petite du toit du bâtiment. | Areal Unit |
compute_stats (Facultatif) | Spécifie si des statistiques doivent être calculées pour les fichiers LAS référencés par le jeu de données LAS. Le calcul des statistiques fournit un index spatial pour chaque fichier LAS, ce qui améliore les performances d’analyse et d’affichage. Les statistiques permettent également d’optimiser l’utilisation des filtres et de la symbologie en limitant l’affichage des attributs LAS (tels que les codes de classification et les informations renvoyées) aux valeurs présentes dans le fichier LAS.
| Boolean |
extent (Facultatif) | Spécifie l’étendue des données qui seront évaluées par cet outil. | Extent |
boundary | Entité surfacique définissant la zone d’intérêt que cet outil doit traiter. | Feature Layer |
process_entire_files (Facultatif) | Indique comment appliquer l’étendue de traitement.
| Boolean |
point_spacing | Espacement moyen des points LAS. Ce paramètre n’est plus utilisé. | Linear Unit |
reuse_building (Facultatif) | Spécifie si les points classés de bâtiments existants sont réutilisés ou réévalués. Spécifie si les points classés de bâtiments existants sont réutilisés ou réévalués.
| Boolean |
photogrammetric_data (Facultatif) | Spécifie si les points dans le fichier LAS ont été obtenus à l’aide d’une technique photogrammétrique. Spécifie si les points dans le fichier LAS ont été obtenus à l’aide d’une technique photogrammétrique.
| Boolean |
method (Facultatif) | La méthode de classification qui sera utilisée.
| String |
classify_above_roof (Facultatif) | Spécifie si les points situés au-dessus des plans détectés pour le toit doivent être classés.
| Boolean |
above_roof_height (Facultatif) | La hauteur maximale des points situés au-dessus du toit du bâtiment qui sera classée selon la valeur désignée par le paramètre Above Roof Class Code (Code de classe au-dessus du toit). | Linear Unit |
above_roof_code (Facultatif) | Le code de classe qui sera affecté aux points situés au-dessus du toit. | Long |
Sortie dérivée
Nom | Explication | Type de données |
derived_las_dataset | Le jeu de données LAS qui est classé pour les toits de bâtiment. | Couche du jeu de données LAS |
Exemple de code
Exemple 1 d'utilisation de l'outil ClassifyLasBuilding (fenêtre Python)
L'exemple suivant illustre l'utilisation de cet outil dans la fenêtre Python.
arcpy.env.workspace = 'C:/data'
arcpy.ClassifyLasBuilding_3d('Highland.lasd', minHeight='9 feet',
minArea='30 Square Feet', compute_stats=True)
Exemple 2 d'utilisation de l'outil ClassifyLasBuilding (script autonome)
L'exemple suivant illustre l'utilisation de cet outil dans un script Python autonome.
'''****************************************************************************
Name: Tile & Classify LAS Files
Description: Creates & classifies tiled LAS files.
****************************************************************************'''
# Import system modules
import arcpy
import tempfile
import math
in_las = arcpy.GetParameterAsText(1) # The LAS files that need to be tiled
out_folder = arcpy.GetParameterAsText(2) # folder for LAS files
basename = arcpy.GetParameterAsText(3) # basename for output files
out_lasd = arcpy.GetParameterAsText(4) # output LAS dataset
try:
# Create temp LAS dataset to reference LAS files that will be tiled
temp_lasd = arcpy.CreateUniqueName('temp.lasd', tempfile.gettempdir())
arcpy.management.CreateLasDataset(in_las, temp_lasd)
arcpy.ddd.TileLas(temp_lasd, out_folder, basename, out_lasd, las_version=1.4,
point_format=7, file_size=300)
arcpy.management.Delete(temp_lasd)
arcpy.ddd.ClassifyLasGround(out_lasd, method='AGGRESSIVE')
arcpy.ddd.ClassifyLasBuilding(out_lasd, min_height='3 Meters', min_area='4 Meters')
arcpy.ddd.ClassifyLasByHeight(out_lasd, height_classification=[(3, 6), (4,20), (5,70)],
noise='All Noise', compute_stats='COMPUTE_STATS')
except arcpy.ExecuteError:
print(arcpy.GetMessages())
Environnements
Informations de licence
- Basic: Requiert 3D Analyst
- Standard: Requiert 3D Analyst
- Advanced: Requiert 3D Analyst