Couper les données LAS à l'aide de polygones de fichiers de formes et de logiciels open source?

10

J'essaie de découper ou de filtrer des fichiers lidar (.las, .xyz) à l'aide d'un fichier de formes contenant plusieurs polygones.

Existe-t-il un logiciel open source capable d'effectuer cette opération spatiale?

Mes fichiers .las sont énormes et je dois dire que je suis très nouveau dans les données et l'analyse DEM, donc toute aide serait la bienvenue.

Allen Bustenai
la source
1
SAGA GIS propose également quelques outils pour traiter les ensembles de données LiDAR, mais je n'ai aucune expérience directe avec eux. SAGA est entièrement gratuit et
open source
1
+1 pour SAGA. J'ai complètement raté celui-là. Dans SAGA, il existe un module appelé découpeur de nuage de points , qui peut également découper par étendue de forme: "Ce module permet d'extraire des sous-ensembles d'un nuage de points. La zone d'intérêt est définie soit par les coordonnées du cadre de délimitation, l'étendue d'une système de grille ou une couche de formes, ou par des polygones d'une couche de formes. " Il existe également des modules pour d'autres tâches de filtrage.
lavarider
1
ty pour votre temps andre, mon objectif final est de modifier ces points coupés et de construire un nouveau las.
Allen Bustenai
ty pour vos réponses, vous m'avez tous beaucoup aidé et comme l'ont dit michal et andre, FUSION a fait l'affaire.
Allen Bustenai

Réponses:

7

J'appuie la réponse de @Michal Mackiewicz (à propos de Fusion / LTK), donc j'espère que cet exemple vous aidera à passer au travers.

Il s'agit de la PolyCLipDatacommande de syntaxe (voir la page 110 du manuel):

PolyClipData [switches] PolyFile OutputFile DataFile

Utilisez un éditeur de texte pour écrire la commande avant de l'exécuter (comme NotePad ++). Enregistrez le fichier avec l'extension .bat(fichier batch). N'oubliez pas d'enregistrer le fichier avant de l'exécuter.

Supposons que vous ayez:

  1. Fusion / LTK sous le lecteur C :.
  2. le fichier shapefile (shapefile.shp) sous C: \ shapefile
  3. l'ensemble de données las (lasdata.las) sous C: \ las

écrivez ce qui suit:

c:\fusion\polyclipdata c:\shapefile\shapefile.shp c:\las\clipped_data.las c:\las\lasdata.las

utilisez le commutateur multifilesi vous souhaitez que les fichiers las générés à partir de polygones soient stockés dans des fichiers séparés. Par exemple:

c:\fusion\polyclipdata /multifile c:\shapefile\shapefile.shp c:\las\clipped_data.las c:\las\lasdata.las 

utilisez le shapecommutateur avec multifilepour nommer vos multiples OutputFiles avec des valeurs incorporées dans l'une des colonnes dbf de PolyFile. Par exemple, si vous souhaitez nommer les fichiers avec les informations d'ID (supposons que l'ID se trouve dans la première colonne du fichier de formes). Écrire:

c:\fusion\polyclipdata /multifile /shape:1,* c:\shapefile\shapefile.shp c:\las\clipped_data.las c:\las\lasdata.las 

Pour découper des fichiers las en utilisant PolyClipDataplusieurs fichiers de formes en une seule partie, voir l'article suivant:
Couper des données LAS avec plusieurs fichiers de formes

Pour découper plusieurs fichiers las en les incorporant dans un fichier .txt comme paramètre de fichier de données PolyClipData, reportez-vous à l'article suivant:
Coupez plusieurs données de fichiers .las dans un fichier de formes de polygones à l'aide de FUSION

Pour découper plusieurs fichiers las avec des fichiers de formes à l'aide de (avec la LAStools Productionboîte à outils), reportez-vous à l'article suivant:
Coupure à partir d'un jeu de données LAS en mosaïque avec LASTools (pour ArcGIS)

Andre Silva
la source
9

FUSION LiDAR Toolkit possède des capacités de détourage (outil PolyClipData) et contrairement à LASTools, son utilisation est illimitée. Cependant, malgré le fait qu'il existe un référentiel SVN sur SourceForge, le code source publié est incomplet et très ancien. Si vous pouvez continuer sans connaître le code et simplement utiliser le binaire compilé, alors FUSION devrait convenir à cette tâche.

Michal Mackiewicz
la source
C'est un logiciel très intéressant, cependant, pouvez-vous fournir un lien vers le SVN ou le code source que vous avez mentionné? Je n'ai trouvé aucun avis sur les sources ou les informations de licence . Ni sur la page du développeur, ni dans son manuel ou sur tout autre site faisant la promotion de FUSION (par exemple le service forestier américain, le centre d'applications de télédétection ).
lavarider
1
Vous êtes ici: sourceforge.net/projects/fusion-lidar
Michal Mackiewicz
Ty Michal, je vais l'essayer et publier les résultats.
Allen Bustenai
3

WhiteboxTools peut découper un fichier LAS sur plusieurs polygones contenus dans un Shapefile à l'aide de l' ClipLidarToPolygonoutil. À l'aide de scripts Python, vous pouvez utiliser l'outil comme suit:

from WBT.whitebox_tools import WhiteboxTools

wbt = WhiteboxTools()

wbt.work_dir = "/path/to/data/"
wbt.clip_lidar_to_polygon(i="input.las", polygons="polygons.shp", ouput="ouput.las")

Ou, si vous préférez une interface graphique, vous pouvez utiliser le plugin basé sur QGIS ou le WhiteboxTools Runner, qui est distribué ( wb_runner.py ) avec le téléchargement binaire de la bibliothèque:

Outil WhiteboxTools Runner ClipLidarToPolygon

WhiteboxDev
la source
2

Diverses tâches de filtrage différentes sont couramment appliquées aux jeux de données LiDAR (filtrage par densité de points, passe-bas, filtrage de la végétation, tâches de lissage, etc.). Comme vous demandez une opération spatiale (impliquant un fichier de formes), je suppose que vous cherchez un moyen de découper votre jeu de données , c'est-à-dire d' exclure des points qui se trouvent en dehors des limites du polygone définies par un fichier de formes .

Généralement, LAStools est un package puissant pour le traitement des données ponctuelles. C'est un ensemble d'outils en ligne de commande, mais apporte également une interface graphique simple et s'intègre à QGIS (et ArcGIS, soit dit en passant). Vous pouvez télécharger et évaluer librement la boîte à outils - cependant, seules certaines parties sont open source (licence LGPL 2.1) - les parties à source fermée nécessitent une licence en fonction de votre objectif. Vous devez vérifier quelles conditions s'appliquent pour vous.

Utiliser lasclip de LASTools (source fermée, vérifier les licences)

L'un des outils à source fermée, lasclip , exécute exactement une tâche clip-by-shapefile :

lasclip: prend en entrée un fichier LAS / LAZ / TXT et un fichier SHP / TXT avec un ou plusieurs polygones (par exemple, création d'empreintes de pas), coupe tous les points qui se trouvent en dehors de tous les polygones (ou à l'intérieur de certains polygones), et stocke les survivants pointe vers le fichier de sortie LAS / LAZ / TXT.

L'utilisation est simple:

lasclip -i input_file.las -poly polygons.shp -o output_file.las -verbose

(consultez le LISEZMOI du lasclip pour plus de détails sur l'utilisation, plus d'exemples et les exigences du fichier de formes)

Utilisez las2las de LASTools (open-source; tâches de découpage de base uniquement)

Si le logiciel de source fermée n'est pas une option: l' outil las2las peut également effectuer des tâches de découpage simples - cependant, vous ne pouvez pas découper sur un polygone défini par le fichier de formes. Vous pouvez découper par rectangles, cercles, élévation, angle de balayage, classification ou qualité des données par exemple. (Voir son README pour des exemples d'utilisation et des détails.)
Malheureusement, je ne connais aucun outil open-source qui équivaut à la fonctionnalité lasclip.

Utilisez libLAS pour accéder aux fichiers LAS dans un script personnalisé

LASTools est basé sur la bibliothèque libLAS open source sous licence BSD . Vous pouvez utiliser libLAS pour accéder à vos fichiers LAS et les filtrer avec un script personnalisé, par exemple en utilisant Python .

Bien sûr, il existe d'autres possibilités si vous modifiez votre flux de traitement (par exemple, conversion de LAS en raster et clip plus tard), mais je pense que le moyen le plus pratique est de continuer à travailler avec LAS aussi longtemps que possible et d'effectuer tout le filtrage avec les données du nuage de points lui-même.

lavarider
la source
ty lavarider pour avoir répondu, ive vu lasclip, c'est ce que je cherche mais la source fermée n'est pas une option, las2las me force à passer en revue les formes sur mon shapefile, il me laisse avec des liblas, et avec les autres solutions ici je vérifierai et le poster
Allen Bustenai
2

J'ai écrit un didacticiel PDAL étape par étape qui montre comment effectuer cette tâche dans cet environnement. Veuillez consulter le didacticiel d'écrêtage PDAL pour plus d'informations.

Howard Butler
la source
Je ne pouvais pas accéder au lien hypertexte maintenant (avait déjà accédé auparavant), mais même si c'est à cause de mon appareil; éditez au moins la partie pertinente du code qui fait l'écrêtage. Bien sûr, avoir un tutoriel complente sur le site Web de PDAL est bien, mais les réponses ne devraient pas être basées uniquement sur des sources externes.
Andre Silva