KML リファレンス

このセクションでは、KML バージョン 2.2 のすべての KML 要素と Google 拡張名前空間の要素について、アルファベット順に説明します。KML 要素のクラス ツリーを下の図に示します。この図では、ツリー内の特定のブランチの右側の要素が、左側の要素の「拡張」です。たとえば、Placemark は特別なタイプの Feature です。これには、Feature に属するすべての要素が含まれ、Placemark 要素に固有の要素が追加されます。

KML はオープン スタンダードで、正式名は OpenGIS® KML Encoding Standard(OGC KML)です。これは、Open Geospatial Consortium, Inc.(OGC)によって管理されています。OGC KML の仕様については http://www.opengeospatial.org/standards/kml/(リンク先は英語)をご覧ください。

KML 用の XML スキーマについては http://schemas.opengis.net/kml/(リンク先は英語)をご覧ください。

注: 次の図の要素名をクリックすると、このリファレンス内の詳しい説明に移動します。

クラス ツリーの図 Object 要素(親) gx:Tour 要素、Feature の子 NetworkLink 要素、Feature の子 Placemark 要素、Feature の子 Overlay 要素、Feature の子 Container 要素、Feature の子 Feature 要素 Geometry 要素、Object の子 PhotoOverlay 要素、Overlay の子 ScreenOverlay 要素、Overlay の子 GroundOverlay 要素、Overlay の子 Folder 要素、Container の子 Document 要素、Container の子 Point 要素、Geometry の子 LineString 要素、Geometry の子 LinearRing 要素、Geometry の子 Link 要素、Object の子 Icon 要素、Link の子要素 Orientation 要素、Object の子 Location 要素、Object の子 Scale 要素、Object の子 Polygon 要素、Geometry の子 MultiGeometry 要素、Geometry の子 Model 要素、MultiGeometry の子 gx:Track 要素、Geometry の子 Style 要素、StyleSelector の子 gx:MultiTrack 要素、Geometry の子 StyleSelector 要素、Object の子 StyleMap 要素、StyleSelector の子 TimePrimitive 要素、Object の子 TimeSpan 要素、TimePrimitive の子 gx:TimeStamp AbstractView 要素、Object の子 Camera 要素、AbstractView の子 LookAt 要素、AbstractView の子 Region 要素、Object の子 Lod 要素、Object の子 LatLonBox 要素、Object の子 LatLonAltBox 要素、Object の子 gx:LatLonQuad 要素、Object の子 SubStyle 要素、Object の子 BalloonStyle 要素、SubStyle の子 ColorStyle 要素、SubStyle の子 ListStyle 要素、SubStyle の子 gx:TimeSpan 要素、TimeSpan の子 TimeStamp 要素、TimePrimitive の子 LineStyle 要素、ColorStyle の子 PolyStyle 要素、ColorStyle の子 IconStyle 要素、ColorStyle の子 LabelStyle 要素、ColorStyle の子 gx:TourPrimitive 要素、Object の子 gx:AnimatedUpdate gx:FlyTo 要素、TourPrimitive の子 gx:SoundCue 要素、TourPrimitive の子 gx:TourControl 要素、gx:TourPrimitive の子 gx:Wait 要素、gx:TourPrimitive の子 gx:PlayList 要素、Object の子

抽象的な要素(図の中の四角で囲まれている要素)は、実際の KML ファイルでは直接使用されません。これらの要素は、複数の類似した(ただし異なる)派生要素のプログラム上のベースとして利用できるので便利です。このオブジェクト指向の階層を理解すると、関連する要素をまとめて把握することができ、KML の学習にも役立ちます。

すべての要素は Object から派生し、id を割り当てることができます。この id は、NetworkLink で読み込まれたファイル用の KML 更新メカニズム(<Update> を参照)で使用されます。また、共有スタイル(<Style> を参照)でも使用されます。id は標準の XML ID です。

KML は XML の文法とファイル形式を使用するので、タグ名では大文字と小文字が区別され、ここに示すとおりに記述する必要があります。XML に詳しいデベロッパーは、KML 2.2 スキーマ(リンク先は英語)もご覧ください。KML テキスト ファイルを編集する際は、このスキーマを任意の XML エディタで読み込んで KML コードを検証できます。

ヒント: Google Earth の対象物の KML を表示する

Google Earth には、任意のアイテムの KML ファイルを簡単に表示する便利な機能があります。Google Earth の [場所] パネルでアイテムのいずれかを右クリックしてコピーします。任意のテキスト エディタを開いてコピーした内容を貼り付けると、コピーしたオブジェクトに対応する KML を表示できます。

対応するデバイス

KML バージョンには 2 つの番号体系(majorVersion.minorVersion)があります。majorVersion が同じバージョンはすべて互換性があります。このため、名前空間を「2.2」(xmlns="http://www.opengis.net/kml/2.2")に変更すると、すべての KML 2.1 ファイルが KML 2.2 スキーマで検証されます。

このリファレンスについて

リファレンスの各エントリには、メインの要素に含まれる要素を表示した構文セクションがあります。このセクションでは構文を簡略化して表示し、要素について要約しています。また、次の内容についても記載しています:

  • 各要素のデフォルト値(複合要素の場合やデフォルト値がない場合は省略記号「...」)
  • 値のKML フィールドを参照)

構文セクションは、コピーして、KML ファイル内の具体的な要素のテンプレートとして使用できます。

KML の拡張名前空間と gx プレフィックス

OGC KML 標準(リンク先は英語)には、拡張メカニズム(標準にはない情報を指定する追加の要素)が用意されています(詳しくは w3.org の XML 名前空間についての説明(リンク先は英語)をご覧ください)。Google Earth 5.0 のサービス開始にともない、Google は KML を拡張し、多数の新機能を追加しました。これらの拡張機能では、接頭辞 gx と次の名前空間 URI が使用されます。

 xmlns:gx="http://www.google.com/kml/ext/2.2"

名前空間 URI は、先頭に gx- が含まれる要素を使用して、KML ファイルの <kml> 要素に追加する必要があります。

<kml xmlns="http://www.opengis.net/kml/2.2"
 xmlns:gx="http://www.google.com/kml/ext/2.2">

地理情報ブラウザによっては、KML の拡張要素がサポートされていない場合があります。使用しているブラウザで特定の拡張がサポートされていない場合は、大半の場合サポートされていない拡張は無視され、エラーは表示されずに、KML ファイルの残りの部分が読み込まれるはずです。

gx プレフィックスが付く要素は現在、次のとおりです:

この拡張名前空間の要素の XML スキーマ全体は http://developers.google.com/kml/schema/kml22gx.xsd をご覧ください。

KML のフィールド

KML では、boolean、string、double、float、int などの一般的な XML タイプを使用します。また、フィールド要素の種類もいくつか定義されています。次の表に、KML で定義され、よく使用される型の一部と、それらを使用するサンプル要素へのリンクを示します:

フィールド タイプ 使用例
heightModeEnum clampToGround、relativeToGround、absolute <LookAt><Region> をご覧ください
angle90 −90 以上 90 以下の値 <Model> の <latitude> を参照
anglepos90 0 以上 90 以下の値 <LookAt> の <tilt> を参照
angle180 −180 以上 180 以下の値 <Model> の <longitude> を参照
angle360 −360 以上 360 以下の値 <Orientation> の <heading> を確認する
16 進数バイナリ: aabbggrr <ColorStyle> を拡張するすべての要素を表示する
colorModeEnum 標準、ランダム <ColorStyle> を拡張するすべての要素を表示する
日時 dateTime、date、gYearMonth、gYear <TimeSpan><TimeStamp> を参照
displayModeEnum を実行します。 デフォルト、非表示 <BalloonStyle> を参照
gridOrigin lowerLeft、upperLeft <PhotoOverlay> を見る
refreshModeEnum onChange、onInterval、onExpire <Link> を参照
shapeEnum 長方形、円柱、球体 <PhotoOverlay> を見る
styleStateEnum normal、highlight <StyleMap> を参照
unitsEnum fraction、pixels、insetPixels <IconStyle> の<hotSpot><ScreenOverlay> を参照
vec2 x=double xunits=kml:unitsEnum
y=double yunits=kml:unitsEnum
<IconStyle>、
<ScreenOverlay><hotSpot> をご覧ください。
viewRefreshEnum never、onRequest、onStop、onRegion <Link> を参照

 

<抽象ビュー>

構文

<!-- abstract element; do not create -->
<!-- AbstractView -->                       <!-- Camera, LookAt -->
  <!-- extends Object -->
  <TimePrimitive>...</TimePrimitive>        <!-- gx:TimeSpan or gx:TimeStamp -->
  <gx:ViewerOptions>
    <gx:option name="" enabled=boolean />   <!-- name="streetview",
                                                      "historicalimagery",
                                                   or "sunlight" -->
  </gx:ViewerOptions>
<-- /AbstractView -->

説明

これは抽象的な要素であり、KML ファイル内で直接使用することはできません。この拡張要素には <Camera> 要素と <LookAt> 要素があります。

拡張元の要素

AbstractView 固有の要素

<gx:ViewerOptions>
この要素は、Google Earth 6.0 以降で特別な表示モードを有効にします。1 つまたは複数の <gx:option> 子要素があります。<gx:option> 要素には name 属性と enabled 属性があります。name には、ストリートビューの画像(「ストリートビュー」)、過去の画像(「歴史画像」)、特定の日の太陽光効果(「日光」)のいずれかを指定します。enabled 属性は、特定の表示モードをオンまたはオフにするために使用されます。
<gx:horizFov>
ツアー中の AbstractView の水平方向の視野を定義します。この要素は、ツアー以外の AbstractView には影響しません。ツアーの録画中に、Google Earth クライアント(バージョン 6.1 以降)によって <gx:horizFov> が自動的に挿入されます。標準の AbstractView には 60 の値が割り当てられます。ストリートビュー内のビューには、Google Earth の標準ストリートビューの視野と一致する 85 の値が割り当てられます。設定すると、新しい値が指定されるまで、その値は後続のビューに適用されます。

拡張の実行者

<gx:altitudeMode>

この要素は、OGC KML 2.2 標準(リンク先は英語)の拡張要素で、Google Earth 5.0 以降でサポートされています。詳細

構文

<gx:altitudeMode>clampToGround</gx:altitudeMode>
  <!-- gx:altitudeModeEnum: relativeToSeaFloor, clampToSeaFloor, relativeToGround, clampToGround, absolute -->

説明

OGC KML 標準の <altitudeMode> 要素の代わりに使用でき、標準の longitudeMode 値に加えて次の値を受け入れます。

  • relativeToSeaFloor - 標高を海底からの距離(メートル)として解釈します。KML アイテムが海上ではなく陸上にある場合、標高は地面からの距離として解釈されます。
  • clampToSeaFloor - 標高の指定を無視し、KML アイテムを海底上に配置します。KML 対象物が海ではなく陸上にある場合、clampToSeaFloor は地面に固定されます。

<altitudeMode> と同様に、<gx:altitudeMode> は以下に影響します。

  • <coordinates> 要素内の高度座標
  • <LatLonAltBox> 内の <minAltitude><maxAltitude>
  • <Location><GroundOverlay>AbstractView<LookAt><Camera>)内の <altitude>

標高モードについて詳しくは、KML デベロッパー ガイド標高モードをご覧ください。

 altitudemode_reference.kml 

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2"
 xmlns:gx="http://www.google.com/kml/ext/2.2">   <!-- required when using gx-prefixed elements -->

<Placemark>
  <name>gx:altitudeMode Example</name>
  <LookAt>
    <longitude>146.806</longitude>
    <latitude>12.219</latitude>
    <heading>-60</heading>
    <tilt>70</tilt>
    <range>6300</range>
    <gx:altitudeMode>relativeToSeaFloor</gx:altitudeMode>
  </LookAt>
  <LineString>
    <extrude>1</extrude>
    <gx:altitudeMode>relativeToSeaFloor</gx:altitudeMode>
    <coordinates>
      146.825,12.233,400
      146.820,12.222,400
      146.812,12.212,400
      146.796,12.209,400
      146.788,12.205,400
    </coordinates>
  </LineString>
</Placemark>

</kml>

 

<gx:AnimatedUpdate>

この要素は、OGC KML 2.2 標準(リンク先は英語)の拡張要素で、Google Earth 5.0 以降でサポートされています。詳細

構文

<gx:AnimatedUpdate id="ID">
  <gx:duration>0.0</gx:duration>     <!-- double, specifies time in seconds -->
  <Update>
    <targetHref>...</targetHref>     <!-- required; can contain a URL or be left blank -->
                                      <!-- (to target elements within the same file) -->
    <Change>...</Change>
    <Create>...</Create>
    <Delete>...</Delete>
  </Update>
  <gx:delayedStart>0</gx:delayedStart>  <!-- double, specifies time in seconds -->
</gx:AnimatedUpdate>

説明

<gx:AnimatedUpdate> は、<Update> を使用して KML 対象物へのツアー中の変更を制御します。KML 対象物に変更を加えても、DOM は変更されません。つまり、ツアーが終了すると、変更内容は元に戻され、KML には保存されません。

また、<gx:AnimatedUpdate> には、更新が行われる期間を秒単位で指定する <gx:duration> 値を含める必要があります。integer 型、float 型、color 型のフィールドの場合、元の値から新しい値までの変更が、指定した時間をかけてスムーズにアニメーション表示されます。boolean や string など、値を少しずつ変更できない値の場合、指定した時間の最後に値が更新されます。

<gx:AnimatedUpdate> とツアーのタイムラインについて詳しくは、KML デベロッパー ガイドツアーの章のツアーのタイムラインをご覧ください。

<gx:duration>
更新を行う期間(秒)を指定します。
<gx:delayedStart>
(インラインの開始位置の後)更新を開始するまでの待機時間(秒)を指定します。

アイコンのサイズを変更する例を下記に示します。この変更は 5 秒かけてアニメーション表示されます。

 animatedupdate_example.kml

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2"
 xmlns:gx="http://www.google.com/kml/ext/2.2">

<Document>
  <name>gx:AnimatedUpdate example</name>

  <Style id="pushpin">
    <IconStyle id="mystyle">
<Icon>
<href>http://maps.google.com/mapfiles/kml/pushpin/ylw-pushpin.png</href> <scale>1.0</scale>
</Icon>
</IconStyle>
</Style> <Placemark id="mountainpin1"> <name>Pin on a mountaintop</name> <styleUrl>#pushpin</styleUrl>
<Point>
<coordinates>170.1435558771009,-43.60505741890396,0</coordinates>
</Point> </Placemark> <gx:Tour> <name>Play me!</name> <gx:Playlist> <gx:FlyTo>
<gx:flyToMode>bounce</gx:flyToMode>
<gx:duration>3</gx:duration>
<Camera>
<longitude>170.157</longitude>
<latitude>-43.671</latitude>
<altitude>9700</altitude>
<heading>-6.333</heading>
<tilt>33.5</tilt>
</Camera>
</gx:FlyTo> <gx:AnimatedUpdate> <gx:duration>5</gx:duration> <Update> <targetHref></targetHref> <Change> <IconStyle targetId="mystyle"> <scale>10.0</scale> </IconStyle> </Change> </Update> </gx:AnimatedUpdate> <gx:Wait> <gx:duration>5</gx:duration> </gx:Wait> </gx:Playlist> </gx:Tour> </Document> </kml>

拡張元の要素

子要素

<BalloonStyle>

構文

<BalloonStyle id="ID">
  <!-- specific to BalloonStyle -->
  <bgColor>ffffffff</bgColor>            <!-- kml:color -->
  <textColor>ff000000</textColor>        <!-- kml:color -->
  <text>...</text>                       <!-- string -->
  <displayMode>default</displayMode>     <!-- kml:displayModeEnum -->
</BalloonStyle>

説明

目印の説明を表示するバルーンの描画方法を指定します。<bgColor> を指定すると、バルーンの背景色として使用されます。Google Earth にデフォルトで表示される説明のバルーンについては、<Feature> の図をご覧ください。

BalloonStyle 固有の要素

<bgColor>
バルーンの背景色(省略可)。色と不透明度(アルファ)の値を、16 進表記で指定します。1 つの色の範囲は 0 ~ 255 です(00ff)。式の順序は aabbggrr で、aa=alpha(00 ~ ff)、bb=blue(00 ~ ff)、gg=green(00 ~ ff)、rr=red(00 ~ ff)です。アルファの場合、00 は完全に透明であり、ff は完全に不透明です。たとえば、オーバーレイに不透明度 50% の青色を適用する場合は、alpha=0x7f、blue=0xff、green=0x00、red=0x00 を指定します。デフォルトは不透明な白(ffffffff)です。

注: <BalloonStyle> 内の <color> 要素の使用は非推奨になりました。代わりに、<bgColor> を使用してください。

<textColor>
テキストの前景色。デフォルトは黒(ff000000)です。
<text>
バルーン内に表示されるテキスト。テキストが指定されていない場合、Google Earth はデフォルトのバルーンを描画します(機能 <名前> は太字で、機能 <説明> は運転ルートのリンク、白い背景、対象物のポイント座標に添付されるテール)。
<text> タグにエンティティを追加するには、Feature の子要素 $[name]$[description]$[address]$[id]$[Snippet] を使用します。Google Earth は、現在の Feature のこれらに対応する文字列エンティティをさんしょう、その情報をバルーンに表示します。バルーンに「To」と「ここから」を含めるには、$[geDirections] タグを使用します。運転ルートのリンクがバルーンに表示されないようにするには、テキストを含む <text> 要素か、$[description] 要素を使って基本 Feature の <description> に置き換えます。
たとえば、次の KML 抜粋で、$[name]$[description] フィールドは、この Feature 要素を使用する <name> と B の <description> 要素で置き換えられます。
<displayMode>
<displayMode> がデフォルトの場合、Google Earth は <text> で指定された情報を使用してバルーンを作成します。<displayMode> が hide の場合、Google Earth はバルーンを表示しません。Google Earth で、バルーンの <displayMode> が hide の Placemark のリスト ビューアイコンをクリックすると、Google Earth が Placemark にジャンプします。

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Document> <name>BalloonStyle.kml</name>
<open>1</open>
<Style id="exampleBalloonStyle">
<BalloonStyle>
<!-- a background color for the balloon -->
<bgColor>ffffffbb</bgColor>
<!-- styling of the balloon text -->
<text><![CDATA[
<b><font color="#CC0000" size="+3">$[name]</font></b>
<br/><br/>
<font face="Courier">$[description]</font>
<br/><br/>
Extra text that will appear in the description balloon
<br/><br/>
<!-- insert the to/from hyperlinks -->
$[geDirections]
]]></text>
</BalloonStyle>
</Style>
<Placemark>
<name>BalloonStyle</name>
<description>An example of BalloonStyle</description>
<styleUrl>#exampleBalloonStyle</styleUrl>
<Point>
<coordinates>-122.370533,37.823842,0</coordinates>
</Point>
</Placemark>
</Document>
</kml>

拡張元の要素

親要素

トップへ戻る

<gx:balloonVisibility>

この要素は、OGC KML 2.2 標準(リンク先は英語)の拡張要素で、Google Earth 5.0 以降でサポートされています。詳細

構文

<gx:balloonVisibility>0</gx:balloonVisibility>    <!-- 0 (not visible) or 1 (visible) -->

説明

バルーンの説明の表示/非表示を切り替えます。更新するバルーンをオブジェクトの XML ID で識別する必要があります(例: <Placemark targetId="xxx">)。

最初の例では、場所マークが <gx:balloonVisibility> になっています。この Placemark が読み込まれると、説明のバルーンが表示されます。
markervisibility_example.kml

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2"
 xmlns:gx="http://www.google.com/kml/ext/2.2">

  <Placemark>
    <name>Eiffel Tower</name>
    <description>
        Located in Paris, France. 

This description balloon opens
when the Placemark is loaded. </description> <gx:balloonVisibility>1</gx:balloonVisibility> <Point> <coordinates>2.294785,48.858093,0</coordinates> </Point> </Placemark> </kml>

2 つ目の例は、ツアー内での <gx:balloonVisibility> の使用方法を示しています。ツアー中、いくつかのバルーンが開いたり閉じたりして、ユーザーに情報を表示します。
markervisibility_tourexample.kml

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2"
 xmlns:gx="http://www.google.com/kml/ext/2.2">

  <Document>
    <name>balloonVisibility Example</name>
    <open>1</open>

    <gx:Tour>
      <name>Play me</name>
      <gx:Playlist>

        <gx:FlyTo>
          <gx:duration>8.0</gx:duration>
          <gx:flyToMode>bounce</gx:flyToMode>
          <LookAt>
            <longitude>-119.748584</longitude>
            <latitude>33.736266</latitude>
            <altitude>0</altitude>
            <heading>-9.295926</heading>
            <tilt>84.0957450</tilt>
            <range>4469.850414</range>
            <gx:altitudeMode>relativeToSeaFloor</gx:altitudeMode>
          </LookAt>
        </gx:FlyTo>

        <gx:AnimatedUpdate>
          <gx:duration>0.0</gx:duration>
          <Update>
            <targetHref/>
            <Change>
              <Placemark targetId="underwater1">
                <gx:balloonVisibility>1</gx:balloonVisibility>
              </Placemark>
            </Change>
          </Update>
        </gx:AnimatedUpdate>

        <gx:Wait>
          <gx:duration>4.0</gx:duration>
        </gx:Wait>

        <gx:AnimatedUpdate>
          <gx:duration>0.0</gx:duration>
          <Update>
            <targetHref/>
            <Change>
              <Placemark targetId="underwater1">
                <gx:balloonVisibility>0</gx:balloonVisibility>
              </Placemark>
            </Change>
          </Update>
        </gx:AnimatedUpdate>

        <gx:FlyTo>
          <gx:duration>3</gx:duration>
          <gx:flyToMode>smooth</gx:flyToMode>
          <LookAt>
            <longitude>-119.782630</longitude>
            <latitude>33.862855</latitude>
            <altitude>0</altitude>
            <heading>-9.314858</heading>
            <tilt>84.117317</tilt>
            <range>6792.665540</range>
            <gx:altitudeMode>relativeToSeaFloor</gx:altitudeMode>
          </LookAt>
        </gx:FlyTo>

        <gx:AnimatedUpdate>
          <gx:duration>0.0</gx:duration>
          <Update>
            <targetHref/>
            <Change>
              <Placemark targetId="underwater2">
                <gx:balloonVisibility>1</gx:balloonVisibility>
              </Placemark>
            </Change>
          </Update>
        </gx:AnimatedUpdate>

        <gx:Wait>
          <gx:duration>4.0</gx:duration>
        </gx:Wait>

        <gx:AnimatedUpdate>
          <gx:duration>0.0</gx:duration>
          <Update>
            <targetHref/>
            <Change>
              <Placemark targetId="underwater2">
                <gx:balloonVisibility>0</gx:balloonVisibility>
              </Placemark>
            </Change>
          </Update>
        </gx:AnimatedUpdate>

        <gx:FlyTo>
          <gx:duration>3</gx:duration>
          <gx:flyToMode>smooth</gx:flyToMode>
          <LookAt>
            <longitude>-119.849578</longitude>
            <latitude>33.968515</latitude>
            <altitude>0</altitude>
            <heading>-173.948935</heading>
            <tilt>23.063392</tilt>
            <range>3733.666023</range>
            <altitudeMode>relativeToGround</altitudeMode>
          </LookAt>
        </gx:FlyTo>

        <gx:AnimatedUpdate>
          <gx:duration>0.0</gx:duration>
          <Update>
            <targetHref/>
            <Change>
              <Placemark targetId="onland">
                <gx:balloonVisibility>1</gx:balloonVisibility>
              </Placemark>
            </Change>
          </Update>
        </gx:AnimatedUpdate>

        <gx:Wait>
          <gx:duration>4.0</gx:duration>
        </gx:Wait>

      </gx:Playlist>
    </gx:Tour>

    <Placemark id="underwater1">
      <name>Underwater off the California Coast</name>
      <description>
        The tour begins near the Santa Cruz Canyon,
        off the coast of California, USA.
      </description>
      <Point>
        <gx:altitudeMode>clampToSeaFloor</gx:altitudeMode>
        <coordinates>-119.749531,33.715059,0</coordinates>
      </Point>
    </Placemark>

    <Placemark id="underwater2">
      <name>Still swimming...</name>
      <description>We're about to leave the ocean, and visit the coast...</description>
      <Point>
        <gx:altitudeMode>clampToSeaFloor</gx:altitudeMode>
        <coordinates>-119.779550,33.829268,0</coordinates>
      </Point>
    </Placemark>

    <Placemark id="onland">
      <name>The end</name>
      <description>
        <![CDATA[The end of our simple tour.
        Use <gx:balloonVisibility>1</gx:balloonVisibility>
        to show description balloons.]]>
      </description>
      <Point>
        <coordinates>-119.849578,33.968515,0</coordinates>
      </Point>
    </Placemark>


  </Document>
</kml>

拡張

<Camera>

構文

<Camera id="ID">
  <!-- inherited from AbstractView element -->
  <TimePrimitive>...</TimePrimitive>  <!-- gx:TimeSpan or gx:TimeStamp -->
  <gx:ViewerOptions>
    <option> name=" " type="boolean">     <!-- name="streetview", "historicalimagery", "sunlight", or "groundnavigation" -->
    </option>
  </gx:ViewerOptions>

  <!-- specific to Camera -->
  <longitude>0</longitude>            <!-- kml:angle180 -->
  <latitude>0</latitude>              <!-- kml:angle90 -->
  <altitude>0</altitude>              <!-- double -->
  <heading>0</heading>                <!-- kml:angle360 -->
  <tilt>0</tilt>                      <!-- kml:anglepos180 -->
  <roll>0</roll>                      <!-- kml:angle180 -->
  <altitudeMode>clampToGround</altitudeMode>
        <!-- kml:altitudeModeEnum: relativeToGround, clampToGround, or absolute -->
        <!-- or, gx:altitudeMode can be substituted: clampToSeaFloor, relativeToSeaFloor -->
</Camera> 

説明

シーンを表示する仮想カメラを定義します。この要素では、地表に対するカメラの位置と視線の方向を定義します。カメラの位置は、<経度>、<緯度>、<高度>、または <高度モード> または <gx:heightMode> のいずれかで定義されます。カメラの視線方向は、<見出し>、<傾斜>、<ロール> で定義されます。<カメラ> は Feature の子要素でも <CameraLinkControl> の親要素でもありません。

<Camera> を使用すると、ビューを 6 つの自由度で完全にコントロールできるので、カメラを空間に配置し、X 軸、Y 軸、Z 軸を中心に回転させることができます。最も重要なのは、カメラのビューを傾けることができる点です。つまり、地平線上から空を見上げることも可能です。

<Camera> には、TimePrimitive(<gx:TimeSpan> または <gx:TimeStamp>)も含めることができます。カメラの時間値は、過去の画像、太陽光、タイムスタンプ付きの対象物の表示に影響します。詳しくは、デベロッパー ガイドの時間とアニメーションのページで AbstractView での時間の指定をご覧ください。

ビューの定義

Feature または <NetworkLinkControl> 内では、<Camera> オブジェクトまたは <LookAt> オブジェクトを使用します(両方を同じオブジェクト内で使用しないでください)。<Camera> オブジェクトは、見る側の位置と向きで眼点を定義します。<Camera> オブジェクトを使用すると、地表上ではないビューを指定できます。<LookAt> オブジェクトでは、表示対象で視点を定義します。<LookAt> オブジェクトは <Camera> オブジェクトよりも範囲が制限され、通常は視線の方向が地表と交差する必要があります。

仮想カメラの X 軸、Y 軸、Z 軸を次の図に示します。

  • X 軸は、カメラの右方向を指す軸で、「右ベクトル」と呼びます。
  • Y 軸は、画面からの相対で見た「上」方向を定義する軸で、「上ベクトル」と呼びます。
  • Z 軸は、画面の中心から視点に向かう軸です。カメラは、ビューベクトルという、-Z 軸の下方向を見ます。

変換の順序

転換の順序は重要です。カメラは、デフォルトでは -Z 軸に沿って Earth をまっすぐ見下した状態で配置されます。回転を行う前に、カメラは Z 軸に沿って <高度> に変換されます。変換順序は次のとおりです。

  1. <altitude> - Z 軸に沿って<高度>に平行移動します。
  2. <heading> - Z 軸を中心に回転します。
  3. <tilt> - X 軸を中心に回転します。
  4. <roll> - Z 軸を中心に回転します(再び)。

回転が適用されるたびに、2 つのカメラ軸の向きが変わりますので注意してください。

Camera 固有の要素

<longitude>
仮想カメラの経度(視点)です。グリニッジ子午線を基準とした角距離(度数)を指定します。子午線の西側の値の範囲は -180~0 度です。子午線の東側の値の範囲は 0~180 度です。
<latitude>
仮想カメラの緯度。赤道(0 度)から北または南の度数を指定します。値の範囲は -90~90 度です。
<altitude>
地表面からのカメラの距離(メートル単位)。カメラの <高度モード> または <gx:heightMode> に従って解釈されます。
<heading>
カメラの向き(方位角)。度数で表します。デフォルトは 0(真北)です(図を参照)。値の範囲は 0~360 度です。
<tilt>
X 軸を中心としたカメラの回転(度数)。0 の値は、視線が地面に向かってまっすぐ下の方向であることを示します(最も一般的な方向)。<tilt> の 90 の値は、視線が水平線に向かう方向であることを示します。90 より大きな値は、視線が空を見上げる方向であることを示します。<tilt> の値は最大 +180 度です。
<roll>
Z 軸を中心としたカメラの回転(度数)。値の範囲は -180~+180 度です。
<altitudeMode>
Camera に指定された <height> の解釈方法を指定します。有効な値は次のとおりです。
  • relativeToGround -(デフォルト)<altitude> の値を地面からの距離(メートル)として解釈します。ポイントが海上の場合、<altitude> の値は海面からの距離(メートル)として解釈されます。海底からの相対ポイントを指定するには、下記の <gx:heightMode> をご覧ください。
  • clampToGround - カメラの場合、この設定でもカメラは relativeToGround に配置されます。カメラを地形の高さに置くと、視線が地形と交差して視界がブロックされてしまうからです。
  • absolute - <altitude> の値を海面からの距離(メートル)として解釈します。
<gx:altitudeMode>
Google 拡張名前空間内の KML 拡張であり、海底からの相対高度を可能にします。値は次のとおりです。
  • relativeToSeaFloor - <altitude> 値を海底からの距離(メートル)として解釈します。ポイントが海上ではなく陸上にある場合、<altitude> は地面からの距離として解釈されます。
  • clampToSeaFloor - <altitude> の指定を無視し、Camera を海底上に配置します。ポイントが海上ではなく陸上にある場合、Camera は地面に配置されます。

拡張元の要素

親要素

トップへ戻る

<ColorStyle>

構文

<!-- abstract element; do not create -->
<!-- ColorStyle id="ID" -->          <!-- IconStyle,LabelStyle,LineStyle,PolyStyle -->
  <color>ffffffff</color>            <!-- kml:color -->
  <colorMode>normal</colorMode>      <!-- kml:colorModeEnum: normal or random -->
<!-- /ColorStyle -->

説明

これは抽象的な要素であり、KML ファイル内で直接使用することはできません。この要素には、拡張されたスタイル タイプの色や色モードを指定する要素があります。

ColorStyle 固有の要素

<color>
色と不透明度(アルファ)の値は 16 進数で表します。1 つの色の値の範囲は 0 ~ 255(00ff)です。アルファの場合、00 は完全に透明になり、ff は完全に不透明になります。式の順序は aabbggrr で、aa=alpha(00 ~ ff)、bb=blue(00 ~ ff)、gg=green(00 ~ ff)、rr=red(00 ~ ff)です。たとえば、オーバーレイに不透明度 50% の青色を適用する場合は、alpha=0x7f、blue=0xff、green=0x00、red=0x00 を指定します。
<colorMode>
<colorMode> の値は標準(効果なし)で、ランダムです。値 random は、以下のように基数 <color> にランダムな線形スケールを適用します。
  • 完全にランダムに色を選択するには、基本の <color> に白(ffffffff)を指定します。
  • 単一の色成分(たとえば、赤を示す値の ff0000ff)を指定すると、その 1 つの成分(赤)に対するランダムな色の値が選択されます。この場合、値の範囲は 00()から ff(完全な赤)になります。
  • 2 つまたは 3 つすべての色成分に値を指定すると、ランダムなリニア スケールが各色成分に適用されます。この場合、値の範囲は、黒から各成分に指定された最大値までになります。
  • 色の不透明度は <color> のアルファ成分で決定され、ランダムに変更されることはありません。

拡張元の要素

この要素を拡張した要素

トップへ戻る

<Container>

構文

<!-- abstract element; do not create -->
<!-- Container id="ID" -->              <!-- Document,Folder -->
  <!-- inherited from Feature element -->
  <name>...</name>                      <!-- string -->
  <visibility>1</visibility>            <!-- boolean -->
  <open>0</open>                        <!-- boolean -->
  <address>...</address>                <!-- string -->
  <AddressDetails xmlns="urn:oasis:names:tc:ciq:xsdschema:xAL:2.0">...
</AddressDetails> <!-- string --> <phoneNumber>...</phoneNumber> <!-- string -->
<Snippet maxLines="2">...</Snippet> <!-- string --> <description>...</description> <!-- string --> <AbstractView>...</AbstractView> <!-- LookAt or Camera --> <TimePrimitive>...</TimePrimitive> <styleUrl>...</styleUrl> <!-- anyURI --> <StyleSelector>...</StyleSelector> <Region>...</Region> <Metadata>...</Metadata> <atom:author>...<atom:author> <!-- xmlns:atom="http://www.w3.org/2005/Atom" --> <atom:link href=" "/> <!-- specific to Container -->
<!-- 0 or more Features --> <!-- /Container -->

説明

これは抽象的な要素であり、KML ファイル内で直接使用することはできません。Container 要素に 1 つ以上の Feature を含めて、ネストした階層を作成できます。

拡張元の要素

この要素を拡張した要素

トップへ戻る

<Document>

構文

<Document id="ID">
  <!-- inherited from Feature element -->
  <name>...</name>                      <!-- string -->
  <visibility>1</visibility>            <!-- boolean -->
  <open>0</open>                        <!-- boolean -->
  <atom:author>...<atom:author>         <!-- xmlns:atom -->
  <atom:link href=" "/>                 <!-- xmlns:atom -->
  <address>...</address>                <!-- string -->
  <xal:AddressDetails>...</xal:AddressDetails>  <!-- xmlns:xal -->
<phoneNumber>...</phoneNumber> <!-- string -->
<Snippet maxLines="2">...</Snippet> <!-- string --> <description>...</description> <!-- string --> <AbstractView>...</AbstractView> <!-- Camera or LookAt --> <TimePrimitive>...</TimePrimitive> <styleUrl>...</styleUrl> <!-- anyURI --> <StyleSelector>...</StyleSelector> <Region>...</Region> <Metadata>...</Metadata> <!-- deprecated in KML 2.2 --> <ExtendedData>...</ExtendedData> <!-- new in KML 2.2 --> <!-- specific to Document --> <!-- 0 or more Schema elements --> <!-- 0 or more Feature elements --> </Document>

説明

Document は、アイテムとスタイルのコンテナです。この要素は、KML ファイルで共有スタイルを使用している場合は必須です。共有スタイルを使用することをおすすめします。手順は次のとおりです。

  1. 1 つの Document 内にすべての Style を定義し、各スタイルに固有の ID を割り当てます。
  2. 個々の Feature または StyleMap 内で、<styleUrl> 要素を使用して Style の ID を参照します。

共有スタイルは、ドキュメント内の対象物に継承されません。

各対象物は、使用するスタイルを <styleUrl> 要素で明示的に参照する必要があります。ドキュメント(ListStyle など)に適用されるスタイルは、ドキュメント自体で <styleUrl> を明示的に参照する必要があります。次に例を示します。

<Document>
  <Style id="myPrettyDocument">
   <ListStyle> ... </ListStyle>

  </Style>
  <styleUrl#myPrettyDocument">
  ...
</Document> 

共有スタイルをフォルダ内に配置しない。

次の例は、共有スタイルの使用方法を示しています。

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Document>
<name>Document.kml</name>
<open>1</open> <Style id="exampleStyleDocument">
<LabelStyle>
<color>ff0000cc</color>
</LabelStyle>
</Style>
<Placemark>
<name>Document Feature 1</name>
<styleUrl>#exampleStyleDocument</styleUrl>
<Point>
<coordinates>-122.371,37.816,0</coordinates>
</Point>
</Placemark>
<Placemark>
<name>Document Feature 2</name>
<styleUrl>#exampleStyleDocument</styleUrl>
<Point>
<coordinates>-122.370,37.817,0</coordinates>
</Point>
</Placemark>
</Document>
</kml>

拡張元の要素

子要素

トップへ戻る

<gx:duration>

この要素は、OGC KML 2.2 標準(リンク先は英語)の拡張要素で、Google Earth 5.0 以降でサポートされています。詳細

構文

<gx:duration>0.0</gx:duration>            <!-- double -->

説明

<gx:duration> は、イベントの期間を指定することで gx:TourPrimitive を拡張します。この時間は、XML の double データ型を使用して秒単位で記述されます。

時間と <gx:FlyTo>

<gx:FlyTo> 要素で長さを指定する場合、前の地点から指定した地点にブラウザが飛ぶのに要する時間を指定します。

<gx:FlyTo>
  <gx:flyToMode>bounce</gx:flyToMode>
  <gx:duration>10.2</gx:duration>

  <!-- AbstractView -->
    ...
  <!-- /AbstractView -->
</gx:FlyTo>

時間と <gx:AnimatedUpdate>

更新が行われる期間を指定します。integer 型、float 型、color 型のフィールドの場合、元の値から新しい値までの変更が、指定した時間をかけてスムーズにアニメーション表示されます。boolean や string など、値を少しずつ変更できない値の場合、指定した時間の最後に値が更新されます。

<gx:AnimatedUpdate>
  <gx:duration>5.0</gx:duration>
  <Update>

    ....

  </Update>
</gx:AnimatedUpdate>

 

<拡張データ>

構文

<ExtendedData>                       
<Data name="string">
  <displayName>...</displayName>    <!-- string -->
   <value>...</value>                <!-- string -->
</Data> <SchemaData schemaUrl="anyURI">
<SimpleData name=""> ... </SimpleData>   <!-- string -->
</SchemaData> <namespace_prefix:other>...</namespace_prefix:other> </ExtendedData>

説明

ExtendedData 要素は、カスタム データを KML Feature(NetworkLink、Placemark、GroundOverlay、PhotoOverlay、ScreenOverlay、Document、Folder)に追加します。次の 3 つの追加方法があります。

  • <Data> 要素を使用して、型を指定しないデータ/値のペアを追加する(基本)
  • <Schema> 要素を使用して型を指定した新しいフィールドを宣言し、<SchemaData> 要素を使用してインスタンス化する(高度)
  • KML ファイル内で外部の名前空間を参照することによって、他の名前空間で定義されている XML 要素を参照する(基本)

1 つの KML ファイルや Feature 内でさまざまなデータに対して、これらの方法を組み合わせて使用できます。

詳しくは KML トピックのカスタム データの追加をご覧ください。

ExtendedData 固有の要素

<データ名 ="文字列">
型なしの name/value ペアを作成します。namedisplayName という 2 つのバージョンがあります。name 属性は、KML ファイル内のデータペアを識別するために使用されます。displayName 要素は、Google Earth で適切にフォーマットされた名前(スペース、HTML 形式の名前)を表示する場合に使用します。<BalloonStyle> の <text> 要素では、表記 $[name/displayName] が <displayName> に置き換えられます。<Data> 要素の name 値をこの形式(例: $[holeYardage])に置き換えると、属性値が <value> に置き換えられます。デフォルトでは、目印と値との関連付けにはバルーンの名前が表示されます。
<表示名>
表示に使用する名前(省略可)です。
<値>
データペアの値。
<Placemark>
  <name>Club house</name>
  <ExtendedData>
    <Data name="holeNumber">
      <value>1</value>
    </Data>
    <Data name="holeYardage">
      <value>234</value>
    </Data>
    <Data name="holePar">
      <value>4</value>
    </Data>
  </ExtendedData>
</Placemark>
<SchemaData schemaUrl="任意の URI">
この要素は、<Schema> と組み合わせて使用し、入力されたカスタムデータを KML 対象物に追加します。スキーマの要素(schemaUrl 属性で識別)は、カスタムデータ型を宣言します。実際のデータ オブジェクト(カスタム データの「インスタンス」)は、SchemaData 要素を使用して定義します。
<schemaURL> には、完全な URL、外部 KML ファイルで定義されたスキーマ ID への参照、または同じ KML ファイルで定義されたスキーマ ID への参照があります。以下の仕様はすべて許容されます。
schemaUrl="http://host.com/PlacesIHaveLived.kml#my-schema-id"
schemaUrl="AnotherFile.kml#my-schema-id"
schemaUrl="#schema-id"   <!-- same file -->
スキーマ要素は常に Document の子です。ExtendedData 要素は、カスタム データを持つ Feature の子要素です。
<SimpleData name="string">
この要素は、name 属性で識別されるカスタムデータ フィールドに値を割り当てます。このカスタム データ フィールドの型と名前は、<Schema> 要素で宣言します。
以下に、2 つのカスタム データ要素を定義する例を示します。
<Placemark>
  <name>Easy trail</name>
  <ExtendedData>
    <SchemaData schemaUrl="#TrailHeadTypeId">
      <SimpleData name="TrailHeadName">Pi in the sky</SimpleData>
      <SimpleData name="TrailLength">3.14159</SimpleData>
      <SimpleData name="ElevationGain">10</SimpleData>
    </SchemaData>
    </ExtendedData>
    <Point>
      <coordinates>-122.000,37.002</coordinates>
    </Point>
</Placemark>
<Placemark>
  <name>Difficult trail</name>
  <ExtendedData>
    <SchemaData schemaUrl="#TrailHeadTypeId">
      <SimpleData name="TrailHeadName">Mount Everest</SimpleData>
      <SimpleData name="TrailLength">347.45</SimpleData>
      <SimpleData name="ElevationGain">10000</SimpleData>
    </SchemaData>
  </ExtendedData>
  <Point>
    <coordinates>-122.000,37.002</coordinates>
  </Point>
</Placemark>
<namespace_接頭辞:other>
この要素では、型なしのカスタムデータを追加できます。ファイルの <kml> 要素内または <ExtendedData> 要素の属性で名前空間のプレフィックスを参照し、各データ要素名の先頭にこのプレフィックスを付けるようにしてください。このようにして追加したカスタム データは KML ファイルに保存されますが、Google Earth で使用されることはありません。常にファイルと一緒に保存されます。
次の例では、「camp」名前空間接頭辞を使用しています。
<ExtendedData xmlns:prefix="camp">
<camp:number>14</camp:number>
<camp:parkingSpaces>2</camp:parkingSpaces>
<camp:tentSites>4</camp:tentSites>
</ExtendedData>

親要素

  • <Feature> から派生する任意の要素

関連項目

<Feature>

構文

<!-- abstract element; do not create -->
<!-- Feature id="ID" -->                <!-- Document,Folder,
                                             NetworkLink,Placemark,
                                             GroundOverlay,PhotoOverlay,ScreenOverlay -->
  <name>...</name>                      <!-- string -->
  <visibility>1</visibility>            <!-- boolean -->
  <open>0</open>                        <!-- boolean -->
  <atom:author>...<atom:author>         <!-- xmlns:atom -->
  <atom:link href=" "/>            <!-- xmlns:atom -->
  <address>...</address>                <!-- string -->
  <xal:AddressDetails>...</xal:AddressDetails>  <!-- xmlns:xal -->
<phoneNumber>...</phoneNumber> <!-- string -->
<Snippet maxLines="2">...</Snippet> <!-- string --> <description>...</description> <!-- string --> <AbstractView>...</AbstractView> <!-- Camera or LookAt --> <TimePrimitive>...</TimePrimitive> <!-- TimeStamp or TimeSpan --> <styleUrl>...</styleUrl> <!-- anyURI --> <StyleSelector>...</StyleSelector> <Region>...</Region> <Metadata>...</Metadata> <!-- deprecated in KML 2.2 --> <ExtendedData>...</ExtendedData> <!-- new in KML 2.2 -->
<-- /Feature -->

説明

これは抽象的な要素であり、KML ファイル内で直接使用することはできません。Feature(アイテム)の要素がどのように Google Earth に表示されるかを次の図に示します。

Feature 固有の要素

<name>
3D ビューアで、オブジェクト(Placemark、Folder、NetworkLink など)のラベルとして表示されるユーザー定義のテキスト。
<visibility>
ブール値。最初に読み込まれたときに、その Feature を 3D ビューアに描画するかどうかを指定します。Feature を表示するには、その上位要素の <visibility> タグもすべて 1 に設定する必要があります。Google Earth のリスト ビューには Feature ごとにチェックボックスがあり、ユーザーがその Feature の表示/非表示をコントロールできるようになっています。
<open>
ブール値。[場所] パネルに最初に読み込んだときに、ドキュメントまたはフォルダが閉じているか開いているかを指定します。0=折りたたまれた状態(デフォルト)、1=拡大された状態。<ListStyle> もご覧ください。この要素は、ドキュメント、フォルダ、NetworkLink にのみ適用されます。
<atom:author>

KML 2.2 では、作成者と関連ウェブサイトに関するデータを KML ファイルに追加するための新しい要素がサポートされています。この情報は、Google Earth などの Earth ブラウザでも、Google マップなどの他のアプリケーションでも、地理情報の検索結果に表示されます。KML で使用されるスクリプト要素は次のとおりです。

  • atom:author 要素 - atom:name の親要素
  • atom:name 要素 - 作成者の名前
  • atom:link 要素 - href 属性を含む
  • href 属性 - KML/KMZ ファイルを含むウェブページの URL

これらの要素は、Atom Syndication Format で定義されます。完全な仕様については、http://atompub.org をご覧ください。(後続のサンプルを参照)。

<atom:author> 要素は、KML 対象物の作成者を指定する <atom:name> の親要素です。

<atom:link href="..." >
この KML ファイルや KMZ ファイルを含むウェブサイトの URL を指定します。この要素を使用する KML ファイルには、必ず xmlns:atom="http://www.w3.org/2005/Atom" という要素の名前空間を含めます(後続のを参照)。
<address>
標準の番地、市区町村、都道府県、郵便番号として記述された非構造化住所を表す文字列値。緯度や経度の座標を使用する代わりに、<address> タグを使用してポイントの場所を指定できます(<Point> が指定されている場合は、<address> よりも優先されます)。Google Earth でこのタグがサポートされている言語 / 地域を確認するには、Google マップのヘルプをご覧ください。
<xal:AddressDetails>
住所の形式に関する国際標準である xAL(eXtensible Address Language)で構造化された住所。<xal:AddressDetails> は、Google マップでのジオコーディングにのみ使用されます。詳しくは、Google Maps API のドキュメントをご覧ください。現在 Google Earth ではこの要素を使用していないため、代わりに <address> を使用してください。この要素の名前空間を使用するすべての KML ファイルに含める必要があります。xmlns:xal="urn:oasis:names:tc:ciq:xsdschema:xAL:2.0"
<phoneNumber>
電話番号を表す文字列値。この要素はモバイルの Google マップでのみ使用されます。Java 対応の携帯電話に対する業界標準は RFC2806 です。
詳しくは、http://www.ietf.org/rfc /rfc2806.txt をご覧ください。 
<Snippet maxLines="2" >
機能の簡単な説明。Google Earth では、この説明は [場所] パネルのアイテム名の下に表示されます。Snippet を指定しないと、<description> の最初の 2 行が使用されます。Placemark に description と Snippet の両方を指定すると、Google Earth では、<Snippet> は [場所] パネルのその目印の下、<description> は目印の説明バルーン内に表示されます。このタグは HTML マークアップに対応していません。<Snippet> には maxLines 属性があります。この属性は、表示する行の最大数を指定する整数です。
<description>

説明バルーンに表示されるユーザー定義コンテンツ。

<description> 要素でサポートされるコンテンツは、Google Earth 4.3 から 5.0 になる際に変更されています。バージョンごとに固有の情報は下記をご覧ください。その後に両方のバージョンで共通の情報について説明しています。

Google Earth 5.0

Google Earth 5.0(以降)では、プレーン テキスト コンテンツの他に、HTML と JavaScript を説明バルーン内で使用できます。description タグのコンテンツは WebKit オープンソース ウェブブラウザ エンジンによってレンダリングされ、WebKit ベースのブラウザで表示するときと同じように表示されます。

一般的な制限事項

ローカル ファイルへのリンクは通常は認められていません。この制限により、悪意のあるコードがシステムを損傷したり、データにアクセスしたりすることを防ぐことができます。ローカル ファイルシステムへのアクセスを許可する場合は、[設定] > [目印のバルーンにローカル ファイルと個人データへのアクセスを許可する] をオンにします。<img> タグ内でリンクを指定する場合は、ローカル ファイルシステム上の画像ファイルへのリンクは常に許可されます。

KMZ ファイルに圧縮されているコンテンツは、ローカル ファイルシステム上にある場合でもアクセスできます。

Cookie は有効ですが、同一生成元ポリシーに従うため、ローカル コンテンツは他のコンテンツ(他のローカル コンテンツを含む)とドメインを共有しません。

HTML

HTML のほとんどは、WebKit ブラウザで表示するときと同じようにレンダリングされます。

KML に直接記述する HTML に含まれる target は無視されます。このようなリンクはすべて、target が _blank に設定されたかのように開きます。指定した target はすべて無視されます。

ただし、iFrame 内の HTML や、JavaScript または DHTML で動的に生成される HTML では、target="_self" がデフォルトとなります。その他の target の指定もサポートされています。

KMZ ファイル、ローカル アンカー リンク、;flyto メソッドのコンテンツは、iframe 内の HTML からターゲットに設定することはできません。

ユーザーが iFrame の幅に width="100%" を指定した場合、iFrame の幅は、バルーン内の他のすべてのコンテンツに依存します。レイアウト サイズを計算する際は、基本的には無視されます。このルールはバルーン内の他のブロック要素にも適用されます。

JavaScript

JavaScript は大部分がサポートされていますが、ダイアログボックスは作成できません。そのため、alert() や prompt() のような関数は表示されません。ただし、他のエラーや例外と同様、システム コンソールにも書き込まれます。

CSS

CSS は使用できます。標準的なウェブブラウザで CSS を使用するときと同様に、CSS を使用してテキストやページ要素のスタイルを指定したり、説明バルーンのサイズやデザインをコントロールしたりできます。

Google Earth 4.3

<description> 要素では、プレーン テキストの他に、表を含む HTML のフォーマット設定要素のサブセットがサポートされています(下記の KML の例をご覧ください)。この要素では、動的なページ マークアップ(PHP、JSP、ASP)、スクリプト言語(VBScript、JavaScript)、アプリケーション言語(Java、Python)などの他のウェブベース テクノロジーはサポートされません。Google Earth リリース 4.2 では、動画がサポートされています。(下記のを参照)。

共通情報

description に HTML マークアップを指定しない場合は、Google Earth によってフォーマットが行われ、改行が <br> で置き換えられて、URL はアンカー タグで処理されます。ワールド ワイド ウェブの有効な URL 文字列は、自動的にその URL へのハイパーリンクに変換されます(例: http://www.google.com)。そのため、<a href="http://."></a> タグで URL を囲む必要はありません。

HTML を使用して特定の語句にハイパーリンクを設定する場合や HTML に画像を含める場合は、HTML のエンティティ参照または CDATA 要素を使用して、山かっこやアポストロフィ、その他の特殊文字をエスケープする必要があります。CDATA 要素を使用すると、かっこ内で使用されている特殊文字は XML パーサーで無視されます。この要素の形式は次のとおりです:

<![CDATA[
  special characters here
]]> 

CDATA 要素を使用しない場合は、エンティティ参照を使用してすべての特殊文字を置換します。

<description>
  <![CDATA[
This is an image
<img src="icon.jpg">
  ]]>
</description>

<a> 要素の指定によるその他の動作

KML では <a> 要素内で 2 つの属性(hreftype)を使用できます。

アンカー要素 <a> には、URL を指定する href 属性が含まれています。

href が KML ファイルで、拡張子が .kml または .kmz の場合、Google Earth はユーザーがクリックするとそのファイルを直接読み込みます。Google Earth で不明な拡張子(.html など)で終わる URL は、ブラウザに送信されます。

href は、フラグメント URL(# に続いて KML 識別子が続く URL)です。フラグメント URL を含むリンクをユーザーがクリックした場合、デフォルトでブラウザはそのフラグメントに一致する ID を持つ Feature にジャンプします。Feature に LookAt 要素または Camera 要素が含まれる場合、Feature は指定された視点で表示されます。

この動作をさらに詳細にするには、フラグメント URL に次の 3 つの文字列を追加します。

  • ;flyto(デフォルト) - Feature にジャンプ
  • ;バルーン - 対象物のバルーンを開きますが、Feature にはジャンプしません
  • ;bannerFlyto - Feature のバルーンを開いて Feature にジャンプします。

たとえば、次のコードは、ファイル CraftsFairs.kml を開き、ID が「Albuquerque」の Placemark にジャンプし、そのバルーンを開きます。

<description>
  <![CDATA[ 
<a href="http://myServer.com/CraftsFairs.kml#Albuquerque;balloonFlyto">
One of the Best Art Shows in the West</a> ]]> </description>

type 属性は、href.kml または .kmz で終わっていないが、KML のコンテキストで参照を解釈する必要がある場合に <a> 要素内で使用されます。次の項目を指定します。

type="application/vnd.google-earth.kml+xml" 

たとえば、次の URL では、ファイル属性が .php であるにもかかわらず、type 属性を使用して、ファイルの読み込みを試行するように Google Earth に通知しています。

<a href="myserver.com/cgi-bin/generate-kml.php#placemark123"
   type="application/vnd.google-earth.kml+xml">
<AbstractView>
Feature から導出された任意の要素に関連付けられた視点を定義します。<Camera><LookAt> をご覧ください。
<TimePrimitive>
この機能を一定の期間(<TimeSpan>)または特定の時点(<TimeStamp>)に関連付けます。
<styleUrl>
ドキュメントで定義されている <Style> または <StyleMap> の URL。スタイルが同じファイル内にある場合は、# 参照を使用します。スタイルが外部ファイルで定義されている場合は、# とともに完全な URL を使用します。例:
<styleUrl>#myIconStyleID</styleUrl>
<styleUrl>http://someserver.com/somestylefile.xml#restaurant</styleUrl>
<styleUrl>eateries.kml#my-lunch-spot</styleUrl>
<StyleSelector>
1 つ以上の Style と StyleMap を定義して、対象物から派生した要素や、目印のジオメトリの外観をカスタマイズできます。(<BalloonStyle><ListStyle><StyleSelector><ColorStyle> から派生したスタイルを参照)。Feature 内で定義されたスタイルは「インライン スタイル」と呼ばれ、それを含む Feature にのみ適用されます。<Document> の子スタイルを定義することを「共有スタイル」と呼びます。共有スタイルには id を定義する必要があります。この ID は、<Document> 内の 1 つ以上の対象物によって参照されます。対象物のスタイル(フォルダ、GroundOverlay、NetworkLink、Placemark、ScreenOverlay)が、共有スタイルおよびインライン スタイルの両方で定義されている場合、Feature のインライン スタイル値が共有スタイルの値よりも優先されます。
<Region>
ある地域に関連付けられた対象物とジオメトリは、その地域がアクティブである場合にのみ描画されます。<リージョン> をご覧ください。
<メタデータ>
<ExtendedData>
KML ファイルにカスタムデータを追加できます。このデータは、(1)外部 XML スキーマを参照するデータ、(2)型なしのデータ/値のペア、または(3)型付きデータです。特定の KML 対象物には、これらの種類のカスタムデータを組み合わせることができます。

説明文内での HTML 要素の使用例

Google Earth 4.3 の <description> 要素でサポートされているすべての HTML 要素を次の例に示します。Google Earth 5.0 以降では、HTML と JavaScript が完全にサポートされています。

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Placemark>
<name>Feature.kml</name> <Snippet maxLines="4">
The snippet is a way of
providing an alternative
description that will be
shown in the List view.
</Snippet>
<description>
<![CDATA[
Styles: <i>Italics</i>, <b>Bold</b>, <u>Underlined</u>,
<s>Strike Out</s>, subscript<sub>subscript</sub>,
superscript<sup>superscript</sup>,
<big>Big</big>, <small>Small</small>, <tt>Typewriter</tt>,
<em>Emphasized</em>, <strong>Strong</strong>, <code>Code</code>
<hr />
Fonts:
<font color="red">red by name</font>,
<font color="#408010">leaf green by hexadecimal RGB</font>,
<font size=1>size 1</font>, <font size=2>size 2</font>,
<font size=3>size 3</font>, <font size=4>size 4</font>,
<font size=5>size 5</font>, <font size=6>size 6</font>,
<font size=7>size 7</font>,
<font face=times>Times</font>,
<font face=verdana>Verdana</font>,
<font face=arial>Arial</font>
<br/>
<hr />
Links:
<a href="http://doc.trolltech.com/3.3/qstylesheet.html">
QT Rich Text Rendering
</a>
<br />
<hr />
Alignment:
<br />
<p align=left>left</p><p align=center>center</p>
<p align=right>right</p>
<hr />
Ordered Lists:
<br />
<ol><li>First</li><li>Second</li><li>Third</li></ol>
<ol type="a"><li>First</li><li>Second</li><li>Third</li></ol>
<ol type="A"><li>First</li><li>Second</li><li>Third</li></ol>
<hr />
Unordered Lists:
<br />
<ul><li>A</li><li>B</li><li>C</li></ul>
<ul type="circle"><li>A</li><li>B</li><li>C</li></ul>
<ul type="square"><li>A</li><li>B</li><li>C</li></ul>
<hr />
Definitions:
<br />
<dl>
<dt>Scrumpy</dt>
<dd>Hard English cider from the west country</dd>
<dt>Pentanque</dt>
<dd>A form of boules where the goal is to throw metal ball as
close as possible to a jack</dd>
</dl>
<hr />
Block Quote:
<br />
<blockquote>
We shall not cease from exploration<br />
And the end of all our exploring<br />
Will be to arrive where we started<br />
And know the place for the first time
</blockquote>
<br />
<hr />
Centered:
<br />
<center>See, I have a Rhyme assisting<br />
my feeble brain,<br />
its tasks oft-times resisting!</center>
<hr />
Headings:
<br />
<h1>Header 1</h1>
<h2>Header 2</h2>
<h3>Header 3</h3>
<h3>Header 4</h4>
<h3>Header 5</h5>
<hr />
Images:
<br />
<img src="icon.jpg">
and we have a link http://www.google.com.]]> </description> <Point>
<coordinates>-122.378927,37.826793,0</coordinates>
</Point>
</Placemark>
</kml>

Ascription 要素の使用例

この例では、Atom 名前空間の <atom:author>、<atom:name>、<atom:link> の各要素を使用しています。この名前空間は <kml> 要素内で参照する必要があります。

<kml xmlns="http://www.opengis.net/kml/2.2"
     xmlns:atom="http://www.w3.org/2005/Atom"> 
  <Document>
    <atom:author>
      <atom:name>J. K. Rowling</atom:name>
    </atom:author>
    <atom:link href="http://www.harrypotter.com" />
    <Placemark>
      <name>Hogwarts</name>
      <Point>
        <coordinates>1,1</coordinates>
      </Point>
    </Placemark>
    <Placemark>
      <name>Little Hangleton</name>
      <Point>
        <coordinates>1,2</coordinates>
      </Point>
    </Placemark>
  </Document>
</kml>

サンプル動画

この例は、Flash 動画をバルーン内に埋め込む方法を示しています。

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Document> <name>Video Example</name>
<Style id="sn_blue-dot_copy3">
<IconStyle>
<Icon>
<href>http://www.google.com/intl/en_us/mapfiles/ms/icons/blue-dot.png</href>
</Icon>
</IconStyle>
</Style>
<Placemark>
<name>Placemark</name>
<description>
<![CDATA[<div style="font-size:larger">
<div>
<div style="width: 212px; font-size: 12px;">
<b>The Spaghetti Film</b>
</div>
<div style="font-size: 11px;">
<a target="_blank" href="http://www.youtube.com/?v=FICUvrVlyXc">
http://www.youtube.com/?v=FICUvrVlyXc</a><br>
</div><br>
<div style="margin-left: auto; margin-right:auto;">
<object height="175" width="212">
<param value="http://www.youtube.com/v/FICUvrVlyXc" name="movie">
<param value="transparent" name="wmode">
<embed wmode="transparent" type="application/x-shockwave-flash"
src="http://www.youtube.com/v/FICUvrVlyXc" height="175"
width="212">

</object>
</div>
</div>
</div>
<div style="font-size: smaller; margin-top: 1em;">Saved from
<a href="http://maps.google.com/ig/add?synd=mpl&pid=mpl&moduleurl=
http:%2F%2Fwww.google.com%2Fig%2Fmodules%2Fmapplets-youtube.xml&hl=en&gl=us">
YouTubeVideos</a>
</div>
]]>
</description>
<styleUrl>#sn_blue-dot_copy3</styleUrl>
<Point>
<coordinates>-93.47875999999999,45.083248,0</coordinates>
</Point>
</Placemark>
</Document> </kml>

拡張元の要素

この要素を拡張した要素

<gx:FlyTo>

この要素は、OGC KML 2.2 標準(リンク先は英語)の拡張要素で、Google Earth 5.0 以降でサポートされています。詳細

構文

<gx:FlyTo id="ID">
  <gx:duration>0.0</gx:duration>         <!-- double -->
  <gx:flyToMode>bounce</gx:flyToMode>    <!-- smooth or bounce -->
  <!-- AbstractView -->                        <!-- Camera or LookAt -->
    ...
  <!-- /AbstractView -->
</gx:FlyTo>

説明

<gx:FlyTo> は、ツアー中にブラウザが飛行する空間内の点を指定します。AbstractView は 1 つ含める必要があり、<gx:duration> 要素と <gx:flyToMode> 要素で、現在のポイントから定義されたポイントに飛ぶのに要する時間と飛行方法をそれぞれ指定します。

<gx:flyToMode>

<gx:flyToMode> に指定できる値は、smoothbounce の 2 つです。

  • smooth - あるポイントから次のポイント、そのまた次のポイント(以下同様)にスムーズに移動します。連続した FlyTo で smooth を指定すると、最初の出発地点と最終の到着地点では速度がゼロですが、その間の各ポイントでは減速せずにノンストップになります。一連のスムーズな FlyTo が次のいずれかの要素によって破損しています。
    • <gx:flyToMode>bounce</gx:flyToMode>
    • <gx:Wait>
    つまり、前述の要素のいずれかの直前のスムーズな FlyTo で速度が 0 になります。連続した smooth 指定の FlyTo は、<gx:AnimatedUpdate> 要素で中断することはありません。

  • Bounce - 各 FlyTo の出発地点と到着地点で速度がゼロになります。

サンプル

<gx:FlyTo>
<gx:duration>2.55</gx:duration>
<gx:flyToMode>smooth</gx:flyToMode>
<Camera>
<longitude>-113.084448</longitude>
<latitude>36.567081</latitude>
<altitude>41277.571403</altitude>
<heading>116.150227</heading>
<altitudeMode>absolute</altitudeMode>
</Camera>
</gx:FlyTo>

拡張元の要素

子要素

<Folder>

構文

<Folder id="ID">
  <!-- inherited from Feature element -->
  <name>...</name>                      <!-- string -->
  <visibility>1</visibility>            <!-- boolean -->
  <open>0</open>                        <!-- boolean -->
  <atom:author>...<atom:author>         <!-- xmlns:atom -->
  <atom:link href=" "/>            <!-- xmlns:atom -->
  <address>...</address>                <!-- string -->
  <xal:AddressDetails>...</xal:AddressDetails>  <!-- xmlns:xal -->
<phoneNumber>...</phoneNumber> <!-- string -->
<Snippet maxLines="2">...</Snippet> <!-- string --> <description>...</description> <!-- string --> <AbstractView>...</AbstractView> <!-- Camera or LookAt --> <TimePrimitive>...</TimePrimitive> <styleUrl>...</styleUrl> <!-- anyURI --> <StyleSelector>...</StyleSelector> <Region>...</Region> <Metadata>...</Metadata> <!-- deprecated in KML 2.2 --> <ExtendedData>...</ExtendedData> <!-- specific to Folder --> <!-- 0 or more Feature elements --> </Folder>

説明

Folder は、他の Feature(Folder、Placemark、NetworkLink、Overlay)を階層的に整理するために使用します。Feature は、自身とそのすべての上位要素が表示可能である場合のみ表示されます。

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Folder>
<name>Folder.kml</name> <open>1</open>
<description>
A folder is a container that can hold multiple other objects
</description>
<Placemark>
<name>Folder object 1 (Placemark)</name>
<Point>
<coordinates>-122.377588,37.830266,0</coordinates>
</Point>
</Placemark>
<Placemark>
<name>Folder object 2 (Polygon)</name>
<Polygon>
<outerBoundaryIs>
<LinearRing>
<coordinates>
-122.377830,37.830445,0
-122.377576,37.830631,0
-122.377840,37.830642,0
-122.377830,37.830445,0
</coordinates>
</LinearRing>
</outerBoundaryIs>
</Polygon>
</Placemark>
<Placemark>
<name>Folder object 3 (Path)</name>
<LineString>
<tessellate>1</tessellate>
<coordinates>
-122.378009,37.830128,0 -122.377885,37.830379,0
</coordinates>
</LineString>
</Placemark>
</Folder>
</kml>

拡張元の要素

子要素

  • <Feature> から派生する任意の要素

<Geometry>

構文

<!-- abstract element; do not create -->
<!-- Geometry id="ID" -->
                                              <!-- Point,LineString,LinearRing,
                                               Polygon,MultiGeometry,Model,
                                               gx:Track -->
<!-- /Geometry -->

説明

これは抽象的な要素であり、KML ファイル内で直接使用することはできません。この要素は、Geometry のあらゆる派生オブジェクトに対するプレースホルダ オブジェクトとなります。

拡張元の要素

この要素を拡張した要素

<GroundOverlay>

構文

<GroundOverlay id="ID">
  <!-- inherited from Feature element -->
  <name>...</name>                      <!-- string -->
  <visibility>1</visibility>            <!-- boolean -->
  <open>0</open>                        <!-- boolean -->
  <atom:author>...<atom:author>         <!-- xmlns:atom -->
  <atom:link href=" "/>                <!-- xmlns:atom -->
  <address>...</address>                <!-- string -->
  <xal:AddressDetails>...</xal:AddressDetails>  <!-- xmlns:xal -->
<phoneNumber>...</phoneNumber> <!-- string -->
<Snippet maxLines="2">...</Snippet> <!-- string --> <description>...</description> <!-- string --> <AbstractView>...</AbstractView> <!-- Camera or LookAt --> <TimePrimitive>...</TimePrimitive> <styleUrl>...</styleUrl> <!-- anyURI --> <StyleSelector>...</StyleSelector> <Region>...</Region> <Metadata>...</Metadata> <!-- deprecated in KML 2.2 --> <ExtendedData>...</ExtendedData> <!-- new in KML 2.2 --> <!-- inherited from Overlay element --> <color>ffffffff</color> <!-- kml:color --> <drawOrder>0</drawOrder> <!-- int --> <Icon>...</Icon> <!-- specific to GroundOverlay --> <altitude>0</altitude> <!-- double --> <altitudeMode>clampToGround</altitudeMode> <!-- kml:altitudeModeEnum: clampToGround or absolute --> <!-- or, substitute gx:altitudeMode: clampToSeaFloor or relativeToSeaFloor --> <LatLonBox> <north>...</north> <! kml:angle90 --> <south>...</south> <! kml:angle90 --> <east>...</east> <! kml:angle180 --> <west>...</west> <! kml:angle180 --> <rotation>0</rotation> <! kml:angle180 --> </LatLonBox> <gx:LatLonQuad> <coordinates>...</coordinates> <!-- four lon,lat tuples --> </gx:LatLonQuad> </GroundOverlay>

説明

この要素は、地形に貼り付けるイメージ オーバーレイ(地面オーバーレイ)を描画します。<Icon> の子要素の <href> で、オーバーレイとして使用する画像を指定します。これには、ローカル ファイルシステム上、またはウェブ サーバー上にある画像ファイルを指定できます。この要素を省略するか、<href> を指定しない場合は、地面オーバーレイで定義された色と LatLonBox の範囲を使用して長方形が描画されます。

GroundOverlay 固有の要素

<altitude>
: 地表面から距離をメートル単位で指定し、標高モードに応じて解釈します。
<altitudeMode>
<高度> の解釈方法を指定します。値は次のいずれかです。
  • clampToGround -(デフォルト)標高の指定を無視し、地形にオーバーレイを貼り付けます。
  • absolute - 要素の下にある地形の実際の高度に関係なく、海面を基準にしてオーバーレイの標高を設定します。たとえば、absolute 標高モードを指定してオーバーレイの標高を 10 m に設定すると、その下の地形も海抜 10 m の場合、オーバーレイは地面に表示されます。地形が海抜 3 m の場合、オーバーレイはその地形よりも 7 m 高い位置に表示されます。
<gx:heightMode>
Google 拡張名前空間内の KML 拡張であり、海底からの相対高度を可能にします。値は次のとおりです。
  • relativeToSeaFloor - <altitude> 値を海底からの距離(メートル)として解釈します。ポイントが海上ではなく陸上にある場合、<altitude> は地面からの距離として解釈されます。
  • clampToSeaFloor - <height> の指定は無視され、オーバーレイは海底にドラックされて表示されます。ポイントが海ではなく陸上にある場合、オーバーレイは地面に配置されます。
<LatLonBox>
地面オーバーレイの境界ボックスの上端、下端、右揃え、左揃えを指定します。
  • <north>境界ボックスの北端の緯度を 0 ~±90 の 10 進数の度数で指定します。
  • <south> 境界ボックスの南端の緯度を 0 ~±90 の 10 進数の度数で指定します。
  • <east>境界ボックスの東端の経度を 0 ~±180 の 10 進数の度数で指定します。(経度が 180° の子経線と重なるオーバーレイの場合、値はその範囲を超えて拡張される場合があります)。
  • <west>境界ボックスの西端の経度を 0 ~±180 の 10 進数の度数で指定します。(経度が 180° の子経線と重なるオーバーレイの場合、値はその範囲を超えて拡張される場合があります)。
  • <rotation>: オーバーレイの中心を中心とした回転角度を指定します。値は ±180 です。デフォルトは 0(北)です。回転は反時計回りの方向で指定します。
<LatLonBox>
   <north>48.25475939255556</north>
   <south>48.25207367852141</south>
   <east>-90.86591508839973</east>
   <west>-90.8714285289695</west>
   <rotation>39.37878630116985</rotation>
</LatLonBox> 
<gx:LatLonQuad>
矩形の四角形の地面オーバーレイに使用されます。

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<GroundOverlay>
<name>GroundOverlay.kml</name>
<color>7fffffff</color>
<drawOrder>1</drawOrder>
<Icon>
<href>http://www.google.com/intl/en/images/logo.gif</href>
<refreshMode>onInterval</refreshMode>
<refreshInterval>86400</refreshInterval>
<viewBoundScale>0.75</viewBoundScale>
</Icon>
<LatLonBox>
<north>37.83234</north>
<south>37.832122</south>
<east>-122.373033</east>
<west>-122.373724</west>
<rotation>45</rotation>
</LatLonBox>
</GroundOverlay>
</kml>

拡張元の要素

親要素

<Icon>

構文

<Icon id="ID">
  <!-- specific to Icon -->
  <href>...</href>                         <!-- anyURI -->
  <gx:x>0<gx:x/>                           <!-- int -->
  <gx:y>0<gx:y/>                           <!-- int -->
  <gx:w>-1<gx:w/>                          <!-- int -->
  <gx:h>-1<gx:h/>                          <!-- int -->
  <refreshMode>onChange</refreshMode>
    <!-- kml:refreshModeEnum: onChange, onInterval, or onExpire -->
  <refreshInterval>4</refreshInterval>     <!-- float -->
  <viewRefreshMode>never</viewRefreshMode>
    <!-- kml:viewRefreshModeEnum: never, onStop, onRequest, onRegion -->
  <viewRefreshTime>4</viewRefreshTime>     <!-- float -->
  <viewBoundScale>1</viewBoundScale>       <!-- float -->
  <viewFormat>...</viewFormat>             <!-- string -->
  <httpQuery>...</httpQuery>               <!-- string -->
</Icon>

説明

アイコンのスタイルやオーバーレイに関連付ける画像を定義します。必須の <href> 子要素は、オーバーレイや目印のアイコンとして使用する画像の場所を定義します。この場所には、ローカル ファイルシステムかリモート ウェブ サーバーのどちらかを指定できます。<gx:x>、<gx:y>、<gx:w>、<gx:h> 要素は、複数のアイコンを含む画像から 1 つのアイコンを選択するために使用します。多くの場合、アイコン パレットと呼ばれます。

<Icon>
  <href>Sunset.jpg</href>   <!-- Here, the image contains only one icon -->
</Icon>
<Icon>
  <href>/home/mydir/myiconpalette.jpg</href>
  <gx:w>138</gx:w>
  <gx:h>138</gx:h>
    <!-- Since x and y values are omitted, these measurements are made starting at
    the lower-left corner of the icon palette image -->
</Icon>

Icon 固有の要素

<href>
アイコンを読み込むために使用される HTTP アドレスまたはローカル ファイルの仕様。
<gx:x>
かつ
<gx:y>
<href> でアイコン パレットが指定されている場合、これらの要素は、アイコン パレットの左下の角(ピクセル単位)を示します。x と y に値を指定しなかった場合、アイコン パレットの左下隅は、使用するアイコンの左下隅と見なされます。
<gx:w>
かつ
<gx:h>
<href> でアイコン パレットを指定する場合、使用するアイコンの幅(<gx:w>)と高さ(<gx:h>)をピクセルで指定します。
<refreshMode>
<refreshMode> とその他の要素の説明については、<Link> をご覧ください。
<refreshInterval>
<viewRefreshMode>
<viewRefreshTime>
<viewBoundScale>
<viewFormat>
<httpQuery>

親要素

<IconStyle>

構文

<IconStyle id="ID">
  <!-- inherited from ColorStyle -->
  <color>ffffffff</color>            <!-- kml:color -->
  <colorMode>normal</colorMode>      <!-- kml:colorModeEnum:normal or random -->

  <!-- specific to IconStyle -->
  <scale>1</scale>                   <!-- float -->
  <heading>0</heading>               <!-- float -->
  <Icon>
    <href>...</href>
  </Icon>
  <hotSpot x="0.5"  y="0.5"
    xunits="fraction" yunits="fraction"/>    <!-- kml:vec2 -->
</IconStyle>

説明

Google Earth の [場所] パネルや 3D ビューアでの目印のポイントのアイコンを描画する方法を指定します。<Icon> 要素はアイコンの画像を指定します。<scale> 要素は、アイコンの x、y 方向のスケーリングを指定します。<IconStyle> の <color> 要素で指定された色が、<Icon> の色と融合されます。

IconStyle 固有の要素

<scale>
アイコンのサイズを変更します。

注: <geomScale> タグはサポートが終了しました。代わりに <scale> を使用してください。

<heading>
方向(北、南、東、西)、度。デフォルトは 0(北)です(図を参照)。値の範囲は 0~360 度です。
<Icon>
カスタム アイコン。<IconStyle> で、<Icon> の子要素は <href> のみです。
  • <href>: アイコンを読み込むために使用される HTTP アドレスまたはローカル ファイルの仕様。
<hotSpot x="0.5" y="0.5" xunits="fraction" yunits="fraction">
アイコン内で、Placemark で指定された <Point> に「アンカー」された位置を指定します。x 値と y 値は、アイコンのピクセル"pixels")、分数"fraction"、インセット ピクセル"insetPixels")の 3 通りの方法で指定できます。インセット ピクセルはアイコンの右上からのピクセル数です。xy の位置は、異なる方法で指定できます。たとえば、x はピクセル単位で指定し、y は分数で指定できます。座標系の原点は、アイコンの左下にあります。
  • x - アイコンのポイントの x コンポーネントを示す、ピクセル数、アイコンの大きさを 1 とする相対コンポーネント、ピクセル インセットのいずれかを指定します。
  • y - アイコンのポイントの y コンポーネントを示す、ピクセル数、アイコンの大きさを 1 とする相対コンポーネント、ピクセル インセットのいずれかを指定します。
  • xunits - x 値の単位を指定します。値が fraction の場合は、x 値がアイコンの比率を表します。値が pixels の場合は、x の値がピクセル単位で表されます。値が insetPixels の場合は、アイコンの右端からのインデントを示します。
  • yunits - y 値の単位を指定します。値が fraction の場合は、y の値がアイコンの比率を表します。値が pixels の場合は、y の値がピクセル単位で示されます。値が insetPixels の場合は、アイコンの上端からのインデントであることを示します。

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Document>
<Style id="randomColorIcon">
<IconStyle>
<color>ff00ff00</color>
<colorMode>random</colorMode>
<scale>1.1</scale>
<Icon>
<href>http://maps.google.com/mapfiles/kml/pal3/icon21.png</href>
</Icon>
</IconStyle>
</Style>
<Placemark>
<name>IconStyle.kml</name>
<styleUrl>#randomColorIcon</styleUrl>
<Point>
<coordinates>-122.36868,37.831145,0</coordinates>
</Point>
</Placemark>
</Document>
</kml>

拡張元の要素

親要素

子要素

<kml>

構文

<kml xmlns="http://www.opengis.net/kml/2.2" hint="target=sky"> ... </kml>

説明

KML ファイルのルート要素。この要素は必須です。ファイルの先頭の XML 宣言の次に指定します。hint 属性は、ファイルを天体データとして表示するためのシグナルとして Google Earth で使用されます。

<kml> 要素には、ファイル内で参照される外部 XML スキーマの名前空間を含めることもできます。

基本的な <KML> 要素には 0 個または 1 個の特徴と、0 個または 1 個の NetworkLinkControl が含まれます。

<kml xmlns="http://www.opengis.net/kml/2.2">
  <NetworkLinkControl> ... </NetworkLinkControl>
  <!-- 0 or 1 Feature elements -->
</kml>

<LabelStyle>

構文

<LabelStyle id="ID">
  <!-- inherited from ColorStyle -->
  <color>ffffffff</color>            <!-- kml:color -->
  <colorMode>normal</colorMode>      <!-- kml:colorModeEnum: normal or random -->

  <!-- specific to LabelStyle -->
  <scale>1</scale>                   <!-- float -->
</LabelStyle>

説明

3D ビューアでの Feature の <name> の描画方法を指定します。カスタム色、色モード、ラベル(名前)のスケールを指定できます。

注: <labelColor> タグはサポートが終了しました。代わりに <LabelStyle> を使用してください。

<LabelStyle> に固有の要素

<scale>
ラベルのサイズを変更します。

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Document>
<Style id="randomLabelColor">
<LabelStyle>
<color>ff0000cc</color>
<colorMode>random</colorMode>
<scale>1.5</scale>
</LabelStyle>
</Style>
<Placemark>
<name>LabelStyle.kml</name>
<styleUrl>#randomLabelColor</styleUrl>
<Point>
<coordinates>-122.367375,37.829192,0</coordinates>
</Point>
</Placemark>
</Document>
</kml>

拡張元の要素

親要素

<gx:LatLonQuad>

この要素は、OGC KML 2.2 標準(リンク先は英語)の拡張要素で、Google Earth 5.0 以降でサポートされています。詳細

構文

<GroundOverlay id="ID">
  ...
  <Icon>...</Icon>
  <altitude>0</altitude>
  <altitudeMode>clampToGround</altitudeMode>                   <!-- or absolute -->
         <!-- can substitute <gx:altitudeMode>clampToSeaFloor</gx:altitudeMode> -->

  <gx:LatLonQuad>
    <coordinates>...</coordinates>              <!-- four lon,lat tuples -->
  </gx:LatLonQuad>
</GroundOverlay>

説明

長方形以外の四辺形の地面オーバーレイを使用できるようにします。

オーバーレイ領域を定義する四辺形の四隅のポイントの座標を指定します。必ず 4 つの座標データを指定する必要があり、各座標に経度と緯度を表す浮動小数点数値を指定します。座標データ間はスペースで区切ります。1 つの座標内にスペースを含めないでください。4 つの座標は、オーバーレイ画像の左下隅を最初の座標として、反時計回りに指定する必要があります。これらの角で記述される形状は凸形状でなければなりません。

座標に 3 番目の値(標高を表す値)を指定した場合、その値は無視されます。高度は、<altitude> と、<altitudeMode> または <gx:altitudeMode><GroundOverlay> を拡張する)を使用して設定されます。指定できる標高モードは、absoluteclampToGroundclampToSeaFloor です。

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2" xmlns:gx="http://www.google.com/kml/ext/2.2"> <GroundOverlay> <name>gx:LatLonQuad Example</name> <Icon> <href>http://developers.google.com/kml/documentation/images/rectangle.gif</href> <viewBoundScale>0.75</viewBoundScale> </Icon> <gx:LatLonQuad> <coordinates> 81.601884,44.160723 83.529902,43.665148 82.947737,44.248831 81.509322,44.321015 </coordinates> </gx:LatLonQuad> </GroundOverlay> </kml>

拡張

親要素

<LinearRing>

構文

<LinearRing id="ID">
  <!-- specific to LinearRing -->
  <gx:altitudeOffset>0</gx:altitudeOffset>   <!-- double -->
  <extrude>0</extrude>                       <!-- boolean -->
  <tessellate>0</tessellate>                 <!-- boolean -->
  <altitudeMode>clampToGround</altitudeMode>
    <!-- kml:altitudeModeEnum: clampToGround, relativeToGround, or absolute -->
    <!-- or, substitute gx:altitudeMode: clampToSeaFloor, relativeToSeaFloor -->
  <coordinates>...</coordinates>             <!-- lon,lat[,alt] tuples -->
</LinearRing>

説明

Polygon の輪郭のような、閉じた折れ線を定義します。オプションとして、LinearRing を使用して Polygon の内側の境界を定義し、Polygon 内に穴を作成することもできます。Polygon には、内部の境界を定義する複数の <LinearRing> 要素を指定できます。

注: Google Earth では、<heightMode> が clampToGround であるポリゴンは、一貫した方角線に沿っています。ただし、<heightMode> が clampToGround である LinearRing 自体は、大きな円線に沿っています。

LinearRing 固有の要素

<gx:altitudeOffset>
Google 拡張機能の名前空間にある KML 拡張機能。高度値のレンダリング方法を変更します。このオフセットを使用すると、LinearRing を構成する個々の座標値をすべて変更せずに、LinearRing 全体を 1 つのユニットとして上下に移動することができます(LinearRing はこの標高のオフセット値を使って表示されますが、元の標高値は KML ファイルに保存されます)。単位はメートルです。
<extrude>
ブール値。LinearRing を地面に接続するかどうかを指定します。このジオメトリを押し出すには、標高モードを relativeToGroundrelativeToSeaFloorabsolute のいずれかにする必要があります。LinearRing の頂点のみが押し出され、ジオメトリの中心は押し出されません。頂点は地球の中心に向かって押し出されます。
<tessellate>
ブール値。LinearRing を地形に沿うようにするかどうかを指定します。テッセレーションを有効にするには、<heightMode> の値を clampToGround または clampToSeaFloor にする必要があります。LinearRing が非常に大きい場合は、テセレーションを有効にして、地球の湾曲に沿って表示する必要があります(有効にしないと、LinearRing が地下にもぐり、表示されないことがあります)。
<altitudeMode>
<座標> 要素の高度コンポーネントを解釈する方法を指定します。値は次のいずれかです。
  • clampToGround -(デフォルト)高度の指定を無視することを示します(<Coordinates> タグ内など)。
  • relativeToGround - 要素の標高を、その場所の実際の高度に対して相対的に設定します。たとえば、ある場所の地面の高度が海抜 0 m でポイントの標高を 9 m に設定している場合にこのモードを指定すると、ポイントの目印のアイコンの高度は 9 m に設定されます。一方、地面の高度が海抜 10 m の場所に同じ座標を設定すると、その座標の高度は 19 m になります。このモードは一般に、電柱やスキーのリフトの配置に使用します。
  • absolute - 要素の下にある地形の実際の高度に関係なく、海面を基準にして座標の標高を設定します。たとえば、絶対標高モードで座標の高度を 10 m に設定すると、その下の地形も海抜 10 m の地点でも、地点の目印のアイコンが地面に表示されます。地形が海抜 3 m の場合、目印はその地形よりも 7 m 高い位置に表示されます。このモードは一般に、航空機の配置に使用します。
<gx:heightMode>
Google 拡張名前空間内の KML 拡張であり、海底からの相対高度を可能にします。値は次のとおりです。
  • relativeToSeaFloor - <altitude> 値を海底からの距離(メートル)として解釈します。ポイントが海上ではなく陸上にある場合、<altitude> は地面からの距離として解釈されます。
  • clampToSeaFloor - <altitude> の指定を無視し、ポイントを海底上に配置します。ポイントが海上ではなく陸上にある場合、ポイントは地面に配置されます。
<coordinates>(必須)
4 つ以上のタプル。各値は経度緯度高度の浮動小数点値で構成されます。height コンポーネントは省略可能です。1 つの座標内にスペースを含めないでください。最後の座標は最初の座標と同じにする必要があります。座標は 10 進法表記の度数でのみ指定します。

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Placemark>
<name>LinearRing.kml</name>
<Polygon>
<outerBoundaryIs>
<LinearRing>
<coordinates> -122.365662,37.826988,0 -122.365202,37.826302,0 -122.364581,37.82655,0 -122.365038,37.827237,0 -122.365662,37.826988,0 </coordinates>
</LinearRing>
</outerBoundaryIs>
</Polygon>
</Placemark>
</kml>

拡張元の要素

親要素

<LineString>

構文

<LineString id="ID">
  <!-- specific to LineString -->
  <gx:altitudeOffset>0</gx:altitudeOffset>  <!-- double -->
  <extrude>0</extrude>                      <!-- boolean -->
  <tessellate>0</tessellate>                <!-- boolean -->
  <altitudeMode>clampToGround</altitudeMode>
      <!-- kml:altitudeModeEnum: clampToGround, relativeToGround, or absolute -->
      <!-- or, substitute gx:altitudeMode: clampToSeaFloor, relativeToSeaFloor -->
  <gx:drawOrder>0</gx:drawOrder>            <!-- integer -->
  <coordinates>...</coordinates>            <!-- lon,lat[,alt] -->
</LineString>

説明

連結された一連の線を定義します。<LineStyle> を使用して、色、色モード、線の幅を指定します。LineString を押し出すと、線が地面に向かって伸び、壁や塀のように見えるポリゴンが形成されます。LineString を押し出した場合、線そのものには現在の LineStyle が使用され、押し出しで作られた面には現在の PolyStyle が使用されます。LineString(またはパス)の例については、KML チュートリアル をご覧ください。

LineString 固有の要素

<gx:高度オフセット>
Google 拡張機能の名前空間にある KML 拡張機能。高度値のレンダリング方法を変更します。このオフセットを使用すると、LineString を構成する個々の座標値をすべて変更せずに、LinearRing 全体を 1 つのユニットとして上下に移動することができます(LineString はこの標高のオフセット値を使って表示されますが、元の標高値は KML ファイルに保存されます)。単位はメートルです。
<extrude>
ブール値。LineString を地面に接続するかどうかを指定します。LineString を押し出すには、標高モードを relativeToGroundrelativeToSeaFloorabsolute のいずれかにする必要があります。LineString の頂点は地球の中心に向かって押し出されます。
<tessellate>
ブール値。LinearRing を地形に沿うようにするかどうかを指定します。テッセレーションを有効にするには、標高モードを clampToGround または clampToSeaFloor にする必要がありますLineString が非常に大きい場合は、テセレーションを有効にして、地球の湾曲に沿って表示する必要があります(有効にしないと、LineString が地下にもぐり、表示されないことがあります)。
<altitudeMode>
<座標> 要素の高度コンポーネントを解釈する方法を指定します。値は次のいずれかです。
  • clampToGround -(デフォルト)標高の指定を無視します(<coordinates> タグ内など)。
  • relativeToGround - 要素の標高を、その場所の実際の高度に対して相対的に設定します。たとえば、ある場所の地面の高度が海抜 0 m でポイントの標高を 9 m に設定している場合にこのモードを指定すると、ポイントの目印のアイコンの高度は 9 m に設定されます。一方、地面の高度が海抜 10 m の場所に同じ座標を設定すると、その座標の高度は 19 m になります。このモードは一般に、電柱やスキーのリフトの配置に使用します。
  • absolute - 要素の下にある地形の実際の高度に関係なく、海面を基準にして座標の標高を設定します。たとえば、絶対標高モードで座標の高度を 10 m に設定すると、その下の地形も海抜 10 m の地点でも、地点の目印のアイコンが地面に表示されます。地形が海抜 3 m の場合、目印はその地形よりも 7 m 高い位置に表示されます。このモードは一般に、航空機の配置に使用します。
<gx:heightMode>
Google 拡張名前空間の KML 拡張であり、海底からの相対高度を可能にします。値は次のとおりです。
  • relativeToSeaFloor - <altitude> 値を海底からの距離(メートル)として解釈します。ポイントが海上ではなく陸上にある場合、<altitude> は地面からの距離として解釈されます。
  • clampToSeaFloor - <altitude> の指定を無視し、ポイントを海底上に配置します。ポイントが海上ではなく陸上にある場合、ポイントは地面に配置されます。
<gx:drawOrder>
複数の線を描画する順序を指定する整数値。最初に描画された LineString は、描画順序が後になる LineString によって部分的または完全に覆われる場合があります。2 色の線が交差する場合、この要素は <LineStyle> の <gx:outerColor> 要素および <gx:outerWidth> 要素と組み合わせて必要になります。
<coordinates>(必須)
2 つ以上の座標データを含むタプル。各座標は、経度、緯度、高度を表す浮動小数点値で構成されます。height コンポーネントは省略可能です。座標データ間はスペースで区切ります。1 つの座標データ内に空白を含めないでください。

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Document>
<name>LineString.kml</name>
<open>1</open>
<LookAt>
<longitude>-122.36415</longitude>
<latitude>37.824553</latitude>
<altitude>0</altitude>
<range>150</range>
<tilt>50</tilt>
<heading>0</heading>
</LookAt>
<Placemark>
<name>unextruded</name>
<LineString>
<extrude>1</extrude>
<tessellate>1</tessellate>
<coordinates>
-122.364383,37.824664,0 -122.364152,37.824322,0 </coordinates>
</LineString>
</Placemark>
<Placemark>
<name>extruded</name>
<LineString>
<extrude>1</extrude>
<tessellate>1</tessellate>
<altitudeMode>relativeToGround</altitudeMode>
<coordinates>
-122.364167,37.824787,50 -122.363917,37.824423,50 </coordinates>
</LineString>
</Placemark>
</Document>
</kml>

拡張元の要素

親要素

<LineStyle>

構文

<LineStyle id="ID">
  <!-- inherited from ColorStyle -->
  <color>ffffffff</color>            <!-- kml:color -->
  <colorMode>normal</colorMode>      <!-- colorModeEnum: normal or random -->

  <!-- specific to LineStyle -->
  <width>1</width>                            <!-- float -->
  <gx:outerColor>ffffffff</gx:outerColor>     <!-- kml:color -->
  <gx:outerWidth>0.0</gx:outerWidth>          <!-- float -->
  <gx:physicalWidth>0.0</gx:physicalWidth>    <!-- float -->
  <gx:labelVisibility>0</gx:labelVisibility>  <!-- boolean -->
</LineStyle>

説明

線のジオメトリすべての描画スタイル(色、色モード、線の幅)を指定します。線のジオメトリには、アウトライン表示されたポリゴンの輪郭線や Placemark アイコンの押し出された「テザー(つなぎ綱)」(押し出しが有効な場合)も含まれます。

LineStyle 固有の要素

<width>
ラインの幅(ピクセル単位)。
<gx:outerColor>
<gx:outerWidth> で定義された線の部分の色。<LineStyle> が <Polygon> と <LinearRing> に適用されると、<gx:outerColor> 要素と <gx:outerWidth> 要素は無視されます。
<gx:outerWidth>
: <gx:outerColor> を使用する行の割合を指定する 0.0 ~ 1.0 の値。<gx:physicalWidth> で幅を設定する行にのみ適用されます。<width> を使用する行には適用されません。<LineString><gx:drawOrder> もご覧ください。デュアル カラーの線が交差している場合(たとえば高速道路の交換を示す場合)、描画順序の値が必要になることがあります。
<gx:physicalWidth>
線の物理的な幅(メートル単位)。
<gx:labelVisibility>
LineString でテキストラベルを表示するかどうかを定義するブール値。LineString のラベルは <LineString> の兄弟要素です(つまり、同じ <Placemark> 要素に含まれます)。<name>

Google Earth バージョン 6.1 以降には、デフォルトではラベルが表示されません。<gx:labelVisibility>1 に設定して、LineString ごとに有効にする必要があります。

Google Earth 6.1 の既知の問題: <gx:physicalWidth> 要素のない LineString では、行の長さが 100m × ラベルの文字数より大きい場合にのみラベルが表示されます。たとえば、7 文字(「example」)のラベルでは、行が 700 m を超える場合にのみ表示されます。これは、<gx:physicalWidth> 値を持つ LineString には影響しません。

不透明度 50%、幅 4 ピクセルの赤い線を描画する例を次に示します。

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Document>
  <name>LineStyle.kml</name>
  <open>1</open>
  <Style id="linestyleExample">
    <LineStyle>
      <color>7f0000ff</color>
      <width>4</width>
      <gx:labelVisibility>1</gx:labelVisibility>
    </LineStyle>
  </Style>
  <Placemark>
    <name>LineStyle Example</name>
    <styleUrl>#linestyleExample</styleUrl>
    <LineString>
      <extrude>1</extrude>
      <tessellate>1</tessellate>
      <coordinates>
        -122.364383,37.824664,0 -122.364152,37.824322,0
      </coordinates>
    </LineString>
  </Placemark>
</Document>
</kml>

拡張元の要素

親要素

構文

<Link id="ID">
  <!-- specific to Link -->
  <href>...</href>                      <!-- string -->
  <refreshMode>onChange</refreshMode>
    <!-- refreshModeEnum: onChange, onInterval, or onExpire -->
  <refreshInterval>4</refreshInterval>  <!-- float -->
  <viewRefreshMode>never</viewRefreshMode>
    <!-- viewRefreshModeEnum: never, onStop, onRequest, onRegion -->
  <viewRefreshTime>4</viewRefreshTime>  <!-- float -->
  <viewBoundScale>1</viewBoundScale>    <!-- float -->
  <viewFormat>BBOX=[bboxWest],[bboxSouth],[bboxEast],[bboxNorth]</viewFormat>
                                        <!-- string -->
  <httpQuery>...</httpQuery>            <!-- string -->
</Link>

説明

<Link> では、次のいずれかのファイルの場所を指定します:

  • ネットワーク リンクで取得する KML ファイル
  • オーバーレイで使用する画像ファイル(<Icon> 要素でオーバーレイの画像を指定、<Icon> には <Link> と同じフィールドがある)
  • <Model> 要素で使用するモデル ファイル

これらのファイルは、この要素に指定する更新パラメータに応じて条件付きで読み込まれ、更新されます。2 つの更新パラメータのセットを指定できます。1 つは、time(<refreshMode> と <refreshInterval>)に基づいており、もう 1 つは、現在の「camera」ビュー(<viewRefreshMode> と <viewRefreshTime>)に基づいています。さらに、Link は、サーバーに送信される境界ボックスパラメータのスケーリングを行うかどうか(<viewBoundScale> と、サーバーに送信できるオプションの表示言語とオプションのオプション形式を含む、オプションのオプションのパラメータのセットを提供します)。

ファイルを取得する際、サーバーに送信される URL が次の 3 つの情報を基に作成されます:

  • 読み込むファイルを指定する href(ハイパーテキスト参照)。
  • (a)<viewFormat> 要素に指定したパラメータ、または(b)境界ボックスのパラメータ(デフォルト、ファイル内に <viewFormat> 要素が含まれていない場合に使用)から作成される任意のフォーマット文字列。
  • <httpQuery> 要素に指定した 2 番目のフォーマット文字列。

<href> に指定したファイルがローカル ファイルの場合、<viewFormat> 要素と <httpQuery> 要素は使用されません。

<Link> 要素は、KML の以前のリリースに含まれる <NetworkLink> の <Url> 要素に代わるもので、<Region> 要素(KML 2.1 で導入)の機能が追加されています。リリース 3.0 以前の Google Earth では、<Link> 要素は無視されます。

<href>
URL(HTTP アドレスまたはローカル ファイルの仕様)。<Link> の親が NetworkLink の場合、<href> は KML ファイルになります。<Link> の親が Model の場合、<href> は COLLADA ファイルになります。<Icon> の親(<Link> と同じフィールド)がオーバーレイの場合、<href> は画像です。このタグには相対 URL を指定できます。KML ファイルと KMZ ファイルでの相対参照の作成について詳しくは、KMZ ファイルをご覧ください。
<refreshMode>
時間ベースの更新モードを指定します。次のいずれかになります。
  • onChange -(デフォルト)ファイルが読み込まれたり、Link パラメータが変更されたりしたときに常に更新します。
  • onInterval - n 秒(<refreshInterval> で指定)ごとに更新します。
  • onExpire - 期限切れになるとファイルを更新します。取得したファイルに NetworkLinkControl が含まれている場合、HTTP ヘッダーに指定されている有効期限よりも <expires> の時刻が優先されます。<expires> の時刻が指定されていない場合は、HTTP max-age ヘッダーが使用されます(存在する場合)。max-age が存在しない場合は、Expiration HTTP ヘッダーが使用されます(存在する場合)。(HTTP ヘッダー フィールドの詳細については、Hypertext Transfer Protocol - HTTP 1.1RFC261b をご覧ください)。
<refreshInterval>
n 秒ごとにファイルを更新することを示します。
<viewRefreshMode>
「カメラ」が変更されたときにリンクを更新する方法を指定します。
。次のいずれかになります。
  • never(デフォルト) - ビュー内の変更を無視します。<viewFormat> パラメータが指定されていても無視します。
  • onStop - カメラの移動が停止してから n 秒後にファイルを更新します。n は <viewRefreshTime> に指定します。
  • onRequest - ユーザーが明示的にリクエストした場合にのみファイルを更新します(たとえば、Google Earth でユーザーが右クリックすると表示されるコンテキスト メニューの [更新] をクリックした場合)。
  • onRegion - Region がアクティブになるとファイルを更新します。<リージョン> をご覧ください。
<viewRefreshTime>
カメラの移動が停止した後、ビューを更新するまで待機する秒数を指定します。(上述の <viewRefreshMode> と onStop をご覧ください)。
<viewBoundScale>
BBox パラメータをサーバーに送信する前にスケーリングします。1 より小さい値は、ビュー(画面)全体よりも小さいビューを使用することを指定します。1 より大きい値は、現在のビューの境界よりも広い領域を取得することを指定します。
<viewFormat>
ファイルの取得前にリンクの <href> に追加するクエリ文字列の形式を指定します(<href> にローカル ファイルを指定すると、この要素は無視されます)。
<viewRefreshMode> に onStop を指定し、ファイルに <viewFormat> タグを含めない場合、次の情報が自動的にクエリ文字列に追加されます。

BBOX=[bboxWest],[bboxSouth],[bboxEast],[bboxNorth]

この情報は、ウェブマップ サービス(WMS)の境界ボックスの仕様と一致します。
空の <viewFormat> タグを指定すると、クエリ文字列に情報は追加されません。
クエリ文字列に追加する一連の表示パラメータを指定することもできます。書式設定文字列を指定すると、BBOX 情報の代わりに使用されます。BBOX 情報も必要な場合は、これらのパラメータをカスタム パラメータとともに追加する必要があります。
フォーマット文字列には次のいずれかのパラメータを使用できます。Google Earth によってクエリ文字列の作成時に適切な現在の値が置き換えられます。
  • [lookatLon][lookatLat] - <LookAt> が表示しているポイントの経度と緯度
  • [lookatRange][lookatTilt][lookatHeading] - <LookAt> 要素で使用される値(<LookAt><range><tilt><heading> の説明を参照)
  • [lookatTerrainLon], [lookatTerrainLat], [lookatTerrainAlt]] - <LookAt> が表示している角度(メートル/メートル)を指定します
  • [cameraLon]、[cameraLat]、[cameraAlt] - カメラの眼点の経緯度(度)や高度(メートル)
  • [horizFov][vertFov] - カメラの水平視野と垂直視野
  • [horizPixels][vertPixels] - 3D ビューアのサイズ(ピクセル)
  • [terrainEnabled] - 3D ビューアに地形を表示するかどうかの指定
<httpQuery>
指定したパラメータに基づいて、クエリ文字列に情報を追加します。(クエリ文字列の作成時に、Google Earth によって適切な現在の値に置換されます)。次のパラメータがサポートされています。
  • [クライアントのバージョン]
  • [kmlVersion]
  • [クライアント名]
  • [言語]

<NetworkLink>
  <name>NE US Radar</name>
  <flyToView>1</flyToView>
  <Link>
    <href>http://www.example.com/geotiff/NE/MergedReflectivityQComposite.kml</href>
    <refreshMode>onInterval</refreshMode>
    <refreshInterval>30</refreshInterval>
    <viewRefreshMode>onStop</viewRefreshMode>
    <viewRefreshTime>7</viewRefreshTime>
    <viewFormat>BBOX=[bboxWest],[bboxSouth],[bboxEast],[bboxNorth];CAMERA=\
      [lookatLon],[lookatLat],[lookatRange],[lookatTilt],[lookatHeading];VIEW=\
      [horizFov],[vertFov],[horizPixels],[vertPixels],[terrainEnabled]</viewFormat>
  </Link>
</NetworkLink> 

拡張

親要素

関連項目

<ListStyle>

構文

<ListStyle id="ID">
  <!-- specific to ListStyle -->
  <listItemType>check</listItemType> <!-- kml:listItemTypeEnum:check,
                                          checkOffOnly,checkHideChildren,
                                         radioFolder -->
  <bgColor>ffffffff</bgColor>        <!-- kml:color -->
  <ItemIcon>                         <!-- 0 or more ItemIcon elements -->
    <state>open</state>
      <!-- kml:itemIconModeEnum:open, closed, error, fetching0, fetching1, or fetching2 -->
    <href>...</href>                 <!-- anyURI -->
  </ItemIcon>
</ListStyle>

説明

リスト ビューに Feature を表示する方法を指定します。リスト ビューはコンテナや子要素から成る階層表示です。Google Earth では、リスト ビューとは [場所] パネルのことです。

ListStyle 固有の要素

<listItemType>
特徴をリスト表示する方法を指定します。値は次のいずれかです。
  • check -(デフォルト)Feature の表示/非表示を、そのアイテムのチェックボックスの設定と連動させます。
  • radioFolder - コンテナに対して指定すると、同時に表示可能なのは、そのコンテナのアイテムのいずれか 1 つだけになります。
  • checkOffOnly - コンテナまたはネットワーク リンクに対して指定すると、一度にすべてのアイテムを表示可能に設定できなくなります。つまり、ユーザーはコンテナまたはネットワーク リンク内の全アイテムを一度にオフにすることはできますが、一度にオンにすることはできません。この設定は、大量のデータを含むコンテナやネットワーク リンクに役立ちます。
  • checkHideChildren - 表示/非表示の設定に通常のチェックボックスを使用しますが、リスト ビューにコンテナまたはネットワーク リンクの子アイテムを表示しません。ユーザーはチェックボックスを使用して、ビューアでの子アイテムの表示/非表示の設定を切り替えることができます。
<bgColor>
スニペットの背景色。色と不透明度の値を、16 進表記で指定します。1 つの色の値の範囲は 0 ~ 255(00ff)です。アルファの場合、00 は完全に透明になり、ff は完全に不透明になります。式の順序は aabbggrr で、aa=alpha(00 ~ ff)、bb=blue(00 ~ ff)、gg=green(00 ~ ff)、rr=red(00 ~ ff)です。たとえば、オーバーレイに不透明度 50% の青色を適用する場合は、alpha=0x7f、blue=0xff、green=0x00、red=0x00 を指定します。
<ItemIcon>
リスト表示で使用されているアイコン。フォルダまたはリンクの取得の状態を表します。フォルダモードとネットワーク リンクでは、それぞれ open モードと closed モードに関連付けられたアイコンが使用されます。ネットワーク リンクには、errorfetching0fetching1fetching2 の各モードに関連付けられたアイコンが使用されます。 次のスクリーン キャプチャは、これらの状態の Google Earth アイコンを示しています。
<状態>
NetworkLink または Folder の現在の状態を指定します。有効な値は、openclosederrorfetching0fetching1fetching2 です。これらの値を組み合わせて指定する場合は、値と値の間にスペースを挿入します(カンマは不可)。
<href>
対象物のリストビューで使用される画像の URI を指定します。

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Document>
<name>ListStyle.kml</name>
<open>1</open>
<Style id="bgColorExample">
<ListStyle>
<bgColor>ff336699</bgColor>
</ListStyle>
</Style>
<Style id="checkHideChildrenExample">
<ListStyle>
<listItemType>checkHideChildren</listItemType>
</ListStyle>
</Style>
<Style id="radioFolderExample">
<ListStyle>
<listItemType>radioFolder</listItemType>
</ListStyle>
</Style>
<Folder>
<name>ListStyle Examples</name>
<open>1</open>
<Folder>
<name>bgColor example</name>
<open>1</open>
<Placemark>
<name>pl1</name>
<Point>
<coordinates>-122.362815,37.822931,0</coordinates>
</Point>
</Placemark>
<Placemark>
<name>pl2</name>
<Point>
<coordinates>-122.362825,37.822931,0</coordinates>
</Point>
</Placemark>
<Placemark>
<name>pl3</name>
<Point>
<coordinates>-122.362835,37.822931,0</coordinates>
</Point>
</Placemark>
<styleUrl>#bgColorExample</styleUrl>
</Folder>
<Folder>
<name>checkHideChildren example</name>
<open>1</open>
<Placemark>
<name>pl4</name>
<Point>
<coordinates>-122.362845,37.822941,0</coordinates>
</Point>
</Placemark>
<Placemark>
<name>pl5</name>
<Point>
<coordinates>-122.362855,37.822941,0</coordinates>
</Point>
</Placemark>
<Placemark>
<name>pl6</name>
<Point>
<coordinates>-122.362865,37.822941,0</coordinates>
</Point>
</Placemark>
<styleUrl>#checkHideChildrenExample</styleUrl>
</Folder>
<Folder>
<name>radioFolder example</name>
<open>1</open>
<Placemark>
<name>pl7</name>
<Point>
<coordinates>-122.362875,37.822951,0</coordinates>
</Point>
</Placemark>
<Placemark>
<name>pl8</name>
<Point>
<coordinates>-122.362885,37.822951,0</coordinates>
</Point>
</Placemark>
<Placemark>
<name>pl9</name>
<Point>
<coordinates>-122.362895,37.822951,0</coordinates>
</Point>
</Placemark>
<styleUrl>#radioFolderExample</styleUrl>
</Folder>
</Folder>
</Document>
</kml>

拡張

親要素

<LookAt>

構文

<LookAt id="ID">
  <!-- inherited from AbstractView element -->
  <TimePrimitive>...</TimePrimitive>  <!-- gx:TimeSpan or gx:TimeStamp -->
    <gx:ViewerOptions>
    <option> name=" " type="boolean">     <!-- name="streetview", "historicalimagery", "sunlight", or "groundnavigation" -->
    </option>
  </gx:ViewerOptions>

  <!-- specific to LookAt -->
  <longitude>0</longitude>            <!-- kml:angle180 -->
  <latitude>0</latitude>              <!-- kml:angle90 -->
  <altitude>0</altitude>              <!-- double -->
  <heading>0</heading>                <!-- kml:angle360 -->
  <tilt>0</tilt>                      <!-- kml:anglepos90 -->
  <range></range>                     <!-- double -->
  <altitudeMode>clampToGround</altitudeMode>
          <!--kml:altitudeModeEnum:clampToGround, relativeToGround, absolute -->
          <!-- or, gx:altitudeMode can be substituted: clampToSeaFloor, relativeToSeaFloor -->

</LookAt>

説明

Feature から派生する要素に関連付ける仮想カメラを定義します。LookAt 要素は、表示対象のオブジェクトに対する「カメラ」の位置を設定します。Google Earth では、ユーザーが [場所] パネルのアイテムや 3D ビューア内のアイコンをダブルクリックすると、「空を飛ぶように」視点が移動し、LookAt で指定した視点のビューに切り替わります。

LookAt 固有の要素

<longitude>
カメラが向いているポイントの経度。グリニッジ子午線を基準とした角距離(度数)を指定します。子午線の西側の値の範囲は -180~0 度です。子午線の東側の値の範囲は 0~180 度です。
<latitude>
カメラが向いているポイントの緯度。赤道(0 度)から北または南の度数を指定します。値の範囲は -90~90 度です。
<altitude>
地表からの距離(メートル単位)。LookAt の標高モードの設定に従って解釈されます。
<heading>
方向(北、南、東、西)、度。デフォルトは 0(北)です(下記の図を参照)。値の範囲は 0~360 度です。
<tilt>
LookAt 位置の方向と地表面の法線の間の角度。(下記の図を参照)。値の範囲は 0~90 度です。<tilt> には負の値は指定できません。<tilt> 値が 0 度の場合は真上からの表示になります。<tilt> 値が 90 度の場合は水平線に沿った表示になります。
<range>(必須)
<経度>、<緯度>、<高度> で指定した地点から LookAt 位置までの距離(メートル単位)。(下記の図を参照)。
<altitudeMode>
LookAt ポイントに指定した <高度> の解釈方法を指定します。有効な値は次のとおりです。
  • clampToGround -(デフォルト)<altitude> の指定を無視し、LookAt ポイントを地面に設定します。
  • relativeToGround -<altitude> の値を地面からの距離(メートル)として解釈します。
  • absolute - <altitude> の値を海面からの距離(メートル)として解釈します。
<gx:altitudeMode>
Google 拡張名前空間内の KML 拡張であり、海底からの相対高度を可能にします。値は次のとおりです。
  • relativeToSeaFloor - <altitude> 値を海底からの距離(メートル)として解釈します。ポイントが海上ではなく陸上にある場合、<altitude> は地面からの距離として解釈されます。
  • clampToSeaFloor - <altitude> の指定を無視し、LookAt を海底上に配置します。ポイントが海上ではなく陸上にある場合、LookAt は地面に配置されます。

次の図は、<範囲>、<傾斜>、<高度> 要素を示しています。

 

次の図は <heading> 要素を示しています。

 

東 =90、南 =180、西 =270
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2"
xmlns:gx="http://www.google.com/kml/ext/2.2">

  <Placemark>
    <name>LookAt.kml</name>
    <LookAt>
      <gx:TimeStamp>
        <when>1994</when>
      </gx:TimeStamp>
      <longitude>-122.363</longitude>
      <latitude>37.81</latitude>
      <altitude>2000</altitude>
      <range>500</range>
      <tilt>45</tilt>
      <heading>0</heading>
      <altitudeMode>relativeToGround</altitudeMode>
    </LookAt>
    <Point>
      <coordinates>-122.363,37.82,0</coordinates>
    </Point>
  </Placemark>
</kml>

拡張

親要素

<Model>

構文

<Model id="ID">
  <!-- specific to Model -->
  <altitudeMode>clampToGround</altitudeMode>
      <!-- kml:altitudeModeEnum: clampToGround,relativeToGround,or absolute -->
      <!-- or, substitute gx:altitudeMode: clampToSeaFloor, relativeToSeaFloor -->
  <Location>
    <longitude></longitude> <!-- kml:angle180 -->
    <latitude></latitude>   <!-- kml:angle90 -->
    <altitude>0</altitude>  <!-- double -->
  </Location>
  <Orientation>
    <heading>0</heading>    <!-- kml:angle360 -->
    <tilt>0</tilt>          <!-- kml:anglepos180 -->
    <roll>0</roll>          <!-- kml:angle180 -->
  </Orientation>
  <Scale>
    <x>1</x>                <!-- double -->
    <y>1</y>                <!-- double -->
    <z>1</z>                <!-- double -->
  </Scale>
  <Link>...</Link>
  <ResourceMap>
    <Alias>
      <targetHref>...</targetHref>   <!-- anyURI -->
      <sourceHref>...</sourceHref>   <!-- anyURI -->
    </Alias>
  </ResourceMap>
</Model>

説明

COLLADA ファイル(<Link> タグで参照するファイル)に記述する 3D オブジェクト。COLLADA ファイルの拡張子は .dae です。モデルは固有の座標空間で作成された後、拡大/縮小され、Google Earth に配置されます。詳しくは、モデルの「KML のトピック」ページをご覧ください。

Google Earth は COLLADA 共通プロファイルをサポートしていますが、次の例外があります。

  • Google Earth では、プリミティブ型として三角形と線のみがサポートされています。使用できる三角形は 21,845 個までです。
  • Google Earth は、アニメーションやスキンをサポートしていません。
  • Google Earth は、外部のジオメトリ参照をサポートしていません。

Model 固有の要素

<altitudeMode>
<Location> に指定した <height> の解釈方法を指定します。有効な値は次のとおりです。
  • clampToGround -(デフォルト)<altitude> の指定を無視し、Model を地面に配置します。
  • relativeToGround -<altitude> の値を地面からの距離(メートル)として解釈します。
  • absolute - <altitude> の値を海面からの距離(メートル)として解釈します。
<gx:heightMode>
Google 拡張名前空間内の KML 拡張であり、海底からの相対高度を可能にします。値は次のとおりです。
  • relativeToSeaFloor - <altitude> 値を海底からの距離(メートル)として解釈します。ポイントが海上ではなく陸上にある場合、<altitude> は地面からの距離として解釈されます。
  • clampToSeaFloor - <height> の指定は無視され、Model は海底上に配置されます。ポイントが海ではなく陸上にある場合、モデルは地面に配置されます。
<場所>
モデルの原点の正確な座標(緯度、経度、高度)を指定します。緯度経度の測定値は、WGS84 データムの標準的な緯度 / 経度投影です。高度は、地表面から距離をメートル単位で表し、<heightMode> または <gx:heightMode> に従って解釈します。
<Location>
  <longitude>39.55375305703105</longitude>
  <latitude>-118.9813220168456</latitude>
  <altitude>1223</altitude>
</Location> 
<Orientation>
Google Earth でオブジェクトの位置を決める 3D モデルの座標系の回転を表します。下の図をご覧ください。
<Orientation>
  <heading>45.0</heading>
  <tilt>10.0</tilt>
  <roll>0.0</roll>
</Orientation> 

ローテーションは、次の順序でモデルに適用されます。

  1. <roll>
  2. <tilt>
  3. <heading>
<heading>
z 軸を中心に回転(地表面に垂直)。値 0(デフォルト)は北を表します。正の回転は z 軸を中心に時計回りに、0 ~ 360 の度数で指定します。
<tilt>
x 軸を中心に回転します。正の回転は x 軸を中心に時計回りに、0 ~ 180 の度数で指定します。
<roll>
y 軸を中心に回転。正の回転は y 軸を中心に時計回りに回転し、0 ~ 180 の度数で指定します。
heading、tilt、roll は、軸から原点を見て、時計回りの方向で指定
次の図は、モデルの軸の一般的な向きを示しています。
一般的なモデルの場合、+x は右、+y は正面で北方向、+z は上
<スケール>
モデルの座標空間における x 軸、y 軸、z 軸に沿ってモデルをスケーリングします。
<Scale>
<x>2.5</x>
<y>2.5</y>
<z>3.5</z>
</Scale>
読み込むファイルとオプションの更新パラメータを指定します。<Link> をご覧ください。
<ResourceMap>
0 個以上の <Alias> 要素を指定します。各要素は、元の Collada ファイルから、モデルを含む KML ファイルまたは KMZ ファイルへのテクスチャ ファイル パスのマッピングです。この要素を使用すると、テクスチャ ファイルを参照する元の Collada ファイルを更新しなくても、テクスチャ ファイルを移動して名前を変更できます。1 つの <ResourceMap> 要素に、異なる(ソースの)Collada ファイルから同じ(ターゲットの)KMZ ファイルへの複数のマッピングを含めることができます。
<Alias>
<targetHref>../images/foo.jpg</targetHref> <sourceHref>c:\mytextures\foo.jpg</sourceHref> </Alias>
<Alias> には、<sourceHref> から <targetHref> へのマッピングが含まれます。
<targetHref>
Google Earth で取得するテクスチャ ファイルを指定します。この参照は、.kmz アーカイブ内の画像ファイルへの相対参照でも、ファイルの絶対参照(URL など)でも構いません。
<sourceHref>
は、Collada .dae ファイル内のテクスチャ ファイルに対して指定されたパスです。
Google Earth では、このマッピングが指定されていない場合、次のルールを使用して、Collada(.dae)ファイルで参照されているテクスチャを特定します。
  • パスなし: テクスチャ名にパスを含めない場合、Google Earth はテクスチャを参照している .dae ファイルと同じディレクトリ内でそのテクスチャを探します。
  • 相対パス: テクスチャ名に相対パスが含まれている場合(../images/mytexture.jpg など)、Google Earth ではそのパスを参照する .dae ファイルへの相対パスと解釈されます。
  • 絶対パス: テクスチャ名が絶対パス(c:\mytexture.jpg)またはネットワーク パス(http://myserver.com/mytexture.jpg など)である場合、Google Earth は、.dae ファイルの場所にかかわらず、指定された場所にあるファイルを検索します。

<Model id="khModel543"> 
<altitudeMode>relativeToGround</altitudeMode>
<Location>
<longitude>39.55375305703105</longitude>
<latitude>-118.9813220168456</latitude>
<altitude>1223</altitude>
</Location>
<Orientation>
<heading>45.0</heading>
<tilt>10.0</tilt>
<roll>0.0</roll>
</Orientation>
<Scale>
<x>1.0</x>
<y>1.0</y>
<z>1.0</z>
</Scale>
<Link>
<href>house.dae</href>
<refreshMode>once</refreshMode>
</Link>
<ResourceMap>
<Alias>
<targetHref>../files/CU-Macky---Center-StairsnoCulling.jpg</targetHref>
<sourceHref>CU-Macky---Center-StairsnoCulling.jpg</sourceHref>
</Alias>
<Alias>
<targetHref>../files/CU-Macky-4sideturretnoCulling.jpg</targetHref>
<sourceHref>CU-Macky-4sideturretnoCulling.jpg</sourceHref>
</Alias>
<Alias>
<targetHref>../files/CU-Macky-Back-NorthnoCulling.jpg</targetHref>
<sourceHref>CU-Macky-Back-NorthnoCulling.jpg</sourceHref>
</Alias>
</ResourceMap>
</Model>

拡張元の要素

親要素

<MultiGeometry>

構文

<MultiGeometry id="ID">
  <!-- specific to MultiGeometry -->
  <!-- 0 or more Geometry elements -->
</MultiGeometry>

説明

同じアイテムに関連付ける 0 個以上のジオメトリ基本要素のコンテナです。

注: <GeometryCollection> タグはサポートが終了しました。代わりに <MultiGeometry> を使用してください。

MultiGeometry 固有の要素

<Placemark>
  <name>SF Marina Harbor Master</name>
<visibility>0</visibility>
<MultiGeometry> <LineString>
<!-- north wall --> <coordinates>
-122.4425587930444,37.80666418607323,0
-122.4428379594768,37.80663578323093,0 </coordinates>
</LineString> <LineString>
<!-- south wall -->
<coordinates>
-122.4425509770566,37.80662588061205,0
-122.4428340530617,37.8065999493009,0
</coordinates> </LineString>
</MultiGeometry> </Placemark>

拡張元の要素

親要素

<gx:MultiTrack>

この要素は、OGC KML 2.2 標準(リンク先は英語)の拡張要素で、Google Earth 5.2 以降でサポートされています。詳細

構文

<gx:MultiTrack id="ID">
  <!-- specific to MultiTrack -->
  <altitudeMode>clampToGround</altitudeMode>
        <!-- kml:altitudeModeEnum: clampToGround, relativeToGround, or absolute -->
        <!-- or, substitute gx:altitudeMode: clampToSeaFloor, relativeToSeaFloor -->
  <gx:interpolate>0<gx:interpolate>   <!-- boolean -->
  <gx:Track>...</gx:Track>            <!-- one or more gx:Track elements -->
</gx:MultiTrack>

説明

マルチトラック要素は複数のトラック要素を 1 つの概念上のユニットにまとめるために使用します。たとえば、1 日のサイクリングの GPS データを収集し、サイクリング中に休憩や昼食のために何度か停車していたとします。時間的には中断しているため、時間と位置をプロットすると、1 回のサイクリングが 4 つの別々のトラックとして表示される可能性があります。これらの <gx:Track> 要素を 1 つの <gx:MultiTrack> コンテナにグループ化すると、Google Earth で単一のパスの各部分として表示されるようになります。アイコンは 1 つのセグメントの終点に達すると、次のセグメントの始点に移動します。<gx:interpolate> 要素では、1 つのトラックの終点で止まるとすぐに次のトラックの始点にジャンプするか、2 つのトラック間の欠落した値を補間するかを指定します。

gx:MultiTrack 固有の要素

<altitudeMode>
<座標> 要素の高度コンポーネントを解釈する方法を指定します。値は次のいずれかです。
  • clampToGround -(デフォルト)標高の指定を無視します(<gx:coord> 要素内など)。
  • relativeToGround - 要素の標高を、その場所の実際の高度に対して相対的に設定します。たとえば、ある場所の地面の高度が海抜 0 m でポイントの標高を 9 m に設定している場合にこのモードを指定すると、ポイントの目印のアイコンの高度は 9 m に設定されます。一方、地面の高度が海抜 10 m の場所に同じ座標を設定すると、その座標の高度は 19 m になります。
  • absolute - 要素の下にある地形の実際の高度に関係なく、海面を基準にして座標の標高を設定します。たとえば、絶対標高モードで座標の高度を 10 m に設定すると、その下の地形も海抜 10 m の地点でも、地点の目印のアイコンが地面に表示されます。地形が海抜 3 m の場合、目印はその地形よりも 7 m 高い位置に表示されます。
<gx:heightMode>
Google 拡張機能の名前空間内の KML 拡張であり、海底からの相対高度を可能にします。値は次のとおりです。
  • relativeToSeaFloor - 標高を海底からの距離(メートル)として解釈します。ポイントが海ではなく陸地にある場合、高度は地面よりも高いと解釈されます。
  • clampToSeaFloor - 標高の指定は無視され、ポイントは海底に配置されます。ポイントが海上ではなく陸上にある場合、ポイントは地面に配置されます。
<gx:interpolate>
ブール値。マルチトラックに <gx:Track> 要素が複数含まれている場合は、最初のトラックの末尾と次のトラックの開始点の間で不足している値を補間するかどうかを指定します。デフォルト値(0)を使用している場合、アイコンまたはモデルはあるトラックの終わりで停止し、次のトラックの始まりにジャンプします。

含まれるコンテンツ

構文

<NetworkLink id="ID">
  <!-- inherited from Feature element --><name>...</name>                      <!-- string -->
  <visibility>1</visibility>            <!-- boolean -->
  <open>0</open>                        <!-- boolean -->
  <atom:author>...<atom:author>         <!-- xmlns:atom -->
   <atom:link href=" "/>               <!-- xmlns:atom -->
  <address>...</address>                <!-- string -->
  <xal:AddressDetails>...</xal:AddressDetails>  <!-- xmlns:xal -->
<phoneNumber>...</phoneNumber> <!-- string -->
<Snippet maxLines="2">...</Snippet> <!-- string --> <description>...</description> <!-- string --> <AbstractView>...</AbstractView> <!-- Camera or LookAt --> <TimePrimitive>...</TimePrimitive> <styleUrl>...</styleUrl> <!-- anyURI --> <StyleSelector>...</StyleSelector> <Region>...</Region> <Metadata>...</Metadata> <!-- deprecated in KML 2.2 --> <ExtendedData>...</ExtendedData> <!-- new in KML 2.2 --> <!-- specific to NetworkLink --> <refreshVisibility>0</refreshVisibility> <!-- boolean --> <flyToView>0</flyToView> <!-- boolean --> <Link>...</Link> </NetworkLink>

説明

ローカル ネットワークまたはリモート ネットワーク上の KML ファイルまたは KMZ アーカイブを参照します。<Link> 要素を使用して KML ファイルの場所を指定します。この要素内で、時間とカメラの変化に基づいて、ファイルの更新オプションを定義できます。NetworkLink を Region と組み合わせることによって、非常に大きなデータセットを効率的に処理できます。

<refreshVisibility>
ブール値。値を 0 に設定すると、アイテムの表示/非表示は Google Earth ユーザーがコントロールします。値を 1 に設定すると、NetworkLink が更新されるたびに、アイテムの表示/非表示がリセットされます。たとえば、リンクした KML ファイル内の Placemark の <visibility> を 1 に設定し、NetworkLink の <refreshVisibility> も 1 に設定するとします。この場合、ファイルが Google Earth に最初に読み込まれると、ユーザーはこのアイテムの横にあるチェックボックスをオフにして 3D ビューアでの表示を無効にできます。ただし、NetworkLink が更新されると、Placemark の最初の表示/非表示の設定が TRUE なので、この Placemark は再び表示されます。
<flyToView>
ブール値。値を 1 に設定すると、Google Earth は NetworkLinkControl の LookAt または Camera のビューにジャンプします(存在する場合)。NetworkLinkControl に AbstractView 要素が指定されていない場合、Google Earth は更新ファイルの <kml> 要素内にある子 Feature の LookAt 要素または Camera 要素にジャンプします。この <kml> 要素にも LookAt や Camera が指定されていない場合、ビューは変わりません。たとえば、Google Earth は、Document に含まれる Placemark の <LookAt> ではなく、親ドキュメントの <LookAt> ビューにジャンプします。

ヒント: リスト表示内のネットワーク リンクで最上位のフォルダまたはドキュメントを表示するには、フォルダまたはドキュメントに ID を割り当てます。この ID がない場合は、子オブジェクト名のみがリストビューに表示されます。

<Document>
  <visibility>1</visibility>
  <NetworkLink>
    <name>NE US Radar</name>
    <refreshVisibility>1</refreshVisibility>
    <flyToView>1</flyToView>
    <Link>...</Link></NetworkLink>
</Document>

拡張元の要素

親要素

<NetworkLinkControl>

構文

<NetworkLinkControl>
  <minRefreshPeriod>0</minRefreshPeriod>           <!-- float -->
  <maxSessionLength>-1</maxSessionLength>          <!-- float --> 
  <cookie>...</cookie>                             <!-- string -->
  <message>...</message>                           <!-- string -->
  <linkName>...</linkName>                         <!-- string -->
  <linkDescription>...</linkDescription>           <!-- string -->
  <linkSnippet maxLines="2">...</linkSnippet>      <!-- string -->
  <expires>...</expires>                           <!-- kml:dateTime -->
  <Update>...</Update>                             <!-- Change,Create,Delete -->
  <AbstractView>...</AbstractView>                 <!-- LookAt or Camera -->
</NetworkLinkControl>

説明

<NetworkLink> でのファイルの取得操作をコントロールします。

NetworkLinkControl 固有の要素

<minRefreshPeriod>
。秒単位で指定され、<minRefreshPeriod> はファイルを取得できる最小間隔です。このパラメータによって、特定のファイルのサーバーでの取得操作を抑制し、予想されるデータ変更頻度に合わせて更新頻度を調整できます。たとえば、ユーザーがリンクの更新間隔を 5 秒に設定したとしても、最小更新間隔を 3,600 秒に設定することにより、更新を 1 時間に 1 回に制限できます。
<maxSessionLength>
<maxSessionLength> は、クライアントの NetworkLink が接続状態を維持できる最大時間(秒)で指定します。デフォルト値の -1 は、セッションを明示的に終了しないことを示します。
この 要素を使用して、ネットワーク リンクを次に更新したときに、URL クエリに文字列を追加します。スクリプト内でこのデータを使用して、バージョンの問い合わせや条件付きのファイル配信などのより高度な処理をサーバー側で実行できます。
<message>
ネットワーク リンクの利用ガイドラインなどのポップアップ メッセージを配信できます。このメッセージは、ネットワーク リンクが最初に Google Earth に読み込まれたときや、ネットワーク リンク コントロールで変更されたときに表示されます。
<linkName>
サーバーからネットワーク リンクの名前を制御できます。これにより、クライアント側で名前が変更されると、その変更はサーバーによってオーバーライドされます。
<linkDescription>
ネットワーク リンクの説明をサーバーから制御できます。クライアント側の説明に加えられた変更はサーバーによってオーバーライドされます。
<linkSnippet maxLines="2" >
ネットワーク リンクのスニペットはサーバーから制御できるため、クライアント側でスニペットに加えた変更はサーバーでオーバーライドされます。<linkSnippet> には、表示する最大行数を指定する整数である maxLines 属性があります。
<expires>
リンクを更新する日時を指定できます。この仕様は、<Link> の <refreshMode> の値が onExpire の場合にのみ有効になります。<refreshMode> を参照
<Update>
<Update> では、ネットワーク リンクで読み込まれた .kml ファイルまたは .kmz アーカイブに対して、任意の数の Change、Create、Delete のタグを指定できます。<Update> をご覧ください。
<抽象ビュー>

<kml xmlns="http://www.opengis.net/kml/2.2">
<NetworkLinkControl>
   <message>This is a pop-up message. You will only see this once</message>
   <cookie>cookie=sometext</cookie>
   <linkName>New KML features</linkName>
   <linkDescription><![CDATA[KML now has new features available!]]></linkDescription>
</NetworkLinkControl>
</kml>

拡張元の要素

  • これは <kml> 要素の直接の子要素です。

親要素

  • <kml>

関連項目

<Object>

構文

<!-- abstract element; do not create -->
<!-- Object id="ID" targetId="NCName" -->
<!-- /Object> -->

説明

これは抽象的な基本クラスであり、KML ファイル内で直接使用することはできません。KML 要素の一意な識別を可能にする id 属性と、Google Earth にすでに読み込まれているオブジェクトを参照する targetId 属性が用意されています。<Update> メカニズムを使用する場合は、id 属性を割り当てる必要があります。

<Overlay>

構文

<!-- abstract element; do not create -->
<!-- Overlay id="ID" -->                    <!-- GroundOverlay,ScreenOverlay -->
  <!-- inherited from Feature element -->
  <name>...</name>                      <!-- string -->
  <visibility>1</visibility>            <!-- boolean -->
  <open>0</open>                        <!-- boolean -->
  <atom:author>...<atom:author>         <!-- xmlns:atom -->
  <atom:link href=" "/>            <!-- xmlns:atom -->
  <address>...</address>                <!-- string -->
  <xal:AddressDetails>...</xal:AddressDetails>  <!-- xmlns:xal -->
<phoneNumber>...</phoneNumber> <!-- string -->
<Snippet maxLines="2">...</Snippet> <!-- string --> <description>...</description> <!-- string --> <AbstractView>...</AbstractView> <!-- Camera or LookAt --> <TimePrimitive>...</TimePrimitive> <styleUrl>...</styleUrl> <!-- anyURI --> <StyleSelector>...</StyleSelector> <Region>...</Region> <Metadata>...</Metadata> <!-- deprecated in KML 2.2 --> <ExtendedData>...</ExtendedData> <!-- new in KML 2.2 --> <!-- specific to Overlay --> <color>ffffffff</color> <!-- kml:color --> <drawOrder>0</drawOrder> <!-- int --> <Icon> <href>...</href> </Icon> <!-- /Overlay -->

説明

これは抽象的な要素であり、KML ファイル内で直接使用することはできません。<Overlay> は、地表または画面に描画するイメージ オーバーレイの基本型です。使用する画像を <Icon> で指定します。タイマーやカメラの変更に基づいて画像を再読み込みするように <Icon> で設定することもできます。また、この要素では、複数のオーバーレイの積み重ね順序や、基本画像に適用する色や透明度の値を指定することもできます。

Overlay 固有の要素

<color>
色の値は、不透明度(アルファ)値などの 16 進数表記で表されます。式の順序は、alpha、blue、green、red(aabbggrr)です。1 つの色の値の範囲は 0 ~ 255 です(00ff).)。不透明度の場合、00 は完全に透明になり、ff は完全に不透明になります。たとえば、不透明度 50% の青色をオーバーレイに適用する場合は、<color>7fff0000</color> を指定します。

注: <geomColor> 要素はサポートが終了しました。代わりに <color> を使用してください。

<drawOrder>
この要素は、重なり合う画像内の画像の積み重ね順序を定義します。<drawOrder> 値の大きいオーバーレイが、<drawOrder> 値の小さいオーバーレイの上に描画されます。
<Icon>
オーバーレイに関連付けられた画像を定義します。<href> 要素では、Overlay として使用する画像の場所を定義します。この場所には、ローカル ファイルシステムかウェブ サーバーのどちらかを指定できます。この要素を省略するか、<href> を指定しない場合は、地面または画面オーバーレイで定義された色とサイズを使用して長方形が描画されます。
<Icon>
   <href>icon.jpg</href>
</Icon>

拡張

この要素を拡張した要素

<写真オーバーレイ>

構文

<PhotoOverlay>
  <!-- inherited from Feature element -->
  <name>...</name>                      <!-- string -->
  <visibility>1</visibility>            <!-- boolean -->
  <open>0</open>                        <!-- boolean -->
  <atom:author>...<atom:author>         <!-- xmlns:atom -->
  <atom:link href=" "/>            <!-- xmlns:atom -->
  <address>...</address>                <!-- string -->
  <xal:AddressDetails>...</xal:AddressDetails>  <!-- xmlns:xal -->
<phoneNumber>...</phoneNumber> <!-- string -->
<Snippet maxLines="2">...</Snippet> <!-- string --> <description>...</description> <!-- string --> <AbstractView>...</AbstractView> <!-- Camera or LookAt --> <TimePrimitive>...</TimePrimitive> <styleUrl>...</styleUrl> <!-- anyURI --> <StyleSelector>...</StyleSelector> <Region>...</Region> <Metadata>...</Metadata> <!-- deprecated in KML 2.2 --> <ExtendedData>...</ExtendedData> <!-- new in KML 2.2 --> <!-- inherited from Overlay element --> <color>ffffffff</color> <!-- kml:color --> <drawOrder>0</drawOrder> <!-- int --> <Icon> <href>...</href> <!-- anyURI --> ... </Icon> <!-- specific to PhotoOverlay --> <rotation>0</rotation> <!-- kml:angle180 --> <ViewVolume> <leftFov>0</leftFov> <!-- kml:angle180 --> <rightFov>0</rightFov> <!-- kml:angle180 --> <bottomFov>0</bottomFov> <!-- kml:angle90 --> <topFov>0</topFov> <!-- kml:angle90 --> <near>0</near> <!-- double --> </ViewVolume> <ImagePyramid> <tileSize>256</tileSize> <!-- int --> <maxWidth>...</maxWidth> <!-- int --> <maxHeight>...</maxHeight> <!-- int --> <gridOrigin>lowerLeft</gridOrigin> <!-- lowerLeft or upperLeft --> </ImagePyramid> <Point> <coordinates>...</coordinates> <!-- lon,lat[,alt] --> </Point> <shape>rectangle</shape> <!-- kml:shape --> </PhotoOverlay>

説明

<PhotoOverlay> 要素を使用すると、写真を地球上に地理的に配置し、その写真オーバーレイの表示パラメータを指定できます。写真オーバーレイは、単純な 2D の長方形だけでなく、一部または全体を円筒状にしたり、全体を球体にしたりしてパノラマを作成できます。オーバーレイは、指定した場所に配置され、眼点の方向に向けられます。

>写真オーバーレイは、視点を基準とした位置に配置されます。正確に言うと、2D の矩形画像の平面は、ビュー ベクトルと直交します(直角に交わりま)。この平面(前面であり、写真が表示される部分)の法線は、眼点の方向を向きます。

PhotoOverlay 画像の URL は、<Icon> タグで指定され、<Overlay> から継承されます。<Icon> タグには、PhotoOverlay に使用する画像ファイルを指定する <href> 要素を含める必要があります。非常に大きな画像を使用する場合、<href> には、さまざまな解像度の画像の階層を指す、特別な URL を指定します(ImagePyramid を参照)。

詳しくは、KML トピックの写真オーバーレイのページをご覧ください。

PhotoOverlay 固有の要素

<rotation>
写真が画角内にどのように配置されるかを調整します。この要素は、写真が傾いていて、望ましい水平ビューから少しずれている場合に役立ちます。
<ViewVolume>
現在のシーンの視認度を定義します。視野を指定することは、物理カメラでレンズの開口部を指定することに似ています。望遠レンズのように視界が狭い場合は、シーンの小さな部分が表示されます。広角レンズのように視野が大きい場合は、シーンの大部分が表示されます。
<leftFov>
カメラの視線方向と、ビュー ボリュームの左側との間の角度。
<rightFov>
カメラの視線方向と、ビュー ボリュームの右側との間の角度(度数)。
<bottomFov>
カメラの視線方向と、ビュー ボリュームの底面との間の角度(度数)。
<topFov>
カメラの視線方向と、ビュー ボリュームの上端との間の角度(度数)。
<near>
カメラの視点から PhotoOverlay のシェイプまでの視線に沿ったメートル単位の測定値。
PhotoOverlay の視野は 4 つの平面によって定義され、各面は表示ベクトルを基準とする角度で指定されます。これらの 4 つの平面は、次に示すように、視野の上面、底面、左側、右側を定義します。
次の図は、このピラミッド内の 4 つの視野角を示しています。
<ImagePyramid>
非常に大きな画像の場合は、画像ピラミッドを作成する必要があります。画像ピラミッドとは、元の画像の解像度を段階的に下げた、階層的な画像のセットのことです。ピラミッド内の各画像はタイルに分割されているため、表示部分のみを読み込む必要があります。Google Earth では、そのときの視点を計算し、画像とユーザーの間の距離に適したタイルを読み込みます。PhotoOverlay に眼点が近付くと、Google Earth はより高い解像度のタイルを読み込みます。元の画像のピクセルすべてを画面上で一度に表示できないため、Google Earth はこの前処理によって最大のパフォーマンスを得ることができます。これは、表示する部分の画像のみ、および現在の眼点でユーザーが識別できる解像度のピクセルのみを読み込むだけでよいためです。
画像ピラミッドを指定する場合は、<Icon> 要素の <href> を変更して、読み込むタイルの仕様を含めます。
<tileSize>
タイルのサイズ(ピクセル単位)。タイルは正方形で、<tileSize> は 2 の累乗でなければならない。タイルサイズは 256(デフォルト)または 512 が推奨されます。元の画像は、さまざまな解像度でこのサイズのタイルに分割されます。
<maxWidth>
元の画像のピクセル単位の幅。
<maxHeight>
元の画像のピクセル単位のサイズ。
<gridOrigin>
ピラミッドの各レイヤでタイルの番号付けを開始する位置を指定します。値を lowerLeft にした場合、各レイヤの行 1、列 1 がグリッドの左下になります。
<ポイント>
<Point> 要素は、<Placemark> 要素内の <Point> として機能します。PhotoOverlay の位置を指定するためのアイコンを作成します。描画されるアイコンは、<Placemark> と同様に、<styleUrl> フィールドと <StyleSelector> フィールドで指定されます。
<shape>
PhotoOverlay は <shape> に投影されます。<shape> は次のいずれかです。

rectangle -(デフォルト)通常の写真

cylinder - 部分的または完全な円筒形のパノラマ写真

sphere - 球形のパノラマ写真

<PhotoOverlay>
  <!-- Feature elements -->
  <name>A simple non-pyramidal photo</name>
  <description>High above the ocean</description>
  <!-- Overlay elements -->
  <Icon>
  <!-- A simple normal jpeg image -->
  <href>small-photo.jpg</href>
  </Icon>
  <!-- PhotoOverlay elements -->
  <!-- default: <rotation> default is 0 -->
  <ViewVolume>
    <near>1000</near>
    <leftFov>-60</leftFov>
    <rightFov>60</rightFov>
    <bottomFov>-45</bottomFov>
    <topFov>45</topFov>
  </ViewVolume>
  <!-- if no ImagePyramid only level 0 is shown,
       fine for a non-pyramidal image -->
  <Point>
    <coordinates>1,1</coordinates>
  </Point>
  <!-- default: <shape> -->
</PhotoOverlay>

拡張元の要素

親要素

<Placemark>

構文

<Placemark id="ID">
  <!-- inherited from Feature element -->
  <name>...</name>                      <!-- string -->
  <visibility>1</visibility>            <!-- boolean -->
  <open>0</open>                        <!-- boolean -->
  <atom:author>...<atom:author>         <!-- xmlns:atom -->
  <atom:link href=" "/>                <!-- xmlns:atom -->
  <address>...</address>                <!-- string -->
  <xal:AddressDetails>...</xal:AddressDetails>  <!-- xmlns:xal -->
<phoneNumber>...</phoneNumber> <!-- string -->
<Snippet maxLines="2">...</Snippet> <!-- string --> <description>...</description> <!-- string --> <AbstractView>...</AbstractView> <!-- Camera or LookAt --> <TimePrimitive>...</TimePrimitive> <styleUrl>...</styleUrl> <!-- anyURI --> <StyleSelector>...</StyleSelector> <Region>...</Region> <Metadata>...</Metadata> <!-- deprecated in KML 2.2 --> <ExtendedData>...</ExtendedData> <!-- new in KML 2.2 -->
<!-- specific to Placemark element --> <Geometry>...</Geometry> </Placemark>

説明

Placemark は、Geometry を関連付けた Feature です。Google Earth では、Placemark は [場所] パネル内のリスト アイテムとして表示されます。Point を設定する Placemark には、3D ビューア内の特定のポイントを示すアイコンを関連付けます(Google Earth 3D ビューアでは、Point の Placemark はクリックやロール オーバー操作ができる唯一のオブジェクトです。他の Geometry オブジェクトでは、3D ビューア内にアイコンは表示されません。3D ビューアでユーザーがクリックできるようにするには、Point と他の Geometry オブジェクトの両方を含む MultiGeometry オブジェクトを作成する必要があります)。

Placemark 固有の要素

<Placemark>
  <name>Google Earth - New Placemark</name>
  <description>Some Descriptive text.</description>
  <LookAt>
    <longitude>-90.86879847669974</longitude>
    <latitude>48.25330383601299</latitude>
    <range>440.8</range>
    <tilt>8.3</tilt>
    <heading>2.7</heading>
  </LookAt>
  <Point>
    <coordinates>-90.86948943473118,48.25450093195546,0</coordinates>
  </Point>
</Placemark>

拡張元の要素

親要素

関連項目

<Point>

構文

<Point id="ID">
  <!-- specific to Point -->
  <extrude>0</extrude>                        <!-- boolean -->
  <altitudeMode>clampToGround</altitudeMode>
        <!-- kml:altitudeModeEnum: clampToGround, relativeToGround, or absolute -->
        <!-- or, substitute gx:altitudeMode: clampToSeaFloor, relativeToSeaFloor -->
  <coordinates>...</coordinates>              <!-- lon,lat[,alt] -->
</Point>

説明

経度と緯度と標高(オプション)で定義する 1 地点です。Placemark に Point が含まれる場合、Point によって Placemark の名前とアイコンの位置が決まります。Point を押し出すと、その Point は地面と線で結ばれます。この「テザー(つなぎ網)」には、LineStyle の現在の設定が適用されます。

Point 固有の要素

<extrude>
ブール値。ポイントを地面に接続するかどうかを指定します。ポイントを押し出すには、<heightMode> の値が、relativeToGroundrelativeToSeaFloorabsolute のいずれかである必要があります。ポイントは地球の中心に向かって押し出されます。
<altitudeMode>
<座標> 要素の高度コンポーネントを解釈する方法を指定します。値は次のいずれかです。
  • clampToGround - (デフォルト)高度指定を無視することを示します(<Coordinates> タグ内など)。
  • relativeToGround - 要素の標高を、その場所の実際の高度に対して相対的に設定します。たとえば、ある場所の地面の高度が海抜 0 m でポイントの標高を 9 m に設定している場合にこのモードを指定すると、ポイントの目印のアイコンの高度は 9 m に設定されます。一方、地面の高度が海抜 10 m の場所に同じ座標を設定すると、その座標の高度は 19 m になります。このモードは一般に、電柱やスキーのリフトの配置に使用します。
  • absolute - 要素の下にある地形の実際の高度に関係なく、海面を基準にして座標の標高を設定します。たとえば、絶対標高モードで座標の高度を 10 m に設定すると、その下の地形も海抜 10 m の地点でも、地点の目印のアイコンが地面に表示されます。地形が海抜 3 m の場合、目印はその地形よりも 7 m 高い位置に表示されます。このモードは一般に、航空機の配置に使用します。
<gx:heightMode>
Google 拡張名前空間内の KML 拡張であり、海底からの相対高度を可能にします。値は次のとおりです。
  • relativeToSeaFloor - 標高を海底からの距離(メートル)として解釈します。ポイントが海ではなく陸地にある場合、高度は地面よりも高いと解釈されます。
  • clampToSeaFloor - 標高の指定は無視され、ポイントは海底に配置されます。ポイントが海上ではなく陸上にある場合、ポイントは地面に配置されます。
<coordinates>(必須)
経度、緯度、高度の浮動小数点値で構成される単一のタプル。経度と緯度の値は度数で示されます。
  • 経度: -180 ~ 180
  • 緯度: -90 以上 90 以下
  • height の値(省略可)は、海抜(メートル)
座標の 3 つの値の間にはスペースを入れないでください。

<Point>
  <coordinates>-90.86948943473118,48.25450093195546</coordinates>
</Point>

拡張元の要素

親要素

<Polygon>

構文

<Polygon id="ID">
  <!-- specific to Polygon -->
  <extrude>0</extrude>                       <!-- boolean -->
  <tessellate>0</tessellate>                 <!-- boolean -->
  <altitudeMode>clampToGround</altitudeMode>
        <!-- kml:altitudeModeEnum: clampToGround, relativeToGround, or absolute -->
        <!-- or, substitute gx:altitudeMode: clampToSeaFloor, relativeToSeaFloor -->
  <outerBoundaryIs>
    <LinearRing>
      <coordinates>...</coordinates>         <!-- lon,lat[,alt] -->
    </LinearRing>
  </outerBoundaryIs>
  <innerBoundaryIs>
    <LinearRing>
      <coordinates>...</coordinates>         <!-- lon,lat[,alt] -->
    </LinearRing>
  </innerBoundaryIs>
</Polygon>

説明

Polygon は、外側の境界と、0 個以上の内側の境界を指定することによって定義します。境界は LinearRing を指定することによって定義します。ポリゴンが押し出されると、その境界が地面に接続して追加のポリゴンが形成され、建物またはボックスのように見えます。Polygon の押し出しでは <PolyStyle> を使用して、色、色モード、塗りつぶしを設定します。

ポリゴンの <Coordinates> は反時計回りの順に指定する必要があります。ポリゴンは「右手の法則」に従います。この法則では、右手の指を座標の指定方向に置いた場合、親指はポリゴンの幾何学的法線の一般的な方向を指します(3D グラフィックでは、ライティングやポリゴンの正面から離れたポイントに幾何学的法線が使用されます)。Google Earth ではポリゴンの正面のみを塗りつぶすため、座標を正しい順序で指定した場合にのみ、想定した効果が得られます。そうでない場合、ポリゴンはグレーになります。

注: Google Earth では、<heightMode> が clampToGround であるポリゴンは、一貫した方角線に沿っています。ただし、<heightMode> が clampToGround である LinearRing 自体は、大きな円線に沿っています。

Polygon 固有の要素

<extrude>
ブール値。Polygon を地面に接続するかどうかを指定します。ポリゴンを押し出すには、標高モードを relativeToGroundrelativeToSeaFloorabsolute のいずれかにする必要があります。押し出されるのは頂点だけで、ジオメトリ自体は押し出されません(たとえば、長方形は 5 つの面を持つ箱に変わります)。ポリゴンの頂点が、地球の球の中心に向かって押し出されます。
<tessellate>
このフィールドは、Polygon では使用されません。ポリゴンが地形に従うことを可能にする(つまり、テッセレーションを有効にする)には、標高モードを clampToGround または clampToSeaFloor に指定します。
<altitudeMode>
<座標> 要素の高度コンポーネントを解釈する方法を指定します。値は次のいずれかです。
  • clampToGround -(デフォルト)標高の指定を無視します(<coordinates> タグ内など)。
  • relativeToGround - 要素の標高を、その場所の実際の高度に対して相対的に設定します。たとえば、ある場所の地面の高度が海抜 0 m でポイントの標高を 9 m に設定している場合にこのモードを指定すると、ポイントの目印のアイコンの高度は 9 m に設定されます。一方、地面の高度が海抜 10 m の場所に同じ座標を設定すると、その座標の高度は 19 m になります。このモードは一般に、電柱やスキーのリフトの配置に使用します。
  • absolute - 要素の下にある地形の実際の高度に関係なく、海面を基準にして座標の標高を設定します。たとえば、絶対標高モードで座標の高度を 10 m に設定すると、その下の地形も海抜 10 m の地点でも、地点の目印のアイコンが地面に表示されます。地形が海抜 3 m の場合、目印はその地形よりも 7 m 高い位置に表示されます。このモードは一般に、航空機の配置に使用します。
<gx:heightMode>
Google 拡張名前空間内の KML 拡張であり、海底からの相対高度を可能にします。値は次のとおりです。
  • relativeToSeaFloor - <altitude> 値を海底からの距離(メートル)として解釈します。ポイントが海ではなく陸地にある場合、高度は地面よりも高いと解釈されます。
  • clampToSeaFloor - 標高の指定は無視され、ポイントは海底に配置されます。ポイントが海上ではなく陸上にある場合、ポイントは地面に配置されます。
<outerBoundaryIs>(必須)
<LinearRing> 要素が含まれます。
<innerBoundaryIs>
<LinearRing> 要素が含まれます。 Polygon には複数の <innerBoundaryIs> 要素を含めることができ、それによって Polygon 内に複数の切り抜きが作成されます。

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Document>
<name>Polygon.kml</name>
<open>0</open>
<Placemark>
<name>hollow box</name>
<Polygon>
<extrude>1</extrude>
<altitudeMode>relativeToGround</altitudeMode>
<outerBoundaryIs>
<LinearRing>
<coordinates>
-122.366278,37.818844,30
-122.365248,37.819267,30
-122.365640,37.819861,30
-122.366669,37.819429,30
-122.366278,37.818844,30
</coordinates>
</LinearRing>
</outerBoundaryIs>
<innerBoundaryIs>
<LinearRing>
<coordinates>
-122.366212,37.818977,30
-122.365424,37.819294,30
-122.365704,37.819731,30
-122.366488,37.819402,30
-122.366212,37.818977,30
</coordinates>
</LinearRing>
</innerBoundaryIs>
</Polygon>
</Placemark>
</Document>
</kml>

拡張元の要素

親要素

<PolyStyle>

構文

<PolyStyle id="ID">
  <!-- inherited from ColorStyle -->
  <color>ffffffff</color>            <!-- kml:color -->
  <colorMode>normal</colorMode>      <!-- kml:colorModeEnum: normal or random -->

  <!-- specific to PolyStyle -->
  <fill>1</fill>                     <!-- boolean -->
  <outline>1</outline>               <!-- boolean -->
</PolyStyle>

説明

ポリゴンの押し出し(建物の壁面のような外観)や線の押し出し(連続した塀のような外観)など、すべてのポリゴンの描画スタイルを指定します。

PolyStyle 固有の要素

<fill>
ブール値。ポリゴンを塗りつぶすかどうかを指定します。
<outline>
ブール値。ポリゴンの輪郭を描画するかどうかを指定します。ポリゴンの輪郭には LineStyle の現在の設定が適用されます。

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Document>
<name>PolygonStyle.kml</name>
<open>1</open>
<Style id="examplePolyStyle">
<PolyStyle>
<color>ff0000cc</color>
<colorMode>random</colorMode>
</PolyStyle>
</Style>
<Placemark>
<name>hollow box</name>
<styleUrl>#examplePolyStyle</styleUrl>
<Polygon>
<extrude>1</extrude>
<altitudeMode>relativeToGround</altitudeMode>
<outerBoundaryIs>
<LinearRing>
<coordinates>
-122.3662784465226,37.81884427772081,30 -122.3652480684771,37.81926777010555,30 -122.365640222455,37.81986126286519,30 -122.36666937925,37.81942987753481,30 -122.3662784465226,37.81884427772081,30 </coordinates>
</LinearRing>
</outerBoundaryIs>
<innerBoundaryIs>
<LinearRing>
<coordinates>
-122.366212593918,37.81897719083808,30 -122.3654241733188,37.81929450992014,30 -122.3657048517827,37.81973175302663,30 -122.3664882465854,37.81940249291773,30 -122.366212593918,37.81897719083808,30 </coordinates>
</LinearRing>
</innerBoundaryIs>
</Polygon>
</Placemark>
</Document>
</kml>

拡張元の要素

親要素

<Region>

構文

<Region id="ID"> 
  <LatLonAltBox>
    <north></north>                            <!-- required; kml:angle90 -->
    <south></south>                            <!-- required; kml:angle90 -->
    <east></east>                              <!-- required; kml:angle180 -->
    <west></west>                              <!-- required; kml:angle180 -->
    <minAltitude>0</minAltitude>               <!-- float -->
    <maxAltitude>0</maxAltitude>               <!-- float -->
    <altitudeMode>clampToGround</altitudeMode>
        <!-- kml:altitudeModeEnum: clampToGround, relativeToGround, or absolute -->
        <!-- or, substitute gx:altitudeMode: clampToSeaFloor, relativeToSeaFloor -->
  </LatLonAltBox>
  <Lod>
    <minLodPixels>0</minLodPixels>             <!-- float -->
    <maxLodPixels>-1</maxLodPixels>            <!-- float -->
    <minFadeExtent>0</minFadeExtent>           <!-- float -->
    <maxFadeExtent>0</maxFadeExtent>           <!-- float -->
  </Lod>
</Region> 

説明

Region には、地理座標と標高で定義された対象領域を示す境界ボックス(<LatLonAltBox>)を指定します。また、1 つの Region には LOD(詳細レベル)の範囲<Lod>)があり、投影された画面サイズでの関連 Region の有効期間の範囲を定義します。Region は、その境界ボックスがユーザーのビュー内に含まれ、LOD 要件が満たされたときに「アクティブ」な状態になります。Region に関連付けられたオブジェクトは、その Region がアクティブなときにのみ描画されます。<viewRefreshMode> を onRegion に設定すると、Region がアクティブな場合にのみ、リンクまたはアイコンが読み込まれます。詳しくは、地域の「KML のトピック」ページをご覧ください。Container または NetworkLink の階層では、階層内で最も近い上位要素の Region が対象となります。

Region 固有の要素

<LatLonAltBox>(必須)
地理的座標と高度で定義される関心領域を表す境界ボックス。デフォルト値と必須フィールドは次のとおりです。
<heightMode> または <gx:heightMode>
<heightMode> には、clampToGroundrelativeToGroundabsolute を指定できます。<gx:heightMode> には、clampToSeaFloorrelativeToSeaFloor の値を使用できます。<LatLonBox> もご覧ください。
<minAltitude>
メートル単位で指定します(標高モードの仕様の影響を受けます)。
<maxAltitude>
メートル単位で指定します(標高モードの仕様の影響を受けます)。
<north>(必須)
境界ボックスの北端の緯度を 0 ~±90 の 10 進数の度数で指定します。
<south>(必須)
境界ボックスの南端の緯度の緯度を 0 ~±90 の 10 進数で指定します。
<east>(必須)
境界ボックスの東端の経度を 0 ~±180 の 10 進数の度数で指定します。
<west>(必須)
境界ボックスの西端の経度を 0 ~±180 の 10 進数の度数で指定します。
<LatLonAltBox>
<north>43.374</north>
<south>42.983</south>
<east>-0.335</east>
<west>-1.423</west>
<minAltitude>0</minAltitude>
<maxAltitude>0</maxAltitude>
</LatLonAltBox>
<Lod>
LodLevel of Detail(詳細レベル)の略称です。<Lod> では、Region が「アクティブ」な状態として認識されるために必要な、画面での投影領域のサイズを定義します。また、フェード イン(透明から不透明)とフェード アウト(不透明から透明)に適用するピクセル ランプ サイズを指定します。これらのパラメータを視覚的に表示する方法については、次の図をご覧ください。
<Lod>
<minLodPixels>256</minLodPixels>
<maxLodPixels>-1</maxLodPixels>
<minFadeExtent>0</minFadeExtent>
<maxFadeExtent>0</maxFadeExtent>
</Lod>
<minLodPixels> (必須)

画面空間内の正方形を定義します。指定した値の辺はピクセル単位です。たとえば、128 は 128 x 128 ピクセルの正方形を定義します。リージョンを有効にするには、リージョンの境界ボックスがこの正方形より大きい(maxLodPixels 正方形より小さい)必要があります。

詳しくは、デベロッパー ガイドのリージョンの作業の章と、Google Earth Outdoor ドキュメントのリージョンによる過負荷の回避のチュートリアルをご覧ください。

<maxLodPixels>
特定のリージョンにおける表示範囲の上限を表す画面ピクセルの測定値。デフォルト値の -1 は、「無限サイズまでアクティブ」を表します。
<minFadeExtent>
ジオメトリが完全な不透明から透明になるまでフェードアウトする距離。画面のピクセル数で表すこのランプ値は、LOD(表示可能)範囲の下限で適用されます。
<maxFadeExtent>
ジオメトリが完全な透明から不透明までフェードアウトする距離。画面のピクセル数で表すこのランプ値は、LOD(表示可能)範囲の上限で適用されます。
次の図では、P = 計算された投影ピクセルサイズに応じて、丸で囲んだ数値は次のようになります。
if (P < minLodPixels)
  opacity=0                                 //#1 in diagram
else if(P < minLodPixels + minFadeExtent)
  opacity=(P - minLodPixels)/minFadeExtent  //#2 in diagram
else if (P < maxLodPixels - maxFadeExtent)
  opacity=1                                 //#3 in diagram
else if (P < maxLodPixels)
  opacity=(maxLodPixels-P)/maxFadeExtent    //#4 in diagram
else
  opacity=0                                 //#5 in diagram

<Region> の例

<Region>
  <LatLonAltBox>
    <north>50.625</north>
    <south>45</south>
    <east>28.125</east>
    <west>22.5</west>
    <minAltitude>10</minAltitude>
    <maxAltitude>50</maxAltitude>
  </LatLonAltBox>
  <Lod>
    <minLodPixels>128</minLodPixels>
    <maxLodPixels>1024</maxLodPixels>
    <minFadeExtent>128</minFadeExtent>
    <maxFadeExtent>128</maxFadeExtent>
  </Lod>
</Region> 

拡張元の要素

親要素

  • <Feature> から派生する任意の要素

<スキーマ>

構文

<Schema name="string" id="ID">
  <SimpleField type="string" name="string">
    <displayName>...</displayName>            <!-- string -->
  </SimpleField>
</Schema>

説明

KML アイテムにカスタム データを追加するために使用する、カスタム KML スキーマを指定します。「id」属性は必須で、KML ファイル内で一意である必要があります。<Schema> は常に <Document> の子要素となります。

Schema 固有の要素

スキーマ要素には 1 つ以上の SimpleField 要素が含まれます。SimpleField で、Schema のカスタム フィールドの型と名前を宣言します。必要に応じて、このカスタム フィールドの displayName(Google Earth での表示に使用されるスペースと適切な句読点を含む、ユーザー フレンドリーなフォーム)を指定します。

<SimpleField type="string" name="string">
カスタム フィールドの宣言。このフィールドの typename の両方を指定する必要があります。type または name が省略されている場合、このフィールドは無視されます。type は次のいずれかです。
  • 文字列
  • int
  • uint
  • short
  • ushort
  • float
  • double
  • ブール値
<表示名>
Google Earth ユーザーにフィールド名が表示されるときに使用する名前です(存在する場合)。[CDATA] 要素を使用して、標準の HTML マークアップをエスケープします。

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Document>
<Schema name="TrailHeadType" id="TrailHeadTypeId"> <SimpleField type="string" name="TrailHeadName"> <displayName><![CDATA[<b>Trail Head Name</b>]]></displayName> </SimpleField> <SimpleField type="double" name="TrailLength"> <displayName><![CDATA[<i>The length in miles</i>]]></displayName> </SimpleField> <SimpleField type="int" name="ElevationGain"> <displayName><![CDATA[<i>change in altitude</i>]]></displayName> </SimpleField> </Schema>
</Document>
</kml>

拡張元の要素

これはルート要素です。

親要素

関連項目

<ScreenOverlay>

構文

<ScreenOverlay id="ID">
  <!-- inherited from Feature element -->
  <name>...</name>                      <!-- string -->
  <visibility>1</visibility>            <!-- boolean -->
  <open>0</open>                        <!-- boolean -->
  <atom:author>...<atom:author>         <!-- xmlns:atom -->
  <atom:link href=" "/>                <!-- xmlns:atom -->
  <address>...</address>                <!-- string -->
  <xal:AddressDetails>...</xal:AddressDetails>  <!-- xmlns:xal -->
<phoneNumber>...</phoneNumber> <!-- string -->
<Snippet maxLines="2">...</Snippet> <!-- string --> <description>...</description> <!-- string --> <AbstractView>...</AbstractView> <!-- Camera or LookAt --> <TimePrimitive>...</TimePrimitive> <styleUrl>...</styleUrl> <!-- anyURI --> <StyleSelector>...</StyleSelector> <Region>...</Region> <Metadata>...</Metadata> <!-- deprecated in KML 2.2 --> <ExtendedData>...</ExtendedData> <!-- new in KML 2.2 --> <!-- inherited from Overlay element --> <color>ffffffff</color> <!-- kml:color --> <drawOrder>0</drawOrder> <!-- int --> <Icon>...</Icon> <!-- specific to ScreenOverlay --> <overlayXY x="double" y="double" xunits="fraction" yunits="fraction"/> <!-- vec2 --> <!-- xunits and yunits can be one of: fraction, pixels, or insetPixels --> <screenXY x="double" y="double" xunits="fraction" yunits="fraction"/> <!-- vec2 --> <rotationXY x="double" y="double" xunits="fraction" yunits"fraction"/> <!-- vec2 --> <size x="double" y="double" xunits="fraction" yunits="fraction"/> <!-- vec2 --> <rotation>0</rotation> <!-- float --> </ScreenOverlay>

説明

この要素は、画面に固定するイメージ オーバーレイを描画します。ScreenOverlay の使用例には、コンパス、ロゴ、ヘッドアップ表示などがあります。ScreenOverlay のサイズは <size> 要素でせっていします。オーバーレイの位置は、<overlayXY> で指定された画像内の点を <screenXY> で指定された画面上の点にマッピングすることで処理されます。その後、画像が <rotationXY> で指定された画面を基準にして <rotation> 度回転します。

<Icon> の子要素の <href> で、オーバーレイとして使用する画像を指定します。これには、ローカル ファイルシステム上、またはウェブ サーバー上にある画像ファイルを指定できます。この要素を省略した場合や、<href> を指定しなかった場合、画面オーバーレイで定義した色とサイズの長方形が描画されます。

ScreenOverlay 固有の要素

<overlayXY>
画面座標(<screenXY>)にマッピングされるオーバーレイ画像上のポイント(または外部)を指定します。x 値と y 値、およびそれらの値の単位が必要です。
xy の値は、ピクセル("pixels")、画像の比率("fraction")、インセット ピクセル("insetPixels")(画像の右上隅からのピクセル数)の 3 つの方法で指定できます。xy の位置は、異なる方法で指定できます。たとえば、x はピクセル単位で指定し、y は分数で指定できます。座標系の原点は、画像の左下にあります。
  • x - オーバーレイ画像のポイントの x コンポーネントを示す、ピクセル数、画像の大きさを 1 とする相対コンポーネント、ピクセル インセットのいずれかを指定します。
  • y - オーバーレイ画像のポイントの y コンポーネントを示す、ピクセル数、画像の大きさを 1 とする相対コンポーネント、ピクセル インセットのいずれかを指定します。
  • xunits - x 値の単位を指定します。"fraction" は、x 値が画像の割合であることを示します。値 "pixels" は、x 値をピクセル単位で示します。値 "insetPixels" は、画像の右端からのインデントを示します。
  • yunits - y 値の単位を指定します。"fraction" は、y 値が画像の一部であることを示します。値 "pixels" は、ピクセルの y 値を示します。値 "insetPixels" は、画像の上端からのインデントを示します。
<screenXY>
オーバーレイ イメージがマッピングされる画面の原点からの相対ポイントを指定します。x 値と y 値は、3 通りの方法で指定できます。具体的には、ピクセル"pixels")、画面の小数"fraction"、インセット ピクセル"insetPixels")があり、画面の右上からのピクセル数で指定します。xy の位置は、さまざまな方法で指定できます。たとえば、x はピクセルで指定し、y は分数で指定できます。座標系の原点は、画面の左下にあります。
  • x - 画面のポイントの x コンポーネントを示す、ピクセル数、画面の大きさを 1 とする相対コンポーネント、ピクセル インセットのいずれかを指定します。
  • y - 画像のポイントの y コンポーネントを示す、ピクセル数、画面の大きさを 1 とする相対コンポーネント、ピクセル インセットのいずれかを指定します。
  • xunits - x 値の単位を指定します。"fraction" は、x 値が画面のごく一部であることを示します。値 "pixels" は、x 値をピクセル単位で示します。値 "insetPixels" は、画面の右端からのインデントを示します。
  • yunits - y 値の単位を指定します。値が fraction の場合は、y 値が画面の一部であることを示します。値 "pixels" は、ピクセルの y 値を示します。値 "insetPixels" は、画面の上端からのインデントであることを示します。
たとえば、<screenXY x=".5" y=".5" xunits="fraction" yunits="fraction"/> は画面の中央にある点を表します。
次に例を示します。

画像を画面中央に配置:

<ScreenOverlay>
  <overlayXY x="0.5" y="0.5" xunits="fraction" yunits="fraction"/>
  <screenXY x="0.5" y="0.5" xunits="fraction" yunits="fraction"/>
</ScreenOverlay>

画像を画面左上に配置:

<ScreenOverlay>
  <overlayXY x="0" y="1" xunits="fraction" yunits="fraction"/>
  <screenXY x="0" y="1" xunits="fraction" yunits="fraction"/>
</ScreenOverlay> 

画像を画面右上に配置:

<ScreenOverlay>
  <overlayXY x="1" y="1" xunits="fraction" yunits="fraction"/>
  <screenXY x="1" y="1" xunits="fraction" yunits="fraction"/>
</ScreenOverlay>  
<rotationXY>
画面オーバーレイが回転する画面の相対ポイント。
<size>
画面オーバーレイの画像のサイズを次のように指定します。
  • 値 -1 は、本来のサイズを使用することを表します。
  • 値 0 は縦横比を維持することを表します。
  • n は、サイズの値を設定します。
例:

画像の x と y の元のサイズを維持するには、値を -1 に設定します:

<size x="-1" y="-1" xunits="fraction" yunits="fraction"/> 

画像の元の横サイズを維持しながら、縦方向の画面領域を 20% に縮小するには、次にように指定します:

<size x="-1" y="0.2" xunits="fraction" yunits="fraction"/> 

画像のサイズを 100 x 500 ピクセルに変更するには、次のように指定します:

<size x="100" y="500" xunits="pixels" yunits="pixels"/> 
<rotation>
親オブジェクトの回転角度を示します。値が 0 の場合は、回転しません。この値は、北を開始位置とする反時計回りの角度(度数)です。0~±180 の範囲で親オブジェクトの回転度数を指定します。<rotation> の中心(そうでない場合、.5.5)は <rotationXY> で指定します。

次の例では、元の幅、高さ、縦横比を維持したまま、画面のちょうど中央に画像が配置されます。

<ScreenOverlay id="khScreenOverlay756">
  <name>Simple crosshairs</name>
  <description>This screen overlay uses fractional positioning
   to put the image in the exact center of the screen</description>
  <Icon>
    <href>http://myserver/myimage.jpg</href>
  </Icon>
  <overlayXY x="0.5" y="0.5" xunits="fraction" yunits="fraction"/>
  <screenXY x="0.5" y="0.5" xunits="fraction" yunits="fraction"/>
  <rotation>39.37878630116985</rotation>
  <size x="0" y="0" xunits="pixels" yunits="pixels"/>
</ScreenOverlay>

拡張元の要素

親要素

<Style>

構文

<Style id="ID">
<!-- extends StyleSelector -->

<!-- specific to Style -->
  <IconStyle>...</IconStyle>
  <LabelStyle>...</LabelStyle>
  <LineStyle>...</LineStyle>
  <PolyStyle>...</PolyStyle>
  <BalloonStyle>...</BalloonStyle>
  <ListStyle>...</ListStyle>
</Style>

説明

スタイルは、StyleMap と対象物で参照可能なアドレス指定可能なスタイル グループを定義します。Style は、3D ビューアに Geometry を表示する方法や、リスト ビューの [場所] パネルに Feature を表示する方法に影響を及ぼします。共有スタイルは <Document> で収集され、その各スタイルを使用する個々の対象物で参照できるように、各スタイルに id を定義する必要があります。

id を使用して <styleUrl> からスタイルを参照します。

<Document>
  <!-- Begin Style Definitions -->
  <Style id="myDefaultStyles">
    <IconStyle>
      <color>a1ff00ff</color>
      <scale>1.399999976158142</scale>
      <Icon>
        <href>http://myserver.com/icon.jpg</href>
      </Icon>
    </IconStyle>
    <LabelStyle>
      <color>7fffaaff</color>
      <scale>1.5</scale>
    </LabelStyle>
    <LineStyle>
      <color>ff0000ff</color>
      <width>15</width>
    </LineStyle>
    <PolyStyle>
      <color>7f7faaaa</color>
      <colorMode>random</colorMode>
    </PolyStyle>
  </Style>
  <!-- End Style Definitions -->
  <!-- Placemark #1 -->
  <Placemark>
    <name>Google Earth - New Polygon</name>
    <description>Here is some descriptive text</description>
    <styleUrl>#myDefaultStyles</styleUrl>
    . . .
  </Placemark>
  <!-- Placemark #2 -->
  <Placemark>
    <name>Google Earth - New Path</name>
    <styleUrl>#myDefaultStyles</styleUrl>
      . . . .
  </Placemark>
</Document>
</kml>

拡張元の要素

親要素

Style 固有の要素

<StyleMap>

構文

<StyleMap id="ID">
  <!-- extends StyleSelector -->
  <!-- elements specific to StyleMap -->
  <Pair id="ID">
    <key>normal</key>              <!-- kml:styleStateEnum:  normal or highlight -->
    <styleUrl>...</styleUrl> or <Style>...</Style>
  </Pair>
</StyleMap>

説明

<StyleMap> は、2 つの異なる Style をマップします。通常は <StyleMap> 要素を使用して、通常スタイルと強調表示対象の目印を別々に提供して、ユーザーが Google Earth のアイコンにカーソルを合わせたときにハイライト表示されるバージョンを表示します。

StyleMap 固有の要素

<Pair>(必須)
モード(normal または highlight)を事前定義された <styleUrl> にマッピングする Key-Value ペアを定義します。<Pair> には、次の 2 つの要素が含まれます(どちらも必須)。
  • <key>: キーを識別します。
  • <styleUrl> または <Style>。スタイルを参照します。<styleUrl> では、KML ドキュメントのローカルのスタイル要素を参照する場合は、単に # 参照を使用します。外部ファイルに含まれるスタイルの場合は、完全な URL と # 参照を使用します。例:
<Pair> 
  <key>normal</key>
  <styleUrl>http://myserver.com/populationProject.xml#example_style_off</styleUrl>
</Pair> 

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Document>
<name>StyleMap.kml</name>
<open>1</open>
<Style id="normalState">
<IconStyle>
<scale>1.0</scale>
<Icon>
<href>http://maps.google.com/mapfiles/kml/pal3/icon55.png</href>
</Icon>
</IconStyle>
<LabelStyle>
<scale>1.0</scale>
</LabelStyle>
</Style>
<Style id="highlightState">
<IconStyle>
<Icon>
<href>http://maps.google.com/mapfiles/kml/pal3/icon60.png</href>
</Icon>
<scale>1.1</scale>
</IconStyle>
<LabelStyle>
<scale>1.1</scale>
<color>ff0000c0</color>
</LabelStyle>
</Style>
<StyleMap id="styleMapExample">
<Pair>
<key>normal</key>
<styleUrl>#normalState</styleUrl>
</Pair>
<Pair>
<key>highlight</key>
<styleUrl>#highlightState</styleUrl>
</Pair>
</StyleMap>
<Placemark>
<name>StyleMap example</name>
<styleUrl>#styleMapExample</styleUrl>
<Point>
<coordinates>-122.368987,37.817634,0</coordinates>
</Point>
</Placemark>
</Document>
</kml>

拡張元の要素

親要素

<StyleSelector>

構文

<!-- abstract element; do not create -->
<!-- StyleSelector id="ID" -->                 <!-- Style,StyleMap -->
<!-- /StyleSelector -->

説明

これは抽象的な要素であり、KML ファイル内で直接使用することはできません。これは <Style> 要素と <StyleMap> 要素の基本型です。StyleMap 要素は、Placemark の現在のモードに基づいてスタイルを選択します。StyleSelector から派生する要素は、その id と URL によって一意に識別されます。

StyleSelector 固有の要素

この抽象的な要素には、子要素はありません。

拡張元の要素

この要素を拡張した要素

<TimePrimitive>

構文

<!-- abstract element; do not create -->
<!-- TimePrimitive id="ID" -->            <!-- TimeSpan,TimeStamp -->
  <!-- extends Object -->
<!-- /TimePrimitive -->

説明

これは抽象的な要素であり、KML ファイル内で直接使用することはできません。この拡張要素には <TimeSpan> 要素と <TimeStamp> 要素があります。

拡張元の要素

この要素を拡張した要素

<TimeSpan>

構文

<TimeSpan id="ID">
  <begin>...</begin>     <!-- kml:dateTime -->
  <end>...</end>         <!-- kml:dateTime -->
</TimeSpan>

説明

開始と終了の dateTime で区切られた時間の範囲を表します。

<begin> または <end> が欠落している場合、その期間の終わりは制限されません(下記の例を参照)。

dateTime は、XML スキーマ時間に従って定義されます(XML スキーマ パート 2: データ型第 2 エディションをご覧ください)。値は yyyy-mm-ddT hh:mm:ss.ssszzzzzz として表すことができます。T は日付と時刻の区切り文字であり、タイムゾーンは Z(UTC の場合)または zzzzzz(UTC に対する ±hh:mm)です。また、値は日付として表すこともできます。例については、<TimeStamp> をご覧ください。

TimeSpan 固有の要素

<begin>
期間の開始時点を表します。記述しないと、期間の開始時刻は指定されません。
<end>
期間の終了時刻を示します。記述しないと、期間のしゅうりょう時刻は指定されません。

次の例は、コロラドが州になってからの期間を示しています。コロラドは 1876 年 8 月 1 日に州になり、その後現在に至ります。そのため、この例では <begin> タグしか指定されていません:

<Placemark>
  <name>Colorado</name>
  .
  .
  .
  <TimeSpan>
    <begin>1876-08-01</begin>
  </TimeSpan>
</Placemark>

拡張元の要素

親要素

  • <Feature> から派生する任意の要素

<TimeStamp>

構文

<TimeStamp id="ID">
  <when>...</when>      <!-- kml:dateTime -->
</TimeStamp> 

説明

特定の時点を表します。これは、子要素のない単純要素です。この値は、XML の time(XML Schema Part 2: Datatypes Second Edition(リンク先は英語)を参照)で指定する dateTime です。TimeStamp の精度は <when> 要素内の dateTime 値によって決まります。

TimeStamp 固有の要素

<when>
特定の時点を指定します。値は dateTime で、次のいずれかになります。
  • dateTime: 秒まで指定します。
  • date: 日付まで指定します。
  • gYearMonth: 月まで指定します。
  • gYear: 年を指定します。

さまざまな方法で指定した <when> 値の例を次に示します:

  • gYearYYYY
<TimeStamp>
  <when>1997</when>
</TimeStamp>
  • gYearMonth(YYYY-MM)え
<TimeStamp>
  <when>1997-07</when>
</TimeStamp> 
  • date(YYYY-MM-DD
<TimeStamp>
  <when>1997-07-16</when>
</TimeStamp> 
  • dateTimeYYYY-MM-DDThh:mm:ssZ
    ここで T はカレンダーと時間表示の区切り文字であり、Z は UTC を示します。(秒は必須です)。
<TimeStamp>
  <when>1997-07-16T07:30:15Z</when>
</TimeStamp>
  • dateTimeYYYY-MM-DDThh:mm:sszzzzzz)
    この例の現地時間、± 変換は UTC です。
<TimeStamp>
  <when>1997-07-16T10:30:15+03:00</when>
</TimeStamp>

拡張

親要素

<gx:TimeSpan> と <gx:TimeStamp>

この要素は、OGC KML 2.2 標準(リンク先は英語)の拡張要素で、Google Earth 5.0 以降でサポートされています。詳細

拡張機能の名前空間にある <TimeSpan> 要素と <TimeStamp> 要素のコピー。これにより、抽象ビューに時刻値(<Camera><LookAt>)を含めることができます。時間値は、過去の画像、太陽光、タイムスタンプ付きの対象物の表示を制御するために使用します。

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2"
 xmlns:gx="http://www.google.com/kml/ext/2.2">

  <Document>
    <name>Views with Time</name>
    <open>1</open>
    <description>
      In Google Earth, enable historical imagery and sunlight,
      then click on each placemark to fly to that point in time.
    </description>

    <Placemark>
      <name>Sutro Baths in 1946</name>
      <Camera>
        <gx:TimeStamp>
          <when>1946-07-29T05:00:00-08:00</when>
        </gx:TimeStamp>
        <longitude>-122.518172</longitude>
        <latitude>37.778036</latitude>
        <altitude>221.0</altitude>
        <heading>70.0</heading>
        <tilt>75.0</tilt>
      </Camera>
    </Placemark>

    <Placemark>
      <name>Palace of Fine Arts in 2002</name>
      <Camera>
        <gx:TimeStamp>
          <when>2002-07-09T19:00:00-08:00</when>
        </gx:TimeStamp>
        <longitude>-122.444633</longitude>
        <latitude>37.801899</latitude>
        <altitude>139.629438</altitude>
        <heading>-70.0</heading>
        <tilt>75</tilt>
      </Camera>
    </Placemark>

  </Document>
</kml>

<gx:Tour>

この要素は、OGC KML 2.2 標準(リンク先は英語)の拡張要素で、Google Earth 5.0 以降でサポートされています。詳細

構文

<gx:Tour id="ID">
  <name>...</name>
  <description>...</description>
  <gx:Playlist>

    <!-- any number of gx:TourPrimitive elements -->

  </gx:Playlist>
</gx:Tour>

説明

<gx:Tour> には単一の <gx:Playlist> 要素を格納できます。この要素には、KML ブラウザでのツアーを定義する gx:TourPrimitive 要素の順序付きリストが含まれます。詳しくは、ツアーについての説明をご覧ください。

KML デベロッパー ガイドツアーのページで、ツアーの例を多数紹介しています。

含まれるコンテンツ

  • gx:Playlist - 任意の数の gx:TourPrimitive 要素が含まれます。<gx:Tour> 要素には 0 個または 1 個の <gx:Playlist> 要素を含めることができます。
    <gx:Tour>
      <gx:Playlist>
        <!-- gx:TourPrimitive -->
          ...
        <!-- /gx:TourPrimitive -->
    
        <!--- Any number of gx:TourPrimitive elements can be included --->
      </gx:Playlist>
    </gx:Tour>

<gx:TourPrimitive>

この要素は、OGC KML 2.2 標準(リンク先は英語)の拡張要素で、Google Earth 5.0 以降でサポートされています。詳細

構文

<gx:Tour>
  <gx:Playlist>

    <!-- abstract element; do not create -->
    <!-- gx:TourPrimitive -->    <!-- gx:AnimatedUpdate, gx:FlyTo, gx:TourControl, gx:SoundCue, gx:Wait -->
        <!-- extends Object -->
    <!-- /gx:TourPrimitive -->

  </gx:Playlist>
</gx:Tour>

説明

これは抽象的な要素であり、KML ファイル内で直接使用することはできません。この要素は、<gx:FlyTo><gx:AnimatedUpdate><gx:TourControl><gx:Wait><gx:SoundCue> の各要素によって拡張されます。

gx:TourPrimitive から拡張された要素では、ジャンプする地点や飛行時間、一時停止、KML 機能の更新、再生する音声ファイルなど、ツアー中の KML ブラウザに指示を提供します。

これらの要素は <gx:Playlist> 要素に含める必要があり、さらに <gx:Tour> 要素に含める必要があります。

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">

  <Document>
    <name>gx:AnimatedUpdate example</name>
    <open>1</open>

    <Style>
      <IconStyle id="iconstyle">
        <scale>1.0</scale>
      </IconStyle>
    </Style>

    <Placemark id="mountainpin1">
      <name>New Zealand's Southern Alps</name>
      <styleUrl>#style</styleUrl>
      <Point>
        <coordinates>170.144,-43.605,0</coordinates>
      </Point>
    </Placemark>

    <gx:Tour>
      <name>Play me!</name>
      <gx:Playlist>

        <!-- The order and duration of TourPrimitives is important;
             in this example, the AnimatedUpdate needs
             6.5 seconds to complete. The FlyTo provides 4.1,
             and the Wait 2.4, giving the update time to
             complete before the Tour ends. AnimatedUpdates
             don't hold Tours open, but FlyTos and Waits do.

             For more information, refer to:
             http://developers.google.com/kml/documentation/touring#tourtimelines
        -->

        <gx:AnimatedUpdate>
          <gx:duration>6.5</gx:duration>
          <Update>
            <targetHref></targetHref>
            <Change>
                <IconStyle targetId="iconstyle">
                  <scale>10.0</scale>
                </IconStyle>
            </Change>
          </Update>
        </gx:AnimatedUpdate>

        <gx:FlyTo>
          <gx:duration>4.1</gx:duration>
          <Camera>
            <longitude>170.157</longitude>
            <latitude>-43.671</latitude>
            <altitude>9700</altitude>
            <heading>-6.333</heading>
            <tilt>33.5</tilt>
            <roll>0</roll>
          </Camera>
        </gx:FlyTo>

        <gx:Wait>
          <gx:duration>2.4</gx:duration>  <!-- waiting for the AnimatedUpdate to complete -->
        </gx:Wait>

      </gx:Playlist>
    </gx:Tour>
  </Document>
</kml>

親要素

この要素を拡張した要素

  • <gx:AnimatedUpdate>
  • <gx:FlyTo>
  • <gx:SoundCue>
    <gx:SoundCue id="ID">
      <href>http://www.example.com/audio/trumpets.mp3</href>   <!-- any URI -->
      <gx:delayedStart>0</gx:delayedStart>                     <!-- double -->
    </gx:SoundCue>
    MP3、M4A、AAC 形式で、再生するサウンド ファイルを指定する <href> 要素を含めます。長さの指定はありません。サウンド ファイルはツアーの残りの部分と並行して再生されます。つまり、次のツアーのプリミティブは <gx:SoundCue> のツアーのプリミティブに達した直後に発生します。最初のサウンドの再生が完了する前に別のサウンド キューが設定された場合、それらのファイルはミックスされます。<gx:delayedStart> 要素は、ファイルを再生する前に、指定された秒数の間、サウンドの開始を遅延することを指定します。
  • <gx:TourControl>
    <gx:TourControl id="ID">
      <gx:playMode>pause</gx:playMode>    <!-- gx:playModeEnum: pause -->
    </gx:TourControl>
    <gx:playMode> 要素が 1 つ含まれているため、ユーザーが操作を続行するまでツアーを一時停止できます。
  • <gx:Wait>
    <gx:Wait id="ID">
      <gx:duration>0.0</gx:duration>    <!-- double -->
    </gx:Wait>
    カメラは、指定された秒数で静止し、次の gx:TourPrimitive まで再生されます。なお、ツアーのタイムラインは一時停止しません。現在再生中の音声ファイルとアニメーションは、カメラが待機している間も引き続き再生されます。

拡張

<gx:Track>

この要素は、OGC KML 2.2 標準(リンク先は英語)の拡張要素で、Google Earth 5.2 以降でサポートされています。詳細

構文

<gx:Track id="ID">
  <!-- specific to Track -->
  <altitudeMode>clampToGround</altitudeMode>
      <!-- kml:altitudeModeEnum: clampToGround, relativeToGround, or absolute -->
      <!-- or, substitute gx:altitudeMode: clampToSeaFloor, relativeToSeaFloor -->
  <when>...</when>                         <!-- kml:dateTime -->
  <gx:coord>...</gx:coord>                 <!-- string -->
  <gx:angles>...</gx:angles>               <!-- string -->
  <Model>...</Model>
  <ExtendedData>
    <SchemaData schemaUrl="anyURI">
      <gx:SimpleArrayData kml:name="string">
        <gx:value>...</gx:value>            <!-- string -->
      </gx:SimpleArrayData>
    <SchemaData>
  </ExtendedData>
</gx:Track>

説明

「トラック」は、指定の期間内にオブジェクトが世界をどのように移動するかを記述するものです。この機能を使用すると、Google Earth で表示可能なオブジェクト(ポイント アイコンまたはモデル)を 1 つ作成し、同じオブジェクトの複数の位置を複数回記録できます。Google Earth では、ユーザーが時間スライダを使って時間とともにビューを動かすと、オブジェクトの位置がアニメーション表示されます。

gx:MultiTrack 要素は、複数のトラックを 1 つの概念上のユニットにまとめるために使用します。このユニットは、トラックに沿って移動するアイコン(またはモデル)の 1 つに関連付けます。この機能は、同じ実在のオブジェクトに対して複数のトラックがある場合に便利です。<gx:MultiTrack> の <gx:interpolate> 要素(ブール型)では、マルチトラック内のトラック間を補間するかどうかを指定します。この値が 0 の場合、ポイントまたはモデルは 1 つのトラックの終点で止まってから次のトラックの始点にジャンプします(たとえば、1 つの目印を使って 2 日間の旅行を表し、期間中に GPS 装置の電源を 4 時間オフにしていた場合、装置をオフにしたポイントと再びオンにしたポイントの間が途切れて表示されます)。<gx:interpolate> の値を 1 にすると、最初のトラックの終点と次のトラックの始点の間の値が補間されて、1 つの連続したパスとして表示されるようになります。

GPS データを Google Earth にインポートする方法については、「Google Earth ユーザー ガイド」をご覧ください。

トラックが便利な理由

KML の以前のバージョンの (Google Earth 5.2 より前)では、任意の Feature(目印、地面オーバーレイなど)に時間要素を関連付けることができました。しかし、各 Feature に関連付けられる時間要素は 1 つだけでした。トラックは表示可能な Feature に時間データを関連付けるためのより効率的な方法です。Feature を 1 つだけ作成して、空間中のオブジェクトの移動に応じて複数の時間要素を関連付けることができるからです。

また、トラック要素は以前の方法(KML デベロッパー ガイド時間とアニメーションのページをご覧ください)よりも便利です。<Track> には、トラックに沿った任意の時間でオブジェクトの位置を補間する機能があるからです。この新機能を使うと、Google Earth では、時間とともに変化するオブジェクトの高度や速度のプロファイル(さらに、存在する場合はカスタム データ)のグラフが表示されます。

「欠落部分のある」データ

トラック上の位置にデータ値がない場合、配列のバランスを取るために空の <coord/> タグ(<coord></coord>)または <angles/>(<angles></angles>)タグを指定できます。空の <coord/> または <angles/> タグは、特定のデータ ポイントに関する該当データが存在しないことと、確実に指定された最も近い 2 つのデータ ポイント間で値を補間する必要があることを示します。トラックの ExtendedData もこの機能の対象となります。<when> 以外の要素なら、空にしておいて、確実に指定された最も近い 2 つのデータ ポイント間で補間することができます。

Track 固有の要素

<altitudeMode>
<座標> 要素の高度コンポーネントを解釈する方法を指定します。値は次のいずれかです。
  • clampToGround -(デフォルト)標高の指定を無視します(<gx:coord> タグ内など)。
  • relativeToGround - 要素の標高を、その場所の実際の高度に対して相対的に設定します。たとえば、ある場所の地面の高度が海抜 0 m でポイントの標高を 9 m に設定している場合にこのモードを指定すると、ポイントの目印のアイコンの高度は 9 m に設定されます。一方、地面の高度が海抜 10 m の場所に同じ座標を設定すると、その座標の高度は 19 m になります。
  • absolute - 要素の下にある地形の実際の高度に関係なく、海面を基準にして座標の標高を設定します。たとえば、絶対標高モードで座標の高度を 10 m に設定すると、その下の地形も海抜 10 m の地点でも、地点の目印のアイコンが地面に表示されます。地形が海抜 3 m の場合、目印はその地形よりも 7 m 高い位置に表示されます。
<gx:heightMode>
Google 拡張名前空間内の KML 拡張であり、海底からの相対高度を可能にします。値は次のとおりです。
  • relativeToSeaFloor - 標高を海底からの距離(メートル)として解釈します。ポイントが海ではなく陸地にある場合、高度は地面よりも高いと解釈されます。
  • clampToSeaFloor - 標高の指定は無視され、ポイントは海底に配置されます。ポイントが海上ではなく陸上にある場合、ポイントは地面に配置されます。
<日付>
position に対応する time 値(<gx:coord> 要素で指定)。<Track> 要素内の <when> 要素の数は、<gx:coord> 要素の数(含まれている場合は <gx:angles> 要素)と同じにする必要があります。
<gx:coord>
経度、緯度、高度の 3 つの値から構成される座標値。カンマ区切りは含めません。例:
<gx:coord>-122.207881 37.371915 156.000000</gx:coord>

<gx:coord> 要素の構文は、<Coordinates> 要素の構文とは異なります。<<座標> 要素は、経度、緯度、高度のコンポーネントをカンマで区切るものです。指定する 要素の数は、時間()と位置()の数と同じになります。必要に応じて、欠損値に空の <gx:coord> 要素を指定できます。

<gx:angles>
この値は、トラック内の時刻または位置ごとに、アイコン、モデルに追加の見出し、傾斜、ロールの値を指定するために使用されます。3 つの浮動小数点値は、カンマ区切りなしでリストされ、回転の度合いを表します。<gx:angles> が指定されていない場合、Google Earth はトラックから方角、傾斜、ロールを推定します。指定する <gx:angles> 要素の数は、時間(<when>)と位置(<gx:coord>)の要素の数と一致する必要があります。必要に応じて、欠損値に空の <gx:angles> 要素を指定できます。

現在、アイコンは見出しのみをサポートしていますが、モデルは 3 つの値すべてをサポートしています。

この値の設定例を次に示します:

<gx:angles>45.54676 66.2342 77.0</gx:angles>
<モデル>
指定すると、トラック上の現在の位置を示すために使用されるポイント アイコンがモデルによって置き換えられます。<gx:Track> で <Model> を指定すると、<Model> の子要素は次のようになります。
  • <Location> 要素は無視されます。
  • <altitudeMode> 要素は無視されます。
  • <Orientation> の値はトラックの方向と次のような関係になります。まず、<Orientation> の回転が適用されます。それによって、モデルはローカルの(x, y, z)座標システムから直立して北向きに変わります。次に、<gx:angles> 値の補間に相当する回転が適用されます。トラックに沿って移動するときのモデルの機首方位(heading)、前後の傾き(tilt)、左右の傾き(roll)が対象となります。角度が指定されていない場合、方角と傾斜は、モデルの動きから推定されます。

    ヒント: 方向の指定方法がわからない場合は、<Model> から <Orientation> 要素を省略して、Google Earth でトラックに沿って移動するときにモデルがどのような位置になるか確認してください。モデルの正面が横を向いている場合は、<Orientation> の <heading> 要素を変更して、前を向くようにモデルを回転させます。モデルが直立していない場合は、<tilt> または <roll> 要素を変更してみてください。

<拡張データ>

KML ファイルの <Schema> で先に定義するカスタム データ要素。

多くの場合、トラック上の時間/位置に関連付けられた拡張データを追加すると便利です。たとえば、拡張データのあるトラックの例で示すように、サイクリングでは心拍数、ケイデンス(ペダル回転数)、パワーなどのデータを含めることができます。<Schema> では、各カスタム データ型の <gx:SimpleArrayField> を定義します。次に、各データ型ごとに、トラック上の各時間/位置に対応する <gx:value> 要素を含める <gx:SimpleArrayData> 要素を指定します。新しいデータ フィールドの追加方法について詳しくは、KML デベロッパー ガイドカスタムデータの追加の章をご覧ください。Google Earth では、カスタム データはトラックの高度プロファイルに表示されます。

簡単な例

この基本的な例では、 <when> と <gx:coord> の値の並列「配列」を作成する方法を示します。時間と位置の値の数は同じである必要があります。

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2"
 xmlns:gx="http://www.google.com/kml/ext/2.2">
<Folder>
  <Placemark>
    <gx:Track>
      <when>2010-05-28T02:02:09Z</when>
      <when>2010-05-28T02:02:35Z</when>
      <when>2010-05-28T02:02:44Z</when>
      <when>2010-05-28T02:02:53Z</when>
      <when>2010-05-28T02:02:54Z</when>
      <when>2010-05-28T02:02:55Z</when>
      <when>2010-05-28T02:02:56Z</when>
      <gx:coord>-122.207881 37.371915 156.000000</gx:coord>
      <gx:coord>-122.205712 37.373288 152.000000</gx:coord>
      <gx:coord>-122.204678 37.373939 147.000000</gx:coord>
      <gx:coord>-122.203572 37.374630 142.199997</gx:coord>
      <gx:coord>-122.203451 37.374706 141.800003</gx:coord>
      <gx:coord>-122.203329 37.374780 141.199997</gx:coord>
      <gx:coord>-122.203207 37.374857 140.199997</gx:coord>
    </gx:Track>
  </Placemark>
</Folder>
</kml>

拡張データのあるトラックの例

この例では、サイクリングのカスタム データを定義、指定するための要素を太字で強調表示しています。カスタム データのフィールドは内部的に「heartrate」、「cadence」、「power」と名付けています。<Schema> 要素では、値の各セットに表示される名前(心拍数、ケイデンス、電力)を定義し、新しい各フィールドのデータ型を指定します(心拍数とケイデンスは int タイプ、電力は float タイプ)。Google Earth では、このカスタム データはトラックの高度プロファイルとともに表示されます。

この例では、カスタム アイコン、強調表示モードと通常モードでの各アイコンや線のスタイルを定義しており、トラックをよりリアルに表現しています。ただし、この例には 7 セットのデータ値のみが含まれています。実際の例には何万もの値が含まれます(データ提供: Sean Broeder 氏。このデータは、心拍数モニターと電力計を備えた Garmin Edge 705 で収集されたものです)。

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2" xmlns:gx="http://www.google.com/kml/ext/2.2">
  <Document>
    <name>GPS device</name>
    <Snippet>Created Wed Jun 2 15:33:39 2010</Snippet>

    <!-- Normal track style -->
    <LookAt>
      <gx:TimeSpan>
        <begin>2010-05-28T02:02:09Z</begin>
        <end>2010-05-28T02:02:56Z</end>
      </gx:TimeSpan>
      <longitude>-122.205544</longitude>
      <latitude>37.373386</latitude>
      <range>1300.000000</range>
    </LookAt>
    <Style id="track_n">
      <IconStyle>
        <scale>.5</scale>
        <Icon>
          <href>http://earth.google.com/images/kml-icons/track-directional/track-none.png</href>
        </Icon>
      </IconStyle>
      <LabelStyle>
        <scale>0</scale>
      </LabelStyle>

    </Style>
    <!-- Highlighted track style -->
    <Style id="track_h">
      <IconStyle>
        <scale>1.2</scale>
        <Icon>
          <href>http://earth.google.com/images/kml-icons/track-directional/track-none.png</href>
        </Icon>
      </IconStyle>
    </Style>
    <StyleMap id="track">
      <Pair>
        <key>normal</key>
        <styleUrl>#track_n</styleUrl>
      </Pair>
      <Pair>
        <key>highlight</key>
        <styleUrl>#track_h</styleUrl>
      </Pair>
    </StyleMap>
    <!-- Normal multiTrack style -->
    <Style id="multiTrack_n">
      <IconStyle>
        <Icon>
          <href>http://earth.google.com/images/kml-icons/track-directional/track-0.png</href>
        </Icon>
      </IconStyle>
      <LineStyle>
        <color>99ffac59</color>
        <width>6</width>
      </LineStyle>

    </Style>
    <!-- Highlighted multiTrack style -->
    <Style id="multiTrack_h">
      <IconStyle>
        <scale>1.2</scale>
        <Icon>
          <href>http://earth.google.com/images/kml-icons/track-directional/track-0.png</href>
        </Icon>
      </IconStyle>
      <LineStyle>
        <color>99ffac59</color>
        <width>8</width>
      </LineStyle>
    </Style>
    <StyleMap id="multiTrack">
      <Pair>
        <key>normal</key>
        <styleUrl>#multiTrack_n</styleUrl>
      </Pair>
      <Pair>
        <key>highlight</key>
        <styleUrl>#multiTrack_h</styleUrl>
      </Pair>
    </StyleMap>
    <!-- Normal waypoint style -->
    <Style id="waypoint_n">
      <IconStyle>
        <Icon>
          <href>http://maps.google.com/mapfiles/kml/pal4/icon61.png</href>
        </Icon>
      </IconStyle>
    </Style>
    <!-- Highlighted waypoint style -->
    <Style id="waypoint_h">
      <IconStyle>
        <scale>1.2</scale>
        <Icon>
          <href>http://maps.google.com/mapfiles/kml/pal4/icon61.png</href>
        </Icon>
      </IconStyle>
    </Style>
    <StyleMap id="waypoint">
      <Pair>
        <key>normal</key>
        <styleUrl>#waypoint_n</styleUrl>
      </Pair>
      <Pair>
        <key>highlight</key>
        <styleUrl>#waypoint_h</styleUrl>
      </Pair>
    </StyleMap>
    <Style id="lineStyle">
      <LineStyle>
        <color>99ffac59</color>
        <width>6</width>
      </LineStyle>
    </Style>
    <Schema id="schema">
      <gx:SimpleArrayField name="heartrate" type="int">
        <displayName>Heart Rate</displayName>
      </gx:SimpleArrayField>
      <gx:SimpleArrayField name="cadence" type="int">
        <displayName>Cadence</displayName>
      </gx:SimpleArrayField>
      <gx:SimpleArrayField name="power" type="float">
        <displayName>Power</displayName>
      </gx:SimpleArrayField>
    </Schema>
    <Folder>
      <name>Tracks</name>
      <Placemark>
        <name>2010-05-28T01:16:35.000Z</name>
        <styleUrl>#multiTrack</styleUrl>
        <gx:Track>
          <when>2010-05-28T02:02:09Z</when>
          <when>2010-05-28T02:02:35Z</when>
          <when>2010-05-28T02:02:44Z</when>
          <when>2010-05-28T02:02:53Z</when>
          <when>2010-05-28T02:02:54Z</when>
          <when>2010-05-28T02:02:55Z</when>
          <when>2010-05-28T02:02:56Z</when>
          <gx:coord>-122.207881 37.371915 156.000000</gx:coord>
          <gx:coord>-122.205712 37.373288 152.000000</gx:coord>
          <gx:coord>-122.204678 37.373939 147.000000</gx:coord>
          <gx:coord>-122.203572 37.374630 142.199997</gx:coord>
          <gx:coord>-122.203451 37.374706 141.800003</gx:coord>
          <gx:coord>-122.203329 37.374780 141.199997</gx:coord>
          <gx:coord>-122.203207 37.374857 140.199997</gx:coord>
          <ExtendedData>
            <SchemaData schemaUrl="#schema">
              <gx:SimpleArrayData name="cadence">
                <gx:value>86</gx:value>
                <gx:value>103</gx:value>
                <gx:value>108</gx:value>
                <gx:value>113</gx:value>
                <gx:value>113</gx:value>
                <gx:value>113</gx:value>
                <gx:value>113</gx:value>
              </gx:SimpleArrayData>
              <gx:SimpleArrayData name="heartrate">
                <gx:value>181</gx:value>
                <gx:value>177</gx:value>
                <gx:value>175</gx:value>
                <gx:value>173</gx:value>
                <gx:value>173</gx:value>
                <gx:value>173</gx:value>
                <gx:value>173</gx:value>
              </gx:SimpleArrayData>
              <gx:SimpleArrayData name="power">
                <gx:value>327.0</gx:value>
                <gx:value>177.0</gx:value>
                <gx:value>179.0</gx:value>
                <gx:value>162.0</gx:value>
                <gx:value>166.0</gx:value>
                <gx:value>177.0</gx:value>
                <gx:value>183.0</gx:value>
              </gx:SimpleArrayData>
            </SchemaData>
          </ExtendedData>
        </gx:Track>
      </Placemark>
    </Folder>
  </Document>
</kml>

拡張

親要素

<Update>

構文

<Update>
  <targetHref>...</targetHref>    <!-- URL -->
  <Change>...</Change>
  <Create>...</Create>
  <Delete>...</Delete>
</Update>

説明

指定された URL を使用してすでに読み込まれている KML データを追加、変更、削除するかどうかを指定します。<targetHref> には、(Google Earth 内の)データを変更する .kml ファイルまたは .kmz ファイルを指定します。<Update> は常に NetworkLinkControl に含めます。また、この NetworkLinkControl を含むファイルを NetworkLink で読み込んでおく必要があります。更新の仕組みの詳細な例については、更新の「KML のトピック」ページをご覧ください。

Update 固有の要素

任意の数の <Change>、<Create>、<Delete> 要素を指定できます。各要素は指定した順序で処理されます。

<targetHref>(必須)
<Update> 要素でデータ(Google Earth 内)を変更する .kml ファイルまたは .kmz ファイルを指定する URL。この KML ファイルは、すでに <NetworkLink> を介して読み込まれている必要があります。このファイルでは、変更する要素に id 属性を明示的に定義する必要があります。
<Change>
<NetworkLink> ですでに読み込まれている要素の値を変更します。変更される子には、元の要素の id を参照する targetId 属性を含める必要があります。
この更新は「スパース アップデート」とみなすことができます。変更対象の要素では、<変更> にリストされている値のみが置き換えられ、他の値はすべて変更されません。座標のセットに <Change> を適用すると、現在の座標が新しい座標に置き換えられます。
この要素の子要素は変更対象の要素であり、targetId 属性によって識別されます。
<Create>
<NetworkLink> を介して読み込まれたフォルダまたはドキュメントに新しい要素を追加します。<Update><targetHref> 要素には、元のフォルダまたはドキュメントを含む .kml ファイルまたは .kmz ファイルの URL を指定します。このファイル内で、新しいデータを含むフォルダまたはドキュメントに明示的な id が定義されている必要があります。この id は、追加される要素を含む <Create> 内のフォルダまたはドキュメントの targetId 属性として参照されます。
オブジェクトを作成して Google Earth に読み込むと、フォルダの元の親ドキュメントの URL が継承されます。この Update/Create メカニズムで追加したオブジェクトをさらに更新する場合は、<targetHref> の値に(途中で実行した更新を読み込んだファイルの URL ではなく)元の Document または Folder の URL を指定します。
<Delete>
<NetworkLink> を介してすでに読み込まれている複雑な要素から対象物を削除します。<Update><targetHref> 要素は、削除するデータを含む .kml ファイルまたは .kmz ファイルを指定します。このファイル内で、削除する要素にすでに id が定義されている必要があります。<Delete> 要素は、targetId 属性内のこの id を参照します。
<Delete> の子要素は、Document、Folder、GroundOverlay、Placemark、ScreenOverlay のみです。

<Change> の例

<NetworkLinkControl>
  <Update>
    <targetHref>http://www/~sam/January14Data/Point.kml</targetHref>
    <Change> 
      <Point targetId="point123">
        <coordinates>-95.48,40.43,0</coordinates>
      </Point>
    </Change>
  </Update>
</NetworkLinkControl> 

<Create> の例

次の例では、id が「region24」の作成済みの Document に新しい Placemark を作成します。「placemark891」を後で更新する場合も、http://myserver.com/Point.kml を <targetHref> として使用します。

<Update>
  <targetHref>http://myserver.com/Point.kml</targetHref>
  <Create>
    <Document targetId="region24">
      <Placemark id="placemark891">
        <Point>
          <coordinates>-95.48,40.43,0</coordinates>
        </Point>
      </Placemark>
    </Document>
  </Create> 
</Update>

<Delete> の例

この例では、Google Earth に以前に読み込まれた Placemark を削除します(この Placemark は、URL を指定した NetworkLink によって直接読み込まれているか、またはその後の元の Document への Update によってに読み込まれているものとします)。

<Update>
  <targetHref>http://www.foo.com/Point.kml</targetHref>
  <Delete>
    <Placemark targetId="pa3556"></Placemark>
  </Delete>
</Update> 

親要素

<Url>

注: この要素は KML リリース 2.1 でサポートが終了し、Region の追加機能を提供する <Link> が代わりとなります。<Url> タグはまだ Google Earth で機能しますが、新しい <Link> タグを使用することをおすすめします。

この要素は、KML ファイルにリンクする場所の設定、サーバーやビューアの変更の更新オプションの定義、サーバーに有用なクライアント情報を返す変数への値の代入に使用します。

トップへ戻る