現場で選択する住宅のデータとその一覧表

住宅を追加するためには、ModelIndex.txtファイルに、追加したい建物のデータを登録します。 この時、建物のファイル名だけではなく、建物を記述する座標系の原点位置の緯度・経度・標高も記入します。 登録されている建物とその補足情報は、HTMLビューワ等のアプリを用いて、このファイルを開くことにより確認することができます。
Ver.2(2013.11)においては、テクスチャ付の建物を表示することができます。テクスチャの画像ファイルは、SDカードの
/mnt/sdcard/VirtualConverter/TEXTURE/ のフォルダの中にあります。テストしたマシン(AT700)の場合、これは内蔵のSDカードで、取り外すことはできません。 別の取り外し可能なSDカードをデータ交換に用いる場合には、ファイル・マネージャを用いたコピー作業が必要です。

開発環境について

データの取得から表示までの処理は、C言語で記述しています。  景観シミュレータのdml, g3drlライブラリ等を活用しています。 VS2005で、エミュレータFSMFC.exeを作成し動作確認しています。 C言語のソースを、Windows8上のNDKでビルドし、  libVirtualConverter.so という名前のAndroid用dllを作成します。 Java言語で作成した、アプリケーションの中からこのdllを使用して、データの解析と表示処理を行います。 センサーからの位置・姿勢の取得や、ユーザーの画面タップによる操作はJavaのフレームが行い、 仮想コンバータによるデータのロードや、OpenGLによる3Dモデルの表示はNDKで作成したDLLが分担しています。 仮想コンバータがメタファイルをコンパイルし実行、データファイルを読み込む処理は現在はC言語で記述されており、 Windows系のVC++と、上記のAndroid系のNDKで共通のソースコードを使用しています。 これにより、処理系の可搬性を確認する目的も果たしています。

携帯端末内部のディレクトリ構成

仮想コンバータVC-3Mのセットアップ先(本体内部):
 /VirtualConverter/
選択可能なデータとメタファイルの一覧:
 /VirtualConverter/ModelIndex.txt
データのセットアップ先(SDカード内):
 /VirtualConverter/meta/  :メタファイル群を格納するディレクトリ
 /VirtualConverter/data/ :データファイル群を格納するディレクトリ
ログファイルの作成先(本体内部):
 /VirtualConverter/log.txt
シーンファイルの作成先(本体内部):
 /VirtualConverter/Mobile.ja.scn
背景画像ファイルの保存先:
 /VirtualConverter/image/
(リアルタイム写真合成画面で、シャッターが操作によりその瞬間の
 背景画像をjpg形式でファイル保存)

なお、プログラムからfopen等で開く場合には、/mnt/sdcard/VirtualConverter/ とする必要があります(内蔵SDカード)。

住宅などの三次元データの追加方法

データを追加する場合には、仮想コンバータを再セットアップする必要はなく、 以下の手順でモデル選択のリストに追加することができます。 1.メタファイルをVirtualConverter/meta/ディレクトリに追加します。
*既存のメタファイルを使用できる場合には不要です。
2.データファイルをVirtualConverter/data/ディレクトリに追加します。
3.VirtualConverterディレクトリ直下にある、ModelIndex.txtに、
 表示名称,メタファイル名,データファイル名,緯度,経度,標高[改行]
から成る1行を追加します。
これにより、モデル一覧に新しいデータが追加されます。

注意点: ・メタファイルまたは

住宅などの三次元データのモデル原点の指定方法

建物等が存在する位置は、世界測地系の緯度、経度、標高で指定します。
数値は、度を単位とし、度以下の桁は(分、秒ではなく)小数で表します。
位置は、モデルを記述している座標系の原点の位置です。
位置を指定ないし表示する方法として、以下のデータが関係します。
1.ModelIndex.txtの中で、
0_1_b2.cmm,0_1_b2.cmm,dummy.dat,36.084454,140.07587,69.0
という書法で定義します。建物の位置を現場で確認し、修正するような場合に適しています。
2.メタファイルの中で、
ROOT = GROUP( "IKE(39.26570833,141.8762819,2.0)" );
というコマンドで定義します。CADデータ等で、建物の位置(緯度経度標高)が予めわかっている場合に適しています。 このコマンドは、メタファイルの中に固定的に定義されている場合も、データファイルから建物の位置情報を読み取って このコマンドが実行される場合も、同じ効果があります。
この記述がデータ内部にある場合には、ModelIndex.txtの記述よりも優先されます。
3.シャッターで記録する場合、モデルの配置座標はEFFECT関数により、緯度、経度、高さの3値を保存します。
E000 = EFFECT(IKE,"0.265708","0.876282","0.000000")
この値は、再生表示に使用しませんが、GPSセンサーの計測誤差を事後評価するために利用可能です。