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 | 日志级别,有效值:trace、debug、info、warn、error、fatal、silent | 否,默认 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 安装为包,而是直接在克隆的存储库中使用时,命令行用法如下:
- 克隆存储库到当前目录
- 进入克隆的存储库目录
- 安装工具和所有依赖项
之后,可以使用与上述相同的命令行选项执行工具。
测试和文档
项目包含完整的单元测试套件,测试数据存储在 ./specs/data 目录中。可以使用以下命令运行测试:
npm test
API 文档使用 api-extractor 进行跟踪,可以通过以下命令生成:
npm run docs
这将生成详细的 API 文档,存储在 ./build/docs 目录中。
总结
3D Tiles Tools 提供了一个强大的工具集,用于处理和分析 3D Tiles 数据。通过本文介绍的安装和使用指南,您可以快速开始使用这些工具来处理地理空间数据。无论是进行数据转换、优化还是分析,这个工具集都能提供强大的支持。
【免费下载链接】3d-tiles-tools 项目地址: https://gitcode.com/gh_mirrors/3d/3d-tiles-tools
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考




