Earthで2点間のコースを設定して、

Google Earthのデータ(KML)を作るでは静的にラインを描画し、

Google Earthでアニメーション表現では動的にラインを描画してみました。

ここでは、このコース上をツアーするKMLを作成してみます。

Earthのツアーはオートマティックに視点を移動させて、旅気分を味わおうというものです。

ツアーはEarth上でも作成できます。

ここでは2つの方法で作成してみます。


追加
ExcelのVBAでEarthのツアー用KMLファイルを作成

ExcelでGoogle Mapsを表示して、座標を取得してみました。






EarthでツアーのKML作成

Earthを起動して、メニュから「ツアー」を選択。



左下に、レコード用のコントロールが出ます。

ここをクリックしたら、マウスで操作したEarthの動きの記録が開始されます。



マウスでの操作は、スムースな動きをさせるのが難しいです。

後で、この動きの記録を編集します。

再度、レコードボタンをクリックして記録を止めます。



今度は左下に、再生用のコントロールが出ます。

右にある保存用のボタンをクリック。



適当に名前を付けてOKで保存。



この場合の保存はEarthのリストに保存されます。

なので、再起動すればリストに出てきます。

外部ファイルに保存するには、マウスの右クリックでメニュを出して、「名前を付けて場所を保存」します。



kmzかkmlの2種類で保存できます。kmlは単なるテキスト形式のファイルで、kmzはkmlのzip圧縮です。

Earthで作成したデータは1つ1つの動きをすべて記録しているので結構大きなサイズになります。

なので、kmz形式での保存もサポートされています。

ここでは、利便性のためkmlで保存し、テキストエディターで開けるようにしておきます。

一部動きを編集してみましょう。

オリジナルのデータの場合、マウスのみであっちこっち移動させると結構カクカクした動きになります。

kmlを開いてみます。

カクカクした動きの主な原因になっているのは、以下の部分です。

<gx:Wait><gx:duration>1.229206505115599e-005</gx:duration></gx:Wait>


これはマウスで動かした場合のつなぎの部分です。

例えば一度左右に移動して、今度はズームの場合「止め」が入りますが、kmlでは「待ち(Wait)」という認識になります。

このコードを削除すれば、連続した動きになるというわけです。




ベタ書きでKML作成

以下のKMLコードは、A地点からB地点までの移動をやっています。

動きはこうです。

A地点を初期位置にして、真上から見下ろす形で、上空1000mで7秒間待機。
その後、B地点まで10秒かけて移動。

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2" xmlns:gx="http://www.google.com/kml/ext/2.2" xmlns:kml="http://www.opengis.net/kml/2.2" xmlns:atom="http://www.w3.org/2005/Atom">
<gx:Tour>
    <name>TEST</name>
    <gx:Playlist>
        <gx:FlyTo>
            <name>A</name>
            <LookAt>
                <longitude>135.4793812615903</longitude>
                <latitude>34.66900285397066</latitude>
                <altitude>0</altitude>
                <heading>0</heading>
                <tilt>0</tilt>
                <range>1000</range>
                <gx:altitudeMode>relativeToSeaFloor</gx:altitudeMode>
            </LookAt>
        </gx:FlyTo>
        <gx:Wait><gx:duration>7</gx:duration></gx:Wait>
        
        <gx:FlyTo>
            
            <gx:flyToMode>smooth</gx:flyToMode>
            <LookAt>
                <gx:horizFov>60</gx:horizFov>
                <longitude>135.4793812615903</longitude>
                <latitude>34.66900285397066</latitude>
                <altitude>0</altitude>
                <heading>0</heading>
                <tilt>0</tilt>
                <range>1000</range>
                <gx:altitudeMode>relativeToSeaFloor</gx:altitudeMode>
            </LookAt>
        </gx:FlyTo>

        <gx:FlyTo>
            <name>B</name>
            <gx:duration>10</gx:duration>
            <gx:flyToMode>smooth</gx:flyToMode>
            <LookAt>
                <gx:horizFov>60</gx:horizFov>
                <longitude>135.5</longitude>
                <latitude>34.6690028539966</latitude>
                <altitude>0</altitude>
                <heading>0</heading>
                <tilt>0</tilt>
                <range>1000</range>
                <gx:altitudeMode>relativeToSeaFloor</gx:altitudeMode>
            </LookAt>
        </gx:FlyTo>

    </gx:Playlist>
</gx:Tour>
</kml>


後は、こういう動きの組み合わせです。

また、例えば下から仰ぎ見るような効果を出す場合は、LookAtではなくCameraを使います。

以下は、2点間の移動の単純なKMLを作成するページです。

動きはこうです。

初期位置上空1000mに指定時間待機。
その後指定高度まで指定時間をかけてテイクオフ。
指定時間をかけて移動。
指定時間をかけてランディング。
最後に指定場所の上空1000m地点にタッチダウン。

Google Earth KMLコード作成 ツアー (W杯バージョン)

作成したKMLをドラッグ・ドロップしたEarth。

再生の場合、左のパネルのカメラアイコンをダブルクリックしたら再生が開始されます。



単純すぎて、あんまり面白くないかも........ですが(^^)。