サポート > PC-MAPPING ヒント集 > エクスポート > GoogleEarth KMLファイルへのエクスポート
GoogleEarth KMLファイルへのエクスポート
KML(Keyhole Markup Language)ファイルは、XML形式に準拠した、Google Earthにおける位置情報を示すファイルで、緯度経度座標、距離、チルト角、方位等の情報が含まれています。
また、KMZファイルは、KMLファイルを圧縮したもので基本的には同一のものです(どちらもそのままGoogle Earthで利用する事ができます)。

データについての詳細、Google Earthの操作については、
Google Earth - ホーム
KML 2.1 チュートリアル
KML Reference
をご覧下さい。
■ サンプル
サンプル [export11.zip(約70KB)]をダウンロードする
KMLサンプル.pcm:サンプルプロジェクト
image:写真

■ プロジェクト構成
基本的に通常のプロジェクトでの表示設定(画面に表示されている状態)に近い内容になるような構成で出力されます。
▼ PC-MAPPINGでのプロジェクト構成例
【留意点】
  • 座標系は全て世界測地系である必要があります。
  • キーリストで設定するパラメーターは大文字・小文字を区別していますので注意して下さい。

【共通規則】
各キーリスト内の<description>
  1. [プロジェクトエキスパート]-[キーリスト]の<description>で入力した値は、@に転記されます。

  2. [レイヤーエキスパート]-[キーリスト]の<description>で入力した値は、Aに転記されます。

内部属性について
  1. 各ベクター(アーク・ポイント・ポリゴン)の「表示」チェックONのフィールドは、<name>〜</name>内に転記されます。
    <name>〜</name>内に転記された属性は、地図画面上に表示され、またバルーン内にも表示されます(=C)。

  2. [レイヤーエキスパート]の各ベクターパネルで、内部属性DBのキーリストの「FieldDesc」で指定したフィールドは、バルーン(<Placemark>〜</Placemark>)内の<description>に転記されます(=D)。
    この内部ではHTMLが使用できますので、表示したい複数のフィールドを計算フィールド等でタグを含んだ状態に整形しておき、そのフィールドを「FieldDesc」の値とする事で、Dのようにイメージを同時に表示する事が可能です。

    例えば、サンプルでポイントの内部属性DBのキーリスト「FieldDesc」で指定した「@@バルーン表示用」フィールドは、以下のような計算フィールドになっています。
    "<font size=+1 color='red'>"&{名称}&"</font>"&"<br>"& {備考}&"<br>"& "<img src=\""& {@写真}&"\">"
    ※<description>内にイメージを表示する場合、このタグ内の記述はHTMLとして解釈されるので、パスの区切りは\ではなく/(半角スラッシュ)を使用して下さい。

  3. 通常、キーリスト「FieldDesc」で指定したフィールドがバルーン内に表示されますが、特別なフィールドとして、
    • address
    • phoneNumber
    という名称のフィールドがあれば、これを同名のタグ<address>・<phoneNumber>として<Placemark>〜</Placemark>内にエクスポートします(=E)。
    ▼ ポイント内部属性

    ▼ エクスポートされたKML
    <Placemark>
    <name>株式会社マプコン</name>
    <address>東京都中央区入船3-1-13(エーユー入船ビル7F)</address>
    <phoneNumber>03-3523-4640</phoneNumber>

     <description>
     :
     </description>
     :
    </Placemark>

  4. キーリスト「FieldDesc」で直接フィールド名を複数指定(カンマ区切り)でバルーン内に表示する事ができます。
    【注意】
    この時、強制的に「フィールド名=」が属性値の頭に付きます、これを除外する事はできません。
    より詳細にバルーン内を表現したい場合は、2.のように、計算フィールドで表示用のフィールドを設定して下さい。



    ただし、この形式ですと、"フィールド名=値"が続けて表示されますので、これをテーブル表示にしたい場合は、内部属性DBのキーリストの「FieldDesc2=1」と追加して下さい。

描画について
  • 描画パラメーターの「ポイント(ノード)シンボル」にベクターデータを使用している場合は、(たとえ複数のシンボルを設定していても)全て一種類 =「default_pnt」になります。
  • 描画パラメーターの「ポイント(ノード)シンボル」ビットマップデータを使用している場合は、KMLファイルと同名のフォルダ内に
    • 透過指定があるイメージ = GIF形式
    • そうでないイメージ = PNG形式
    で保存されます。
    名称は「icon-**-1.gif」(最後の-1、-2、…は連番で、描画パラメーターのレンジ値の小さい方から順に振られる)。
  • アークの線種は無視されます(全て実線になります)。

■ 出力方法
  1. ここでは、「原子力」レイヤーのポイント(シンボルはビットマップイメージ)をKMLファイルにエクスポートします。
    ファイルのエクスポートを行います。

  2. [ファイル]-[エクスポート]-[GoogleEarth(Googleマップ) KMLファイル]を実行します。
    [GoogleEarth(Googleマップ) KMLファイルエクスポート]ダイアログボックスが表示されますので、各種設定を行います。
    レイヤーの背景イメージ(背景ピクチャー)をエクスポート
    ONの場合、指定レイヤーの背景イメージ、もしくは、背景ピクチャーをエクスポートします(ベクターを選択しなくとも画像のみエクスポートできます)。
    ▼ 以下のようなプロジェクト「背景イメージのエクスポート」内のレイヤー「地形図25000」の背景イメージをエクスポートした場合

    ▼ 「GroundOverlay」として画像が表示されます。

    ※以下3項目については、該当内部DBのキーリスト内に指定がある場合は、そちらを優先します。
    Z値の処理(AltitudeMode)
    現在ベクターが持つZ値をどのように表現するか設定します。
    ▼ ポイントのZ値が25mで、Z値の処理は「relativeToGround」の場合

    ▼ ポイントのZ値が25mで、Z値の処理は「absolute」の場合

    突き出し(Extrude)
    キーリスト「Extrude」=1にした場合、またはこの「突き出し」をONにした場合、ベクターのZ値に対し、引き出し線を表示します。
    「Z値の処理(AltitudeMode)」で「Z値は無視して地上に沿わせる」を選択した場合、また「地形に沿わせる(Tessellate)」チェックをONにした場合は無効になります。
    ▼ ポイントのZ値が100mで、Z値の処理は「clampToGround」の場合

    ▼ ポイントのZ値が100mで、Z値の処理は「relativeToGround」、「突き出し」がONの場合

    地形に沿わせる(Tessellate)
    キーリスト「Tessellate」=1にした場合、またはこの「地形に沿わせる」をONにした場合、GoogleEarthの地形形状に沿ってベクターを表示します。

  3. 設定が終了したら<OK>ボタンを押して処理を実行します。

  4. 指定したフォルダーにGoogle Earth KMLファイル(*.kml)が作成され、ビットマップパターンは「sample.kml.files」フォルダー()に格納されます。

    ※バルーン内に表示するイメージはこのフォルダーには格納されません。
    元プロジェクトと異なる場所にKMLファイルをエクスポートした場合、KML内にIMGタグで相対パスによる記述がなされているのであれば、KMLファイルとイメージの相対関係を考慮した上で、イメージ(ファイルフォルダー)ごとエクスポート先にファイルをコピーするなどを行って下さい。

■ GoogleEarth上で表示
[GoogleEarth(Googleマップ) KMLファイルエクスポート]ダイアログボックスで[保存後、Google Earthを起動する]チェックがONの場合、エクスポートが完了すると、自動的にGoogle Earthを起動し、KMLファイルを重ねて表示します。
作成したKMLファイルをGoogle Earth上で表示すると以下のようになります。

ポップアップで表示されるバルーンのスタイルを変更する事もできます。
▼ バルーンの色や文字色を<BalloonStyle>〜</BalloonStyle>で変更した場合

※バルーンスタイルはGoogleEarth上で編集できません。
直接KMLを編集する必要があります。

詳細は、KML Reference をご覧下さい。