地形流式加载

面向 GB 级 DEM、正射影像与点云的地形流式加载

地形流式加载是 STREAM 打开远大于显存的测量成果并保持流畅的方法:地形被切成多个细节层级的固定瓦片,每一帧相机只请求它真正能看到的瓦片。其余数据留在磁盘上。这就是为什么 GB 级 DEM 平移时没有进度条,点云能变成可量测的表面,同一现场的多幅 DEM 表现得像一幅——全部在您自己的机器上完成。

什么是地形流式加载?

大型 DEM 放不进 GPU,也不必放进去。地形流式加载把完整数据集以分块、多分辨率的形式留在磁盘上,只把可见部分送入显存——先用粗瓦片覆盖整个视野,再在相机聚焦处送入细瓦片。

STREAM 通过两级栅格路径实现这一点。源 GeoTIFF 或 BigTIFF 经 GDAL 读取一次,转换为本机优化副本:确定性的 512 × 512 瓦片布局、多级概览、高程用 Float32、正射影像用 RGBA8。副本完成后,渲染器直接从中读取瓦片,而不再回到源文件。

结果是文件大小不再是上限。真正重要的是您在看多少,而这受屏幕限制。

STREAM 中的地形流式加载

只加载您正在看的部分

每个地形瓦片都有层级、x、y 的身份。每一帧,相机状态生成一组请求:覆盖整个视野的固定粗集合,以及您聚焦处的细节集合。集合之外的瓦片不解码、不上传、不保留。

转换一次,之后秒开

首次打开时 STREAM 构建本机优化副本——512 × 512 瓦片、概览层级、ZSTD 压缩的分块 BigTIFF。瓦片表记录已构建内容;只有每个瓦片都构建完成,缓存才算完整。此后渲染器直接读取瓦片,重新打开很快。

解码不占渲染线程

瓦片解码在工作线程中以任务形式运行,五级优先级从后台预测到关键,并受在途任务数限制。过期任务按代际取消,快速移动相机不会留下一队无人需要的瓦片。

粗层兜底,绝不留洞

上传顺序跟随相机焦点与可见性。若细瓦片尚未就绪,则由更粗的层级顶替,表面始终闭合;瓦片到达后细节逐步清晰。

保留兜底的淘汰策略

图集内存占满时,淘汰策略优先丢弃与传入瓦片同级或更粗的瓦片,考虑到相机焦点的距离,并保护覆盖兜底页面——为细节腾出内存绝不会在底层留下空洞。

多幅 DEM,一个表面

可见 DEM 多于一幅时,STREAM 把整个堆栈绑定为单一虚拟镶嵌:最上层的有效像元胜出,NoData 透到下层。分析、等高线、断面与水文读取的正是渲染器绘制的这幅镶嵌——而不只是第一个文件。

点云在导入时变成表面

LAS/LAZ 文件先被探测——点数、分类、RGB、范围——再异步栅格化为同一本机瓦片格式。表面由您决定:仅地面点、全部点,或由点色生成的正射影像。

高程与影像分开流式加载

高程与正射影像作为独立的稀疏页面集合各自跟踪、各有常驻状态,重的正射影像绝不会让地形缺少高程瓦片。渲染在 GPU 上用 Vulkan 完成;在笔记本上 STREAM 会自行选择独立显卡。

地形流式加载在实际使用中如何工作

  1. 1

    打开测量成果

    添加 DEM(GeoTIFF 或 BigTIFF)。第一次打开时 STREAM 将其转换为本机瓦片格式;右下角的进度卡片显示构建过程,可随时取消。

  2. 2

    自由浏览

    平移与缩放。粗瓦片立即覆盖视野;细瓦片流向相机聚焦处。无需等待整个文件加载。

  3. 3

    披上正射影像

    添加正射影像 GeoTIFF。它以自己的页面集合按原始分辨率流式加载,独立于高程瓦片。

  4. 4

    引入点云

    添加 LAS/LAZ 文件并选择想要的表面:地面 DEM、全点 DEM,或由点色生成的正射影像。结果与其他表面一样流式加载。

  5. 5

    叠加多幅 DEM

    加载同一现场的多幅 DEM。可见图层合并为一幅虚拟镶嵌——显示最上层有效像元,NoData 透到下层——所有分析都读取这幅镶嵌。

  6. 6

    再次打开

    本机副本随项目保留。下次同一成果几秒即可打开,因为转换已经完成。

LAS/LAZ 点云导入后成为什么表面——三种栅格化选项
选项使用哪些点您得到什么
地面 DEM第 2 类(地面)点,每个格网取最低高程。用于体积、坡度与设计的裸地地形表面。
全点 DEM全部点,每个格网取最高高程。包含植被与构筑物的表面——即 DSM 所呈现的。
正射影像点云带 RGB 时,每个格网取最高点的颜色。披在地形上的影像图层,以自己的页面集合流式加载。

支持的格式

GeoTIFF / BigTIFF
经 GDAL 读取的源 DEM 与正射影像
LAS / LAZ
导入时栅格化为流式表面的点云
.st.tif / .so.tif
STREAM 的本机优化副本——带概览层级的 512 × 512 瓦片
虚拟镶嵌
多幅可见 DEM 绑定为一个表面,用于渲染与分析

常见问题

什么是地形流式加载?

把大型地形数据集以分块、多分辨率的形式留在磁盘上,每一帧只把可见瓦片送入显存——整个视野用粗瓦片,相机聚焦处用细瓦片。文件大小不再是上限;上限是您在看多少,而这受屏幕限制。

STREAM 能流式加载多大的 DEM?

STREAM 为 GB 级 DEM 而建。由于只有可见瓦片常驻,大小影响的是首次打开时的一次性转换,而不是之后地形的响应速度。

为什么第一次打开比之后更慢?

首次打开时 STREAM 把源文件转换为本机优化副本:512 × 512 瓦片、概览层级、压缩。这一构建只运行一次,并以可取消的进度卡片显示。之后渲染器直接从本机副本读取瓦片,重新打开只需几秒。

STREAM 会修改我的源 GeoTIFF 吗?

不会。源文件经 GDAL 读取;STREAM 在旁边写入自己的优化副本并基于它工作。您的原始文件不会被重写。

可以加载同一现场的多幅 DEM 吗?

可以。可见 DEM 被绑定为单一虚拟镶嵌——最上层有效像元胜出,NoData 透到下层——分析读取的正是渲染器绘制的这幅镶嵌。这是一次真实的修复:过去有些工具只读取第一幅 DEM。

LAS/LAZ 点云会发生什么?

先探测点数、分类、RGB 与范围,再异步栅格化为同一本机瓦片格式。表面由您选择:仅地面点(第 2 类,最低高程)、全部点(最高高程),或由点色生成的正射影像。

为什么停下后片刻细节才变清晰?

因为在您聚焦处的细瓦片到达之前,由粗层顶替。上传跟随相机焦点与可见性,解码在工作线程中受在途任务数限制运行,快速移动产生的过期请求会被取消而非排队。

需要什么显卡?

STREAM 在 GPU 上用 Vulkan 渲染。在双显卡笔记本上它会自行选择独立显卡,并为应用记录高性能偏好;实际使用的显卡可在“帮助 ▸ 性能诊断”中查看。

地形流式加载需要联网吗?

不需要。转换、流式加载、渲染——全部在您的机器上运行。不上传任何内容,数据不离开电脑。

两幅栅格坐标系不同怎么办?

第一个有效的栅格 CRS 成为项目 CRS。CRS 不匹配的栅格仍会导入,但在不一致解决之前不会绘制到地形中——STREAM 不会悄悄猜测一个变换。

在 STREAM 中体验地形流式加载

Windows x64 免费测试版。完全离线运行,支持 GeoTIFF、LAS/LAZ 和 DXF。

免费下载 STREAM