Home > ActionScript3.0 | Event > 東京てら子14 『Google API』~GoogleMap API for FlashとExifデータ~

東京てら子14 『Google API』~GoogleMap API for FlashとExifデータ~


東京てら子14 『Google API』に参加された皆様、お疲れ様でした。

ネタを何にしようか考えたんですが、その前の週に福岡に遊びに行く予定もあったので、かなりベタですが、福岡で撮影した写真をGoogleMap上にマッピングしようかな? と。

後日、一つ一つ撮影した場所の緯度・経度の値を調べて、それをGoogleMapに反映させるのは面倒だなぁと思ったので、Exifデータを使ったマッピングを今回試してみることにしました。

Exifとは?

Exchangeable image file format(エクスチェンジャブル・イメージ・ファイル・フォーマット)は、富士フイルムが開発し、当時の日本電子工業振興協会 (JEIDA)で規格化された画像メタデータのフォーマット。デジタルカメラの画像用に使われる。略称はExif(イグジフもしくはエグジフ)。

カメラの機種や撮影時の条件情報を画像に埋め込んでいて、ビューワやフォトレタッチソフト等で応用する事ができる。Exif2.2ではExif Printという規格を組み込んでおり、撮影時の条件情報を元に自動的に最適化を行って、的確な状態でプリント出力を可能にしている。(Wikipediaより引用)

このようにExifデータには、写真撮影時の各種情報(GPS情報など)が記録されています。

今回僕は、デジカメではなくiPhone3GSのGPS機能をONにして、iPhoneのデフォルトのカメラでいろいろ撮影してきました。

Exifデータを確認するには、Firefoxのアドオンなどいろいろありますが、画像ファイルを選択→右クリック→プロパティ→詳細からも見ることが出来ます。

Exifデータの確認

この中にGPSデータとして、緯度・経度・高度の情報も保存されています。

GPSデータを取り出す

次にExifデータからGPS情報を取り出すことになるのですが、AS3用にいくつかライブラリが公開されています。

今回はExifInfoを使用することにしました。

ExifInfoのサイトにはサンプルコードが掲載されているので、詳細なコードはそちらを見て頂くとして、必要な箇所のみ掲載します。

private function onComplete(e:Event):void 
{
	//今回はGPSデータのみ使用するので、他は未使用
	if (loader.exif.ifds.gps)
	displayIFD(loader.exif.ifds.gps);	
}

private function displayIFD(ifd:IFD):void {
	trace(" --- " + ifd.level + " --- ");
	trace("緯度 : " + ifd["GPSLatitude"]);
	trace("経度 : " + ifd["GPSLongitude"]);
}

こんな感じにしてあげると、緯度と経度が取得出来ます。

60進法から10進法へ変換

この際、気をつけることが出てきます。

先の手順で取得した緯度と経度の値は、60進法になっています。

緯度
33,35.38,0
経度
130,25.19,0

この表記は、33度35分30.8秒と130度25分19.0秒ということになります。

しかし、この値をGoogleMapに渡しても、GoogleMapではきちんと表示してくれません。

60進法を10進法に変換する必要が出てきます。

「60進法 10進法 変換」とかのキーワードでググれば、変換方法はいろいろ出てきますが、今回は大体の位置が合っていればいいかな? という感じなので、一番簡単な変換方法を用いました。

度 + (分 / 60) + (秒 / 60 / 60)

この公式を使って、先のExifInfoを使って取得した緯度と経度の値を10進法に変換し、GoogleMapで使用しています。

Map3D

今回、GoogleMapのMapクラスではなく、Map3Dクラスを使用してみました。

Map3Dクラスを使うだけで、いつもと違ったGoogleMap(3D表現)を簡単に楽しむことが出来ます。

福岡で撮影した写真を3Dマッピング

↑画像はクリックすると、拡大表示します

このようにExifデータを使ってあげると、「Yahooドームの緯度・経度は…」といった具合に調べなくても、簡単にマッピング出来るようになるのがいいですね。

Exifデータ、今回ちょっと調べて使ってみたんですが、他にもいろいろ面白そうなことが出来そうです!

Comments:0

Comment Form
Remember personal info

Trackbacks:1

Trackback URL for this entry
http://flabaka.com/blog/wp-trackback.php?p=3117
Listed below are links to weblogs that reference
東京てら子14 『Google API』~GoogleMap API for FlashとExifデータ~ from flabaka
pingback from teraco - 東京てら子Vol.14 『Google API』 11-03-31 (木) 0:16

[…] 東京てら子14 『Google API』~GoogleMap API for FlashとExifデータ~(@flabaka) […]

Home > ActionScript3.0 | Event > 東京てら子14 『Google API』~GoogleMap API for FlashとExifデータ~

Search
Feeds
Meta

flashDevelopスポンサー

Return to page top