見出し画像

Google Earthで点(マーカー)を落としてみる

下図のような感じの絵を無料でつくります。
詳しくはこちらのサイトで解説しています。
【No.012】Google Earth Proで緯度経度を指定して点を落とす方法 | 手動で作成する方法とKMLファイルのインポート方法 - GIS Academy

サンプル画像(Google Earth Pro)

Google Earth Proをダウンロードする

まずGoogle Earth Proをダウンロードします(Earth のバージョン – Google Earth)。実は手動でもマーカーは落とせますが、今回紹介するのは大量にマーカーを落とすことを想定しています。

左から2つめのアイコンを押すと手動でマーカー作成可能

インポートファイルを作成する

今回はKMLファイルというものを使います。早速、サンプルコードを紹介します。以下のコードをテキストにコピペして拡張子を.kmlにすれば作成完了です。

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Document>
  <name>test.kml</name>

  <Style id="stid1">
    <IconStyle>
      <scale>1</scale>
      <Icon>
        <href>http://maps.google.com/mapfiles/kml/pushpin/ylw-pushpin.png</href>
      </Icon>
    </IconStyle>
  </Style>

  <Placemark>
    <name>新国立競技場</name>
    <styleUrl>#stid1</styleUrl>
    <Point>
      <gx:drawOrder>1</gx:drawOrder>
      <extrude>1</extrude>
      <altitudeMode>relativeToGround</altitudeMode>
      <coordinates>139.7144803597144,35.67777418839377,100</coordinates>
    </Point>
  </Placemark>

</Document>
</kml>

コード解説

<name>test.kml</name>

サンプルコード3行目

Google Earth Pro 左側のツリー表示(親)の名称に相当します。イメージは下図のとおりです。

<Style id="stid1">
<IconStyle>
<scale>1</scale>
<Icon>
<href>http://maps.google.com/mapfiles/kml/pushpin/ylw-pushpin.png</href>
</Icon>
</IconStyle>
</Style>

サンプルコード6-13行目

マーカーのスタイルを設定します。scale はアイコンの大きさ、href はアイコン画像のURLを指定します。

<Placemark>
<name>新国立競技場</name>
<styleUrl>#stid1</styleUrl>
<Point>
<gx:drawOrder>1</gx:drawOrder>
<extrude>1</extrude>
<altitudeMode>relativeToGround</altitudeMode>
<coordinates>139.7144803597144,35.67777418839377,100</coordinates>
</Point>
</Placemark>

サンプルコード15-24行目

マーカーの情報を記載します。この<Placemark>~</Placemark>が一つの点の情報になります。従ってこれを繰り返し記載すると、複数の点の情報を付与することができます。

name は場所の名称、styleUrl は設定したスタイルの名前、coordinates は緯度、経度、高度情報になります。

ちょっと応用で、altitudeMode はマーカーは以下のような設定ができます。
clampToGround    : 地面に設置
relativeToGround  : 地面からの高度情報を反映
absolute                : 海抜からの高度情報を反映
なお relativeToGround, absolute の場合、地面からの補助線を入れるためにはextrude を1 に設定する必要があります。

ちなみにgx:drawOrder は描画の優先順位なので特に1 で問題ないと思います。

この記事が気に入ったらサポートをしてみませんか?