115,000枚のオルソ画像からケベックの森林のデジタルツインを構築する

何よりも先に、データ基盤
地域全体を扱うデジタルツインの成否は、データそのもので決まる。数千枚に及ぶ異種混合のオルソ画像タイルを統合し、互換性のない座標参照系を吸収し、カバレッジの欠落を埋め、センサーや撮影年度をまたいで色を揃える。これは最も目に見えにくい作業だが、構造的には最も重要な作業だ。この基盤が固まるまでは、その先にある3Dレンダリング、マルチスケールのナビゲーション、地域分析のいずれも成り立たない。
本稿では、ケベック州を対象にこのフェーズの進捗を報告する。
現在の状況
TerraLabのパイプライン: 一つのシーンに、すべてのソースを
TerraLab-Twinは惑星規模のバーチャルグローブである。その役割は、異種混合の地理空間ソース(公開オルソ画像、高解像度のドローン撮影オルソ、数値地形モデル、ベクターレイヤー、衛星画像)をリアルタイムで融合し、惑星スケールから地区(パーセル)レベルまでをカバーする、単一のナビゲート可能な3D地形として提供することにある。
私たちが目指す最先端の水準は、次の3つの特性によって定義される。
- スケールの連続性: ケベック州全体(対角線で1万km)から50m四方の地区まで、断絶なく、CRS(座標参照系)の切り替えなく、行政境界での縫い目もなくズームできること。
- 動的なマルチソース融合: 品質や解像度の異なる複数のソースが同じ地形上に共存し、エリア、要求される解像度、データの可用性に応じてその場で選択されること。
- 上流での完全な抽象化: 最終的な利用者はファイル形式やEPSGコード、MTMゾーンを一切目にすることはなく、ただナビゲートするだけであること。
以下で説明する作業はすべて、具体的なケース、つまりケベック州の領域において、この3つの特性を実現するためのものだ。
TerraLab WorldMapServerによって融合されたMRNFタイル。地形は連続しており、元の図郭間に目に見える縫い目はない。
ケベックのデータが特別な理由
この種の作業において、ケベック州は北米で最も充実した公開データセットの一つを提供している。ケベック州自然資源・森林省(MRNF、旧称MERN)は、115,000枚を超えるオルソ画像タイル、総量にして数百ギガバイトのデータを、1ピクセルあたり20〜30cmというネイティブ解像度で公開している。これは、補完的に利用しているSentinel-2衛星画像と比べておよそ30倍精細だ。
ケベックの森林地帯上における、ネイティブ解像度20〜30cmのMRNFオルソ画像。
この豊富さは、それ自体が課題でもある。異種混合の地図投影法のファミリー、複数のファイル形式、複数年・複数シーズンにわたって撮影された画像。これはまさに、バーチャルグローブが設計上得意とするタイプのデータセットだ。従来のGISツールであれば、ユーザーに投影法・シーズン・形式を選ばせ、その結果を丸ごと引き受けさせることになる。
そして、私たちはこの規模を扱う方法を知っている。 115,000枚のタイル、数百ギガバイトのデータ、混在するファイル形式、複数年度にわたるデータ。TerraLab-Twinのアーキテクチャは、特別なインフラを必要とせず、開発者の作業用マシン上でこのボリュームをネイティブに吸収できるよう設計されている。
解像度20cmのMRNF元タイル。処理を加える前から、樹木・道路・地区の区画が鮮明に見える。
つらいところ: 地図投影法
この点については少し立ち止まりたい。地理空間データに関わったことのある人なら誰でも分かる、運用上の悪夢だからだ。
ケベックの公開データは、単一の投影法で届くわけではない。届くのはNAD83系のバリエーションのファミリーで、Quebec Lambertの一種(EPSG:32198)、より新しいCSRSベースのバリエーション、そして歴史的な地図作成上の理由から領域を分割している10のMTMゾーン(Modified Transverse Mercator)が混在する。実際には、タイル1枚ごとに異なる座標参照系で届くこともある。どの測地系(datum)にも独自の落とし穴がある。地理空間の処理チェーンにあるツールはどれも、PROJライブラリ周りに独自のレガシーな挙動を抱えている。古いインストールが10m以上ズレた変換結果を返し、パイプラインが何のエラーも出さずに静かに失敗するというのは、本番環境では非常によくあることだ。
これこそが、バーチャルグローブが抽象化してくれる部分だ。TerraLab-Twinが知っている投影法は最終的にただ一つ、惑星楕円体上のWGS84だけである。投影に関わる複雑さはすべて、取り込み(インジェスト)パイプラインの上流側で吸収される。最終的な利用者はEPSGコードを目にすることはない。見えるのは、ケベック州全体から一つの森林の地区(パーセル)まで、ゾーンの境界で何一つ破綻しない、連続的でナビゲート可能な3D領域だけだ。
この難問を一度解決してしまえば、それ以外のすべてが可能になる。マルチソース融合、連続的なナビゲーション、リアルタイム3D。
内部のタイリングツール: 各ソースはWGS84に再投影された後、3Dシーンへ合成される。
バーチャルグローブでWGS84を使う理由、そしてそれが重要な理由
楕円体上のWGS84を選んだのは、思いつきではない。古典的な地図投影法は、その構造上、常に妥協の産物だ。3Dの物体(地球の楕円体)を2D平面に押し広げる以上、必ず歪み(角度、面積、距離、あるいはその全部)が生じる。小さなスケールでは許容できても、大陸規模では耐えられない。
バーチャルグローブは、最初から最後まで3Dのまま扱うことでこの問題を回避する。エンジンは平面投影ではなく、実際の楕円体の上で動作する。利用者にとっての直接的な結果はこうだ。ケベック州全体から50m四方の地区までを、CRSを切り替えることなく、MTMゾーンの境界に縫い目もなく、極付近での引き伸ばしもなく、境界合わせのアーティファクトもなく、自由にズームできる。これがナビゲーションを連続的にしている要因であり、従来の2D GISツールには決して提供できないものだ。
色の調整と融合: ビジュアル面の課題
投影の問題を解決したら、次の課題はビジュアル面にある。ケベックの3Dデジタルツインは、1つではなく3つの相互補完的な画像ソースを融合している。
- MRNFの航空オルソ画像: 優先度1、20〜30cm、詳細レイヤー
- Sentinel-2衛星画像: 優先度2、10m、航空写真のカバレッジがないエリア(主に沿岸地域)を埋める
- Blue Marble惑星規模ベースマップ: 最終的なフォールバック、どのエリアも決して空白にならないことを保証する
この3つのソースはそれぞれ独自の色特性を持つ。センサーが違い、撮影条件が違い、撮影日が違い、前段の処理が違う。課題は単に3つを一緒に表示することではなく、境界が目に見えないようにすること、そして隣接するタイル同士が同じ色域を共有するようにすることだ。
MRNFのタイルの中には不完全なものもある。飛行キャンペーンの端では、タイルの途中で航空カバレッジが途切れ、NoDataのゾーンが残ることがある。処理をしなければ、これらの欠落は3D地形上で黒い帯として現れる。これもパイプラインが複数のソースを融合しなければならない理由の一つで、航空オルソ画像が届かない箇所はSentinel-2で埋めている。
部分的なカバレッジのMRNFタイル。パイプラインは欠落部分をSentinel-2で自動的に埋める。
Sentinel-2側では、固定した反射率レンジの上で**複数日付の中央値(マルチデート・メディアン)**を用いて合成している。これにより外れ値(雲、影、非典型的な日)が除去され、すべてのタイルが同じキャリブレーションを共有できる。
ケベック側では、いくつかの古い飛行キャンペーン(特に2015年)に、系統的な青みがかった色調が見られる。この不具合の正確な原因はデータ提供元からは説明されていないが、異常に高い青/赤比(通常のキャンペーンでは約0.88に対し、B/R比が約1.30)がこの年のタイルの大部分に影響している。パイプラインはシーズンでフィルタリングしている(緑の色調を揃えるために夏の撮影を優先)が、2015年のタイルしか存在しないエリアでは問題が残り続ける。
こうしたエリアに対しては、いくつかのアプローチが考えられる。自動的な色補正(隣接タイル間のヒストグラムマッチング)、あるいは衛星画像への置き換え(第一の選択肢として無料で使える10mの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の境界において、幾何学的な遷移は目に見えない。しかし色の遷移は、一部の沿岸エリアで依然として見える状態にある。これは意図的なトレードオフだ。数百kmに及ぶ海岸線の全域でピクセル単位のブレンディングを行うのは、特にデジタルツインで想定されるナビゲーションのスケールにおいては、得られる見た目の改善に対して処理コストが釣り合わない。パイプラインは、境界部分の見た目の完璧さよりも、カバレッジと連続性を優先している。
上: Sentinel-2単独。下: ケベック + Sentinel-2の合成。海岸線に沿ってブレンディングのゾーンが見える。
パイプラインには、こうした遷移を滑らかにするカラーマッチングというステップが含まれている。以下、リヴィエール・デュ・ルー地域の例でその違いを示す。カラーマッチングを行わない場合、ケベックのオルソ画像とSentinel-2の境界がはっきりと見える。カラーマッチングを行うと、遷移はずっと目立たなくなる。
リヴィエール・デュ・ルー。上: カラーマッチングなし。下: カラーマッチングあり。
ガスペ半島、広域ビュー。シアンのゾーン(左)は青みがかった2015年のタイル、内陸部はケベックのオルソ画像、海洋部はSentinel-2。
現在の到達点
2026年4月7日現在、計画通り順調に進んでいる。NAD83系はすでに上流で吸収されており、取り込みパイプラインは約115,000枚のMRNFタイルを段階的に処理している。現段階では領域のカバレッジは部分的で、すでに処理済みのエリア(例えばガスペ半島)はケベックのオルソ画像でナビゲート可能だが、それ以外のエリアはその間Sentinel-2で埋められている。3層の合成はガスペ海岸で検証済みで、データ量は標準的な開発者用マシンで余裕を持って処理できている。
エンジンは現在、1ピクセルあたり10mで出力している。これは今回の最初のイテレーションにおける意図的な選択だ。まずグローバルなスケールで作業することで、ゾーンごとに解像度を上げていく前に、パイプライン全体(投影法、融合、色のキャリブレーション、データ量)を検証できる。20〜30cmのMRNF元データはすでに手元にある。30cmまでの精緻化は、必要性に応じてケースバイケースで行っていく。
標高については、3D地形はSRTM(Shuttle Radar Topography Mission)の数値標高モデル(DEM)に依存している。これは利用可能な中で最も精細なソースではないが、領域全体をカバーしており、一連の処理チェーンを検証できる。優先度の高いエリアについては、より精度の高いケベックのDTMへの切り替えも十分可能だ。
以下が現在の結果だ。SRTMの起伏の上に10mのケベックのオルソ画像を貼り付けたもので、3Dの植生やベクターデータはまだ含まれていない。これは、この先すべてが構築されていく、未加工の地形の土台である。
ケベックの最初の3Dビュー。10mオルソ + SRTMの起伏。上から順に: 大気散乱あり、直接光あり、照明なし。
重要な教訓がある。レンダリングの品質は、元データの品質を超えることはできない。MRNFのデータがクリーンで適切にキャリブレーションされている場合(2015年より後のキャンペーン)、結果は非常に良い。データに不具合がある場合(青みがかった2015年のキャンペーン)、パイプラインは正しい色のキャリブレーションを勝手に作り出すことはできない。
現在すでに動いているもの:
- ケベックの航空オルソ画像(MRNF)とSentinel-2の融合
- SRTMによる3Dの起伏
- ガスペ海岸で検証済みの、完全なパイプライン
次に取り組むこと:
- 近接ズーム時の20〜30cm解像度
- ケベックのOSMベクターデータ
- ケベック州全域にわたる3D樹木