設計上、1 つの KMZ ファイル内に複数の KML ファイルを含めることができます。こうすることで、多数の KML ファイルを 1 つの KMZ ファイルにまとめてダウンロードしたり、電子メールで送信したり、オフラインでアクセスしたりできます。
フィーチャが複数の KML ファイルに分割され、すべてのサブ KML ファイルが一度に表示されないように KML が定義されている場合、 Google Earth は 1 つの KMZ ファイルで多数のフィーチャ(50,000 またはそれ以上) にスケーリングできます。KML は、時間、地域、または高度レベルのフィルタリングを使用して、どのフィーチャまたはサブ KML ファイルを表示するかを制御するメカニズムを提供します。
大規模な KML ファイルは、次のいずれかの手法を使用してスケーリングできます。
- ネットワークリンク
- 地域
- フォルダー ラジオ スタイルまたは明示的な可視性 = 0
- フィーチャごとのポイント数とジオメトリの単純化
ネットワークリンク
ルート KML ファイル内から、フラット (KMZ 内の他のすべての KML ファイルへの Networklink を持つ単一の KML ファイル) からディープ (それぞれ独自の NetworkLink を持つ他の KML ファイルへの NetworkLink を持つ各 KML ファイル) まで、任意のレベルの NetworkLinks を持つことができます。 . KML をどのように構造化する必要があるか、およびデータの大きさによって異なります。
重要なのは、Google Earth が最初の KML をルート KML ファイルとして選択することです。したがって、最初のファイル (通常は doc.kml という名前) が、ネットワーク リンクを介して他の KML ファイルをロードするルート KML ファイルであることを確認する必要があります。一般的な構造では、追加の KML ファイルを「kml」サブフォルダーに含めて、ルート KML ファイルと区別します。
4 つのファイル エントリを持つ KMZ の例を次に示します。ルート KML ファイル (doc.kml) には、" kml/sub1.kml " への NetworkLink と " kml/sub2.kml "への NetworkLink が含まれ、さらに" sub3 . kml " も "kml" サブフォルダーにあります。
== test.kmz ==
+doc.kml
NetworkLink > kml/sub1.kml
NetworkLink > kml/sub2.kml
+kml/sub1.kml
+kml/sub2.kml
NetworkLink > sub3.kml
+kml/sub3.kml
このようなdoc.kmlファイルの構造は次のとおりです。
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Document>
<NetworkLink>
<name>NetworkLinked sub-item</name>
<Link>
<href> kml/sub1.kml </href>
</Link>
</NetworkLink>
<NetworkLink>
<name>NetworkLinked sub-item</name>
<Link>
<href> kml/sub2.kml </href>
</Link>
</NetworkLink>
...
</Document>
</kml>
親 KML ファイルに時間ベースの機能を持つ複数の NetworkLink を含める場合のベスト プラクティスとして、その<TimeSpan>
機能のコレクションの全時間範囲を含む要素を NetworkLinks に追加します。そうしないと、Google Earth が起動時にファイル全体を自動的に読み込みます。 .
<NetworkLink>
<TimeSpan>
<begin>2007-01-14T01:00:00Z</begin>
<end>2007-01-14T02:00:00Z</end>
</TimeSpan>
<Link>
<href>...</href>
</Link>
</NetworkLink>
地域
リージョンは、目印の
ジオメトリまたはオーバーレイの画像の表示に影響します。Region を NetworkLinks と組み合わせることで、KML ファイル内の大量のデータにアクセスできます。リージョンはオプションで、高度レベル フィルタリング用の最小高度と最大高度を持つことができます。
詳細については、KML のリージョンに関するチュートリアルを
ご覧ください https://developers.google.com/kml/documentation/regions
ラジオ フォルダ
ラジオ フォルダを使用して、特定の時間に表示される内容をさらに制限できます。
次に示すのは、ユーザーが一度に 1 つの NetworkLinks のみを選択できるラジオ フォルダーの例です。これは、コンテンツが相互に排他的で、常に 1 つの機能セットのみを表示する必要がある場合に使用されます。
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Document>
<Style id="rf">
<ListStyle>
<listItemType>radioFolder</listItemType>
</ListStyle>
</Style>
<Folder>
<name>One at a time example</name>
<open>1</open>
<description>Link 1 visible by default</description>
<styleUrl>#rf</styleUrl>
<NetworkLink>
<name>NetworkLinked sub-item-1</name>
<Link>
<href> kml/sub1.kml </href>
</Link>
</NetworkLink>
<NetworkLink>
<name>NetworkLinked sub-item-2</name>
<visibility>0</visibility>
<Link>
<href> kml/sub2.kml </href>
</Link>
</NetworkLink>
</Folder>
</Document>
</kml>
フィーチャごとのポイント数とジオメトリの単純化
考慮すべき問題は、KML ファイルのサイズとフィーチャの数だけではありません。350K のポイントと 7000 個の内部ホールを持つ単一の高解像度ポリゴンを含む KML ファイルは、Google Earth のパフォーマンスの問題を引き起こす可能性があります。このようなジオメトリは単純化し、ポイントの数を減らす必要があります。QGISを使用して KML ファイルを開き、ポリゴンに単純化アルゴリズムを適用できます。QGIS で、[ベクター] メニュー -> [ジオメトリ ツール] -> [簡略化] を選択して、結果を保存します。