2011-09-15 13 views
3

ドメイン固有のグループに基づいてフォルダに配置された50,000個以上の目印を持つKMLファイルを生成します。 KMLファイルは、KMZファイルにパックされたカスタムイメージを使用します。大きなKMLファイルの作成

1つのKMLファイルを複数のファイルに分割してグループ化しているので、フォルダが1つの大きなドキュメントではなく、フォルダにリンクされたルート/インデックスKMLファイルがありますより小さなKMLファイル

これは可能ですか?私は、KMZファイルには、場所や名前にかかわらず、1つのKMLファイルしか格納できないと思います。さらに、KMLファイルを他のKMLファイルにどのようにリンクさせることができるのかよく分かりません。ローカルファイルに<NetworkLink>としてそれを持たせる唯一の方法はありますか? <NetworkLink>は同じKMZのローカルファイルにリンクできますか?

答えて

1

はい、これを達成するためにネットワークリンクを使用することができます。私が知っている限り、それはあなたが求めるものを行う唯一の方法です。ネットワークリンクで、はい、あなたはローカルファイルを参照することができ

参照:http://code.google.com/intl/nl-NL/apis/kml/documentation/kml_tut.htmlそれが言う(検索「ネットワークリンク」用):

ネットワークリンクは、(ハイパーテキスト 参照)を持つ要素が含まれていますファイルを読み込みます。ローカルファイル の指定または絶対URLを指定できます。名前にかかわらず、<ネットワークリンク> は必ずしもネットワークからファイルをロードするとは限りません。 リンクで<のhref >次のいずれかの場所を指定します。

アイコンスタイルのアイコンで使用する画像ファイル、地面オーバーレイ、画面オーバーレイ
•要素
で使用されるモデルファイル• •ネットワークリンクによって読み込まれたKMLファイルまたはKMZファイル

いいえkmz内の別のファイルを参照することはできません。 2.Put

:KMZは(それはしかし、ファイルの他のタイプを含めることができます)あなたはKMZファイルのレイアウトを見つけることができるとどのような彼らに入れてすることができるが、具体的には、以下のセクションを注意しhere 1つのKMLファイルを含めることができますデフォルトのKMLファイル(doc.kml、または としたい名前)をこのフォルダ内の最上位に配置します。 1つの.kmlファイルのみを含めます。 (Google EarthがKMZファイルを開くと、このリストの最初の.kmlファイルである を探してスキャンします。アーカイブ内の後続のすべての.kml ファイルを無視します。アーカイブに複数の.kml ファイルは、あなたは1つが最初に発見されることを確認することはできませんので、あなただけのものを含める を必要としています。)

最後にひとつの発言は、オフラインとしてこれら50.000目印が必要な場合は、あなたの質問は何も教えてくれないということですファイルかどうか。それらを動的に提供できる場合は、GEがクライアントの表示領域を教えてくれる地域ベースのリンクを使用することができます。そのため、ウェイポイントの小さなサブセット(ユーザービュー内にあるサブセットのみ)を返すことができますthisクリックするリンク。

+0

ありがとうございました。その目的は、すべてをオフラインにすることです。 –

+1

"A kmzには1 kmlファイルしか含めることができません"という上記のステートメントは間違っています。問題は、これが明確にどこに文書化されていないということです。 – JasonM1

9

1つのKMZファイル内に複数のKMLファイルを配置することができます。そうすれば、多数のKMLファイルをダウンロードしたり、電子メールで送信したり、オフラインでアクセスしたりする単一のKMZファイルにバンドルすることができます。

Google Earthは、機能が複数のKMLファイルに分割されており、すべてのサブKMLファイルが次のように定義されている場合、1つのKMZファイルに多数の機能(50,000またはそれ以上)一度に表示されません。 KMLは、時間、地域、または高度レベルのフィルタリングを使用して表示される機能またはサブKMLファイルを制御するメカニズムを提供します。

大KMLファイルには、次の方法のいずれかを使用して拡張することができます

  1. NetworkLinks
  2. Regions
  3. フォルダラジオスタイルまたは明示的な可視性= 0

NetworkLinks

ルートKMLファイル内から任意のレベルのネットワークリンクをフラット(KMZ内の他のすべてのKMLファイルへのネットワークリンクを含む単一のKMLファイル)から深くまで(各KMLファイルとNetworkLinkを別のKMLファイル)。 KMLをどのように構造化する必要があり、どのくらいのデータ量が必要かによって異なります。

鍵は、Google EarthがルートKMLファイルとして最初のKMLを選択することです。最初のファイル(通常はdoc.kmlという名前)がネットワークリンク経由で他のKMLファイルを読み込むルートKMLファイルであることを確認する必要があります。一般的な構造は、ルートKMLファイルと区別するために、追加のKMLファイルを "kml"サブフォルダに含めることです。

ここで4ファイルエントリとKMZの例は次のとおりルートKMLファイルネットワークリンクが含まれている(doc.kml)に "KML/sub1.kml" を、別の "KML/sub2.kml"、ここで"kml"サブフォルダ内の "sub3.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ファイルの構造です:あなたは、親KMLファイルに時間ベースの機能を1ネットワークリンクより多く含まれている場合のベストプラクティスとして

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

その機能のコレクションの全期間を含めてネットワークリンクに<TimeSpan>要素を追加します。そうしないと、起動時に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目印のジオメトリまたはオーバーレイの画像の視認性に影響を与えます。ネットワークリンクと組み合わせた地域では、KMLファイルの大量のデータにアクセスできます。ある地域は高度レベルのフィルタリングのために最低と最高の高度を任意に有することができる。

は、詳細については、こちらを https://developers.google.com/kml/documentation/regions

ラジオフォルダ

あなたはさらにradio foldersを使用して、指定された時に表示されるものを制限することができKML
に地域のチュートリアルです。

ここでは、ユーザが一度に1つのネットワークリンクだけを選択できるようにするラジオフォルダの例を示します。 これは、コンテンツが相互に排他的で、一度に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> 
関連する問題