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:
-
- Abra a pasta C:\Program Files\Bricsys\BricsCAD V24 en_US.
- Estando na pasta, e sem nada estar selecionado, pressione Shift+clique o botão-direito e selecione Abrir janela PowerShell aqui.
- 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. - Aguarde pelo pré-processamento. Quando terminar, será exibida a mensagem Pré-processamento concluído com sucesso!
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! **************************
- Copie a nova pasta de cache criada (no exemplo acima pasta test de E:\) para o PointCloudCache do BricsCAD:
C:\Users\%username%\AppData\Roaming\Bricsys\BricsCAD\V24x64\en_US\PointCloudCache
- Abra o BricsCAD, crie um novo desenho e salve-o.
- 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.