126 lines
4.3 KiB
Markdown
126 lines
4.3 KiB
Markdown
# LidarTo3DPrint
|
||
|
||
Procédure de conversion d'un fichier de points LIDAR en une impression 3D
|
||
|
||
# Contexte
|
||
|
||
Tenter de pouvoir observer et caractériser le relief d'un territoire au moyen des relevés 3D réalisés par l'état. Le territoire français est en cours de cartographie au Lidar avec une résolution de 10 points par mètre carré : [https://geoservices.ign.fr/lidarhd](https://geoservices.ign.fr/lidarhd)
|
||
|
||
Ces données seront utilisées et transformées dans ce projet.
|
||
|
||
# Réalisation
|
||
|
||
Se rendre sur la page web de téléchargement des données brutes : [https://cartes.gouv.fr/telechargement/IGNF_NUAGES-DE-POINTS-LIDAR-HD](https://cartes.gouv.fr/telechargement/IGNF_NUAGES-DE-POINTS-LIDAR-HD)
|
||
|
||
Sélectionner une zone et télécharger les données :
|
||
|
||
![[SelectionDonnees.png]]
|
||
|
||
Ouvrir QGIS et installer le plugin LAStools
|
||
|
||
![[InstallPlugin.png]]
|
||
|
||
|
||
Cliquer sur Installer
|
||
|
||
![[InstallPluginNext.png]]
|
||
|
||
|
||
Se rendre sur la page de LASTools et télécharger les outils compilés pour votre OS
|
||
|
||
![[DownloadLASToolsBinaries.png]]
|
||
|
||
Décompresser le zip et copier le fichier LASTools dans le disque C puis redémarrer QGIS
|
||
|
||
|
||
![[DecompressLASToolsBinary.png]]
|
||
|
||
|
||
Importer un fichier LIDAR
|
||
|
||
![[ImportLIDARdata.png]]
|
||
|
||
|
||
Il apparaît dans QGIS, il est possible d’avoir un aperçu en ouvrant une nouvelle vue 3D
|
||
|
||
![[New3DView.png]]
|
||
|
||
|
||
Sur ce zoom on peut apercevoir un château d’eau ainsi que des maisons et de la végétation
|
||
|
||
![[OverviewIn3D.png]]
|
||
|
||
|
||
Pour ne pas imprimer tout le village, nous allons sélectionner une plus petite zone. Créer une nouvelle couche temporaire
|
||
|
||
![[TempLayerForExtraction.png]]
|
||
|
||
|
||
Sélectionner une géométrie de type polygon (pour faire la sélection) et choisir la mème géodésique
|
||
|
||
![[SelectionPolygon.png]]
|
||
|
||
La couche apparaît maintenant en bas a gauche.
|
||
|
||
Si besion merger plusieurs couches de nuages de points
|
||
|
||
![[MergeMultipleLIDAR.png]]
|
||
|
||
Utiliser l’outil d’ajout de polygone (click gauche pour les points du polygone, click droit pour terminer)
|
||
|
||
![[DrawPolygon.png]]
|
||
|
||
Chercher l’outil de processing « Point Cloud Clip »
|
||
|
||
![[ProcessingPointSelection.png]]
|
||
|
||
Sélectionner la couche de points source ainsi que le polygone
|
||
|
||
![[ProcessingPointSelectionFinal.png]]
|
||
|
||
Cela va sélectionner les points contenus dans le polygone et créer une nouvelle couche. Ne cocher que la couche « Clipped » pour retenir les points sélectionnés.
|
||
|
||
![[Small3DRepresentation.png]]
|
||
|
||
Il est possible maintenant d’utiliser les classes de ces données lidar pour retirer ce que l’on ne va pas imprimer. Ici je ne garde que le sol et les bâtiments
|
||
|
||
![[OverheadRepresentation.png]]
|
||
|
||
En cochant / décochant des cases, il n’est possible que d’afficher ou de masquer des points. Cependant pour les étapes suivantes nous souhaitons les retirer du jeu de données avant de transférer le fichier dans un autre logiciel
|
||
|
||
Faire un click droit sur la couche et cliquer sur Filter… créer un filtre en ne gardant que les classifications 2 et 6
|
||
|
||
![[FilterOutVegetation.png]]
|
||
|
||
Faire un click droit sur la couche, Export => Save As et enregistrer dans un fichier LAS
|
||
|
||
![[ExportPointsSet.png]]
|
||
|
||
Vous n’aurez que les points associés aux catégories filtrées dans ce fichier
|
||
|
||
Recommencer l’opération et cette fois ci enregistrer les données au format « Comma Separated Values »
|
||
|
||
Ouvrir « Meshlab » et importer un nouveau fichier mesh. Notre fichier CSV comporte les latitudes, longitudes et élévation séparées par une virgule. En précisant le format d’import dans MeshLab nous pouvons ouvrir le fichier
|
||
|
||
![[ImportPoints.png]]
|
||
|
||
![[OverviewPoints.png]]
|
||
|
||
En regardant en haut a droite on peut observer que nous avons 19757 points mais aucune face. Il faut reconstruire les faces d’après tous les points en utilisant le bon filtre et potentiellement des corrections manuelles.
|
||
|
||
Il faut d'abord calculer les normales aux points
|
||
![[CalculateNormals.png]]
|
||
|
||
![[GenerateSurface.png]]
|
||
|
||
![[GenerateSurfaceFinal.png]]
|
||
|
||
Après avoir reconstruit les faces, on voit que l’on a pas assez de points pour représenter les maisons. Il y a beaucoup de moments ou la reconstruction de poisson ne représente pas la réalité.
|
||
|
||
![[SurfaceOverview.png]]
|
||
|
||
Enregistrer les points au format STL en utilisant le menu File => Export As
|
||
|
||
Ouvrir BambuLab et importer le STL et ajouter un support
|
||
|
||
![[ImportInBambuLabs.png]] |