KML よくある質問


KML について

KML は、Google Earth、Google マップ、モバイル Google マップなどの Earth ブラウザで、地理データの表示に使用するファイル形式です。特定の場所についての KML ファイルを作成し、イメージ オーバーレイを使用して、新しい方法で豊富なデータを公開できます。KML は、Open Geospatial Consortium, Inc.(OGC)が維持管理する国際標準です。

KML の対象ユーザー

Google Earth Community フォーラムをご覧になるとわかるように、KML コミュニティには世界中のさまざまなユーザーが参加しています。一般的には、KML ファイルを作成して、自宅に目印を付けたり、観光地を見て回ったり、ハイキングやサイクリングの計画を立てたりするユーザーが多いようです。科学者は、リソース、モデル、傾向分析(火山の噴火、気象パターン、地震活動、鉱床など)の詳細なマッピングに KML を活用できます。不動産業者、建築家、都市開発機関は、建築の提案や計画の視覚化に活用できます。学生や教育者は、現在のまたは歴史的な人物、場所、出来事を調べるために KML を使用できます。ナショナル ジオグラフィック、ユネスコ、スミソニアンなどの組織では、世界中の豊富なデータの視覚化に KML を使用しています。

KML ファイルを作成するには

KML ファイル作成用の主なツールは、次の 3 つがあります。

  • Google Earth。KML ファイルの作成に使用できる、最も重要なツールです。Google Earth を使用して、次のものを作成できます。
    • 目印
    • パス
    • ポリゴン
    • イメージ オーバーレイ
    • ネットワーク リンク
    • 場所のモデル
    • 上記のすべてのフォルダ
    • 写真オーバーレイ
  • これらのオブジェクトのいずれか 1 つを作成してから、[場所] パネルでそのオブジェクトを右クリックし、[コピー] を選択します。それをテキスト エディタや XML エディタに貼り付けて、編集することができます。

  • テキスト エディタ。Google Earth で作成したオブジェクトを、テキスト エディタに貼り付けて、編集します。
  • XML エディタ。KML は地理情報コンテンツを記述する XML 言語です。XML エディタは、XML ドキュメントの作成用の機能を数多く備えた、高度なテキスト エディタです。たとえば KML 要素を正しい終了タグを使って閉じるための、タグ完成機能があります。

他にも、Google Earth Community のユーザーが作成したさまざまなツールがあります。詳しくは、KML Developer Support Google グループをご覧ください。

KMZ ファイルを開くには

KMZ ファイルは、Google Earth で表示する 1 つ以上のファイルをまとめて圧縮したものです。圧縮は Zip 形式で行います。Windows 用の「WinZip」、「7-Zip」などの一般的な zip ツールか、デフォルトの Windows XP 圧縮フォルダ ツール、Mac OS 用の「Stuffit」、Mac OS や Linux 用の「zip」を使って、開くことができます。zip ツールによっては、ファイルを認識させるために、ファイル拡張子を .kmz から .zip に変更する必要があります。このファイルを改めて使用する前に、必ず拡張子を .kmz に戻してください。

天文データから KML ファイルを作成するには

KML を使用して天文データを記述し、Google Sky や Microsoft の WorldWide Telescope で読み込むことができます。詳しくは、KML の Sky データをご覧ください。

Google Earth でサポートされている KML タグ

Google Earth では、すべての KML タグがサポートされています。すべてのタグの一覧は、KML リファレンスをご覧ください。

Google マップでサポートされている KML タグ

Google マップでは、KML タグのサブセットがサポートされています。一覧については、こちらをご覧ください。

デベロッパー ガイドを参照するには

デベロッパー ガイドは、https://developers.google.com/kml/documentation/topicsinkml.html でご覧ください。


ラインが表示されない

LineString に clampToGround を指定している場合は、地球の湾曲に沿って問題なく表示されます。「relativeToGround」を指定している場合は、ラインのポイントを増やさないと、地球や地形の内部を通る部分が多い直線となります。

たとえば、次の LineString は地球の内部を通るので、実際には表示されなくなります。

<kml xmlns="http://www.opengis.net/kml/2.2">
  <Placemark>
    <name>Untitled Path</name>
    <LineString>
      <tessellate>0</tessellate>
      <altitudeMode>absolute</altitudeMode>
      <coordinates>-115.415105,40.669016 -37.752364,34.879979</coordinates>
    </LineString>
  </Placemark>
</kml>

ポイントを増やすと、ラインが地下を通る部分が減ります。<tessellate> も「1」に設定して、ラインが地形に沿うようにする必要があります。

<Placemark>
  <name>Untitled Path</name>
  <LineString>
    <tessellate>1</tessellate>
    <altitudeMode>relativeToGround</altitudeMode>
    <coordinates>
      -134.148103,37.752967 -128.917074,38.803008
      -125.166954,39.583592 -122.137625,39.656880
      -120.421783,40.036311 -118.298157,40.235316
      -114.348386,40.631532 -112.670431,40.761033
      -111.916045,40.681939 -110.177711,40.653055
      -109.544331,40.619327 -107.155697,40.642007
      -105.410526,40.421505 -103.192299,40.430138
      -102.853712,40.427904 -98.168302,40.363524
      -97.093391,40.308754 -94.831304,40.479175
      -93.760070,40.395392 -84.913828,39.466651
      -84.414888,39.387332 -81.380660,39.188551
      -80.276261,38.977744 -77.811560,38.872542
      -75.062267,38.521146 -72.006956,38.101733
      -66.67819,37.664687
    </coordinates>
  </LineString>
</Placemark>
KML で円を描くには

KML には円の図形はありませんが、LineString で近接する座標を多く指定して、円に近い図形を作成できます。こちらにサンプルがあります。

LineString を破線や矢印に変更できますか

ラインの色、透明度、サイズを変更するには、<LineStyle> を使用します。ただし KML では現在、ラインの種類の変更はサポートされていません。

目印のラベルを非表示にするには

Google Earth で目印の横に表示されるラベルは、<name> 要素に基づいて指定されます。LabelStyle の scale 要素を 0 に設定すると、ラベルを非表示にできます。

<Style id="hideLabel">
  <LabelStyle>
    <scale>0</scale>
  </LabelStyle>
</Style>
解析エラーが表示される

解析エラーには、主に次の 2 つの種類があります。

  1. 大文字/小文字の区別: 他のすべての XML 言語と同様に、KML では大文字と小文字を区別します。要素の名前はすべて、大文字/小文字を正しく記述する必要があります。たとえば <PLACEMARK> ではなく <Placemark>、<Href> ではなく <href>、<lInk> ではなく <Link> と記述する必要があります。
  2. 不完全なタグ: すべての要素の最初と最後には、同じタグを指定する必要があります。終了タグを忘れたり、山かっこ(< >)を付け忘れたりすることがよくあります。

    例:
    <name>Atlanta</name> - 正しい
    <name>Atlanta - 誤り
    <nameAtlanta</name> - 誤り
    <nameAtlanta<name> - 誤り
記述した KML ファイルが有効な KML ファイルかどうかを調べるには

KML は XML マークアップ言語です。次のような方法で検証できます。

  • XML エディタ(OxygenNetbeans など)を使用して、ドキュメントを検証できます。詳しくは、お使いの XML エディタのマニュアルをご覧ください。検証には、KML スキーマが必要になります。
  • オンライン バリデータ(FeedValidator.org、Galdos の KML Validator など)を使用した確認もできます。バリデータでは、エラーがあれば表示され、スタイル上のヒントも提示されます。
  • XML 検証が可能なテキスト エディタもあります。たとえば、jEdit を使って KML を検証できます。Google Earth Outreach チームが作成した、こちらのチュートリアルを参考にしてみてください。
画面に表示されるアイテムの表示を制御して、ユーザーが Earth の地表に近付いたときにそのアイテムの詳細を表示する方法

Region タグを使用して、ユーザーに表示するアイテムをコントロールできます。Region についての詳しい説明は、下記のリソースをおすすめします。

MultiGeometry 要素の中の異なる図形に異なる色/スタイルを割り当てることはできますか

MultiGeometry 要素では、複数の図形を同じ Placemark 要素にまとめます。これによって、複数の図形が同じスタイルを共有し、Google Earth の [お気に入り] パネルなどの一覧に、1 つのアイテムとして表示されます。

スタイルは、styleUrl 要素または Style 要素のいずれかを使って、Placemark レベルで設定されます。したがって、その Placemark 内の個々の図形に異なるスタイルを指定することはできません。

よく行われる対処法は、図形ごとに個別の Placemark を複数作成する方法です。これによって、各図形に異なるスタイルを指定できます。一覧表示でアイテムが散乱するのを防ぐには、Folder にアイテムをまとめ、その ListStylelistItemType で checkHideChildren を指定します。たとえば Google Earth では、これによって [お気に入り] の中で、すべての Placemark が 1 つの Folder 要素内に配置され、ユーザーが開いたときに複数の要素が表示されるのを防ぎます。


KML ファイルを開くときにバルーンを開くことはできますか

現在のところ、KML ファイルを開くときにバルーンを開く機能はサポートされていません。ただし、アイテムのアンカーを使用することで、2 つ目の KML ファイルや別のバルーンを開くリンクを、バルーンの中に作成できます。

NetworkLink の更新時にバルーンを開いたままにすることはできますか

現在のところ、NetworkLink の更新時にバルーンの状態を保持する機能はサポートされていません。

ユーザーが作成した KML を表示できますか

現在のところ、NetworkLink を使用して、Google Earth や Google マップでユーザーが作成した KML を取り込むことはできません。ただし、Earth API や Google Maps API を KML 作成ツールとして使用し、その情報をサーバーに取り込むことはできます。例として、GeoDataStore をご覧ください。

KML から時間スライダをコントロールできますか

TimeStamp 要素や TimeSpan 要素が指定された KML ファイルが開くとすぐに、KML の時間スライダが開きます。時間スライダは、その時点で選択されているすべての TimeStamp 要素と TimeSpan 要素を探し、指定されているすべての日付を含めるように調整します。現時点では、これ以外の方法で KML から時間スライダをコントロールすることはできません。選択されている現在時刻の設定や、時間間隔の表示の選択なども行えません。時間データの使用方法について詳しくは、時間とアニメーションの記事をご覧ください。

ユーザーと対話する KML を作成するために、KML の説明バルーンの HTML にフォームを配置するには

現在のところ、Google Earth で使用される KML では、表示を記述する HTML のサブセットのみサポートされており、対話形式の記述はサポートされていません。Google マップでは、フォームを含む KML が使用できます。

Google Earth でも、使用する KML に Flash フォームを構築することはできます。そのためには、KML の説明バルーン内の HTML に Flash アプリケーションを埋め込みます。これは Google マップでは機能しません。


スプレッドシートから KML を自動的に作成できますか

基本的な方法として、以下のものがあります。

  • 自分でプログラミングした独自のアプリケーションで、CSV ファイルを解析して KML を生成します。例として、CSV ファイルを KML に変換をご覧ください。
  • オンライン スプレッドシートを使用します。たとえば、Google Earth Outreach チームが Google スプレッドシートをベースとして作成した Spreadsheet Mapper があります。
  • Excel から KML を作成するツールを使用します。
  • Google Earth プラスや Google Earth プロを使用して、ファイルをロードし、KML ファイルまたは KMZ ファイルとして保存します。
ウェブ サーバーから KML ファイルを正しくダウンロードできない

ダウンロードするファイルの種類をウェブ サーバーに指定する必要があります。Firefox などのブラウザでは、ファイル形式を推測します。Internet Explorer などのブラウザでは、ウェブ サーバーの MIME タイプ設定を頼りにします。

Apache サーバーの場合は、httpd.conf の中に次の 2 行を含めます。

AddType application/vnd.google-earth.kml+xml .kml
AddType application/vnd.google-earth.kmz .kmz

Microsoft の Internet Information Server(IIS)の場合は、次の説明を参照してください。

IIS バージョン 6.0:

http://support.microsoft.com/kb/326965

IIS バージョン 4.0 と 5.0:

http://www.microsoft.com/technet/prodtechnol/windows2000serv/technologies/iis/maintain/featusability/mimeiis.mspx

自分でウェブ サーバーを管理している場合は、設定を変更する必要があります。そうでない場合は、ウェブサイトのホスティング サービスに問い合わせて、上記の変更を依頼してください。


形式が正しくない画像 URL を使用しているとバルーン コンテンツで表示されるのはなぜですか

Google Earth の最近の変更により、以前は不明確だった動作をより明確にするため、バルーン内のコンテンツでのリンクの処理方法が変わりました。その結果、無効なリンク構造を含む KMZ 内のリンクをクリックすると、「クリックしたリンクの形式が正しくない可能性があります。下のリンクをクリックして、従来のモードを使用してみてください。」と記載されたページが表示されます。このメッセージが表示された場合は、KML/KMZ コンテンツの構造を変更して、Google Earth の今後のバージョンとの互換性を持たせる必要があります。

KMZ コンテンツを適切に再構成する方法について詳しくは、こちらの記事をご覧ください。

どのようなコンテンツが新しい相対パスのルールの影響を受けますか

現在のところ、この変更の影響を受けるのは、バルーン コンテンツ内のリンク(URL)のみです。<BallonStyles> 内の <description> タグと <text> タグが該当します。ただし、今後のバージョンの Google Earth では、整合性がより厳密になる可能性があるため、KMZ コンテンツの相対リンクの基準 URL として親ディレクトリを使用することは常に避けてください。


Google Earth の [お気に入り] にある KML は Google のサーバーに送信されますか

いいえ。Google Earth で作成された KML や、ユーザーが Google Earth に読み込んだ KML が Google に送信されることはありません。データの処理と保存は、すべてローカル コンピュータ上で行われます。

トップへ戻る

フィードバックを送信...

KML(Keyhole Markup Language)