Como usar o preprocessor.exe para ignorar as tags GeoTIFF durante o pré-processamento de dados de nuvem de ponto não-padrão *.LAS, *.LAZ?

Sintomas

Alguns arquivos de entrada incomuns de Nuvem de pontos, como arquivos *.LAS com layout de coluna não-padrão ou etiquetas geográficas não-padrão, não são automaticamente pré-processados de forma correta. Eles contêm transformações de etiqueta geográfica que já foram aplicadas às coordenadas. Ao tratar o arquivo *.las da maneira padrão, a transformação seria aplicada uma segunda vez, resultando em coordenadas incorretas.

Causa

  • Os dados brutos nesses arquivos estão em metros, no entanto, o arquivo também contém etiquetas GeoTIFF. Portanto, nessa situação o leitor considera que as coordenadas não estão em metros, mas em latitude/longitude, e converte a latitude/longitude assumida para metro. No BricsCAD V21, etiquetas GeoTIFF e sequências WKT eram totalmente ignoradas e as nuvens de pontos então pré-processadas com sucesso, mas o BricsCAD V22 lê automaticamente as etiquetas geográficas e as etiquetas geográficas corrompidas não são mais ignoradas.
  • Este novo comportamento (para não mais ignorar as etiquetas geográficas) é intencional. Outros arquivos padrão de Nuvem de pontos vão falhar ao carregar se as etiquetas GeoTIFF forem ignoradas. As etiquetas GeoTIFF / strings WKT são específicas por arquivo de formatos LAS/LAZ.

Solução

  • Nossa equipe de desenvolvimento implementou um novo arquivo executável de pré-processador que vai permitir ao usuário ignorar as sequências WKT/etiquetas GeoTIFF durante o pré-processamento. Dessa forma, os arquivos que eram carregados na V21, mas não eram na V22, vão funcionar novamente.

    Um conjunto completo de opções refatoradas do pré-processador executável pode ser encontrado se rodar o executável do pré-processador sem argumentos, em uma janela do Sistema Operacional:

    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*.*
Etapas a ser usadas para completar um pré-processamento com o novo executável:
  1. Abra a pasta C:\Program Files\Bricsys\BricsCAD V24 en_US.
  2. Estando na pasta, e sem nada estar selecionado, pressione Shift+clique o botão-direito e selecione Abrir janela PowerShell aqui.
  3. Na caixa de diálogo Windows PowerShell que se abre, execute o seguinte comando usando as opções do pré-processador:

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

    Note: O primeiro caminho usado no argumento é o caminho para o arquivo real de Nuvem de pontos, então o último caminho é uma pasta vazia, onde o cache para o arquivo *.las será criado.
  4. Aguarde pelo pré-processamento. Quando este terminar, uma mensagem Pré-processamento concluído com sucesso! é exibida.
    PS C:\Program Files\Bricsys\BricsCAD V24 en_US> .\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. Copie a nova pasta de cache criada (no exemplo acima test pasta de E:\) para o PointCloudCache do BricsCAD:

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

  6. Abra o BricsCAD, crie um novo desenho e salve-o.
  7. Execute o comando _POINTCLOUDREFERENCE -> Insert myCloud.vrm -> definir um Estilo Visual renderizado, Zoom para a Extensão e a Nuvem de ponto deve ser carregada corretamente no desenho.