Comment utiliser le préprocessor.exe afin d'ignorer les balises GeoTIFF tout en prétraitant les données de nuage de points .LAS, .LAZ non standard ?

Symptômes - Bas

Certains fichiers inhabituels utilisés pour importer un nuage de points, tels que les fichiers LAS avec mise en page de colonne non standard ou étiquettes géographiques non standard, ne sont pas automatiquement prétraités de manière appropriée. Elles contiennent les transformations des géomarques qui ont déjà été appliquées aux coordonnées. Si le fichier .las était traité de manière standard, la transformation serait appliquée une deuxième fois, ce qui entraînerait des coordonnées erronées.

Cause

  • Les données brutes de ces fichiers sont en mètres, mais le fichier contient également des balises GeoTIFF. Par conséquent, le lecteur pense que les coordonnées ne sont pas des mètres mais des lat/long, et convertit les lat/long supposées en mètres. Dans BricsCAD V21, les balises GeoTIFF et les chaînes WKT étaient totalement ignorées et les nuages de points étaient prétraités avec succès, mais BricsCAD V22 lit les balises géographiques automatiquement, et les balises géographiques corrompues ne sont plus ignorées.
  • Ce nouveau comportement (ne plus ignorer les balises géographiques) est voulu. D'autres fichiers de nuages de points standard ne pourront pas être chargés si les balises GeoTIFF sont ignorées. Les balises GeoTIFF / chaînes WKT sont spécifiques à chaque fichier LAS/LAZ.

Solution

  • Notre équipe de développement a mis en place un nouveau fichier exécutable de pré-traitement qui permettra aux utilisateurs d'ignorer les chaînes WKT / les balises GeoTIFF durant cette opération. Ainsi, les fichiers qui se sont chargés dans la V21 mais qui ne se sont pas chargés dans la V22 fonctionneront à nouveau.

    Un ensemble complet d'options remaniées du fichier de prétraitement exécutable est disponible si ce dernier est exécuté sans arguments dans un shell du système d'exploitation :

    Options :
    
    Dry run :
     -h [ --help ] impression des options autorisées
     -p [ --parse ] impression des arguments analysés (sans accès aux fichiers)
     -H [ --header ] impression de l'en-tête las/laz/e57 (sans lecture des
     points)
    Global :
     -o [ --output ] arg nom du fichier de sortie (chaîne de caractères)
     -f [ --folder ] arg dossier de sortie (chaîne de caractères)
     -d [ --discretization ] arg discrétisation des coordonnées en mètres (double ;
     par défaut 0.000100)
     -u [ --unstructured ] traiter les fichiers d'entrée comme non structurés
     -t [ --threads ] arg nombre de threads (uint32_t ; défaut 12)
    
    Modificateurs pour les fichiers d'entrée suivants ( !):
     -s [ --scale ] arg facteur d'échelle en mètres (double ; par défaut 1.000000)
     -c [ --columns ] arg colonnes PTS (chaîne de caractères, par défaut "auto") :
                                      '-c "auto"' suppose 'XYZ[I][RGB]'
     '-c "XYZ... BGR"" par exemple
     permet "XYZRGBI". avec '.' colonne skip
     -w [ --wkt ] arg texte bien connu (WKT) (chaîne de caractères, par défaut "file") :
                                      '-w "skip"' ignore le WKT du ou des fichiers d'entrée
     '-w "file"' utilise le WKT du ou des fichiers d'entrée
     '-w "GEOGCS[\"WGS 84\",...]"' par exemple
     -r [ --rgb ] arg surcharge les bits RVB d'entrée (uint32_t ; valeur par défaut 0) :
                                      '-r 0' détermine automatiquement les bits
     autorise 0, 8 et 16
    
    Fichiers d'entrée :
     -i [ --input ] arg fichiers d'entrée (séparés par des espaces, * pour un caractère générique) :
     /path/to/stem.ext
     /path/to/scan*.*
Étapes à suivre pour effectuer un prétraitement avec le nouvel exécutable :
  1. Ouvrez le dossier C:\Program Files\Bricsys\BricsCAD V24 en_US.
  2. Dans le dossier, sans rien sélectionner, effectuez Maj+clic droit et sélectionnez Ouvrir la fenêtre PowerShell ici.
  3. Dans la boîte de dialogue Windows PowerShell qui s'ouvre, exécutez la commande suivante en utilisant les options du préprocesseur :

    .\preprocessor.exe -w skip -i 'E:\FILE\filename.las' -o myCloud -f "E:\test"

    Note: Le premier chemin utilisé dans l'argument est le chemin vers le fichier pointcloud actuel et le dernier chemin est un dossier vide où se trouve le cache pour créer le fichier  .las.
  4. Patientez lors du prétraitement. À la fin, un message Prétraitement terminé avec succès ! s’affiche.
    PS C:\Program Files\Bricsys\BricsCAD V24 en_US> .\preprocessor.exe -w skip -i 'E:\FILE\filename.las' -o myCloud -f "E:\test"
    **************************
    * Analyse des options du programme *
    **************************
      sortie         = myCloud.vrm
      dossier         = E:/test
      discrétisation = 0.0001
      Traitement comme non structuré   = utiliser les positions de scan le cas échéant
      threads        = 12
    **************************
      fichier 1:
        chemin    = E:\FILE\filename.las
        échelle   = 1
        wkt     = ignorer
        rvb     = déterminé automatiquement
    **************************
      Prétraitement en cours: suivre le progrès sur E:/test\myCloud.log
      Prétraitment terminé avec succès !
    **************************
  5. Copiez le nouveau dossier de cache créé (dans l'exemple ci-dessus, le dossier test de E:\) dans le PointCloudCache de BricsCAD :

    C:\Users\%username%\AppData\Roaming\Bricsys\BricsCAD\V24x64\en_US\PointCloudCache

  6. Ouvrez BricsCAD, créez un nouveau dessin et enregistrez-le.
  7. Exécutez la commande _POINTCLOUDREFERENCE -> Insérez myCloud.vrm -> définissez un style visuel rendu, zoomez sur Extents et le nuage de points devrait correctement se charger dans le dessin.