Come utilizzare preprocessor.exe per ignorare i tag GeoTIFF durante la pre-elaborazione di dati delle nuvole di punti .LAS, .LAZ non standard?

Sintomi

Alcuni insoliti file di input di nuvole di punti, come i file LAS con layout in colonna non standard o tag geografici non standard, non vengono automaticamente pre-elaborati correttamente. Contengono trasformazioni di tag geografici che sono già state applicate alle coordinate. Trattando i file .las in un modo standard, la trasformazione verrebbe applicata una seconda volta, con conseguenti coordinate difettose.

Causa

  • I dati non elaborati in questi file sono in metri, ma il file contiene anche tag GeoTIFF. Pertanto, il lettore pensa che le coordinate non siano metri ma latitudine/longitudine e converte la latitudine/longitudine presunta in metri. In BricsCAD V21 i tag GeoTIFF e le stringhe WKT venivano totalmente ignorati e le nuvole di punti venivano preprocessate con successo, ma BricsCAD V22 legge automaticamente i tag geografici e i tag geografici corrotti non vengono più ignorati.
  • Questo nuovo comportamento (non ignorare più i tag geografici) è voluto. Altri file di nuvole di punti standard non verranno caricati se i tag GeoTIFF vengono ignorati. I tag GeoTIFF / WKT sono specifici per file LAS/LAZ.

Soluzione

  • Il nostro team di sviluppo ha implementato un nuovo file eseguibile pre-elaboratore che consentirà agli utenti di ignorare le stringhe WKT/tag GeoTIFF durante la pre-elaborazione. In questo modo, i file caricati in V21 ma che non si caricano in V22 funzioneranno di nuovo.

    È possibile trovare un gruppo completo delle opzioni rifattorizzate del preprocessore eseguibile se viene eseguito il preprocessore eseguibile senza argomenti in una shell del sistema operativo:

    Options:
    
    Dry run:
      -h [ --help ]                print allowed options
      -p [ --parse ]               print parsed arguments (without file access)
      -H [ --header ]              print las/laz/e57 header (without reading
                                   points)
    Global:
      -o [ --output ] arg          output filename (string)
      -f [ --folder ] arg          output folder (string)
      -d [ --discretization ] arg  coordinate discretization in meter (double;
                                   default 0.000100)
      -u [ --unstructured ]        treat input files as unstructured
      -t [ --threads ] arg         number of threads (uint32_t; default 12)
    
    Modifiers for subsequent (!) input files:
      -s [ --scale ] arg           scale factor to meter (double; default 1.000000)
      -c [ --columns ] arg         PTS columns (string, default "auto"):
                                       '-c "auto"' assumes 'XYZ[I][RGB]'
                                       '-c "XYZ..BGR"' for example
                                       allows 'XYZRGBI.' with '.' column skip
      -w [ --wkt ] arg             well-known text (WKT) (string, default "file"):
                                       '-w "skip"' skips WKT of input file(s)
                                       '-w "file"' uses  WKT of input file(s)
                                       '-w "GEOGCS[\"WGS 84\",...]"' for example
      -r [ --rgb ] arg             override input RGB bits (uint32_t; default 0):
                                       '-r 0' causes automatic bit determination
                                       allows 0, 8 and 16
    
    Input files:
      -i [ --input ] arg           input files (space separated, wildcard *):
                                       /path/to/stem.ext
                                       /path/to/scan*.*
Passi da utilizzare per completare una preelaborazione con il nuovo eseguibile:
  1. Aprire la cartella C:\Programmi\Bricsys\BricsCAD V24 it_IT.
  2. Nella cartella, senza selezionare nulla, cliccare Maiusc+pulsante destro del mouse e selezionare Apri finestra PowerShell qui.
  3. Nella finestra di dialogo Windows PowerShell che si apre, eseguire il seguente comando utilizzando le opzioni del preprocessore:

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

    Note: Il primo percorso utilizzato nell'argomento è il percorso del file della nuvola di punti effettivo, quindi l'ultimo percorso è una cartella vuota dove verrà creata la cache dei file .las.
  4. Attendere la pre-elaborazione. Al termine, viene visualizzato un messaggio Preelaborazione completata con successo!.
    PS C:\Programmi\Bricsys\BricsCAD V24 it_IT> .\preprocessor.exe -w skip -i 'E:\FILE\filename.las' -o myCloud -f "E:\test"
    **************************
    * Parsed program options *
    **************************
      output         = myCloud.vrm
      folder         = E:/test
      discretization = 0.0001
      unstructured   = use scan positions if present
      threads        = 12
    **************************
      file 1:
        path    = E:\FILE\filename.las
        scale   = 1
        wkt     = skip
        rgb     = automatically determined
    **************************
      Running preprocess: track progress at E:/test\myCloud.log
      Preprocessing finished successful!
    **************************
  5. Copiare la nuova cartella della cache creata (nell'esempio precedente la cartella test da E:\) nella PointCloudCache di BricsCAD:

    C:\Users\<username>\AppData\Roaming\Bricsys\BricsCAD\V24x64\it_IT\PointCloudCache

  6. Aprire BricsCAD, crea un nuovo disegno e salvalo.
  7. Eseguire il comando RIFERIMENTONUVPUNTI -> Inserisci myCloud.vrm -> impostare uno stile di visualizzazione renderizzato, Zoom alle Estensioni e la nuvola di punti dovrebbe caricarsi correttamente nel disegno.