Wie verwendet man die preprocessor.exe, um GeoTIFF-Bezeichner bei der Vorverarbeitung von nicht standardmäßigen .LAS-, .LAZ-PunktWolken-Daten zu ignorieren?

Symptome

Einige ungewöhnliche Punktwolken-Eingabedateien, wie LAS-Dateien mit nicht standardmäßigem Spaltenlayout oder nicht standardmäßigen Geo-Bezeichnern, werden nicht automatisch korrekt vorverarbeitet. Sie enthalten Transformationen von Geo-Bezeichnern, die bereits auf die Koordinaten angewendet wurden. Bei einer Standardbehandlung der las-Datei würde die Transformation ein zweites Mal angewendet werden, was zu fehlerhaften Koordinaten führen würde.

Ursache

  • Die Rohdaten in diesen Dateien werden in Metern angegeben, die Datei enthält jedoch auch GeoTIFF-Bezeichner. Daher geht der Leser davon aus, dass die Koordinaten nicht in Metern, sondern in Breiten-/Längengraden angegeben sind, und rechnet den angenommenen Breiten-/Längengrad in Meter um. In BricsCAD V21 wurden GeoTIFF-Bezeichner und WKT-Zeichenketten vollständig ignoriert und die Punktwolken wurden erfolgreich vorverarbeitet, aber BricsCAD V22 liest Geo-Bezeichner automatisch und beschädigte Geo-Bezeichner werden nicht mehr ignoriert.
  • Dieses neue Verhalten (um die Geo-Bezeichner nicht mehr zu ignorieren) ist beabsichtigt. Andere Standard-Punktwolkendateien können nicht geladen werden, wenn GeoTIFF-Bezeichner ignoriert werden. GeoTIFF-Bezeichner/WKT-Zeichenketten sind spezifisch für die LAS/LAZ-Datei.

Lösung

  • Unser Entwicklungsteam hat eine neue ausführbare Datei für den Präprozessor implementiert, die es Benutzern ermöglicht, WKT-Zeichenketten/GeoTIFF-Bezeichner während der Vorverarbeitung zu ignorieren. Auf diese Weise funktionieren die Dateien, die in V21 geladen wurden, aber in V22 nicht geladen werden konnten, wieder.

    Ein vollständiger Satz der überarbeiteten Optionen des ausführbaren Präprozessors kann gefunden werden, wenn die ausführbare Präprozessordatei ohne Argumente in einer Betriebssystem-Shell ausgeführt wird:

    Optionen:
    
    Probelauf:
      -h [ --help ]                erlaubte Optionen drucken
      -p [ --parse ]               analysierte Argumente drucken (ohne Dateizugriff)
      -H [ --header ]              las/laz/e57-Header drucken (ohne Punkte
                                   zu lesen)
    Global:
      -o [ --output ] arg          Ausgabedateiname (Zeichenfolge)
      -f [ --folder ] arg          Ausgabeordner (Zeichenfolge)
      -d [ --discretization ] arg  Koordinatendiskretisierung in Metern (doppelt;
                                   Standard 0.000100)
      -u [ --unstructured ]        Eingabedateien als unstrukturiert behandeln
      -t [ --threads ] arg         Anzahl der Threads (uint32_t; Standard 12)
    
    Modifikatoren für nachfolgende (!) Eingabedateien:
      -s [ --scale ] arg           Skalierubgsfaktor zu Meter (doppelt; Standard 1.000000)
      -c [ --columns ] arg         PTS-Spalten (Zeichenfolge, Standard "auto"):
                                       '-c "auto"' setzt 'XYZ[I][RGB]' voraus
                                       '-c "XYZ..BGR"' z. B.
                                       erlaubt 'XYZRGBI.' mit '.' Spaltensprung
      -w [ --wkt ] arg             bekannter Text (WKT) (Zeichenfolge, Standard "file"):
                                       '-w "skip"' überspringt WKT der Eingabedatei(en)
                                       '-w "file"' verwendent WKT der Eingabedatei(en)
                                       '-w "GEOGCS[\"WGS 84\",...]"' zum Beispiel 
      -r [ --rgb ] arg             überschreibt eingegebene RGB-Bits (uint32_t; Standard 0):
                                       '-r 0' bewirkt die automatische Bitbestimmung
                                       erlaubt 0, 8 und 16
    
    Input files:
      -i [ --input ] arg           Eingabedateien (durch Leerzeichen getrennt, Platzhalter *):
                                       /path/to/stem.ext
                                       /path/to/scan*.*
Schritte zum Abschließen einer Vorverarbeitung mit der neuen ausführbaren Datei:
  1. Öffnen Sie den Ordner C:\Program Files\Bricsys\BricsCAD V24 de_DE.
  2. Führen Sie im Ordner, ohne dass etwas ausgewählt ist, Umschalt+Rechtsklick aus und wählen Sie PowerShell-Fenster hier öffnen aus.
  3. Führen Sie im sich öffnenden Dialog Windows PowerShell den folgenden Befehl mit Präprozessoroptionen aus:

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

    Note: Der erste im Argument verwendete Pfad ist der Pfad zur tatsächlichen Punktwolkendatei und der letzte Pfad ist ein leerer Ordner, in dem der Cache für die .las-Datei erstellt wird.
  4. Warten Sie auf die Vorverarbeitung. Am Ende wird die Meldung Vorverarbeitung erfolgreich beendet! angezeigt.
    PS C:\Program Files\Bricsys\BricsCAD V24 en_US> .\preprocessor.exe -w skip -i 'E:\FILE\Dateiname.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. Kopieren Sie den neu erstellten Cache-Ordner (im obigen Beispiel den Ordner test von E:\) in den Ordner PointCloudCache von BricsCAD:

    C:\Users\%Benutzername%\AppData\Roaming\Bricsys\BricsCAD\V24x64\de_DE\PointCloudCache

  6. Öffnen Sie BricsCAD, erstellen Sie eine neue Zeichnung und speichern Sie sie.
  7. Führen Sie den Befehl _POINTCLOUDREFERENCE aus -> Fügen Sie myCloud.vrm ein -> Legen Sie einen gerenderten visuellen Stil fest, Zoomen Sie auf Grenzen und die Punktwolke sollte korrekt in die Zeichnung geladen werden.