« Mac OSX * Subversion | メイン | ターミナル.appで日本語入力 »

KML2.1からの新機能

ここを適当に訳しつつKML2.1の新機能をメモ。


■■フィーチャー1:Regions
2.1から、地面との距離によって表示するデータを制御することが出来るようになった。
これら↓を組み合わせて実装する。

■LatLonAltBoxパラメータ
東西南北それぞれ4つの経度緯度を与えることで、任意の範囲を指定。

■LOD Pixel Limitsパラメータ
描画し始める or 終わる高さの範囲を(ピクセルで)指定する。
<minLodPixels>, <maxLodPixels>タグを用いる。。
画面がこのLODパラメータとLatLonAltBoxで定めた範囲内にあるとき、描画されるようになる。

■Fadeパラメータ
フェードイン・アウト効果。
<minFadeExtent>, <maxFadeExtent>タグで、範囲を指定して、それらとの距離を基にαを変える。
ただ負荷が高いため、たくさんのデータを処理する時には使うべきではない。

■Altitudeパラメータ
<minAltitude>, <maxAltitude>タグで指定した距離の間、表示する。

■Nesting Regions
入れ子でもできますよ、ということらしい。

■"Smart" Loading of Region-Based Network Links
NetworkLinkを用いた入れ子構造の例。
<viewRefreshMode>タグ内でonRegionと定義することによって、指定した範囲内に入ったときのみデータをロードする、ということが可能になる。読み込みもとは<href>タグ内で指定する。


■■フィーチャー2:3Dモデルのインポート
いろんなソフトの(=Google Sketchup以外でも)3Dモデルをインポートできる。

■kmzファイルの作り方
hgoehgoeというディレクトリをhogehoge.zipというファイルに圧縮した後、hogehoge.kmzにリネームしてやるだけ。
someplace.kmzを作ろうとしたときは、ファイル構成はこのような感じにする。

someplace/ #=> rootディレクトリ
someplace/doc.kml #=> ColladaモデルをGE上に描画するための位置情報などを記述。
someplace/images/ #=> modelsの中で使われている画像を置く。
someplace/models/ #=> Colladaモデルファイル(hogehoge.dae)を置く場所。
someplace/textures.txt #=> texture(=image/の中にあるファイル)のパスを書く。


■■フィーチャー3:Network Linksを使ってのデータの操作
簡単な流れは以下。

1. NetworkLinkが最初のKMLをGE上に読み込む。
この時、アップデートされる要素にはユニークなidが振られていなければいけない。

2. 別のNetworkLinkが、アップデート情報(Change, Create, Deleteの自由な組み合わせ)を含む新たなKMLを、読み込み済みのKMLオブジェクトに読み込む。
アップデートファイルは変更先のKMLデータを見付けるために2種類の情報を持っている。

・ 変更先オブジェクトを特定するtargetHrefエレメントを持っている。この情報を使ってオブジェクトを配置する。
・変更先オブジェクトを特定するため、Change, Create, Deleteエレメントはそれぞれに変更先に振られているid情報を属性として持っている。


■■フィーチャー4:期限切れの設定
httpサーバやサーバサイドスクリプト等を使って、古くなった情報を期限切れ扱いに出来る。


等々。。


About

2006年10月22日 22:47に投稿されたエントリーのページです。

ひとつ前の投稿は「Mac OSX * Subversion」です。

次の投稿は「ターミナル.appで日本語入力」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。