| Google EarthをCurlで操作 |
| データ操作 | |||||||||
| 作者 岡田 一志 | |||||||||
| 2008年6月12日(木曜日) 17:52 | |||||||||
|
今回は、Google EarthをCurlからGoogle Earth COM APIを利用して、操作する方法を説明していこうと思います。これを用いることで、Google Earth上を自由に移動・観光したり、3D建物を配置したり、画面のスクリーンショットを取得することができます。ここではGoogle Earth4.3のインストールを前提としています。 まずは、Google Earthをインストール後、以下のコマンドにてCOMレジストリの登録を実施します。
コーディング(Google Earth COM API)CurlでGoogle Earth COM APIを利用するには、ActiveXObjectを利用します。ActiveXの扱い方についてはこちらのページを参考ください。 まずは、CURL.GRAPHICS.ACTIVEXパッケージをインポートし、ActiveXObjectオブジェクトを生成します。この際、ProgIdにGoogleEarth.ApplicationGEを指定します。
これにより、IApplicationGEオブジェクトが生成されます。このオブジェクトからバージョン情報を取得する簡単なサンプルは以下の通りです。(IApplicationGEのゲッターであるVersionMajor、VersionMinor、VersionBuild、VersionAppTypeを利用)
これだけでは面白くないので、カメラ位置を設定して、いろいろな場所へ移動できるようにしてみます。まずは、カメラ・オブジェクト(ICameraInfoGE)をIApplicationGEのGetCameraメソッドから取得します。このICameraInfoGEのいくつかのセッターを設定し、再度IApplicationGEオブジェクトにカメラをセットすることで場所の移動が可能となります。
また、目的地の場所から移動することができます。これにはGetFeatureByNameメソッドを利用し、IFeatureGEオブジェクトを取得し、存在すればSetFeatureViewで移動します。例えば以下のようにディズニーランドに飛んでみます!
実行しますと、ディズニーランドに飛びます。
Google Earth上の画面左の検索・場所・レイヤを操作することもできます。これにはSearchController(検索)やGetMyPlace(場所)等を用いて、操作できます。例えば検索の例は以下の通りです。
さらに「場所」にある”観光”名所をツアーすることもできます。これには、以下のようなコードにて実現できます。
最後に3DオブジェクトをGoogle Earth上に配置する方法を記載します。Google Earth上に配置されるオブジェクトはKML(Keyhole Markup Language)というフォーマット形式で記述された情報を元に作成されます。これにはGoogle SketchUpを利用し、作成することができます。またGoogle 3D Galleryからダウンロードすることもできます。 ここではそれらから作成されたファイルをCurlで開きます。コードは以下のようになります。(たった一行)
これを実行しますと以下のように3Dオブジェクト(車)が配置されます。
|
|||||||||
| 最終更新 ( 2008年6月16日(月曜日) 09:40 ) | |||||||||

