魁北克森林数字孪生:处理 11.5 万张正射影像
发布于

一切之前的基础工作
魁北克发布了超过 115,000 张正射影像瓦片,每像素 20 到 30 cm,总量达数百 GB。我们将它们全部铺设在一片连续的 3D 地形上。这项工作的几乎全部内容都不是 3D,而是合并投影不一致的瓦片、填补瓦片之间的缺口,并统一不同传感器和拍摄年份之间的色彩。
这正是没人展示的部分,也是决定上层一切能否工作的部分。在底层数据变得连续之前,3D 视图、从省级范围缩放到地块,以及所有领土计算都建立在不稳定的基础上。这篇文章是这一阶段的进度报告,应用对象是魁北克。
TerraLab pipeline:一个场景,所有数据源
TerraLab-Twin 是一个行星级虚拟地球仪。它的任务是实时将异构地理空间数据源(公共正射影像、高分辨率无人机正射影像、数字地形模型、矢量图层、卫星影像)融合到同一片可导航的 3D 地形上,范围从行星尺度一直到地块级别。
我们要实现的先进能力由三个属性定义:
- 尺度连续性:从整个魁北克(对角线 10,000 km)一直缩放到 50 m 地块,中间没有断裂,不需要切换 CRS,行政边界处也没有接缝。
- 动态多源融合:不同质量和分辨率的多个数据源共存于同一地形上,并根据区域、请求的分辨率和数据可用性动态选择。
- 上游完全抽象:最终用户永远不会看到文件格式、EPSG 代码或 MTM 分区。他们只需要导航。
下面描述的全部工作,都是为了在一个具体案例中实现这三个属性:魁北克的领土。
MRNF 瓦片由 TerraLab WorldMapServer 融合。地形连续,原始图幅之间没有可见接缝。
魁北克数据的独特之处
对于这类工作而言,魁北克提供了北美最丰富的公共数据集之一。魁北克自然资源与森林部(MRNF,前称 MERN)发布了超过 115,000 张正射影像瓦片,总数据量达数百 GB,原生分辨率为每像素 20 到 30 cm。这大约是作为补充数据使用的 Sentinel-2 卫星影像分辨率的三十倍。
魁北克森林区域原生 20-30 cm 分辨率下的 MRNF 正射影像。
这种丰富性也带来了自身的挑战:异构的地图投影体系、多个文件格式,以及跨越多个年份和季节拍摄的影像。这正是虚拟地球仪所针对的数据类型。传统 GIS 工具会要求用户选择投影、季节和格式,然后承担由此带来的后果。
**而且我们知道如何处理这种规模。**115,000 张瓦片、数百 GB、混合格式、多年份数据:TerraLab-Twin 的架构从设计上就能原生吸收这样的数据量,在开发者工作站上运行,无需任何特殊基础设施。
原始 MRNF 瓦片,20 cm 分辨率。经过任何处理之前,树木、道路和地块都清晰可见。
最棘手的部分:地图投影
我想在这里停下来强调这一点,因为对于任何从事地理空间工作的人来说,这都是一场运营噩梦。
魁北克的公共数据并不使用单一投影。它来自一系列 NAD83 变体:一种魁北克 Lambert 形式(EPSG:32198)、更现代的基于 CSRS 的变体,以及出于历史制图原因将领土划分开的十个 MTM 分区(Modified Transverse Mercator)。在实际工作中,每一张瓦片都可能使用不同的坐标参考系统。
工具是问题的另一半。每个基准都有自己的陷阱,地理空间链路中的每个工具也都带有围绕 PROJ library 的历史行为。在生产环境中,pipeline 因为过时的安装返回偏差达到十米甚至更大的转换结果而静默失败,这种情况极其常见。
这正是虚拟地球仪所抽象掉的部分。TerraLab-Twin 只知道一个最终投影:行星椭球上的 WGS84。所有投影复杂性都在上游的 ingestion pipeline 中被吸收。最终用户永远不会看到 EPSG 代码。他们看到的是一片连续、可导航的 3D 领土,从整个魁北克一直到单个森林地块,在分区边界处不会发生任何中断。
一旦解决这个困难问题,其他一切都会成为可能:多源融合、连续导航、实时 3D。
内部瓦片工具:每个数据源都先重投影到 WGS84,然后合成到 3D 场景中。
为什么虚拟地球仪使用 WGS84,以及这为何重要
选择椭球上的 WGS84 并非随意。经典地图投影从定义上就是一种折中:它将 3D 对象(地球椭球体)展平到 2D 平面上,因此总会引入变形(角度、面积、距离,或三者同时变形)。在小尺度下可以接受,在大陆尺度下却无法容忍。
虚拟地球仪通过让数据全程保持在 3D 中避开了这个问题。引擎运行在真实椭球体上,而不是平面投影上。对用户而言,直接结果是:您可以从整个魁北克自由缩放到 50 m 地块,无需切换 CRS,无需处理 MTM 分区边界处的接缝,没有极区拉伸,也没有边缘对齐伪影。这正是导航能够连续进行的原因,也是任何传统 2D GIS 工具都无法提供的能力。
色彩校准与融合:视觉挑战
投影处理完成后,下一个挑战是视觉层面。魁北克的 3D Digital Twin 融合的不是一个,而是三个互补的影像数据源:
- MRNF 航空正射影像:优先级 1,20-30 cm,细节图层
- Sentinel-2 卫星影像:优先级 2,10 m,填补没有航空覆盖的区域(通常是沿海地区)
- Blue Marble 行星底图:最终后备,确保任何区域都不会空白
这三个数据源各自拥有自己的色彩特征:不同的传感器、不同的采集条件、不同的拍摄日期,以及不同的上游处理方式。挑战不仅是把它们同时显示出来,还要确保边界在视觉上不可见,并让相邻瓦片使用相同的色彩范围。
部分 MRNF 瓦片也并不完整:在飞行任务的边缘,航空覆盖可能在一张瓦片的中间停止,从而留下 nodata 区域。未经处理时,这些缺口会在 3D 地形中显示为黑色带状区域。这也是 pipeline 必须融合多个数据源的另一个原因:在航空正射影像覆盖不足的地方,使用 Sentinel-2 自动填补这些缺口。
部分覆盖的 MRNF 瓦片。pipeline 自动使用 Sentinel-2 填补缺口。
对于 Sentinel-2,我们在固定反射率范围上使用多日期中值进行合成:这会移除异常值(云层、阴影、异常日期),并确保所有瓦片使用相同的校准方式。
2015 年航拍任务的蓝色色调
在魁北克一侧,一些较早的航拍任务(尤其是2015 年)呈现出系统性的蓝色色调。数据提供方没有记录这一缺陷的确切来源,但异常偏高的蓝红比(B/R 约为 1.30,而正常任务约为 0.88)影响了该年份的大量瓦片。pipeline 会按季节筛选数据(选择夏季采集结果,以获得一致的绿色色调),但对于只有 2015 年瓦片的区域,这个问题仍然存在。
这些区域有几种可行方案:自动色彩校正(对相邻瓦片进行直方图匹配),或使用卫星影像替换(首先考虑 Sentinel-2,免费且分辨率为 10 m;如果需要更高分辨率,也可以使用 Airbus Pleiades 和 Maxar 等商业数据源,但成本较高)。这些方案单独来看都不理想。最有可能的组合是按年份筛选,并为没有替代数据的区域提供 Sentinel-2 后备数据。
时间对我们有利。MRNF 仍在定期发布新的航拍任务,2023 年和 2024 年的正射影像已经作为开放数据提供给部分地区。那些目前只能使用有缺陷的 2015 年瓦片覆盖的区域,很可能会被更新、校准更好的数据替换。
上:带有蓝色色调的 MRNF 2015 年瓦片(B/R 约为 1.30)。下:色彩正常的 2016 年瓦片(B/R 约为 0.88)。
蓝色色调的 2015 年瓦片与正常校准的瓦片相邻,形成可见的拼接效果,破坏了地形的均质性。
魁北克正射影像与 Sentinel-2 的交界处
在两个数据源的边界处,几何过渡是不可察觉的。然而,在部分沿海地区,色彩过渡仍然可见。
这种色彩接缝是有意做出的权衡。对数百公里的海岸线进行像素级融合,其处理成本高于视觉收益,尤其是在 Digital Twin 的典型导航尺度下。pipeline 优先保证覆盖范围和连续性,而不是追求边缘处的外观完美。
上:仅 Sentinel-2。下:魁北克 + Sentinel-2 合成影像。海岸线沿线可见融合区域。
pipeline 包含一个色彩匹配步骤,用于平滑这些过渡。下面来自 Rivière-du-Loup 区域的示例展示了其中的差异:没有色彩匹配时,魁北克正射影像与 Sentinel-2 之间的边界清晰可见。进行色彩匹配后,过渡变得细微得多。
Rivière-du-Loup。上:没有色彩匹配。下:完成色彩匹配。
加斯佩半岛广域视图。青色区域(左侧)= 带蓝色色调的 2015 年瓦片,大陆区域 = 魁北克正射影像,海洋 = Sentinel-2。
当前进展
截至 2026 年 4 月 7 日,我们正在按计划推进。NAD83 系列已在上游被吸收,ingestion pipeline 正在逐步处理约 115,000 张 MRNF 瓦片。
**当前阶段的领土覆盖仍不完整。**已经处理的区域(例如加斯佩半岛)可以使用魁北克正射影像进行导航,而其他区域暂时由 Sentinel-2 填充。三层合成已在加斯佩海岸完成验证,数据量也可以在标准开发者工作站上稳定运行。
当前分辨率
引擎目前输出每像素 10 m的结果。这是第一阶段的有意选择:先在全球尺度上工作,可以让我们在逐个分区提升分辨率之前,验证完整 pipeline(投影、融合、色彩校准、数据量)。MRNF 原始数据的 20-30 cm 分辨率已经具备。根据实际需求,细化到30 cm将在具体案例中逐步完成。
高程
在高程方面,3D 地形依赖于 SRTM(Shuttle Radar Topography Mission)Digital Elevation Model。它并不是现有的最高精度数据源,但覆盖整个领土,并让我们能够验证完整链路。对于优先区域,可以切换到精度更高的魁北克 DTM。
以下是当前结果:将 10 m 分辨率的魁北克正射影像覆盖在 SRTM 地形上,没有 3D 植被,也没有矢量数据。这是构建其他一切内容所依赖的原始地形基础。
魁北克的首批 3D 视图。10 m 正射影像 + SRTM 地形。自上而下:大气散射、直接光照、无光照。
一个重要结论是:**渲染质量不可能超过源数据质量。**在 MRNF 数据干净且校准正确的区域(2015 年之后的航拍任务),结果非常出色。在存在缺陷的区域(带蓝色色调的 2015 年航拍任务),pipeline 无法凭空创造出正确的色彩校准。
当前已上线:
- 魁北克航空正射影像(MRNF)与 Sentinel-2 融合
- 通过 SRTM 提供 3D 地形
- 在加斯佩海岸完成验证的完整 pipeline
下一步:
- 近距离缩放时支持 20-30 cm 分辨率
- OSM 魁北克矢量数据
- 覆盖魁北克领土的 3D 树木


