Google Earthのコンテンツでリッチな表現を

第1回 KMLの基本と,現時点で実現できる機能

この記事を読むのに必要な時間:およそ 3 分

KML(Keyhole Markup Language)とは,Google Earthによって広められた,XMLファイルの一つです。ZIPで固めて圧縮したものがKMZファイルです。このKMLは,Google Earthだけでなく,Google MapsやGISと呼ばれるツールでも,また,3Dモデリングソフトなどでも最近は採用されはじめています。このKMLファイル,XMLファイルの一つといっても,Google Earthを用いれば誰でも簡単に作成することができます(もちろん,XMLの構文など知らずとも作成が可能です)。

ですが,Google Earth上で作成できるKMLファイルは,実際には機能が限られています。たとえば,平面・立体と3次元の空間に,さらに時間軸を与える「タイムスケール機能」などは,現時点でGoogle Earth上では作成することが出来ません。ですが,これらはKMLファイルを自ら作成することで実現することができます。自ら作成するメリットは他にもあり,現在のKMLファイルの見栄えやコンテンツの管理をより充実させることができます。

今回の特集では,KMLで実現できる機能を紹介し,"どのように最小限の入力で見た目も機能も充実したKMLファイルを作成するか?"に視点をおいて解説します。

KMLの基本中の基本

KMLファイルは,先に述べたように,XMLファイルそのものです。項目一つ一つ,また,セクション一つ一つが,HTML文書のようにタグで囲まれており,それぞれのタグを「要素」と呼び,その要素のオプションであるタグを「子要素」,さらに「孫要素」などといい,KMLで定義されているタグを配置していくことで,1つのKMLファイルを構成しています。KMLで定義されているタグに関しては,下記のURLを参照してください。

非常にたくさんのKMLタグが登録されているのが確認できます。これらタグは,すべての機能に共通するもの,特定の機能の実現の為に存在する機能,装飾を担当する機能という具合に分類することができます。また,同じようなタグの使い方であっても,パラメータの与え方の違いによって,まったく異なる機能を提供してくれるものもあります。

今回は,これらタグのうち,テーマであるGoogle Earthのコンテンツでリッチな表現を実現してくれるタグを厳選,それらタグを利用して,実際に通常で作るよりも,見栄えも機能も充実したコンテンツを作っていきたいと思います。

今回特に取り上げる機能は,以下のとおりです。

  • プレイスマークを綺麗に整理する機能(リージョン,フォルダのカスタマイズ,カスタムアイコン)
  • 各種オーバーレイの活用(グラウンドオーバーレイ,スクリーンオーバーレイ,フォトオーバーレイ)
  • 魅せるためのテクニック(ツアーと視点,タイムスケール機能,グラフを実現する)

まずは,KMLファイルの全体の体系を確認しましょう。次の図1をご覧ください。

図1 KMLファイルの一般的な構成図

図1 KMLファイルの一般的な構成図

図1は,一般的なKMLファイルの構成図です。「コンテンツ部分」が作り込みたいコンテンツの配置を行う場所です。Google Earth上でKMLを作成すると,一般的な構成は自動的にくみ上げられます。

KMLの体系を理解する

KMLファイルを構成している,各部分の役割を説明します。

決まり文句のXML宣言部分

すべてのKMLで共通の,XML文書の決まり事を明示する場所です。Google Earth上で作成すれば自動的に記述されます。構文は以下のとおりです。

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://earth.google.com/kml/2.1">

スタイルの定義

フォルダやプレイスマーク,ネットワークリンクのアイコン,ポリゴンの形状などなど,コンテンツの成形を担当する部分です。この部分は,コンテンツ部分で個別に設定することもできます。コンテンツ部分で,このスタイルを参照する要素を記述することで,一括してスタイルを管理することが可能となっています。

デザインの統一性を図ったり,マウスが触れたとき,離れたときのアクションも設定することが出来ます。参考例は以下のとおりです。

<StyleMap id="msn_tram">
  <Pair>
    <key>normal</key>
    <styleUrl>#sn_tram</styleUrl>
  </Pair>
  <Pair>
    <key>highlight</key>
    <styleUrl>#sh_tram</styleUrl>
  </Pair>
</StyleMap>

この例は,きわめてポピュラーなスタイルの設定例です。このタグは通常表示時のアイコンの状態と,マウスオーバー時のアイコンの状態を設定している状態です。#sn_tramというのが,その参照部分であり,この後に#sn_tramという設定の詳細な内容が記述されているわけです。

コンテンツ部分

フォルダやプレイスマーク,ネットワークリンク,ポリゴン,3Dポリゴン,パスなどなどデータの格納部分です。記述した順番にGoogle Earth上では整列します。機能ごとに一つひとつ組み込んでいく必要性があります。単純なプレイスマークの表示例は以下のようになります。これで一つ分のプレイスマークとなります。

<Placemark>
  <name>新橋駅前広場</name>
  <LookAt>
    <longitude>139.7588591989422</longitude>
    <latitude>35.66635946155378</latitude>
    <altitude>0</altitude>
    <range>232.0314620165034</range>
    <tilt>0.0009915095047460121</tilt>
    <heading>-8.106410863515363</heading>
  </LookAt>
  <styleUrl>#msn_tram</styleUrl>
  <Point>
    <coordinates>139.7588591989422,35.66635946155378,0</coordinates>
  </Point>
</Placemark>

著者プロフィール

郡司裕之(ぐんじひろゆき)

Google Earthを主に取り扱っているウェブサイト「GE Maniacs」の管理人。過去に2冊のGoogle Earthに関する書籍を執筆。一つはGoogle Earth全般の操作に関する書籍,もう一つはKML / COM APIのKMLに関する書籍のKML部分を担当。

無類の地図好きで,夢のツールGoogle Earthを普通に使うに飽きたらず,道具として,また新しい技術習得の土台としての利用を試みている毎日。

URLhttp://virtual.haru.gs/

コメント

コメントの記入