お気に入り | 日本語 | ログイン

KML リファレンス

このセクションでは、KML バージョン 2.2 で定義されているすべての KML 要素と Google の拡張名前空間の要素をアルファベット順に説明します。KML 要素のクラス ツリーは以下のとおりです。この図では、ツリーの枝の右側に表示されている要素は、その左側に表示されている要素を拡張したものです。たとえば、Placemark は特殊な種類の Feature です。この要素には Feature に属する要素がすべて含まれ、さらに Placemark 要素に固有の要素がいくつか追加されています。

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

KML 用の XML スキーマは http://schemas.opengis.net/kml/ でご覧下さい。

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

kml object hierarchy showing inheritance among objects

抽象的な要素(図の中の四角で囲まれている要素)は、実際には KML ファイルでは使用しません。これは、1 つの要素を複数の類似した(ただし異なる)派生要素のプログラム的な基盤として機能させる便利な方法です。関連する要素のグループがわかるようになるため、このオブジェクト指向の階層を理解することは KML の学習にも役立ちます。

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

KML は XML の文法とファイル形式を使用するため、タグ名は大文字と小文字を区別し、ここに示すとおりに記述する必要があります。XML を理解しているユーザーは、KML 2.2 スキーマもご覧ください。KML テキスト ファイルを編集する際は、このスキーマを任意の XML エディタに読み込ませて KML コードを検証できます。

ヒント: Google Earth の Feature に対する KML の表示

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

互換性

KML のバージョンには、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 標準には、拡張メカニズム(標準では提供されない情報を指定する追加の要素)が用意されています(XML 名前空間について詳しくは、w3.org のここをご覧ください)。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://code.google.com/apis/kml/schema/kml22gx.xsd からアクセスできます。

KML のフィールド

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

フィールドの型 使用例
altitudeModeEnum 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>、
<tilt>、<roll> を参照
color hexBinary 値: aabbggrr <ColorStyle> の拡張要素を参照
colorModeEnum normal、random <ColorStyle> の拡張要素を参照
dateTime dateTime、date、gYearMonth、gYear <TimeSpan><TimeStamp> を参照
displayModeEnum default、hide <BalloonStyle> を参照
gridOrigin lowerLeft、upperLeft <PhotoOverlay> を参照
refreshModeEnum onChange、onInterval、onExpire <Link> を参照
shapeEnum rectangle、cylinder、sphere <PhotoOverlay> を参照
styleStateEnum normal、highlight <StyleMap> を参照
unitsEnum fraction、pixels、insetPixels <IconStyle> の <hotSpot> と、<ScreenOverlay> を参照
vec2 x=double xunits=kml:unitsEnum
y=double yunits=kml:unitsEnum
<IconStyle> の <hotSpot> と、
<ScreenOverlay> を参照
viewRefreshEnum never、onRequest、onStop、onRegion <Link> を参照

 

<AbstractView>

構文

<!-- abstract element; do not create -->
<!-- AbstractView -->                   <!-- Camera, LookAt -->                
  <!-- extends Object -->
  <TimePrimitive>...</TimePrimitive>                        <!-- gx:TimeSpan or gx:TimeStamp -->
<-- /AbstractView -->

説明

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

拡張元の要素

この要素を拡張した要素

<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> 要素の代わりに使用でき、標準の altitudeMode の値の他に次の値に対応しています:

  • 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>
  <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:AnimatedUpdate>

説明

<gx:AnimatedUpdate><Update> を使用して、KML アイテムへのツアー中の変更をコントロールします。KML アイテムへの変更は DOM には影響しません。つまり、どのような変更もツアーが終わると元に戻り、KML には一切保存されません。

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

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

アイコンのサイズを変更する例を、下記に示します。この変更は 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 はアルファ(00~ff)、bb は青(00~ff)、gg は緑(00~ff)、rr は赤(00~ff)を表します。アルファの 00 は完全な透明を表し、ff は完全な不透明を表します。たとえば、オーバーレイに 50 % 不透明な青色を適用する場合は、<bgColor>7fff0000</bgColor> と指定します。アルファは 0x7f、青は 0xff、緑は 0x00、赤は 0x00 です。デフォルトは不透明な白(ffffffff)です。

注: <BalloonStyle> 内での <color> 要素の使用は廃止予定です。代わりに、<bgColor> を使用してください。

<textColor>
テキストの前景色。デフォルトは黒(ff000000)です。
<text>
バルーンに表示するテキスト。テキストを指定しないと、Google Earth によってデフォルトのバルーン(Feature の <name>(太字)、Feature の <description>、運転ルート リンク、白い背景、指定されている場合は Feature 地点の座標に伸びる吹き出しの先端)が描画されます。
次の形式を使用して、Feature の子要素を参照するエンティティを <text> タグに追加できます: $[name]$[description]$[address]$[id]$[Snippet]。Google Earth は、現在の Feature のこれらに対応する文字列エンティティを確認し、その情報をバルーンに表示します。バルーンに [到着地点 - 出発地点] という運転ルートを表示するには、$[geDirections] タグを使用します。運転ルート リンクをバルーンに表示しないようにするには、任意のコンテンツを指定した <text> 要素や、基本 Feature の <description> に 置き換えられる $[description] を指定した <text> 要素を組み込みます。
たとえば、次の KML の抜粋では、$[name] フィールドと $[description] フィールドは、この BalloonStyle を使用する Feature 要素の <name> フィールドと <description> フィールドに置き換えられます:
<text>This is $[name], whose description is:<br/>$[description]</text>
<displayMode>
<displayMode> が default の場合、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 を示しています。この Placemark が読み込まれると、説明のバルーンが表示されます。
 balloonvisibility_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> を使用しています。ツアー中、いくつかのバルーンが開いたり閉じたりして、ユーザーに情報を表示します。
 balloonvisibility_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 -->
   
  <!-- 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> 

説明

シーンを表示する仮想カメラを定義します。この要素では、地表に対するカメラの位置と視点の方向を定義します。カメラの位置は、<longitude>、<latitude>、<altitude> と、<altitudeMode> または <gx:altitudeMode> のどちらかで定義します。カメラの視点の方向は、<heading>、<tilt>、<roll> で定義します。<Camera> は、あらゆる Feature や <NetworkLinkControl> の子要素になれます。親要素は <Camera> と <LookAt> を同時に持つことはできません。

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

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

視点の定義

Feature または <NetworkLinkControl> 内で、<Camera> オブジェクトか <LookAt> オブジェクトのどちらか(1 つのオブジェクトに両方は使用できません)を使用します。<Camera> オブジェクトは、見る側の位置と向きで視点を定義します。<Camera> オブジェクトを使用すると、地表上ではないビューを指定できます。<LookAt> オブジェクトでは、表示対象に向けられた視点を定義します。<LookAt> オブジェクトは <Camera> オブジェクトよりもスコープが制限され、通常は視点の方向が地表と交差する必要があります。

次の図は、仮想カメラの X 軸、Y 軸、Z 軸を表しています。

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

転換の順序

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

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

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

Camera 固有の要素

<longitude>
仮想カメラ(眼点)の経度。グリニッジ子午線を基準とした角距離(度数)を指定します。子午線の西側の値の範囲は -180~0 度です。子午線の東側の値の範囲は 0~180 度です。
<latitude>
仮想カメラの緯度。赤道(0 度)から北または南の度数を指定します。値の範囲は -90~90 度です。
<altitude>
カメラの地表からの距離(メートル)。Camera の <altitudeMode> または <gx:altitudeMode> に従って解釈されます。
<heading>
度数で表したカメラの向き(方位角)。デフォルトは 0(真北)です。(図を参照)。値の範囲は 0~360 度です。
<tilt>
X 軸を中心としたカメラの回転(度数)。値の 0 は、視点が地面に向かってまっすぐ下に向いていることを示します(一般的な場合)。<tilt> の値の 90 は、視点が水平方向に向いていることを示します。90 より大きな値は、視点が空を見上げる方向に向いていることを示します。<tilt> の値は最大 +180 度です。
<roll>
Z 軸を中心としたカメラの回転(度数)。値の範囲は -180~+180 度です。
<altitudeMode>
Camera に指定した <altitude> の値の解釈方法を指定します。指定できる値は次のとおりです:
  • relativeToGround -(デフォルト)<altitude> の値を地面からのメートル単位の距離として解釈します。ポイントが海上にある場合、<altitude> の値は海面からのメートル単位の距離として解釈されます。海底を基準にしてポイントを指定するには、下記の <gx:altitudeMode> をご覧ください。
  • clampToGround - <altitude> の指定を無視して Camera の位置を地面に設定します。
  • 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 はアルファ(00~ff)、bb は青(00~ff)、gg は緑(00~ff)、rr は赤(00~ff)を表します。たとえば、オーバーレイに 50 % 不透明な青色を適用する場合は、<color>7fff0000</color> と指定します。アルファは 0x7f、青は 0xff、緑は 0x00、赤は 0x00 です。
<colorMode>
<colorMode> の値には、normal(効果なし)と random があります。値に random を指定すると、ランダムなリニア スケールが次のように基本の <color> に適用されます。
  • 完全にランダムに色を選択するには、基本の <color> に白(00ffffff)を指定します。
  • 単一色のコンポーネント(たとえば、赤を示す値の 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>...</atom:link> <!-- 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>...</atom:link>            <!-- 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. Document 内にすべての Style を定義し、Style ごとに id を一意に割り当てます。
  2. 特定の Feature または StyleMap 内で、<styleUrl> 要素を使用して Style の id を参照します。

Document 内の Feature は共有スタイルを継承しません。

各 Feature では、使用するスタイルを <styleUrl> 要素に指定して、明示的に参照する必要があります。Document に Style(ListStyle など)を適用する場合は、Document 自体のスタイルを <styleUrl> で明示的に参照する必要があります。次に例を挙げます:

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

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

共有スタイルを Folder で使用しないでください。

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

<?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>

拡張元の要素

子要素

  • <Feature> から派生した 0 または 1 つ以上の要素
  • <StyleSelector> から派生した 0 または 1 つ以上の要素
  • <Schema> から派生した 0 または 1 つ以上の要素

トップへ戻る

<gx:duration>

この要素は、OGC KML 2.2 標準 の拡張要素で、Google Earth 5.0 でサポートされています。詳しくはこちらをご覧ください。

構文

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

説明

<gx:duration> は、イベントのタイムスパンを指定することで、gx:TourPrimitive を機能拡張します。この時間は、XML の double データ型を使用して、秒数で指定します。

gx:duration と <gx:FlyTo>

gx:duration が <gx:FlyTo> 要素に組み込まれている場合、この gx:duration は、ブラウザが前のポイントから指定したポイントにジャンプする時間の長さを指定します。

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

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

gx:duration と <gx:AnimatedUpdate>

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

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

    ....

  </Update>
</gx:AnimatedUpdate>

 

<ExtendedData>

構文

<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 固有の要素

<Data name ="string">
型を指定しない名前/値のペアを作成します。名前には、name と displayName の 2 つのバージョンがあります。name 属性は、KML ファイル内でデータのペアを識別するために使用します。displayName 要素は、スペースや HTML の書式設定を使用して適切に書式を整えた名前を Google Earth で表示するときに使用します。<BalloonStyle> の <text> 要素では、 $[name:displayName] という表記は <displayName> に置き換えられます。この書式($[holeYardage] など)に <Data> 要素の name 属性の値を置き換えると、属性の値は <value> に置き換えられます。デフォルトでは、Placemark のバルーンは関連付けられている名前/値のペアを表示します。
<displayName>
name を書式設定したもので、表示目的で使用します(オプション)。
<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="anyURI">
この要素は <Schema> とともに使用され、型を指定したカスタム データを KML Feature に追加します。Schema 要素(schemaUrl 属性で識別)でカスタム データの型を宣言します。実際のデータ オブジェクト(カスタム データの「インスタンス」)は、SchemaData 要素を使用して定義します。
<schemaURL> には、完全な URL、外部の KML ファイルで定義された Schema ID への参照、同じ KML ファイルで定義された Schema ID への参照を指定できます。次の指定はすべて有効です:
schemaUrl="http://host.com/PlacesIHaveLived.kml#my-schema-id"
schemaUrl="AnotherFile.kml#my-schema-id"
schemaUrl="#schema-id"   <!-- same file -->
Schema 要素は常に 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_prefix: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>

構文

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

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

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

これらの要素は、Atom 配信フォーマット(Atom Syndication Format)で定義されています。このフォーマットの仕様については http://atompub.org をご覧ください(以下のサンプルを参照)。

<atom:author> 要素は <atom:name> の親要素で、KML アイテムの作成者を指定します。

<atom:link href="...">
この KML または KMZ ファイルを含む Web サイトの URL を指定します。この要素を使用する KML ファイルには、この要素の名前空間を次のように指定してください: xmlns:atom="http://www.w3.org/2005/Atom"(以下のサンプルを参照)。
<address>
郵便番号、都道府県、市区町村、番地など、標準的な住所形式で記述される、構造化されていないアドレスを表す文字列値を指定します。緯度や経度の座標を使用する代わりに、<address> タグを使用してポイントを指定できます(ただし、<Point> が指定されている場合は、その値が <address> よりも優先されます)。このタグに対して Google Earth がサポートしているロケールを確認するには、Google マップ ヘルプをご覧ください。
<xal:AddressDetails>
アドレスの書式の国際標準である eXtensible Address Language(xAL)に従った、構造化されたアドレスを指定します。<xal:AddressDetails> は、Google マップのジオコーディング用の KML でのみ使用されます。詳しくは、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> の両方が指定されている場合、<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 ファイルに圧縮されているコンテンツは、ローカル ファイルシステム上にある場合でもアクセスできます。

iFrame 内のコンテンツで設定または読み取りした Cookie であっても、Cookie は一切使用できません。このルールに例外は認められません。

Doctype 宣言は無視されます。

HTML

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

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

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

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

JavaScript

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

CSS

CSS は使用できます。標準的な Web ブラウザで CSS を使用するときと同様に、CSS を使用してテキストやページ要素のスタイルを指定したり、説明バルーンの大きさやデザインをコントロールしたりできます。Google Earth による説明バルーン コンテンツ内の URL の処理方法のために、「url」関数(background-image: url('http://www.example.com/background.png'); など)を使用した CSS 宣言は正しく動作しません。このような宣言は、次のようにインラインで行う必要があります:

<body style="url('http://www.example.com/background.png')">

Google Earth 4.3

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

共通の情報

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

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

<![CDATA[
  special characters here
]]> 

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

<description>
  <![CDATA[
This is an image 
<img src="icon.jpg"> 
and we have a link http://www.google.com. ]]> </description>

<a> 要素を使用して指定するその他の動作

KML は、<a> 要素の 2 つの属性 hreftype の使用をサポートしています。

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

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

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

次の 3 つの文字列のうち 1 つをフラグメント付きの URL の後に追加すると、さらに動作を指定できます:

  • ;flyto - (デフォルト)Feature にジャンプします
  • ;balloon - Feature のバルーンを開きますが、Feature にはジャンプしません
  • ;balloonFlyto - Feature のバルーンを開き、Feature にジャンプします

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

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

type 属性は、拡張子が .kml または .kmz ではない href を 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>
この Feature を期間(<TimeSpan>)または特定の時間(<TimeStamp>)に関連付けます。
<styleUrl>
Document で定義されている <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 を定義して、Feature から派生する要素のデザインや、Placemark の Geometry のデザインをカスタマイズできます(<BalloonStyle><ListStyle><StyleSelector> や、<ColorStyle> から派生するスタイルを参照)。Feature 内に定義されるスタイルは「インライン スタイル」と呼ばれ、そのスタイルを含む Feature にのみ適用されます。<Document> の子として定義されるスタイルは「共有スタイル」と呼ばれます。共有スタイルには id を定義する必要があります。この id は、<Document> 内の 1 つ以上の Feature によって参照されます。Feature(つまり Folder、GroundOverlay、NetworkLink、Placemark、ScreenOverlay)のスタイル要素が共有スタイルとインライン スタイルの両方で定義されている場合は、Feature のインライン スタイルの値が共有スタイルの値よりも優先されます。
<Region>
Region に関連付けられた Featrue と Geometry は、その Region がアクティブなときにのみ描画されます。詳しくは、<Region> をご覧ください。
<Metadata>(KML 2.2 で廃止予定。代わりに <ExtendedData> を使用してください)
<ExtendedData>
カスタム データを KML ファイルに追加できます。このデータには、(1)外部の XML スキーマを参照するデータ、(2)型を指定しないデータ/値のペア、(3)型を指定するデータ、を指定できます。KML Feature には、これらの種類のカスタム データを組み合わせて指定できます。

description 内での 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="http://earth.google.com/images/googleearth.gif" />
<br />
<i>Scaled image</i>
<br />
<img src="http://earth.google.com/images/googleearth.gif"
width="100" />
<br />
<hr />
Tables:
<table border="1" padding="3" width="300">
<tr><td>1</td><td>2</td><td>3</td><td>4</td><td>5</td></tr>
<tr><td>a</td><td>b</td><td>c</td><td>d</td><td>e</td></tr>
</table>
]]>
</description> <Point>
<coordinates>-122.378927,37.826793,0</coordinates>
</Point>
</Placemark>
</kml>

帰属要素の使用例

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>
  <gx:duration>0.0</gx:duration>         <!-- double -->
  <gx:flyToMode>bounce</gx:duration>      <!-- smooth or bounce -->
  <!-- AbstractView -->                   <!-- Camera or LookAt --> 
    ...
  <!-- /AbstractView -->
</gx:FlyTo>

説明

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

<gx:flyToMode>

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

  • smooth - あるポイントから別のポイント(複数可)までスムーズに移動します。連続する FlyTo で smooth を指定すると、各ポイントで減速せず、出発地点から到着地点までノンストップで移動します。連続した FlyTo の smooth 指定は、次の要素によって中断されます:
    • <gx:flyToMode>bounce</gx:flyToMode>
    • <gx:Wait>
    これは、上記の要素のいずれかの直前にある smooth 指定の FlyTo で速度がゼロになることを意味します。連続した FlyTo の smooth 指定は、<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>...</atom:link>            <!-- 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 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>

拡張元の要素

子要素

<Geometry>

構文

<!-- abstract element; do not create -->
<!-- Geometry id="ID" -->                 <!-- Point,LineString,LinearRing,
                                               Polygon,MultiGeometry,Model -->
<!-- /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>...</atom:link>            <!-- 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> </GroundOverlay>

説明

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

GroundOverlay 固有の要素

<altitude>
地表面からの距離をメートル単位で指定します。この値は <altitudeMode> の設定に応じて解釈されます。
<altitudeMode>
<altitude> の解釈方法を指定します。指定できる値は次のとおりです:
  • clampToGround -(デフォルト)<altitude> の指定を無視し、地形にオーバーレイを貼り付けます。
  • absolute - 要素の下にある地形の実際の高度に関係なく、海面に対して相対的にオーバーレイの標高を設定します。たとえば、absolute 標高モードを指定してオーバーレイの標高を 10 m に設定すると、その下の地形の高度が海抜 10 m の場合、オーバーレイは地面に表示されます。地形の高度が海抜 3 m の場合、オーバーレイはその地形よりも7 m 高い位置に表示されます。
<gx:altitudeMode>
海底を基準にした標高の設定を可能にする、Google 拡張名前空間の KML 拡張要素です。値は次のとおりです:
  • relativeToSeaFloor - <altitude> 値を海底からのメートル単位の高さとして解釈します。ポイントが海上ではなく陸上にある場合、<altitude> は地面からの高さとして解釈されます。
  • clampToSeaFloor - <altitude> の指定を無視し、海底にオーバーレイを貼り付けます。ポイントが海上ではなく陸上にある場合、オーバーレイは地面に配置されます。
<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> 

<?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 -->
  <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>

説明

アイコン スタイルやオーバーレイに関連付けられた画像を定義します。<Icon> は <Link> と同じ子要素を持ちます。必須の <href> 子要素は、オーバーレイや目印のアイコンとして使用する画像の場所を定義します。この場所には、ローカル ファイルシステムかリモート ウェブ サーバーのどちらかを指定できます。

<Icon>
  <href>Sunset.jpg</href>
</Icon>

Icon 固有の要素

<href>
アイコンを読み込むために使用する、HTTP アドレスかローカル ファイルを指定します。
<x>、<y>、<w>、<h>
これらの要素の <Icon> 内での使用は廃止予定です。
<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)、アイコンの大きさを 1 とする相対指定(fraction)、アイコンの右上隅からのピクセル単位のオフセットであるインセット ピクセル(insetPixels)という、3 つの異なる方法で指定できます。x と y の位置は、x はピクセル単位、y は相対値で指定するなど、異なる方法で指定できます。座標系の原点は、アイコンの左下隅になります。
  • x - アイコン上の位置の x コンポーネントを示す、ピクセル数、アイコンの大きさを 1 とする相対コンポーネント、ピクセル インセットのいずれかを指定します。
  • y - アイコン上の位置の y コンポーネントを示す、ピクセル数、アイコンの大きさを 1 とする相対コンポーネント、ピクセル インセットのいずれかを指定します。
  • xunits - x 値の単位を指定します。値が fraction の場合は、x 値がアイコンの大きさを 1 とする相対指定であることを示します。値が pixels の場合は、x 値がピクセル単位であることを示します。値が insetPixels の場合は、アイコンの右端からのインデントであることを示します。
  • yunits - y 値の単位を指定します。値が fraction の場合は、y 値がアイコンの大きさを 1 とする相対指定であることを示します。値が 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 つの Feature と 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 つのデータ内に空白を含めないでください。座標は、オーバーレイ画像の左下隅から反時計回りに指定する必要があります。これらの角は凸型である必要があります。

座標に 3 番目の値(標高)を指定した場合、その値は無視されます。標高は、<GroundOverlay> を拡張する <altitude><altitudeMode>(または <gx:altitudeMode>)を使用して設定します。使用できる <altitudeMode> は、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://code.google.com/apis/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 -->
  <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 では、<altitudeMode> が clampToGround の Polygon は大圏に沿って表示されますが、<altitudeMode> が clampToGround の LinearRing 単独では経線に沿って表示されます。

LinearRing 固有の要素

<extrude>
ブール値。LinearRing を地面に接続するかどうかを指定します。このジオメトリを地面に押し出すには、<altitudeMode> に relativeToGroundrelativeToSeaFloorabsolute のいずれかを指定する必要があります。LinearRing の頂点のみが押し出され、ジオメトリの中心は押し出されません。頂点は地球の中心に向かって押し出されます。
<tessellate>
ブール値。LinearRing を地形に合わせて表示するかどうかを指定します。テセレーションを有効にするには、<altitudeMode> の値を clampToGround または clampToSeaFloor にする必要があります。LinearRing が非常に大きい場合は、テセレーションを有効にして、地球の湾曲に沿って表示する必要があります(そうしないと、LinearRing が地下にもぐって表示されないことがあります)。
<altitudeMode>
<coordinates> 要素内の標高コンポーネントの解釈方法を指定します。指定できる値は次のとおりです:
  • clampToGround - (デフォルト)標高の指定を無視します(<coordinates> タグ内など)。
  • relativeToGround - 要素の標高を、特定の場所の実際の高度に対して相対的に設定します。たとえば、ある場所の地面の高度が海抜 0 m でポイントの標高が 9 m に設定されている場合にこのモードを指定すると、ポイントの目印のアイコンの高度は 9 m に設定されます。ただし、高度が海抜 10 m の場所に同じ座標を設定すると、その座標の高度は 19 m になります。このモードは一般的に、電柱やスキーのリフトを配置する場合に使用します。
  • absolute - 要素の下にある地形の実際の高度に関係なく、座標の標高を海面に対して相対的に設定します。たとえば、absolute 標高モードを指定して座標の標高を 10 m に設定すると、その下の地形の高度が海抜 10 m の場合、ポイントの目印のアイコンは地面に表示されます。地形の高度が海抜 3 m の場合は、目印はその地形よりも 7 m 高い位置に表示されます。このモードは一般的に、航空機の配置に使用します。
<gx:altitudeMode>
海底を基準にした標高の設定を可能にする、Google 拡張名前空間の KML 拡張要素です。値は次のとおりです:
  • relativeToSeaFloor - <altitude> 値を海底からのメートル単位の高さとして解釈します。ポイントが海上ではなく陸上にある場合、<altitude> は地面からの高さとして解釈されます。
  • clampToSeaFloor - <altitude> の指定を無視し、ポイントを海底上に配置します。ポイントが海上ではなく陸上にある場合、そのポイントは地面に配置されます。
<coordinates>(必須)
4 つ以上のデータで構成され、それぞれに経度、緯度、標高を表す浮動小数点数値を指定します。標高コンポーネントはオプションです。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 -->
  <extrude>0</extrude>                   <!-- boolean -->
  <tessellate>0</tessellate>             <!-- boolean -->
  <altitudeMode>clampToGround</altitudeMode> 
      <!-- kml:altitudeModeEnum: clampToGround, relativeToGround, or absolute -->
        <!-- or, substitute gx:altitudeMode: clampToSeaFloor, relativeToSeaFloor -->
			<!-- or, substitute gx:altitudeMode: clampToSeaFloor, relativeToSeaFloor -->
  <coordinates>...</coordinates>         <!-- lon,lat[,alt] -->
</LineString>

説明

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

LineString 固有の要素

<extrude>
ブール値。LineString を地面に接続するかどうかを指定します。LineString を地面に押し出すには、<altitudeMode> に relativeToGroundrelativeToSeaFloorabsolute のいずれかを指定する必要があります。LineString の頂点が、地球の中心に向かって押し出されます。
<tessellate>
ブール値。LineString を地形に合わせて表示するかどうかを指定します。テセレーションを有効にするには、<altitudeMode> の値を clampToGround または clampToSeaFloor にする必要があります。LineString が非常に長い場合は、テセレーションを有効にして、地球の湾曲に沿って表示する必要があります(そうしないと、LineString が地下にもぐってしまい、表示されないことがあります)。
<altitudeMode>
<coordinates> 要素内の標高コンポーネントの解釈方法を指定します。指定できる値は次のとおりです:
  • clampToGround -(デフォルト)標高の指定を無視します(<coordinates> タグ内など)。
  • relativeToGround - 要素の標高を、特定の場所の実際の高度に対して相対的に設定します。たとえば、ある場所の地面の高度が海抜 0 m でポイントの標高が 9 m に設定されている場合にこのモードを指定すると、ポイントの目印のアイコンの高度は 9 m に設定されます。ただし、高度が海抜 10 m の場所に同じ座標を設定すると、その座標の高度は 19 m になります。このモードは一般的に、電柱やスキーのリフトを配置する場合に使用します。
  • absolute - 要素の下にある地形の実際の高度に関係なく、座標の標高を海面に対して相対的に設定します。たとえば、absolute 標高モードを指定して座標の標高を 10 m に設定すると、その下の地形の高度が海抜 10 m の場合、ポイントの目印のアイコンは地面に表示されます。地形の高度が海抜 3 m の場合は、目印はその地形よりも 7 m 高い位置に表示されます。このモードは一般的に、航空機の配置に使用します。
<gx:altitudeMode>
海底を基準にした標高の設定を可能にする、Google 拡張名前空間の KML 拡張要素です。値は次のとおりです:
  • relativeToSeaFloor - <altitude> 値を海底からのメートル単位の高さとして解釈します。ポイントが海上ではなく陸上にある場合、<altitude> は地面からの高さとして解釈されます。
  • clampToSeaFloor - <altitude> の指定を無視し、ポイントを海底上に配置します。ポイントが海上ではなく陸上にある場合、そのポイントは地面に配置されます。
<coordinates>(必須)
2 つ以上のデータで構成され、それぞれに経度、緯度、標高を表す浮動小数点数値を指定します。標高コンポーネントはオプションです。各データは空白で区切ります。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 -->
</LineStyle>

説明

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

LineStyle 固有の要素

<width>
線の幅(ピクセル単位)。

不透明度 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>
</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>

構文

<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 ファイル
  • 任意のオーバーレイで使用する画像ファイル
  • <Model> 要素で使用するモデル ファイル

これらのファイルは、この要素に指定する更新パラメータに応じて条件付きで読み込みおよび更新されます。2 つの異なる更新パラメータの組み合わせを指定できます。1 つは時間に基づく組み合わせ(<refreshMode> と <refreshInterval>)、もう 1 つは現在の「カメラ」のビューに基づく組み合わせ(<viewRefreshMode> と <viewRefreshTime>)です。さらに、サーバーに送信する境界ボックスの大きさを拡大/縮小するかどうかの指定(<viewBoundScale>)、サーバーに送信できるオプションの表示パラメータの指定(<viewFormat>)、バージョンや言語情報を含むオプションのパラメータの指定ができます。

ファイルがフェッチされると、サーバーに送信される 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> 要素は無視されます。

Link 固有の要素

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

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

この情報は、Web Map Service(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 によって適切な現在の値に置換されます)。サポートされているパラメータは次のとおりです:
  • [clientVersion]
  • [kmlVersion]
  • [clientName]
  • [language]

<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>
リスト ビューに Feature を表示する方法を指定します。指定できる値は次のとおりです:
  • check -(デフォルト)Feature の表示/非表示は、その項目のチェックボックスの設定と連動します。
  • radioFolder - コンテナに対して指定すると、そのコンテナの項目のいずれか 1 つだけが表示可能になります。
  • checkOffOnly - コンテナまたはネットワーク リンクに対して指定すると、一度にすべての項目を表示することができなくなります。つまり、ユーザーはコンテナまたはネットワーク リンク内の全項目を一度にオフにすることはできますが、全項目をオンにすることはできません。この設定は、大量のデータを含むコンテナやネットワーク リンクで有効です。
  • checkHideChildren - 表示/非表示の設定に通常のチェックボックスを使用しますが、リスト ビューにコンテナまたはネットワーク リンクの子を表示しません。ユーザーはチェックボックスを使用して、ビューアでの子オブジェクトの表示/非表示の設定を切り替えることができます。
<bgColor>
スニペットの背景色。色と不透明度の値を 16 進表記で指定します。1 つの色に対する値の範囲は 0~255(00ff)です。アルファの 00 は完全な透明を表し、ff は完全な不透明を表します。表記順は aabbggrr になります。aa はアルファ(00~ff)、bb は青(00~ff)、gg は緑(00~ff)、rr は赤(00~ff)を表します。たとえば、オーバーレイに 50 % 不透明な青色を適用する場合は、<color>7fff0000</color> と指定します。アルファは 0x7f、青は 0xff、緑は 0x00、赤は 0x00 です。
<ItemIcon>
フォルダまたはリンクのフェッチの状態を示すためにリスト ビューで使用するアイコンを指定します。open モードと closed モードに関連付けられたアイコンは、フォルダとネットワーク リンクに使用します。errorfetching0fetching1fetching2 の各モードに関連付けられたアイコンは、ネットワーク リンクに使用します。次の画面キャプチャは、これらの状態を表す Google Earth のアイコンを示しています:
<state>
NetworkLink または Folder の現在の状態を指定します。指定できる値は、openclosederrorfetching0fetching1fetching2 です。これらの値を組み合わせて指定する場合は、値と値の間に空白を挿入します(カンマは不可)。
<href>
リスト ビューで使用する、Feature に対する画像の 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 -->
   
  <!-- 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 の <altitudeMode> の設定に従って解釈されます。
<heading>
視点の向き(東西南北)を度数で指定します。デフォルトは 0(北)です(下記の図を参照)。値の範囲は 0~360 度です。
<tilt>
地表の法線と LookAt への視点の方向との間の角度を指定します(下記の図を参照)。値の範囲は 0~90 度です。<tilt> には負の値は指定できません。<tilt> 値が 0 度の場合は真上からの眺めになります。<tilt> 値が 90 度の場合は水平線に沿った眺めになります。
<range>(必須)
<longitude>、<latitude>、<altitude> で指定した LookAt 地点からの距離をメートル単位で指定します(下記の図を参照)。
<altitudeMode>
LookAt 地点に指定した <altitude> の値の解釈方法を指定します。指定できる値は次のとおりです:
  • clampToGround -(デフォルト)<altitude> の指定を無視し、LookAt 地点を地面に設定します。
  • relativeToGround - <altitude> の値を地面からのメートル単位の距離として解釈します。
  • absolute - <altitude> の値を海面からのメートル単位の距離として解釈します。
<gx:altitudeMode>
海底を基準にした標高の設定を可能にする、Google 拡張名前空間の KML 拡張要素です。値は次のとおりです:
  • relativeToSeaFloor - <altitude> 値を海底からのメートル単位の高さとして解釈します。ポイントが海上ではなく陸上にある場合、<altitude> は地面からの高さとして解釈されます。
  • clampToSeaFloor - <altitude> の指定を無視し、LookAt を海底上に配置します。ポイントが海上ではなく陸上にある場合、LookAt は地面に配置されます。

次の図は、<range> 要素、<tilt> 要素、<altitude> 要素を示したものです:

 

次の図は、<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:angle360 -->
    <roll>0</roll>          <!-- kml:angle360 -->
  </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 トピック ページの Region をご覧ください。

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

  • Google Earth で基本型として使用できるのは三角形と線のみです。使用できる三角形の最大数は 21845 です。
  • Google Earth はアニメーションやスキニングには対応していません。
  • Google Earth は外部ジオメトリの参照には対応していません。

Model 固有の要素

<altitudeMode>
<Location> で指定した <altitude> の値の解釈方法を指定します。指定できる値は次のとおりです:
  • clampToGround -(デフォルト)<altitude> の指定を無視し、Model を地面に配置します。
  • relativeToGround - <altitude> の値を地面からのメートル単位の距離として解釈します。
  • absolute - <altitude> の値を海面からのメートル単位の距離として解釈します。
<gx:altitudeMode>
海底を基準にした標高の設定を可能にする、Google 拡張名前空間の KML 拡張要素です。値は次のとおりです:
  • relativeToSeaFloor - <altitude> 値を海底からのメートル単位の高さとして解釈します。ポイントが海上ではなく陸上にある場合、<altitude> は地面からの高さとして解釈されます。
  • clampToSeaFloor - <altitude> の指定を無視し、Model を海底上に配置します。ポイントが海上ではなく陸上にある場合、Model は地面に配置されます。
<Location>
Model の原点の正確な座標を経度、緯度、標高を使用して指定します。緯度経度の測定法は、WGS84 データによる標準の経度/緯度投影法に基づきます。標高は地表からのメートル単位の距離です。この値は <altitudeMode> または <gx:altitudeMode> の設定に従って解釈されます。
<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> 
<heading>
z 軸(地表の法線)を中心とした回転。値 0(デフォルト)は北を表します。プラスの回転は z 軸を中心とした時計回りを表します。0~360 の範囲の度数を指定します。
<tilt>
x 軸を中心とした回転。プラスの回転は x 軸を中心とした時計回りを表します。0~360 の範囲の度数を指定します。
<roll>
y 軸を中心とした回転。プラスの回転は y 軸を中心とした時計回りを表します。0~360 の範囲の度数を指定します。
軸を原点に向かって見下ろす場合、heading、tilt、roll の指定は時計回りになります
次の図は、モデルの軸の一般的な方位を示しています:
一般的なモデルでは、+x は右方向、+y は前向きの北方向、+z は上方向です
<Scale>
モデルの座標空間の x、y、z 軸に沿ってモデルをスケーリングします。
<Scale>
<x>2.5</x>
<y>2.5</y>
<z>3.5</z>
</Scale>
<Link>
読み込むファイルとオプションの更新パラメータを指定します。詳しくは、<Link> をご覧ください。
<ResourceMap>
0 または 1 つ以上の <Alias> 要素を指定します。各要素は、元の COLLADA ファイルから Model を使用している 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:\m texture.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 または 1 つ以上のジオメトリ基本要素のコンテナ。

注: <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>

拡張元の要素

親要素

<NetworkLink>

構文

<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>...</atom:link>            <!-- 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 と組み合わせることによって、非常に大きなデータセットを効率的に処理できます。

NetworkLink 固有の要素

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

ヒント: リスト ビューの NetworkLink 内の最上位の Folder または Document を表示するには、Folder または Document に 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 秒に設定しようとしても、更新間隔を 3600 秒に設定することにより、更新を 1 時間に 1 回に制限できます。
<maxSessionLength>
<maxSessionLength> では、クライアントの NetworkLink が接続を続けられる最長の時間を秒数で指定します。デフォルト値の -1 は、セッションを明示的に終了しないことを示します。
<cookie>
この要素は、ネットワーク リンクを次に更新するときに、URL 問い合わせに文字列を追加するために使用します。スクリプト内でこのデータを使用することによって、バージョンの問い合わせや条件付きのファイル配信などのより高度な処理をサーバー側で実行できます。
<message>
ネットワーク リンクの使用ガイドラインなどのポップアップ メッセージを配信できます。このメッセージは、ネットワーク リンクが最初に Google Earth に読み込まれたときや、ネットワーク リンク コントロールによって変更されたときに表示されます。
<linkName>
ネットワーク リンクの名前をサーバーからコントロールできます。これにより、クライアント側で名前が変更されてもサーバー側で無効にできます。
<linkDescription>
ネットワーク リンクの説明をサーバーからコントロールできます。これにより、クライアント側で説明が変更されてもサーバー側で無効にできます。
<linkSnippet maxLines="2">
ネットワーク リンクのスニペットをサーバーからコントロールできます。これにより、クライアント側でスニペットが変更されてもサーバー側で無効にできます。<linkSnippet> には maxLines 属性があり、この属性で最大表示行数(整数)を指定します。
<expires>
リンクを更新する日付と時刻を指定できます。この指定は、<Link> の <refreshMode> に onExpire 値が指定されている場合にのみ有効です。詳しくは、<refreshMode> をご覧ください。
<Update>
<Update> を使用すると、ネットワーク リンクによってロード済みの .kml ファイルまたは .kmz アーカイブに対し、任意の数の Change、Create、Delete タグを指定できます。詳しくは、<Update> をご覧ください。
<AbstractView>

<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 ファイル内で直接使用することはできません。<Object> には、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>...</atom:link>            <!-- 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 進表記で示します。aabbggrr のように、アルファ(aa)、青(bb)、緑(gg)、赤(rr)の順に表記します。1 つの色に対する値の範囲は 0~255(00ff)です。不透明度では、00 は完全な透明を表し、ff は完全な不透明を表します。たとえば、オーバーレイに不透明度 50 % の青色を適用する場合は、<color>7fff0000</color> と指定します。

注: <geomColor> 要素は廃止予定です。代わりに <color> を使用してください。

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

拡張元の要素

この要素を拡張した要素

<PhotoOverlay>

構文

<PhotoOverlay>
  <!-- inherited from Feature element -->
  <name>...</name>                      <!-- string -->
  <visibility>1</visibility>            <!-- boolean -->
  <open>0</open>                        <!-- boolean -->
  <atom:author>...<atom:author>         <!-- xmlns:atom -->
  <atom:link>...</atom:link>            <!-- 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 の長方形だけでなく、一部または全体を円筒状にしたり、全体を球体にしたりしてパノラマを作成できます。オーバーレイは、指定された場所に配置され、視点の方向に向けられます。

<PhotoOverlay> は <Feature> から派生するため、<AbstractView> から派生する 2 つの要素(<Camera> と <LookAt>)のいずれかを含むことができます。Camera(または LookAt)では、「視点」と「表示方向」(「ビュー ベクトル」とも呼びます)を指定します。写真オーバーレイは、視点を基準にした位置に配置されます。たとえば、2D の矩形画像の平面は、ビュー ベクトルと直交(直角に交わる)します。この平面(つまり、前面であり、写真が表示される部分)の垂線は、視点を指します。

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

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

PhotoOverlay 固有の要素

<rotation>
表示範囲内でどのように写真を配置するかを調整します。この要素は、写真が傾いていて、望ましい水平ビューから少しずれる場合に役立ちます
<ViewVolume>
現在のシーンの表示範囲を定義します。「視界」を指定することは、実際のカメラの絞り値を調節することに似ています。望遠レンズのように表示範囲が小さい場合は、シーンの小さな部分が表示されます。広角レンズのように表示範囲が大きい場合は、シーンの大部分が表示されます。
<leftFov>
カメラの視点の方向とビュー ボリューム(視錐台)の左面との間の角度(度数)。
<rightFov>
カメラの視点の方向とビュー ボリューム(視錐台)の右面との間の角度(度数)。
<bottomFov>
カメラの視点の方向とビュー ボリューム(視錐台)の底面との間の角度(度数)。
<topFov>
カメラの視点の方向とビュー ボリューム(視錐台)の上面との間の角度(度数)。
<near>
カメラの視点から 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>
<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>...</atom:link>            <!-- 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>

説明

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

Point 固有の要素

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

注: Google Earth では、<altitudeMode> が clampToGround の Polygon は大圏に沿って表示されますが、<altitudeMode> が clampToGround の LinearRing 単独では経線に沿って表示されます。

Polygon 固有の要素

<extrude>
ブール値。Polygon を地面に接続するかどうかを指定します。Polygon を地面に押し出すには、<altitudeMode> に relativeToGroundrelativeToSeaFloorabsolute のいずれかを指定する必要があります。押し出されるのは頂点だけで、ジオメトリ自体は押し出されません(たとえば、長方形は 5 つの面を持つ箱に変わります)。Polygon の頂点は地球の中心に向かって押し出されます。
<tessellate>
ブール値。Polygon を地形に合わせて表示するかどうかを指定します。テセレーションを有効にするには、Polygon の <altitudeMode> の値を clampToGround または clampToSeaFloor にする必要があります。Polygon が非常に大きい場合は、テセレーションを有効にして、地球の湾曲に沿って表示する必要があります(そうしないと、Polygon が地下にもぐって表示されないことがあります)。
<altitudeMode>
<coordinates> 要素内の標高コンポーネントの解釈方法を指定します。指定できる値は次のとおりです:
  • clampToGround - (デフォルト)標高の指定を無視します(<coordinates> タグ内など)。
  • relativeToGround - 要素の標高を、特定の場所の実際の高度に対して相対的に設定します。たとえば、ある場所の地面の高度が海抜 0 m でポイントの高度が 9 m に設定されている場合にこのモードを指定すると、ポイントの目印のアイコンの高度は 9 m に設定されます。ただし、高度が海抜 10 m の場所に同じ座標を設定すると、その座標の高度は 19 m になります。このモードは一般的に、電柱やスキーのリフトを配置する場合に使用します。
  • absolute - 要素の下にある地形の実際の高度に関係なく、座標の標高を海面に対して相対的に設定します。たとえば、absolute 標高モードを指定して座標の標高を 10 m に設定すると、その下の地形の高度が海抜 10 m の場合、ポイントの目印のアイコンは地面に表示されます。地形の高度が海抜 3 m の場合は、目印はその地形よりも 7 m 高い位置に表示されます。このモードは一般的に、航空機の配置に使用します。
<gx:altitudeMode>
海底を基準にした高度の設定を可能にする、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>)を指定します。また、Region に詳細レベル(LOD)の程度(<Lod>)を指定し、投影画面サイズに基づいた Region の有効範囲を定義します。Region は、その境界ボックスがユーザーのビュー内に含まれ、LOD 要件が満たされたときに「アクティブ」な状態になります。Region に関連付けられたオブジェクトは、その Region がアクティブなときにのみ描画されます。<viewRefreshMode> が onRegion に設定されている場合、Link または Icon はその Region がアクティブになったときにのみ読み込まれます。詳しくは、KML トピック ページの Region をご覧ください。Container または NetworkLink の階層では、階層内で最も近い上位要素の Region が、この計算に使用されます。

Region 固有の要素

<LatLonAltBox>(必須)
地理座標と標高で定義された対象領域を示す境界ボックス。デフォルト値と必須フィールドは次のとおりです:
<altitudeMode> または <gx:altitudeMode>
<altitudeMode> に指定できる値は、clampToGroundrelativeToGroundabsolute です。<gx:altitudeMode> に指定できる値は、clampToSeaFloorrelativeToSeaFloor です。<LatLonBox> もご覧ください。
<minAltitude>
メートル単位で指定します(<altitudeMode> または <gx:altitudeMode> の設定の影響を受けます)。
<maxAltitude>
メートル単位で指定します(<altitudeMode> または <gx:altitudeMode> の設定の影響を受けます)。
<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>
Lod は Level of Detail(詳細レベル)の略語です。<Lod> では、Region が「アクティブ」な状態として認識されるために必要な、画面表示領域のサイズを定義します。また、フェード イン(透明から不透明)とフェード アウト(不透明から透明)に適用するピクセル ランプ サイズを指定します。これらのパラメータについては、下記の図をご覧ください。
<Lod>
<minLodPixels>256</minLodPixels>
<maxLodPixels>-1</maxLodPixels>
<minFadeExtent>0</minFadeExtent>
<maxFadeExtent>0</maxFadeExtent>
</Lod>
<minLodPixels>(必須)
特定の Region の表示範囲の下限を画面のピクセル数で表した計測値。Region が画面領域に入ると、そのサイズが Google Earth によって計算されます。次に、その Region の領域の平方根が計算されます(たとえば、Region が正方形で、視点が真上に設定されており、かつ Region が傾斜していない場合、この計測値は表示された Region の幅と等しくなります)。この計測値が <minLodPixels> と <maxLodPixels> で定義されている限度の範囲内であれば、その Region はアクティブになります(<LatLonAltBox> がビューに含まれている場合)。この限度に達しない場合、関連付けられているジオメトリはユーザーの視点から遠すぎるとみなされ、描画されません。
<maxLodPixels>
特定の Region の表示範囲の上限を画面のピクセル数で表した計測値。デフォルト値の -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> 

拡張元の要素

親要素

<Schema>

構文

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

説明

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

Schema 固有の要素

Schema 要素には、1 つ以上の SimpleField 要素が含まれます。SimpleField で、Schema はカスタム フィールドの型と名前を宣言します。オプションで、このカスタム フィールドの displayName(Google Earth での表示に使用される、スペースと適切な句読点を使用した、ユーザーが読みやすい形式)を指定できます。

<SimpleField type="string" name="string">
カスタム フィールドの宣言。フィールドの type と name を指定する必要があります。type か name のどちらかを省略すると、フィールドは無視されます。<type> には、次のいずれかの値を指定します:
  • string
  • int
  • uint
  • short
  • ushort
  • float
  • double
  • bool
<displayName>
フィールド名が 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>...</atom:link>            <!-- 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 値、それにこれらの値の単位を指定する必要があります。
x と y の値は、ピクセル(pixels)、画像の大きさを 1 とする相対指定(fra tion)、画像の右上隅からのピクセル単位のオフセットであるインセット ピクセル(insetPixels)という、3 つの異なる方法で指定できます。x と y の位置は、x はピクセル単位、y は相対値で指定するなど、異なる方法で指定できます。座標系の原点は、画像の左下隅になります。
  • x - オーバーレイ画像上の位置の x コンポーネントを示す、ピクセル数、画像の大きさを 1 とする相対コンポーネント、ピクセル インセットのいずれかを指定します。
  • y - オーバーレイ画像上の位置の y コンポーネントを示す、ピクセル数、画像の大きさを 1 とする相対コンポーネント、ピクセル インセットのいずれかを指定します。
  • xunits - x 値の単位を指定します。値が「fraction」の場合は、x 値が画像の大きさを 1 とする相対指定であることを示します。値が「pixels」の場合は、x 値がピクセル単位であることを示します。値が「insetPixels」の場合は、画像の右端からのインデントであることを示します。
  • yunits - y 値の単位を指定します。値が「fraction」の場合は、y 値が画像の大きさを 1 とする相対指定であることを示します。値が「pixels」の場合は、x 値がピクセル単位であることを示します。値が「insetPixels」の場合は、画像の上端からのインデントであることを示します。
<screenXY>
オーバーレイ画像をマップするポイントを、画面の原点を基準とする相対値で指定します。x と y の値は、ピクセル(pixels)、画面の大きさを 1 とする相対指定(fra tion)、画面の右上隅からのピクセル単位のオフセットであるインセット ピクセル(insetPixels)という、3 つの異なる方法で指定できます。x と y の位置は、x はピクセル単位、y は相対値で指定するなど、異なる方法で指定できます。座標系の原点は、画面の左下隅になります。
  • x - 画面上の位置の x コンポーネントを示す、ピクセル数、画面の大きさを 1 とする相対コンポーネント、ピクセル インセットのいずれかを指定します。
  • y - 画面上の位置の y コンポーネントを示す、ピクセル数、画面の大きさを 1 とする相対コンポーネント、ピクセル インセットのいずれかを指定します。
  • xunits - x 値の単位を指定します。値が「fraction」の場合は、x 値が画面の大きさを 1 とする相対指定であることを示します。値が「pixels」の場合は、x 値がピクセル単位であることを示します。値が「insetPixels」の場合は、画面の右端からのインデントであることを示します。
  • yunits - y 値の単位を指定します。値が「fraction」の場合は、y 値が画面の大きさを 1 とする相対指定であることを示します。値が「pixels」の場合は、x 値がピクセル単位であることを示します。値が「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 は、サイズの値を 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>

説明

Style では、StyleMap や Feature で参照できる、呼び出し可能なスタイル グループを定義します。Style は、3D ビューアに Geometry を表示する方法や、リスト ビューの [場所] パネルに Feature を表示する方法に影響します。共有スタイルは、<Document> にまとめて指定します。共有スタイルには、そのスタイルを使用する個々の Feature から参照できるように、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> 要素は通常、1 つの目印に通常のスタイルと強調表示用のスタイルを指定しておき、Google Earth でユーザーがアイコンの上にマウスカーソルを置いたときに強調表示されるようにするために使用します。

StyleMap 固有の要素

<Pair>(必須)
事前定義した <styleUrl> にモード(normal または highlight)をマップするキーと値のペアを定義します。<Pair> には次の 2 つの要素が格納されます(どちらも必須):
  • <key>: キーを識別します。
  • <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 スキーマの time データ型(XML Schema Part 2: Datatypes Second Edition を参照)に従って定義します。値は yyyy-mm-ddThh:mm:sszzzzzz と表記します。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>

拡張元の要素

親要素

<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> 値の例を次に示します:

  • gYear(YYYY)
<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> 
  • dateTime(YYYY-MM-DDThh:mm:ssZ
    T は日付と時刻の間の区切り文字で、Z は UTC を表します(秒を指定する必要があります)。
<TimeStamp>
  <when>1997-07-16T07:30:15Z</when>
</TimeStamp>
  • dateTime(YYYY-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> 要素のコピーで、AbstractViews(<Camera><LookAt>)に時間の値を組み込むことができます。時間の値は、過去の画像、太陽の光、タイムスタンプが付けられている Feature の表示のコントロールに使用します。

<?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>
  <name>...</name>
  <description>...</description>
  <gx:Playlist>

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

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

説明

<gx:Tour> には、1 つの <gx:Playlist> 要素を指定します。この要素には、KML ブラウザでのツアーを定義する gx:TourPrimitive のリストが順番に含まれています。ツアーについて詳しくは、こちらをご覧ください。

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

子要素

  • gx:Playlist - 任意の数の gx:TourPrimitive 要素を持ちます。0 または 1 つの <gx:Playlist> 要素を <gx:Tour> 内に指定できます。
    <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: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://code.google.com/apis/kml/documentation/touring.html#tourtimelines
        -->

        <gx:AnimatedUpdate>
          <gx:duration>6.5</gx:duration>
          <Update>
            <targetHref></targetHref>
            <Change>
                <IconStyle id="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>
      <href>http://www.example.com/audio/trumpets.mp3</href>   <!-- any URI -->
    </gx:SoundCue>
    MP3、M4A、AAC 形式のサウンド ファイルを指定する <href> 要素を持ちます。期間は持ちません。サウンド ファイルは残りのツアーと並行して再生されます。つまり、<gx:SoundCue> ツアー プリミティブが有効になるとすぐに、次のツアー プリミティブが有効になります。最初のサウンド ファイルの再生が終わる前に次のサウンド ファイルにキューが送られると、これらのファイルは同時に再生されます。
  • <gx:TourControl>
    <gx:TourControl>
      <gx:playMode>pause</gx:playMode>    <!-- gx:playModeEnum: pause -->
    </gx:TourControl>
    1 つの <gx:playMode> 要素を持ち、ユーザーがツアー続行のアクションを起こすまで、ツアーを停止します。
  • <gx:Wait>
    <gx:Wait>
      <gx:duration>0.0</gx:duration>    <!-- double -->
    </gx:Wait>
    次の gx:TourPrimitive を再生する前に、指定した秒数の間、直前に定義された gx:AbstractView 上でカメラが静止します。この待ち時間はツアーのタイムラインを停止しないことに注意してください。実行中のサウンド ファイルの再生やアニメーション更新は、カメラが静止している間も続行されます。

拡張元の要素

<Update>

構文

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

説明

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

Update 固有の要素

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

<targetHref>(必須)
<Update> 要素で(Google Earth 内の)データを変更する .kml または .kmz ファイルを指定する URL。この KML ファイルはあらかじめ <NetworkLink> によって読み込まれている必要があります。また、このファイルに、変更する要素の id 属性をあらかじめ明示的に定義しておく必要もあります。
<Change>
<NetworkLink> で既に読み込まれている要素の値を変更します。Change 要素内では変更する子要素に、元の要素の id を参照する targetId 属性を指定する必要があります。
この更新は「疎更新」とみなすことができます。変更する要素では、<Change> にリストされた値のみが置き換えられ、他の値はすべてそのままになります。座標のセットに <Change> を適用すると、現在の座標が新しい座標に置き換えられます。
この要素の子は、targetId 属性で識別される、変更対象の要素です。
<Create>
<NetworkLink> で既に読み込まれている Folder または Document に新しい要素を追加します。<Update><targetHref> 要素では、元の Folder または Document を含んでいる .kml または .kmz ファイルの URL を指定します。このファイルに、新しいデータを格納する Folder または Document の id をあらかじめ明示的に定義しておく必要があります。この id を、追加する要素を指定した <Create> 内で、Folder または Document の targetId 属性として参照します。
オブジェクトが作成され、Google Earth に読み込まれると、元の親 Document または Folder の URL が継承されます。この Update/Create メカニズムで追加したオブジェクトをさらに更新する場合は、<targetHref> の値に(途中で実行した更新を読み込んだファイルの URL ではなく)元の Document または Folder の URL を指定します。
<Delete>
<NetworkLink> 経由で既に読み込まれている複合要素からアイテムを削除します。<Update><targetHref> 要素では、削除するデータが含まれている .kml または .kmz ファイルを指定します。このファイルに、削除する要素の id をあらかじめ明示的に定義しておく必要があります。この id を、<Delete> 要素の targetId 属性で参照します。
<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 によって直接読み込まれているか、またはその後の Update によって元の Document に読み込まれているものとします)。

<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 ファイルへのリンクの場所設定、サーバーやビューアの変更の更新オプションの定義、サーバーに有用なクライアント情報を返す変数への値の代入に使用します。

トップへ戻る