3D Tiles Tools 安装和使用指南

3D Tiles Tools 安装和使用指南

【免费下载链接】3d-tiles-tools 【免费下载链接】3d-tiles-tools 项目地址: https://gitcode.com/gh_mirrors/3d/3d-tiles-tools

项目概述

3D Tiles Tools 是一个用于处理和分析 3D Tiles 数据的开源工具集合。3D Tiles 是一种用于流式传输和渲染大规模 3D 地理空间数据的开放标准。该项目提供了多种工具,用于转换、优化、处理和分析 3D Tiles 数据。

技术栈

该项目主要使用 TypeScript 和 JavaScript 进行开发,关键技术和框架包括:

  • 3D Tiles: 用于流式传输和渲染大规模 3D 地理空间数据的开放标准
  • glTF (GL Transmission Format): 用于高效传输和加载 3D 场景和模型的开放标准
  • Node.js: 用于构建和运行 JavaScript 应用程序的运行时环境
  • npm: Node.js 的包管理器,用于安装和管理项目依赖

安装准备

在开始安装之前,请确保您的系统上已经安装了以下软件:

  • Node.js (建议版本 18.x 或更高)
  • npm (通常随 Node.js 一起安装)

详细安装步骤

步骤 1: 克隆项目仓库

首先,您需要从 GitCode 上克隆 3d-tiles-tools 项目到本地:

git clone https://gitcode.com/gh_mirrors/3d/3d-tiles-tools.git

步骤 2: 进入项目目录

克隆完成后,进入项目目录:

cd 3d-tiles-tools

步骤 3: 安装依赖

使用 npm 安装项目所需的所有依赖:

npm install

步骤 4: 验证安装

安装完成后,您可以通过运行以下命令来验证安装是否成功:

npx ts-node src/cli/main.ts --help

如果安装成功,您将看到命令行工具的帮助信息。

项目结构

3D Tiles Tools 采用模块化设计,主要包含以下核心模块:

  • base: 基础工具类,被几乎所有其他包共享使用
  • structure: 3D Tiles tileset JSON 元素的 TypeScript 类型定义
  • ktx: Basis (KTX) 编码器 WASM 模块的便利包装器
  • gltf-extensions: 基于 glTF-Transform 的 Cesium glTF 扩展实现
  • metadata: 3D Metadata 规范实现的基础类
  • tilesets: 处理 3D Tiles tileset 数据的类(包括瓦片内容和瓦片集包)
  • tools: 实现 3D Tiles Tools 功能的主要类
  • cli: 3D Tiles 工具的主要命令行应用程序

命令行工具使用

常用命令行选项

所有 3D Tiles Tools 命令都支持以下通用选项:

标志描述是否必需
-i, --input输入文件或目录
-o, --output输出文件或目录
-f, --force如果输出存在则覆盖否,默认 false
--logLevel日志级别,有效值:tracedebuginfowarnerrorfatalsilent否,默认 info
--logJson以 JSON 格式打印日志消息否,默认 false

瓦片集处理工具

gzip 压缩

对输入瓦片集进行 gzip 压缩:

npx ts-node src/cli/main.ts gzip -i ./specs/data/TilesetOfTilesets/ -o ./output/TilesetOfTilesets-gzipped/
ungzip 解压缩

对输入瓦片集进行 ungzip 解压缩:

npx ts-node src/cli/main.ts ungzip -i ./specs/data/TilesetOfTilesets-gzipped/ -o ./output/TilesetOfTilesets-ungzipped/
combine 合并

将所有外部瓦片集合并为一个瓦片集:

npx ts-node src/cli/main.ts combine -i ./specs/data/combineTilesets/input -o ./specs/data/combineTilesets/output
upgrade 升级

将瓦片集升级到最新的 3D Tiles 版本:

npx ts-node src/cli/main.ts upgrade -i ./specs/data/TilesetOfTilesets/tileset.json -o ./output/upgraded

瓦片内容处理工具

glbToB3dm

从 glb 创建带有空批处理表的 b3dm:

npx ts-node src/cli/main.ts glbToB3dm -i ./specs/data/CesiumTexturedBox/CesiumTexturedBox.glb -o ./output/CesiumTexturedBox.b3dm
b3dmToGlb

从 b3dm 中提取 glb:

npx ts-node src/cli/main.ts b3dmToGlb -i ./specs/data/batchedWithBatchTableBinary.b3dm -o ./output/extracted.glb
optimizeB3dm

使用 gltf-pipeline 优化 b3dm:

npx ts-node src/cli/main.ts optimizeB3dm -i ./specs/data/batchedWithBatchTableBinary.b3dm -o ./output/optimized.b3dm

项目特性图示

属性表示例

上图展示了 3D Tiles 中的属性表结构,这是处理元数据的重要组成部分。

开发设置

当工具不是从 NPM 安装为包,而是直接在克隆的存储库中使用时,命令行用法如下:

  1. 克隆存储库到当前目录
  2. 进入克隆的存储库目录
  3. 安装工具和所有依赖项

之后,可以使用与上述相同的命令行选项执行工具。

测试和文档

项目包含完整的单元测试套件,测试数据存储在 ./specs/data 目录中。可以使用以下命令运行测试:

npm test

API 文档使用 api-extractor 进行跟踪,可以通过以下命令生成:

npm run docs

这将生成详细的 API 文档,存储在 ./build/docs 目录中。

总结

3D Tiles Tools 提供了一个强大的工具集,用于处理和分析 3D Tiles 数据。通过本文介绍的安装和使用指南,您可以快速开始使用这些工具来处理地理空间数据。无论是进行数据转换、优化还是分析,这个工具集都能提供强大的支持。

【免费下载链接】3d-tiles-tools 【免费下载链接】3d-tiles-tools 项目地址: https://gitcode.com/gh_mirrors/3d/3d-tiles-tools

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值