「ヒロシマ・アーカイブ」他,アーカイブズ・シリーズの技術(概要)

  • 23
    Like
  • 0
    Comment
More than 1 year has passed since last update.

はじめに

wtnvStudio(首都大学東京 渡邉英徳研究室)では,これまでに「ヒロシマ・アーカイブ」など,主に戦災・災害をテーマとした「アーカイブズ・シリーズ」をリリースしてきました.この記事では,それらに用いられている技術のあらましについて解説します.

アーカイブズ・シリーズについては以下を参照してください.

アーカイブズ・シリーズの機能とKMLタグ

ヒロシマ・アーカイブ

アーカイブズ・シリーズの機能について,「ヒロシマ・アーカイブ」のデモムービーをご覧いただくと分かりやすいかと思います.

各アーカイブの公開時バージョンでは,XMLベースの記述言語「KML(Keyhole Markup Language)」タグのうち,以下のものを用いて,戦災・災害のデータを視覚化していました.

  • Placemark :顔写真を丸く切り抜いたアイコンで,コンテンツの位置を示す.証言者のメッセージを伝え,無数に存在するコンテンツの識別を補助する.
  • PhotoOverlay :写真の撮影位置,方位,傾斜,画角を推測してオーバレイ表示する.過去の写真と現在の3D地形・ビルディングの関係を示す.
  • GroundOverlay:地図や空撮写真などをオーバレイ表示し,現在の空中写真との比較を可能にする.
  • Polygon:爆心からの距離,火球などを表示する.
  • TimeStamp:時間情報を含むコンテンツを提示する.タイムスライダーで切り換え表示できる.
  • TimeSpan:幅のある時間情報を含むコンテンツを提示する.

これらのコンテンツは,クライアントソフトのGoogle Earthを使い,GUIで見栄えを確認しながら作成されたものです.このように,Google Earthには,見栄え志向でのコンテンツデザインを支援する「KMLエディタ」としての側面があります.

Google Earth API

2009年発表の「ツバル・ビジュアライゼーション・プロジェクト」は,KMLファイルを配布するかたちで公開されていました.この形態は,ユーザにGoogle Earthのクライアントソフトを予めインストールしておいてもらう必要があり,使いやすいとはいえないものでした.

それを踏まえ,2010年発表の「ナガサキ・アーカイブ」は,Google Earth APIを用いたウェブアプリケーションとして公開されました.公開翌日には20万ページビュー以上のアクセスがあり,APIを採用した効果は劇的なものでした.

Google Earth APIを使ったウェブアプリケーション構築には,以下に示すようなメリットがありました.

  • 「KMLエディタ」= Google Earthクライアントソフトを使って,GUIで見栄えを確認しながらコンテンツを作成できる
  • ウェブブラウザでKMLコンテンツをそのまま表示できるだけではなく,JavaScriptを使い,Google Earthのクライアントソフトにはないインタラクティブなギミックをデザインできる

Google EarthとGoogle Earth APIの組み合わせによって,立体的なコンテンツを簡単に作成し,しかも,手軽なウェブアプリケーションとして公開することができます.この点は,私たちのミッションに合致するものでした.

しかし,窓の杜記事にあるように,Google Earth APIは2015年12月15日をもって廃止されることになりました.プラグインの実装に,古い世代のフレームワークNPAPIが用いられていたことが廃止の理由です.本稿執筆時点で,Googleからは,Google Earth APIの代替となる製品はリリースされていません.

Cesium

Cesium」(セジウム)は,Analytical Graphics, Inc. (AGI)により開始された,オープンソース・プロジェクトです.Google Earth的なデジタル地球儀アプリケーションを,WebGLで実装しています.

Cesiumには,以下に示すようなメリットがあります.

これらの点は,コミュニティ形成を通して,戦災・災害の記憶を多くの人に伝えるというアーカイブズ・シリーズのミッションにおいて,特に魅力的なものです.

さらに,CesiumのAPIはKMLタグの機能をほぼ包含しているだけではなく,開発者コミュニティによって,続々と新たな機能が追加されています.以下のリンクから多様なデモをご覧いただけます.

こうした点を踏まえ,私たちは,各アーカイブズ・シリーズをCesiumに移植することにしました.この経緯については,以下の記事もご参照ください.

Google Earth API to Cesium

KmlDataSouce

KMLコンテンツは,Cesium APIの「KmlDataSource」を使い,Cesiumに表示することができます.首都大の演習で使っているサンプルを以下に示します.

また,リファレンスは以下にあります.

再現性もそれなりに高く,KMLコンテンツを表示する際には,この方法がもっとも手軽です.Google Earth上で手作業で描いた幾つかのプレイスマークやポリゴンを表示するといった用途であれば,問題なく実装可能です.

ただし,KmlDataSouceでは,すべてのKMLデータがパースされたのちに描画される仕様になっており,特にモバイル端末において,処理に時間が掛かります.アーカイブズ・シリーズには大量のデータが掲載されているため,例えばiPhone6+Safariの組み合わせでも,データの表示に5〜6秒掛かることがあります.この点から,KMLをそのまま使うことは躊躇われ,CZMLの利用を検討しました.

CzmlDataSource

Cesiumには,「CZML」と呼ばれる,JSONベースのコンテンツ記述フォーマットが用意されています.

CZMLファイルは,Cesium APIの「CzmlDataSource」を使い,Cesiumに表示することができます.

CZMLでは,KMLの各タグに相当する機能がほぼ網羅されています(この点について後日,別記事で詳細を述べる予定).加えて,以下に示すメリットがあります.

こうした点を踏まえ,現状のアーカイブズ・シリーズのコンテンツはほぼすべてCZMLで実装されています.特に「沖縄戦デジタルアーカイブ」「沖縄平和学習アーカイブ」には,Interpolationの機能が活用されています.ぜひ,ご覧になってみてください.

時間補完アニメーション

CZMLのデメリットとその解決

前述のようにメリットの多いCZMLですが,以下に示すような欠点もあります.

見栄えをGUIで確認しながら作成できない

クライアントソフトのGoogle Earthに相当する「GUIエディタ」は,Cesiumには現存しません.つまり,見栄えをリアルタイムに確認しながら,コンテンツを作成する方法がありません.

この点については,KMLをそのまま用いる,あるいは,CZMLファイルをドラッグ&ドロップで表示可能な「Cesium Viewer」を利用するといった方策で,ある程度解決可能です.しかし,以下の記事にあるように,アーカイブズ・シリーズの作成には,地元の高校生たちが参画しています.

ヒロシマ・アーカイブ制作ワークショップ(2014)

こうした若者たちと証言者の方々は必ずしもコーディングに慣れておらず,CZML作成は敷居が高いかも知れません.また,Cesium Viewerのユーザビリティは,Google Earthのそれには遠く及びません.

こうした点については,Google Earthで作成したKMLコンテンツをCZMLにコンバートするプログラムを用意し,解決しています.

KML PhotoOverlayを再現できない

アーカイブズ・シリーズに用いているKMLタグのうち,「過去の写真と現在の3D地形の位置合わせ」を実現するPhotoOverlay機能は,CZMLに実装されていません.この点については,KML PhotoOverlayのパラメータをJSONに格納しておき,それに基づいてカメラ画角をJavaScriptで再現し,さらに写真をレイヤリングすることで解決しています.

疑似フォトオーバレイ

この「疑似フォトオーバレイ」の詳細については後日,改めて書きたいと思います.疑似フォトオーバレイを全面的に活用したデジタル・アーカイブの例を以下に示します.

今後の予定

この記事は「wtnvStudio Advent Calendar 2015」の一環として書かれています.今回は,表題にもあるように,あくまで概要のみ述べました.今後,年末までに,各論を展開していければと思います.この記事も,新規執筆記事へのハイパーリンクを設けるなど,随時更新していきます.

ご愛顧のほどよろしくお願いいたします.

This post is the No.2 article of wtnvStudio Advent Calendar 2015