#point-cloud #ply #voxel #las #cli-tool #file-path #laz

app voxel-tiler-cli

一个将点云转换为Ply格式的体素网格数据的命令行工具

2个版本

0.1.1 2024年5月20日
0.1.0 2024年5月19日

#48 in 地理空间

MIT/Apache

25KB
371

英语 | 日语

voxel-tiler-cli

将LAS或LAZ格式的点云数据转换为PLY格式的基于体素的网格。此工具使用命令行界面包装了voxel-tiler-core

安装

从发布页面下载适合您环境的二进制文件,或者按照以下步骤进行安装。

从Crates.io安装

cargo install voxel-tiler-cli

[!NOTE] 使用cargo install安装的可执行文件将被放置在Cargo的bin目录中,通常在类Unix系统上是$HOME/.cargo/bin,在Windows上是%USERPROFILE%\.cargo\bin。要运行可执行文件,您可以指定完整路径或将Cargo的bin目录添加到您的PATH环境变量中。

# On Unix-like systems
~/.cargo/bin/voxel-tiler-cli

# or
export PATH=$PATH:$HOME/.cargo/bin
voxel-tiler-cli

# On Windows
%USERPROFILE%\.cargo\bin\voxel-tiler-cli

# or
set PATH=%PATH%;%USERPROFILE%\.cargo\bin
voxel-tiler-cli

参考: 使用cargo install安装二进制文件

克隆仓库并构建

git clone [email protected]:azishio/voxel-tiler-cli.git
cd voxel-tiler-cli

cargo build --release

用法

voxel-tiler-cli

当您运行可执行文件时,系统将提示您输入以下信息,并在最后确认后开始转换。

  • 根据瓦片坐标分割输出文件
  • 输入文件路径
  • 交换X和Y
  • 平面直角坐标系原点
  • 瓦片/像素坐标的缩放级别
  • 输出目录
  • PLY文件输出格式

根据瓦片坐标分割输出文件

默认:否

? Tiling? (y/N)

选择是否根据瓦片坐标分割输出PLY文件或将它们合并成一个文件。

如果您选择分割,每个 PLY 文件的起点将是它所属瓦片的左上角(具有最小像素坐标)。

如果您选择不分割,单个 PLY 文件的起点将是元素的轴对齐边界框(AABB)的最小坐标,这意味着所有顶点将被偏移以具有正的最小坐标。

输入文件路径

默认:无 起始位置:当前目录

? Input File Path:  /path/to/some_directory/
  /path/to/some_directory/filename1.las
  /path/to/some_directory/filename2.las
  /path/to/some_directory/filename3.laz
  /path/to/some_directory/child_directory  
[↑↓ to move, tab to autocomplete, enter to submit]

输入您要转换的 .las/.laz 文件的绝对路径。当您输入路径时,指定的目录内的有效 .las/.laz 文件和子目录将作为建议显示。您可以使用上下箭头键选择这些建议,并使用 Tab 键自动完成。

路径中最后一个 / 之前的部分将在建议计算期间被视为目录。

交换X和Y

默认:否

? Swap X and Y? (y/N)

选择是否交换输入文件的 X 和 Y 坐标。

显示文件信息

以下是一个示例输出:x 和 y 坐标根据前面的问题进行了交换。

Las File Info

+------------------+---------+
| Number of Points | 6037715 |
+------------------+---------+
+------------+--------------------+-----------+----------+
| coord      | x                  | y         | z        |
+------------+--------------------+-----------+----------+
| max [m]    | -94283.511         | 23761.122 | 309.762  |
+------------+--------------------+-----------+----------+
| min [m]    | -94584.235         | 23482.154 | 269.359  |
+------------+--------------------+-----------+----------+
| center [m] | -94433.87299999999 | 23621.638 | 289.5605 |
+------------+--------------------+-----------+----------+

平面直角坐标系原点

默认:无

? JPR Origin:  

输入输入文件基于的平面矩形坐标系的起点。

[!TIP] 此工具是为基于平面矩形坐标系的点云的 .las/.laz 文件设计的。

然而,由于平面矩形坐标系是度量正交坐标系,您可能会用任何度量点云数据获得合理的结果。请注意,在这种情况下,输出文件的坐标精度将丢失。

建议在此情况下将 Tiling 设置为 No 以将输出合并为单个文件。

瓦片/像素坐标的缩放级别

默认:无

? Select zoom levels  
^ [ ] ZoomLevel: 14 (  8.09 m/voxel)
  [ ] ZoomLevel: 15 (  4.04 m/voxel)
  [ ] ZoomLevel: 16 (  2.02 m/voxel)
> [ ] ZoomLevel: 17 (  1.01 m/voxel)
  [ ] ZoomLevel: 18 (  0.51 m/voxel)
  [ ] ZoomLevel: 19 (  0.25 m/voxel)
v [ ] ZoomLevel: 20 (  0.13 m/voxel)
[↑↓ to move, space to select one, → to all, ← to none, type to filter]

选择生成体素的缩放级别。每个缩放级别下每个体素的对应边长将显示为参考。

体素的边长是基于输入文件的中心纬度计算的。

输出目录

默认:无 起始位置:当前目录

? Output Directory:  /path/to/some_directory/
  /path/to/some_directory/child_directory1
  /path/to/some_directory/child_directory2
[↑↓ to move, tab to autocomplete, enter to submit]

输入输出文件将保存到的目录的绝对路径。

如果目录不存在,它将被自动创建。

[!WARNING] 如果 Tiling 设置为 Yes,请仔细选择目标目录,因为可能会输出大量文件。我们建议您创建一个新的目录。

PLY文件输出格式

默认:Ascii

? Select file format  
> Ascii
  Binary (little endian)
  Binary (big endian)
[↑↓ to move, enter to select, type to filter]

选择输出 PLY 文件的格式。

最终确认

默认:否

Params

+------------------------------------------------+
| InputFile  : /path/to/source/las_file.las      |
+------------------------------------------------+
| OutputDir  : /path/to/output/dir/              |
+------------------------------------------------+
| Ply Format : Ascii                             |
+------------------------------------------------+
| Tiling     : false                             |
+------------------------------------------------+

? Continue? (y/N)  

查看输入设置并确认以开始转换。

许可

根据以下任一许可进行许可

(英文文档注释和 README 文件已由 DeepL 和 ChatGPT 翻译)

依赖项

~12–23MB
~314K SLoC