ソラマメブログ

お知らせ

このブログはhttp://kanaenet.blogspot.comに移転しました。新しいブログをご覧ください。

  

Posted by at

2008年06月27日

3D地図を作る GLOBEプロジェクトからダウンロード

NOMIで3D地図を作ります。まずは3D地図の元となる地形データをダウンロードします。

ご紹介するのは今回紹介するGLOBEプロジェクトの1kmメッシュと次回紹介するスペースシャトル地形データSRTM3の90mメッシュです。Sculpted Primは最大で33x33のメッシュしか使えませんので広い範囲を作りたいときにはGLOBEで十分ですが,細かい範囲を作りたいとき(特にテクスチャを作り込みたいとき)にはSRTM3の方が向いています。


まずはGLOBEプロジェクトの地形データをダウンロードします。

これで作った3D地図はこんな感じになります。グランドキャニオンです。


GLOBEプロジェクトは 1kmの分解能の地形メッシュデータを提供しています。まず最初にGLOBEプロジェクトから希望範囲を指定して地形データをダウンロードするにはJavaをインストールしておく必要があります。事前にインストールをお願いします。Javaをインストールしたくない場合には,緯度経度の範囲を指定してデータを切り出すことができますので,事前に緯度経度を調べておいてください。

以下のURLにアクセスします
http://www.ngdc.noaa.gov/mgg/topo/globe.html

世界地図の左下の Get GLOBE Data Online をクリックします。
次にSelect your own area をクリックします。Choose Your Type Of Area Selection の Map-Based (uses a Java applet) を選択すると地図が表示されます。
希望する範囲をZoomInボタンやマウスでドラッグして指定します。
Javaをインストールしていない場合にはそのまま,緯度経度を数値で入力して範囲を指定します。いずれの場合にも範囲が広くならないよう注意してください。
オプションがいろいろありますが変更しないでください。Get Dataボタンを押すと,サーバ側でファイルが生成されダウンロードページが表示されます。
mydata.bin と mydata.hdr をクリックしてダウンロードします。

なお,このデータを使って販売する商品を作ってよいかについてはNASAの著作権について調べて判断してください。
参考:JPL Image Use Policy
http://www.jpl.nasa.gov/images/policy/index.cfm

次回はスペースシャトル地形データSRTM3から地形データをダウンロードする方法を説明します。  


Posted by Yuzuru Jewell at 11:35N02 3D地図を作る

2008年06月30日

3D地図を作る SRTM3から地形データをダウンロード

今回はスペースシャトル地形データSRTM3をダウンロードします。
STRM3はNASAが提供している3秒メッシュ(90mメッシュ)の地形データです。まずは http://www2.jpl.nasa.gov/srtm/ より詳細を確認してください。

これで作った3D地図はこんな感じになります。東京・横浜です。


説明を読まれたら,書かれているFTPサーバにアクセスします。
ftp://e0srp01u.ecs.nasa.gov/srtm/
利用するのはversion2ですので,そのディレクトリに移動し,以下のクイックスタートを読みます。
/srtm//version2/Documentation/Quickstart.pdf
このPDFファイルから地形データのファイルの構造は2Byte(16bit)の整数でbig-endian であること,Missing flagが-32768であること,ファイルの大きさは1201x1201であることがわかります。

利用するのはSTRM3ですから以下のディレクトリに移動します。
/srtm/version2/SRTM3
地域ごとにディレクトリが分けられています。日本ならEurasiaに入っています。
NXXEXXX.hgt.zipというファイルが並んでいますので欲しい緯度経度のファイルを探します。Nは北緯,Sは南緯,Wは西経,Eは東経を示しています。東京はだいたい北緯35.6°東経139.7°くらいですので,N35E139.hgt.zipをダウンロードすればいいです。緯度経度を検索するツールもいろいろあるようですので探して調べてください。

ダウンロードした圧縮ファイルを解凍すると N35E139.hgt というファイルが出てきます。このファイルが地形データです。

なお,この地図データはところどころデータが欠落していますので,気になるときはグラフィックエディタで修正した方がよいでしょう。データをまたがって地図を作りたいときにもグラフィックツールを使ってつなぐことになります。また,このデータを使って販売する商品を作ってよいかについてはNASAの著作権について調べて判断してください。
参考:JPL Image Use Policy
http://www.jpl.nasa.gov/images/policy/index.cfm

次回はこれらの地形データをNOMIが使えるBMPファイルに変換するツールを紹介し,その使い方を説明します。  


Posted by Yuzuru Jewell at 11:31N02 3D地図を作る

2008年07月01日

3D地図を作る 地形データをツールで読み込む

GLOBEプロジェクトやSTRM3からダウンロードしてきた地形データを画像に変換します。まずはツールをダウンロードして地形データを読み込みます。

BIL2BMPという変換するツールを公開しました。以下よりダウンロードしてください。これはフリーウエアです。
http://kanae.net/secondlife/bil2bmp.html

使い方を英語で説明しています。downloadのリンクからダウンロードしてください。

ダウンロードファイルを解凍し,起動すると以下のようなウインドウが表示されます。

赤い丸で囲まれたボタンをクリックし,これまでにダウンロードしてきたファイルを指定して地形データを開きます。
GLOBEプロジェクトのファイルはダウンロードしたデータの詳細がHDLファイルにかかれているのでBIL2BMPは自動的にこの情報を読み込みます。STRM3のデータにはそれがありませんので,以下のダイアログが開きます。

クイックスタートにかかれていた内容を設定します。データの構造がSigned 16bit big-endianで縦横1201 データ欠落フラグは-32768です。(デフォルトに設定しておきましたので,確認するだけで大丈夫でしょう)

STRM3の東京のデータを読み込むと次のように表示されます。


次回は保存の方法について説明します。  


Posted by Yuzuru Jewell at 14:31N02 3D地図を作る

2008年07月02日

3D地図を作る 地図データを画像に変換

BIL2BMPを使って地図データを読み込むことができました。次は保存です。
BIL2BMPは高さ情報の白黒の画像とテクスチャの2つの画像を出力します。

このままのサイズだと大きすぎるので,自分が作りたいサイズに切り取ります。
マウスのクリックとドラッグで範囲を指定します。(なお 範囲を指定せずに保存すると全体を保存します。)


Smoothingというスライドバーがありますが,これは高さ情報の画像をスムージングすることで細かいでこぼこをなめらかに表示する機能です。NOMIのメッシュは最大でも33x33しかありませんので,それに併せてスムージングしたいときに利用します。最初は初期設定の0で作ってみて,でこぼこがうまく表現できない場合に少しずつ増やしてください。


Save BMP ボタンを押すとファイルを保存します。
ファイル名に-htを追加した白黒の高さ情報の画像ファイルと-txを追加したテクスチャファイルが保存されます。

高さ情報の画像ファイル

テクスチャファイル

テクスチャファイルはBIL2BMP.txtファイルにある高さと色の対応表に従って作られます。この対応表をカスタマイズすれば自分だけのテクスチャを作ることができます。詳しくはReadme.txtを見てください。

これでNOMIで3Dマップを作るための2つの画像ファイルができました。
次回からNOMIを起動して2つのファイルを読み込み,3Dマップを作成します。  


Posted by Yuzuru Jewell at 11:31N02 3D地図を作る

2008年07月05日

3D地図を作る NOMIで作成した画像を読み込む

BIL2BMPの使い方を理解していただけたでしょうか。

今回は地形データをBIL2BMPで変換した画像2つをNOMIで使います。

まずはNOMIを起動してFile の New Project を選択します。NOMIは3種類のレリーフが作れるのですが,今回は縁のあるプレーンタイプ Plane with border を選択することにします。これは横から見ると白い縁がついているのですが裏側から見ると透明になります。


まず,File の Load Base Pictureで,テクスチャ画像を読み込みます。


次に,View の Load Height Dataで高さの白黒画像を読み込みます。


高さの調節をします。Relief Heightは最大にしておくとスカルプのサイズいっぱいにつくれますし,細かい高さの変化も反映されます。 Overall Thicknessで,一番低いところの厚みが決まります。


テクスチャは縁の部分が追加されますので,Texture の Save で保存します。


最後にスカルプマップを保存します。


次回は,このスカルプをインワールドにアップロードします。
  


Posted by Yuzuru Jewell at 11:31N02 3D地図を作る