Résumé
Crée un ensemble de fichiers LAS non superposés dont les étendues horizontales sont divisées selon un carroyage régulier.
Utilisation
La subdivision de fichiers LAS volumineux dont la taille dépasse 500 Mo améliore les performances de n’importe quelle opération s’appuyant sur une lecture des données dans des agrégats spatiaux, par exemple les opérations d’analyse qui nécessitent la création d’une surface ou les opérations de visualisation des données. La structure de tuile par défaut génère des tuiles carrées dont la largeur et la hauteur sont définies par une limite de taille cible de 250 Mo. Les points émanant de plusieurs fichiers LAS qui se situent dans la zone d'une tuile sont combinés dans le fichier en sortie.
Un jeu de données LAS composé de fichiers LAS avec des étendues superposées peut générer des résultats inexacts dans les opérations qui s’appuient sur une analyse fichier par fichier. Par exemple, l’espacement estimé des points découle d’une analyse des points dans chaque fichier sur la surface de couverture au sein du fichier en question. Par conséquent, aucune méthode ne permet d’ajuster l’impact des points dans les régions superposées. De même, l’outil LAS fin s’appuie également sur le traitement fichier par fichier et le résultat ne correspondra pas à la sortie attendue dans les régions où les fichiers se superposent.
La réorganisation des points LAS agrège spatialement les données lidar et optimise leurs performances lors des opérations de visualisation ou d’analyse. Ce processus nécessite la création d'un fichier temporaire. Désignez un dossier présent sur un lecteur hautes performances comme espace de travail temporaire dans les paramètres d'environnement afin d'accélérer cette opération.
Spécifiez la compression ZLAS si les données LAS sont déjà classées et prêtes pour l’archivage ou la distribution. Les fichiers ZLAS ne sont pas modifiables et ne peuvent pas être reclassés, mais ils réduisent généralement la taille de fichier à environ un tiers de la taille du fichier LAS non compressé.
Les tuiles LAS peuvent être définies par l'une des méthodes suivantes :
- Spécifiez la taille de fichier cible du fichier LAS décompressé. Cette taille est une estimation d'une tuile LAS avec une distribution de points égale sur toute l'étendue.
- Indiquez la largeur et la hauteur de tuile.
- Spécifiez une entité en entrée pour définir la structure de tuile. Chaque polygone doit être rectangulaire et posséder une largeur et une hauteur uniformes. Les outils Créer un quadrillage ou Générer une tessellation peuvent servir à créer des polygones tuilés qui se superposent à l’étendue de vos données LAS. Des noms de tuiles LAS personnalisés peuvent être attribués en utilisant des entités en entrée et en choisissant un champ de texte dans le paramètre Méthode d'attribution de nom.
Les tuiles LAS en sortie peuvent être reprojetées en spécifiant un système de coordonnées en sortie dans les paramètres d'environnement ou en utilisant des entités en entrée avec une référence spatiale différente de celle des fichiers LAS d'origine.
Syntaxe
TileLas_3d (in_las_dataset, target_folder, {base_name}, {out_las_dataset}, {compute_stats}, {las_version}, {point_format}, {compression}, {las_options}, {tile_feature}, {naming_method}, {file_size}, {tile_width}, {tile_height}, {tile_origin})
Paramètre | Explication | Type de données |
in_las_dataset | Jeu de données LAS à traiter. | LAS Dataset Layer |
target_folder | Dossier dans lequel sont écrits les fichiers LAS tuilés. | Folder |
base_name (Facultatif) | Nom par lequel commence chaque fichier en sortie. | String |
out_las_dataset (Facultatif) | Nouveau jeu de données LAS qui fait référence aux fichiers LAS tuilés créés par cet outil. Ce paramètre est facultatif. | LAS Dataset |
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. La présence de statistiques permet au filtrage de la couche du jeu de données LAS et aux options de symbologie de n'afficher que les valeurs d'attributs LAS qui existent dans les fichiers LAS.
| Boolean |
las_version (Facultatif) | Version du fichier LAS de chaque fichier en sortie. La valeur par défaut est 1.4.
| String |
point_format (Facultatif) | Format d'enregistrement de points des fichiers LAS en sortie. Les options disponibles varient selon la version des fichiers LAS spécifiée dans le paramètre point_format. | Long |
compression (Facultatif) | Indiquez si le fichier LAS en sortie sera au format compressé ou au format LAS standard.
| String |
las_options [las_options,...] (Facultatif) | Liste des modifications facultatives apportées aux fichiers LAS en sortie.
| String |
tile_feature (Facultatif) | Les entités surfaciques qui définissent la largeur et la hauteur de tuile à utiliser lors du tuilage des données lidar. Les polygones sont supposés être rectangulaires et l'étendue de la première entité permet de définir la largeur et la hauteur de tuile. | Feature Layer |
naming_method (Facultatif) | Définit la manière dont chaque tuile en sortie est nommée. Lorsque des entités en entrée sont spécifiées dans le paramètre tile_feature, le nom de leurs champs de type texte ou numérique peut également être spécifié en tant que source pour définir le nom des fichiers LAS en sortie. Ce nom est ajouté à la fin du texte défini dans le paramètre base_name. Les conventions de noms générées automatiquement suivantes sont prises en charge :
| String |
file_size (Facultatif) | Cette valeur, qui est exprimée en mégaoctets, représente la limite supérieure de taille du fichier décompressé d'une tuile LAS en sortie avec une distribution de points uniforme sur son étendue globale. La valeur par défaut de l'outil est de 250. Elle permet d'estimer la largeur et la hauteur de tuile. Ce paramètre est ignoré lorsque des valeurs sont fournies pour les paramètres tile_feature ou tile_width et tile_height. | Double |
tile_width (Facultatif) | Largeur de chaque tuile. Si une valeur est spécifiée pour la largeur et la hauteur de tuile, le paramètre file_size est ignoré. Lorsque des entités en entrée sont spécifiées dans le paramètre tile_feature, la largeur de tuile est déduite de la hauteur de la première entité et ce paramètre est ignoré. | Linear Unit |
tile_height (Facultatif) | Hauteur de chaque tuile. Si une valeur est spécifiée pour la largeur et la hauteur de tuile, le paramètre file_size est ignoré. Lorsque des entités en entrée sont spécifiées dans le paramètre tile_feature, la hauteur de tuile est déduite de la hauteur de la première entité et ce paramètre est ignoré. | Linear Unit |
tile_origin (Facultatif) | Coordonnées de l'origine de la grille de tuilage. Les valeurs par défaut sont obtenues à partir de l'angle inférieur gauche du jeu de données LAS en entrée. Lorsque des entités en entrée sont spécifiées dans le paramètre tile_feature, l'origine est héritée à partir de l'angle inférieur gauche de la première entité et ce paramètre est ignoré. | Point |
Sortie dérivée
Nom | Explication | Type de données |
out_folder | Dossier dans lequel les fichiers LAS en sortie sont écrits. | Dossier |
Exemple de code
Exemple 1 d'utilisation de l'outil TileLas (fenêtre Python)
L'exemple suivant illustre l'utilisation de cet outil dans la fenêtre Python.
arcpy.env.workspace = 'C:/data'
arcpy.ddd.TileLas('Denver_2', basename='2014_', out_las_dataset='Denver_2014.lasd',
las_version='1.4', point_format=6, compression='ZLAS Compression',
las_options=['Rearrange points'], naming_method='ROW_COLUMN', file_size=300)
Exemple 2 d'utilisation de l'outil TileLas (script autonome)
L'exemple suivant illustre l'utilisation de cet outil dans un script Python autonome.
'''****************************************************************************
Name: Tile LAS File
Description: Creates tiled LAS files form an untiled collection.
****************************************************************************'''
# 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
- ArcGIS Desktop Basic: Requiert 3D Analyst
- ArcGIS Desktop Standard: Requiert 3D Analyst
- ArcGIS Desktop Advanced: Requiert 3D Analyst