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:
-
- Aprire la cartella C:\Programmi\Bricsys\BricsCAD V24 it_IT.
- Nella cartella, senza selezionare nulla, cliccare Maiusc+pulsante destro del mouse e selezionare Apri finestra PowerShell qui.
- 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. - 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! **************************
- 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
- Aprire BricsCAD, crea un nuovo disegno e salvalo.
- 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.