GISBox

セシウム地形サービス(Cesium Terrain Service)

GISBoxは、OSGB/GEOTIFF/RVT などの複数の GIS フォーマットでの編集をサポートし、3DTiles/Terrain への変換や公開が可能なワンストップ 3DGIS データ編集、変換、公開プラットフォームです。

概要

Cesium Terrain Service(セシウム・テレイン・サービス)は、Cesium.js 向けに設計されたサーバーであり、ファイルシステムベースの地形タイルセットを簡単に提供することができます。Cesium.js の CesiumTerrainProvider クラスと連携して動作し、ブラウザ上で高精度な地形データのレンダリングを実現します。

このサービスはバイナリファイル構造を採用しており、Quantized Mesh(量子化メッシュ)技術を基盤としています。圧縮および量子化処理によってデータ容量を削減し、読み込みと描画のパフォーマンスを向上させます。また、ユーザーの視点に応じたオンデマンド型のデータ読み込みをサポートし、解像度の異なる地形スライスを動的にロードすることで、表示要求に柔軟に対応し、効率的な地形読み込みを実現します。

データフォーマットの概要

Cesium Terrain Service のファイル構造は、.terrain バイナリファイルを中心に構成されており、主に以下のような要素が含まれます:

  1. ヘッダー:タイルの中心座標、最高・最低標高、外接球の範囲(描画最適化用)などの基本情報を格納。
  2. 頂点データ:地形メッシュの頂点座標と標高を含み、インクリメンタルエンコードおよび ZigZag 圧縮により容量を削減。
  3. インデックスデータ:頂点の接続関係を定義し、三角メッシュ構造を構成。16 ビットまたは 32 ビットのインデックス形式をサポートし、パディングおよびアライメント処理を実施。
  4. 追加データ(オプション):色、テクスチャ、属性情報など、地形の視覚化を強化する要素。

この構造は、大規模地形データを効率的に圧縮・階層化して保存・読み込むことにより、高速な描画とロードを実現します。

長所

  1. 高速な読み込み・描画:量子化グリッド技術により、データ容量を削減し、描画と読み込みのパフォーマンスを大幅に向上。大規模な地形データに最適。
  2. オンデマンド読み込み:視点に応じて必要な解像度の地形タイルのみを動的に読み込み、初期ロード時間やメモリ使用量を削減。
  3. マルチ解像度対応:近距離では高解像度、遠距離では低解像度を表示することで計算資源を節約。
  4. 柔軟な拡張性とデプロイ性:新しい地形タイルセットを簡単に追加可能。Docker コンテナを利用した一括起動にも対応し、開発やテストに便利。
  5. キャッシュ機構の統合:オプションで Memcached と連携し、高度なキャッシュ戦略によるデータアクセス高速化が可能。

短所

  1. 学習コストが高い:WebGL や 3D グラフィックスの基礎知識が求められるため、初心者には難易度が高い。
  2. 高いハードウェア要件:大規模地形データの処理には CPU やメモリ等のリソース消費が大きく、全ての環境に適しているわけではない。
  3. 編集機能の制限:地形データの表示・レンダリングに特化しており、モデルの編集機能は限定的で、複雑な操作には対応していない。

応用シーン

Cesium Terrain Service は、地形データのプロトタイプやアプリケーションの開発、地形データの視覚化、教育研究における地理情報システムの実験など、大規模な地形データの効率的な読み込みとレンダリングを必要とする 3D 地理情報システム (GIS) や仮想地球アプリケーションに適しています。

  1. セシウム地形サービス。

関連地図サービス

NASA Earthdata API

Cesium 3D Tiles

Google Earth Engine

HERE Maps API

参考

  1. https://community.cesium.com/t/terrain-service/19344
  2. https://github.com/geo-data/cesium-terrain-server
  3. https://community.cesium.com/t/cesium-terrain-server/715