用 11.5 万张正射影像构建魁北克森林的数字孪生

首先,是数据基础
一个区域级数字孪生的成败,完全取决于它的数据质量。融合成千上万张异构的正射影像图幅,消化互不兼容的坐标参考系,填补覆盖缺口,统一不同传感器、不同年份影像之间的色彩差异——这是最不起眼、却也是结构上最关键的工作。地基不稳,后面的一切(3D 渲染、多尺度导航、区域分析)都立不住。
本文是这一阶段工作的进展报告,聚焦魁北克这片领土。
我们目前的进展
TerraLab 的处理流程:一个场景,融合所有数据源
TerraLab-Twin 是一个行星级虚拟地球。它的任务是将各类异构地理空间数据源——公开正射影像、高分辨率无人机正射图、数字地形模型、矢量图层、卫星影像——实时融合到同一个可导航的 3D 地形上,尺度跨越从整个星球到单个地块。
我们瞄准的技术水准由三个特性定义:
- 尺度连续性:从整个魁北克(对角线跨度 1 万公里)一直缩放到 50 米见方的地块,全程无断裂,无需切换坐标参考系,行政边界处也没有接缝。
- 动态多源融合:不同质量、不同分辨率的多个数据源共存于同一地形上,系统根据区域、所需分辨率和数据可用性实时动态选取。
- 上游全抽象:终端用户永远看不到文件格式、EPSG 代码或 MTM 分带,他们只需要浏览和导航。
下文所述的一切工作,都是为了在一个具体案例——魁北克领土——上落实这三个特性。
经 TerraLab WorldMapServer 融合的 MRNF 图幅。地形连续,原始图幅之间看不到接缝。
魁北克数据的独特之处
在这类工作中,魁北克拥有北美最丰富的公开数据集之一。魁北克自然资源与森林部(MRNF,原名 MERN)发布了超过11.5 万张正射影像图幅,总数据量达数百吉字节,原始分辨率为每像素 20 至 30 厘米——比作为补充数据源的 Sentinel-2 卫星影像精细约 30 倍。
魁北克某森林区域的 MRNF 正射影像,原始分辨率 20-30 厘米。
这种丰富性也带来了自身的难题:五花八门的地图投影、多种文件格式,以及跨越不同年份和季节拍摄的影像。而这恰恰是虚拟地球最擅长处理的数据类型——传统 GIS 工具只会要求用户自己选定一种投影、一个季节、一种格式,然后自行承担后果。
而这个规模,我们有能力驾驭。 11.5 万张图幅、数百吉字节的数据量、混杂的格式、跨年份的影像——TerraLab-Twin 的架构从设计之初就能原生消化这种体量,只需一台开发者工作站,无需任何特殊基础设施。
原始 MRNF 图幅,分辨率 20 厘米。未经任何处理,树木、道路和地块已清晰可见。
最头疼的部分:地图投影
这里值得多说几句,因为对任何做过地理空间工作的人来说,这都是一场实打实的运维噩梦。
魁北克的公开数据从来不是单一投影。它以一整个 NAD83 变体家族的形式出现:一种魁北克兰伯特投影(EPSG:32198)、更现代的基于 CSRS 的变体,以及出于历史制图原因将全境划分为十个 MTM 分带(改良横轴墨卡托投影,Modified Transverse Mercator)。实际操作中,每张图幅都可能带着不同的坐标参考系。每一种大地基准都有自己的坑。地理空间工具链上的每一个工具,对 PROJ 库都有各自的历史遗留行为。生产环境里太常见的一种情况是:处理流程悄无声息地出错,只因为某个过时的安装版本返回了偏差十米甚至更多的坐标转换结果。
而这正是虚拟地球要抽象掉的东西。TerraLab-Twin 只认一种最终投影:基于星球椭球体的 WGS84。所有的投影复杂性都在上游的数据接入流程中被消化掉。终端用户永远看不到 EPSG 代码,他们看到的是一片连续、可自由导航的 3D 领土,从整个魁北克一直缩放到某一片森林地块,分带边界处也不会有任何断裂。
一旦这个硬骨头被啃下来,其他一切就都水到渠成了:多源融合、连续导航、实时 3D。
内部分幅工具:每个数据源都被重新投影为 WGS84,再合成到 3D 场景中。
为什么虚拟地球要用 WGS84,这有多重要
选择基于椭球体的 WGS84 并不是随意决定的。从原理上讲,任何经典的地图投影都是一种妥协:把一个 3D 物体(地球椭球体)压平成 2D 平面,必然会引入畸变(角度、面积、距离,或者三者都有)。在小尺度上这种畸变可以接受,但放到大陆尺度上就无法容忍了。
虚拟地球绕开了这个问题:从头到尾都保持在 3D 空间里运算。引擎作用于真实的椭球体,而不是某个平面投影。这给用户带来的直接结果是:你可以从整个魁北克一路自由缩放到 50 米见方的地块,完全不需要切换坐标参考系,MTM 分带边界没有接缝,没有极地拉伸,也没有边缘对齐失真。正是这一点让导航体验做到了真正连续,这是任何传统 2D GIS 工具都给不了的。
色彩校准与融合:视觉层面的挑战
投影问题解决之后,下一个挑战是视觉层面的。魁北克的 3D 数字孪生融合的不是一种,而是三种互补的影像数据源:
- MRNF 航空正射影像:优先级 1,20-30 厘米,负责细节层
- Sentinel-2 卫星影像:优先级 2,10 米,填补没有航空覆盖的区域(通常是沿海地区)
- Blue Marble 全球底图:最终兜底,确保任何区域都不会留白
这三种数据源各有各的色彩特征:不同的传感器、不同的采集条件、不同的拍摄日期、不同的前期处理方式。挑战不仅在于把它们叠加显示出来,更在于让接缝在视觉上不可见,并让相邻图幅共享同一套色彩范围。
部分 MRNF 图幅本身也并不完整:在航拍任务的边缘地带,航空覆盖会在图幅中途突然中断,留下无数据区域。如果不加处理,这些缺口会在 3D 地形上显示为黑色条带。这也是处理流程必须融合多个数据源的另一个原因:凡是航空正射影像覆盖不到的地方,就用 Sentinel-2 来填补。
覆盖不完整的 MRNF 图幅。处理流程会自动用 Sentinel-2 填补缺口。
在 Sentinel-2 这一侧,我们在固定反射率范围内使用多日期中值合成:这能剔除异常值(云层、阴影、异常天气的影像),并确保所有图幅共享同一套校准标准。
在魁北克这一侧,一些较早的航拍任务(尤其是2015 年)存在系统性的偏蓝问题。数据提供方并未记录这个缺陷的具体成因,但异常偏高的蓝红比值(B/R 约 1.30,而正常航拍任务约为 0.88)影响了当年相当大一部分图幅。处理流程会按季节过滤(选用夏季影像以保证绿色色调一致),但对于只有 2015 年图幅可用的区域,这个问题依然存在。
针对这些区域,可行方案有几种:自动色彩校正(相邻图幅之间的直方图匹配),或者直接换用卫星影像(首选免费的 10 米 Sentinel-2,若需要更高分辨率则考虑 Airbus Pleiades、Maxar 等商业数据源,但成本不低)。这些方案单独用都不算完美,最可行的组合大概是按年份过滤,再对没有其他选择的区域用 Sentinel-2 兜底。好消息是,MRNF 仍在持续发布新的航拍数据(部分地区的2023 和 2024 年正射影像已经作为开放数据发布)。随着时间推移,目前只能靠 2015 年缺陷图幅覆盖的区域,很可能会逐步被更新、校准更好的影像取代。
上:2015 年 MRNF 偏蓝图幅(B/R 约 1.30)。下:2016 年色彩正常图幅(B/R 约 0.88)。
偏蓝的 2015 年图幅与正常校准的图幅相邻:可见的拼接痕迹打破了地形的一致性。
在魁北克数据源与 Sentinel-2 数据源的交界处,几何上的过渡几乎无法察觉。但在一些沿海区域,色彩上的过渡仍然可见。这是一个刻意为之的权衡:在长达数百公里的海岸线上做像素级的融合,相对于视觉上的收益而言,处理成本完全不成比例,尤其是在数字孪生常见的导航尺度下。处理流程更看重覆盖范围和连续性,而不是边缘处的美观完美。
上:仅 Sentinel-2 影像。下:魁北克 + Sentinel-2 合成影像。海岸线沿线可见融合区域。
处理流程中包含一个色彩匹配步骤,用来平滑这些过渡。下面 Rivière-du-Loup 地区的例子展示了这种差异:没有色彩匹配时,魁北克正射影像与 Sentinel-2 之间的边界清晰可见;经过色彩匹配后,这种过渡变得柔和许多。
Rivière-du-Loup。上:未经色彩匹配。下:经过色彩匹配。
加斯佩半岛全景。青色区域(左侧)= 偏蓝的 2015 年图幅,陆地部分 = 魁北克正射影像,海洋部分 = Sentinel-2。
目前进展如何
截至 2026 年 4 月 7 日,项目进展符合预期。NAD83 投影家族已在上游被完全消化,数据接入流程正在逐步处理约 11.5 万张 MRNF 图幅。当前阶段的领土覆盖是部分覆盖:已处理完成的区域(例如加斯佩半岛)可以用魁北克正射影像自由导航,其他区域则暂时用 Sentinel-2 填补。三层合成方案已在加斯佩海岸得到验证,数据量在一台标准的开发者工作站上运行毫无压力。
引擎目前的输出分辨率是每像素 10 米。这是本次首轮迭代的刻意选择:先在全局尺度上完成验证——投影、融合、色彩校准、数据量——再逐个区域地提升分辨率。原始的 MRNF 数据早已具备 20-30 厘米的精度,随时可用。细化到30 厘米将根据实际需求,按区域逐步展开。
在高程方面,3D 地形目前依赖SRTM(Shuttle Radar Topography Mission,航天飞机雷达地形测绘任务)数字高程模型。这不是目前能找到的最精细的数据源,但它覆盖全境,足以验证整条处理链路。对于优先区域,切换到更精确的魁北克数字地形模型(DTM)是完全可行的。
以下是当前的成果:10 米分辨率的魁北克正射影像铺设在 SRTM 地形之上,暂时没有 3D 植被,也没有矢量数据。这就是后续一切工作将要建立其上的原始地形基础。
魁北克的首批 3D 视图。10 米正射影像 + SRTM 地形。从上到下:大气散射效果、直接光照、无光照。
一个重要的结论是:渲染质量永远无法超越源数据的质量。在 MRNF 数据干净、校准得当的地方(2015 年之后的航拍任务),效果非常出色;而在数据本身存在缺陷的地方(偏蓝的 2015 年航拍任务),处理流程也无法凭空造出正确的色彩校准。
目前已经上线的:
- 魁北克航空正射影像(MRNF)与 Sentinel-2 的融合
- 基于 SRTM 的 3D 地形
- 在加斯佩海岸完成验证的完整处理流程
接下来的计划:
- 近距离缩放下的 20-30 厘米分辨率
- 魁北克 OSM 矢量数据
- 覆盖魁北克全境的 3D 树木