Region は、パフォーマンスを犠牲にすることなく非常に大きなデータセットを Google Earth に追加できる、強力な KML オブジェクトです。データの読み込みと描画は、そのデータがユーザーのビューに入り、画面の一定の部分を占めたときにのみ行われます。Region を使用することによって、データをさまざまな詳細レベルに分けて用意しておき、表示する画面領域が詳細が必要なレベルまで確保された場合のみに、鮮明な画像を読み込むようにすることができます。
どの Feature にも Region を挿入できます。Region は Placemark のジオメトリや Overlay の画像の表示に影響します。Region では、表示対象のジオメトリやオーバーレイの選択と詳細レベルの動作を定義します。Region は、KML 階層を通して継承され、その階層の下位に定義されている Feature の表示に影響します。
このセクションでは、Region を理解するために必要な次の主要概念について説明します:
KML では、クラスの一部は「基本」クラスから派生します。派生クラスには基本クラスのすべての要素が継承され、その他に派生クラス固有の要素が追加されます(これはオブジェクト指向システムの共通の手法です)。便宜上、このセクションでは、すべての派生クラスを列挙するのではなく、基本クラスについてのみ言及します。次に例を挙げます:
KML 要素の継承図については、KML リファレンスをご覧ください。
Region には、データの境界ボックスを定義する <LatLonAltBox> があります。境界ボックスは、一連のオブジェクトやデータ ポイントを内包する立体です。GroundOverlay の <LatLonBox> と同様に、Region の <LatLonAltBox> にも North、South、East、West の各境界があります。Region に含まれるデータが 3D または高所に配置する 2D の場合、Region の <LatLonAltBox> にも最低標高 <minAltitude> と最高標高 <maxAltitude> を指定する必要があります。
この境界ボックスに関連付けられたオブジェクトは、(1)Region が表示範囲に入り、(2)<LatLonAltBox> の画面上の投影サイズが Region に指定されているピクセル範囲(詳細レベル(LOD)を参照)になると描画されます。これらの両方の条件が満たされると、Region は「アクティブ」になります。
Region に関する次に重要な概念は、詳細レベル(LOD)です。コンピュータの画面領域は限られているため、大量のデータの読み込みは、そのデータを表示できる十分なピクセル数の領域が確保されたときにのみ行うようにするのが最も効率的です。LOD メカニズムを使用すると、KML の作成者は、Region が画面の比較的狭い部分しか占めていない場合(ユーザーの視点が遠距離にある場合やフラットな領域が斜めに表示されている場合など)には、完全な解像度のデータの代わりに解像度の低いデータセットを表示するよう指定できます。この低解像度のデータセットはよりすばやく読み込まれ、画面の小さな部分しか占めないため、通常はユーザーが解像度の違いを意識することはありません。
Region では、<minLodPixels> 要素と <maxLodPixels> 要素を使用して、画面領域をピクセル平方で指定できます。データは、<minLodPixels>~<maxLodPixels> の範囲の画面領域を占めるときにのみ画面に表示されます。Region の投影サイズがこの範囲外になると、データは表示されなくなり、この Region は非アクティブになります。
サイズに関係なくデータを無限にアクティブにする必要がある特殊な場合は、<maxLodPixels> を -1(デフォルト)に設定します。
まず、地面に 2D オーバーレイの Region を構築する簡単な例を見てみましょう。この例では、1991 年当時の米国カリフォルニア州マウンテン ビューの一部を表示する歴史データが格納された地面オーバーレイを使用しています。ユーザーがズーム インして領域を拡大すると、オーバーレイが表示されます。このオーバーレイは、最初は次のように表示されます(サンプルのファイルでは、オーバーレイを目立たせるために白い LineString を使用しています):
この例で指定されている <minLodPixels> は 128 です。これは、GroundOverlay が 128 ピクセル平方の画面領域を占めたときに表示されることを意味します(この例では <maxLodPixels> にデフォルト値の -1 が使用されています。これは、ユーザーがこの角度でズーム インする間はずっと表示され続けることを意味します)。このオーバーレイに使用されている画像のサイズは 256 ピクセル平方です。
次の図は、ユーザーがズーム インしたときに画像がどのように表示されるかを表したものです:
次の図は、傾斜ビューにしたときにどのように表示されるかを表したものです。これは、占有する画面領域が <minLodPixels> の値を下回って画像が表示されなくなる直前の状態です:
このデータは地面にあるフラットな画像なので、このデータの <LatLonAltBox> に <minAltitude> 要素と <maxAltitude> 要素を指定する必要はありません。この Region の <LatLonAltBox> に指定されたデータの境界ボックスは、下記の KML ファイルにある GroundOverlay の <LatLonBox> の境界と同じです:
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Document>
<name>Flat Region</name>
<Region>
<LatLonAltBox>
<north>37.430419921875</north>
<south>37.41943359375</south>
<east>-122.080078125</east>
<west>-122.091064453125</west>
</LatLonAltBox>
<Lod>
<minLodPixels>128</minLodPixels>
</Lod>
</Region>
<GroundOverlay>
<name>Mountain View DOQQ</name>
<Icon>
<href>files/image.JPEG</href>
</Icon>
<LatLonBox>
<north>37.430419921875</north>
<south>37.41943359375</south>
<east>-122.080078125</east>
<west>-122.091064453125</west>
</LatLonBox>
</GroundOverlay> </Document> </kml>
また、この KML ファイル内では、この Region と、この Region が表示に影響をもたらす画像(ジオメトリ)は兄弟関係にある点にも注意してください。
これで KML ファイルを確認し終わったので、次のリンクをクリックしてオーバーレイを Google Earth に読み込ませてみましょう。さまざまな視点からのビューを試して、占有する画面領域のサイズに応じて、この Region がいつ表示され、いつ表示されなくなるかをテストしましょう。ビューをある程度まで傾けたり、ズーム アウトしてかなりの縮小表示にしたりすると、占有する画面領域が <minLodPixels> 要件より小さくなり、オーバーレイは画面に表示されなくなります。
Google Earth でのビューの例(historicOverlay.kmz)
次の例では、3D オブジェクトを格納する Region を地面に構築する方法を説明します。この Region の <LatLonAltBox> には、300 m の <maxAltitude> が指定されています。これは建物の高さを表します。この建物は、ニューヨーク市にある国際連合の複合ビルです。
Region の <LatLonAltBox> は Model の緯度と経度の境界と必ずしも正確に一致するとは限らないという点に注意してください。Model の座標はその Model 自体のローカルな原点を基準とするため、地球上での実際の位置からずれている場合があります。
<?xml version='1.0' encoding='UTF-8'?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Document>
<name>3D Region on ground</name>
<Placemark>
<name>United Nations Headquarters</name>
<visibility>0</visibility>
<Region>
<Lod>
<minLodPixels>128</minLodPixels>
</Lod>
<LatLonAltBox>
<north>40.750683130314</north>
<south>40.748162385230</south>
<east>-73.966608428427</east>
<west>-73.969476624071</west>
<minAltitude>0</minAltitude>
<maxAltitude>300</maxAltitude>
<altitudeMode>absolute</altitudeMode>
</LatLonAltBox>
</Region>
<Model>
<altitudeMode>absolute</altitudeMode>
<Location>
<longitude>-73.967763927199</longitude>
<latitude>40.749458312255</latitude>
<altitude>0.406173708576</altitude>
</Location>
<Link>
<href>models/un.dae</href>
</Link>
</Model>
</Placemark>
</Document>
</kml>
次のリンクをクリックして Google Earth にファイルを読み込ませ、さまざまな視点のビューを試して、この建物がいつ表示され、いつ表示されなくなるかをもう一度確認してください。
Google Earth でのビューの例(unitedNations.kmz)
この例では、地上の特定の標高に表示する 2D オーバーレイを追加する方法を説明します。この手法は、気象前線や航空機の場周経路を表示するデータに役立ちます。この例では、海抜 100,000 m の標高に小さな雲を表示します。
Region の <LatLonAltBox> では、<minAltitude> 要素と <maxAltitude> 要素の両方に 100,000 m の値が指定されています(このオーバーレイは 2D で高さがないため、この 2 つの要素は同じ値になります)。<altitudeMode> は absolute です。この値は海水面を基準にしています。
GroundOverlay の <altitude> の値も 100,000(つまり、Region の境界ボックスの標高の値と同じ)で、GroundOverlay の <altitudeMode> の値が Region の<altitudeMode> に指定されている値と同じであることに注意してください。
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Document>
<name>Flat Region at altitude</name>
<GroundOverlay>
<name>Cloud overlay</name>
<Region>
<LatLonAltBox>
<north>33.75</north>
<south>22.5</south>
<east>-45</east>
<west>-56.25</west>
<minAltitude>100000</minAltitude>
<maxAltitude>100000</maxAltitude>
<altitudeMode>absolute</altitudeMode>
</LatLonAltBox>
<Lod>
<minLodPixels>128</minLodPixels>
</Lod>
</Region>
<Icon>
<href>files/image.PNG</href>
</Icon>
<altitude>100000</altitude>
<altitudeMode>absolute</altitudeMode>
<LatLonBox>
<north>33.75</north>
<south>22.5</south>
<east>-45</east>
<west>-56.25</west>
</LatLonBox>
</GroundOverlay>
</Document>
</kml>
Google Earth でのビューの例(cloudRegion.kmz)
Region の「フェード範囲」を指定することによって、オブジェクトを透明から不透明、そしてまた透明へとスムーズに遷移させることができます。Google Earth は、Region の表示サイズが最大のときの完全な透明から完全な不透明へのランプ(傾斜)を maxFadeExtent に基づいて判断し、表示サイズが最小のときのフェード ランプは minFadeExtent に基づいて判断します。フェード範囲の設定はオプションですが、フェード範囲を設定すると、解像度が異なる LineString や Polygon 間での「ポッピング」現象を防ぐことができます。フェードはパフォーマンスに大きく影響するため、画像には使用しないでください。
注: フェード範囲は目印アイコン以外のすべてのオブジェクトに適用されます。目印アイコンは、フェード範囲が 0.5 を超えると描画されます。
次の例は、フェード範囲が LineString にどのように影響するかを示しています。
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Document>
<name>Region in Placemark LineString</name>
<description>
The LineString corners mark the extent
of the Region LatLonAltBox.
The LineString minFadeExtent (at greatest range)
is 1/4 of the maxFadeExtent (at closest range)..
</description>
<Placemark>
<name>Region LineString</name>
<LineString>
<coordinates>
22,50,0
28,50,0
28,45,0
22,45,0
22,50,0
</coordinates>
</LineString>
<Region>
<LatLonAltBox>
<north>50</north>
<south>45</south>
<east>28</east>
<west>22</west>
</LatLonAltBox>
<Lod>
<minLodPixels>128</minLodPixels>
<maxLodPixels>1024</maxLodPixels>
<minFadeExtent>128</minFadeExtent>
<maxFadeExtent>512</maxFadeExtent>
</Lod>
</Region>
</Placemark>
</Document>
</kml>
Google Earth でのビューの例(fadeLineString.kml)
Region は通常、ネストして使用します。外側の大きな Region を粗い解像度に関連付け、内側の小さな Region をより解像度の高い詳細レベルに関連付けます。次の図では、各 Region に LOD 制限が割り当てられています。LOD 制限にピクセル数で指定した画面投影サイズになると、関連付けられている Region がアクティブになります。ユーザーの視点が Region に近付くと、その Region が占める画面領域が大きくなるため、より高い詳細レベル(LOD)の Region がアクティブになります。その結果、先に読み込まれている粗い LOD の Region が、より高い LOD の Region に置き換えられます。
正しくネストされた Region がアクティブになると、次の処理が行われます。
子 Region の <LatLonAltBox> は、親 Region の <LatLonAltBox> 内に完全に含まれている必要があります。Region は Folder および NetworkLink 階層を通して継承されます。ローカルで定義された Region は、上位の Folder 階層で定義された Region より優先されます。次の例は、Region のローカル スコープによって、上位の階層で定義された Region がどのように変更されるかを示しています。この例では、Placemark「ukraineRegion」はその親 Document から Region を継承しています。Folder「romaniaFolder」には独自の Region が指定されていて、Placemark「romaniaRegion」ではこの Region が使用されます。NetworkLink 内で最も効率的に Region を使用する方法の例については、次セクションの Region ベースのネットワーク リンクの「スマート」な読み込みをご覧ください。
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Document>
<name>Nested Regions</name> <Region> <LatLonAltBox> <north>56.25</north> <south>45</south> <east>33.75</east> <west>22.5</west> </LatLonAltBox> <Lod> <minLodPixels>128</minLodPixels> <maxLodPixels>1024</maxLodPixels> </Lod> </Region> <Placemark> <name>ukraineRegion</name> <LineString> <tessellate>1</tessellate> <coordinates> 22.5,45,0 33.75,45,0 33.75,56.25,0 22.5,56.25,0 22.5,45,0 </coordinates> </LineString> </Placemark> <Folder> <name>romaniaFolder</name> <Region> <LatLonAltBox> <north>50.625</north> <south>45</south> <east>28.125</east> <west>22.5</west> </LatLonAltBox> <Lod> <minLodPixels>128</minLodPixels> <maxLodPixels>1024</maxLodPixels> </Lod> </Region> <Placemark> <name>romaniaRegion</name> <LineString> <tessellate>1</tessellate> <coordinates> 22.5,45,0 28.125,45,0 28.125,50.625,0 22.5,50.625,0 22.5,45,0 </coordinates> </LineString> </Placemark> </Folder> </Document> </kml>
前の例で説明した Region ベースの NetworkLink を使用すると、非常に大きなデータセットを Google Earth で最も効率的に公開できます。Region を NetworkLink と組み合わせて使用することで、特定のサブ Region を指すポインタの階層を作成できます。次の KML ファイル内の <viewRefreshMode> には、onRegion オプションが指定されています。このオプションを指定すると、その Region がアクティブな場合にのみ Region のデータが読み込まれます。ネストされた Region に複数の詳細レベルが指定されている場合、大量のデータの読み込みは、ユーザーの視点によって次の読み込みが起動されて初めて実行されます。スーパー オーバーレイに関する次のセクションでは、詳しい例を紹介しています。
この例を実行するには、最初の部分を通常どおり保存します。また、Region がアクティブになったら NetworkLink でその Region を読み込めるように、2 番目の部分を romaniaRegion.kml として保存します。
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Document>
<name>Nested Regions</name> <Region> <LatLonAltBox> <north>56.25</north> <south>45</south> <east>33.75</east> <west>22.5</west> </LatLonAltBox> <Lod> <minLodPixels>128</minLodPixels> <maxLodPixels>1024</maxLodPixels> </Lod> </Region> <Placemark> <name>ukraineRegion</name> <LineString> <tessellate>1</tessellate> <coordinates> 22.5,45,0 33.75,45,0 33.75,56.25,0 22.5,56.25,0 22.5,45,0 </coordinates> </LineString> </Placemark> <NetworkLink> <name>romania NetworkLink</name> <Region> <LatLonAltBox> <north>50.625</north> <south>45</south> <east>28.125</east> <west>22.5</west> </LatLonAltBox> <Lod> <minLodPixels>128</minLodPixels> <maxLodPixels>1024</maxLodPixels> </Lod> </Region> <Link> <href>romaniaRegion.kml</href> <viewRefreshMode>onRegion</viewRefreshMode> </Link> </NetworkLink> </Document> </kml>
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Document>
<name>romania Document</name>
<Region>
<LatLonAltBox> <north>50.625</north> <south>45</south> <east>28.125</east> <west>22.5</west> </LatLonAltBox>
<Lod> <minLodPixels>128</minLodPixels> <maxLodPixels>1024</maxLodPixels> </Lod>
</Region> <Placemark> <name>romaniaRegion</name> <LineString> <tessellate>1</tessellate> <coordinates> 22.5,45,0
28.125,45,0 28.125,50.625,0 22.5,50.625,0 22.5,45,0 </coordinates> </LineString> </Placemark>
</Document>
</kml>
Q: 47 MB の画像を全世界のユーザーと共有するにはどうすればよいですか。
A: 一度に一部分ずつ読み込みます。
Q: 大勢のユーザーがこの読み込みを実行するとどうなりますか。
A: このチュートリアルの説明に従って、Region ベースの NetworkLink を使用し、複数の詳細レベルを画像に設定すれば、何も問題はありません。
このセクションでは、Region と NetworkLink の階層である「スーパー オーバーレイ」を作成する方法について説明します。スーパー オーバーレイを使用すると、大きな画像のセットを効率的に表示できます。画像領域の一部が表示されると、対応する解像度のタイルが読み込まれます。視点が近付くにつれて、より解像度の高いタイルが読み込まれます。7008 x 6720 ピクセルの画像を 1024 x 768 の画面に表示しようとしても労力の無駄です。その上、ユーザーの視点が地表の何マイルも上空にある場合は、わずかなピクセル領域にすべてのデータが詰め込まれ、パフォーマンスは最悪になります。(1991 年当時のカリフォルニア州マウンテン ビューの DOQQ を表示するサンプルのような)スーパー オーバーレイでは、NetworkLink とその機能を活用して、(1)特定の Region が表示範囲に含まれているかどうか、(2)その Region の投影サイズが現在の視点に適合しているかどうかを判別できます。Region が「アクティブ」な場合(両方の条件を満たしている場合)、この Region に関連付けられているデータが NetworkLink に読み込まれます。Region が非アクティブなときは、データは読み込まれません。元の画像を詳細レベルを徐々に高くした画像の階層に分割すると、現在のビューに最も適切な画像が Google Earth に読み込まれます。
この画像の階層の使い方を確認するには、次のサンプル ファイルを Google Earth に読み込ませ、対象領域でズーム インとズーム アウトを試してください: マウンテン ビューの過去の DOQQ
![]() |
非常に大きなデータセットを効率的に読み込むために Region ベースの NetworkLink を使用した例。元の画像のサイズは 7008 x 6720 ピクセルです。ここに表示されている傾斜ビューでは、5 つの小さなタイルのみを読み込んでこの画像を表示しています(タイルの境界を強調表示するために白い LineString を追加しています)。このアプリケーションでは、マウンテン ビュー市街の過去の画像(1991 年の DOQQ)が表示されます。 |
サンプルのスーパー オーバーレイでは、元のマウンテン ビューの画像は多数の小さな GroundOverlay に分割されています。これらのオーバーレイ(タイル)は、5 レベルの階層に配置されています。例として、この説明では単純な 3 レベルの階層と 21 セットのオーバーレイを使用しいますが、基本的な考え方は同じです。ここで紹介する例は、Region ベースの NetworkLink 階層を作成する方法の 1 つにすぎません。このメカニズムを実装する方法は他にもあります。
スーパー オーバーレイを作成するには、次の作業を実行する必要があります。
タイルの標準サイズを選択します。タイルは、関連付けられている Region がアクティブになったときに Google Earth に読み込まれる、(さまざまな解像度の)分割された画像です。例として、ここではタイルのサイズを 256 x 256 ピクセルとします。これくらい小さなサイズなら扱いが容易です。
図は、ネストされた Region の視点と定義に基づいて、実際に読み込まれるタイルがどのように決定されるかを表しています。このサンプルの大きな画像には、3 つの詳細レベルが設定されています。ユーザーの視点が遠距離にある場合、Google Earth には Region のサムネイル ビューが表示されます。このビューが LatLonAltBox 全体に引き伸ばされて表示されます(ただし、投影サイズが 256 ピクセル平方と小さいため、実質的には視覚情報は失われません)。ユーザーがシーンにズーム インすると、Region は 4 つの Region に分割されます。これらの 4 つの「タイル」はいずれもサムネイルの画像と同じサイズですが、より詳細な画像を提供します。
ユーザーが領域にさらにズーム インすると、視点の接近度に応じて高解像度の画像が表示されます。遠距離部分では、最初に読み込んだ低解像度の画像が保持されます。マウンテン ビューの DOQQ の例で [Boxes] をオンにして、Placemark A と B を確認してみましょう。Region の周囲に LineString が使用され、一度に複数の階層レベルが表示されます。
この例では、(すべての階層レベルの)すべての Region で、同じ値が minLodPixels と maxLodPixels に設定されています。どの階層レベルを読み込み、どの Region 内のタイルを読み込むかは、LatLonAltBox によって決定されます。
画像ごとに、地面オーバーレイを Region と NetworkLink に関連付ける KML ファイルを用意します。各 KML ファイルには、次の要素を組み込みます:
- Region 1 つ(特定の時点でこの Region がアクティブかどうかを Google Earth が判断できるようにするために、LatLonAltBox、minLodPixels、maxLodPixels を設定します)
- 子ファイル(次の階層レベルのタイル)を指す一連の NetworkLink
- Region 用の GroundOverlay
次のサンプルは、マウンテン ビューの DOQQ の例の最上位の KML ファイルを示したものです。maxLodPixels には、「無限のサイズまでアクティブ」を意味する -1 が指定されています。この指定をしないと、階層全体がトリガされない場合があります。
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<NetworkLink>
<name>SuperOverlay: MV DOQQ</name>
<Region>
<LatLonAltBox>
<north>37.44140625</north>
<south>37.265625</south>
<east>-121.9921875</east>
<west>-122.16796875</west>
</LatLonAltBox>
<Lod>
<minLodPixels>128</minLodPixels>
<maxLodPixels>-1</maxLodPixels>
</Lod>
</Region>
<Link>
<href>http://mw1.google.com/mw-earth-vectordb/kml-samples/mv-070501/1.kml</href>
<viewRefreshMode>onRegion</viewRefreshMode>
</Link>
</NetworkLink>
</kml>
次のファイルは、マウンテン ビューの DOQQ の例の Region の 1 つを示しています(179.kml)。このファイルには href タグが 5 つ含まれています。そのうちの 4 つは画像階層の次のレベルにある 4 つの KML ファイルを参照し、残りの 1 つはこのタイルの GroundOverlay に使用する画像ファイルを参照しています。
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Document>
<Region>
<Lod>
<minLodPixels>128</minLodPixels><maxLodPixels>-1</maxLodPixels>
</Lod>
<LatLonAltBox>
<north>37.430419921875</north><south>37.41943359375</south>
<east>-122.091064453125</east><west>-122.10205078125</west>
</LatLonAltBox>
</Region>
<NetworkLink>
<name>001120</name>
<Region>
<Lod>
<minLodPixels>128</minLodPixels><maxLodPixels>-1</maxLodPixels>
</Lod>
<LatLonAltBox>
<north>37.430419921875</north><south>37.4249267578125</south>
<east>-122.0965576171875</east><west>-122.10205078125</west>
</LatLonAltBox>
</Region>
<Link>
<href>180.kml</href>
<viewRefreshMode>onRegion</viewRefreshMode>
</Link>
</NetworkLink>
<NetworkLink>
<name>001121</name>
<Region>
<Lod>
<minLodPixels>128</minLodPixels><maxLodPixels>-1</maxLodPixels>
</Lod>
<LatLonAltBox>
<north>37.430419921875</north><south>37.4249267578125</south>
<east>-122.091064453125</east><west>-122.0965576171875</west>
</LatLonAltBox>
</Region>
<Link>
<href>185.kml</href>
<viewRefreshMode>onRegion</viewRefreshMode>
</Link>
</NetworkLink>
<NetworkLink>
<name>001122</name>
<Region>
<Lod>
<minLodPixels>128</minLodPixels><maxLodPixels>-1</maxLodPixels>
</Lod>
<LatLonAltBox>
<north>37.4249267578125</north><south>37.41943359375</south>
<east>-122.0965576171875</east><west>-122.10205078125</west>
</LatLonAltBox>
</Region>
<Link>
<href>190.kml</href>
<viewRefreshMode>onRegion</viewRefreshMode>
</Link>
</NetworkLink>
<NetworkLink>
<name>001123</name>
<Region>
<Lod>
<minLodPixels>128</minLodPixels><maxLodPixels>-1</maxLodPixels>
</Lod>
<LatLonAltBox>
<north>37.4249267578125</north><south>37.41943359375</south>
<east>-122.091064453125</east><west>-122.0965576171875</west>
</LatLonAltBox>
</Region>
<Link>
<href>195.kml</href>
<viewRefreshMode>onRegion</viewRefreshMode>
</Link>
</NetworkLink>
<GroundOverlay>
<drawOrder>5</drawOrder>
<Icon>
<href>179.JPEG</href>
</Icon>
<LatLonBox>
<north>37.430419921875</north><south>37.41943359375</south>
<east>-122.091064453125</east><west>-122.10205078125</west>
</LatLonBox>
</GroundOverlay>
</Document>
</kml>