メイン | 2007年1月 »

2006年12月 アーカイブ

2006年12月 4日

LocationLinkプラグイン for MovableType

概要)
エントリー中に含まれる img srcタグで指定されたJPEGファイルのEXIF情報から位置情報を取り出し、
1: Google Mapとトラックバック地図へのリンクを作成
2: トラックバック地図へping送信(トラックバック)
を行うMTのプラグイン。

結果ページの例

対応するトラックバック地図:
・はてなマップ
・ブログ人マップ
・ライブドアマップ
・アルプスラボbase

続きを読む "LocationLinkプラグイン for MovableType" »

2006年12月 6日

他のMTプラグインやサービス

・「エントリー中に含まれる img srcタグで指定されたJPEGファイルのEXIF情報から位置情報を取り出し」、Google Map APIを使って、小さな地図をエントリの中で表示。そのなかのポイントをクリックすると写真のサムネイルが表示される機能をメインとして、そのオプションとして外部へのトラックバックがあるほうがいい

・よのなかコンテンツ重要なんで、外とのリンクより、中のエントリの充実のほうが喜ばれる
(抜粋)

というフィードバックがあったのでそれにお答えする形でエントリー。

世の中にはすでにプラグインやAPI利用で地図を埋め込むものがあるのでそちらを利用することで出来るのではないかと思います。

locations.plプラグインとその応用がほぼ回答になるのかと。

jm@foo: Movable Type用 位置プラグイン

Google Maps APIのこれを参考に、(中略)というhtmlを作ると、地図上に最近100件のエントリーの位置がマップされる。

ただしこのプラグインは「同じサーバに置かれている画像ファイルのみ」対象となっています。
フィードバックにある「中のエントリの充実」が主眼であればこちらが有用かと思います。

一方私がプラグインを作った動機は以下にあります。

  • モブログ先がまちまち。Voxだったり、Flickrだったり。それをMTでリンクした場合でも画像のEXIF情報から位置情報を得たい
  • 地図のインライン表示に興味がなかった。インライン表示したい場合ALPSLAB clip!を使えばいいかなあと。
  • ALPSLAB myBaseを使うと小さな地図を表示して自分のブログ記事を一覧することができます。画像のサムネールはでませんけど。
  • トラックバック地図が余り盛り上がっているように見えなかったので、バンバンpingを飛ばしたかった。そして地図のリンクからトラフィックを誘導してPVウハウハ計画(w

まあですから極端な話、地図へのリンク表示はpingが正常に飛んでいるかどうかの確認用みたいなもので、pingがトラックバック地図4箇所に飛んでいればOKだったりします。

それにしてもALPSLABさんのサービスは凄いですね。さすがは地図の専門家だと思います。

測地系と緯度経度の表現方法

位置情報はまあ簡単にいうと緯度経度から現在位置を特定する手法ですね。3次元測位なので本当は高度が必要なのですが多くの場合地表にいるという前提があるのでEXIF情報に高度情報はないです。

さて地図には「測地系」と呼ばれる用語があります。緯度経度で表現する基準となるものです。

[の] のまのしわざ: 携帯W43SのGPS情報でGoogle Mapする

要約すると「世界測地系(wgs84)」と「日本測地系(Tokyo)」の2種類があるといっていいでしょう。Google Mapsは当然「世界測地系」で、日本国内の地図業者は過去の経緯から「日本測地系」を使っています。

緯度経度の表現方法は測地系が異なっていても同じです。


[度°分' 秒" (Degrees Minutes Seconds: DMS) ] 度はdegree(360度)、分は60分、秒は60秒で繰り上がる。秒は小数点で表現
例)35°40'19.31" 139°43'55.52"

または

[度(10進表記) (decimal degree:DD)] 度以下を小数点で表現 例)35.672031, 139.732089

この変換は以下の式で可能です。

[の] のまのしわざ: 携帯W43SのGPS情報でGoogle Mapする(2)


[10進表記の小数点以下] = [分] / 60 + [秒] / 3600

オンライン地図の「測地系」と「緯度経度の表記」まとめ

オンライン地図の「測地系」と「緯度経度の表記」についてまとめてみます。

位置サンプル) [の] I LOVE 位置情報 (テストブログ): ドトール

サービス名表記リンクURL測地系
Google Maps度(10進表記)http://maps.google.co.jp/maps?
q=35.6763805555556,139.733980555556&z=16
wgs84
ブログ人マップ度(10進表記)http://blog.ocn.ne.jp/blogzinemap/?
x=139.73399162&y=35.67639952&z=14&t=s
wgs84
はてなマップ度(10進表記)http://map.hatena.ne.jp/?
x=139.733980555556&y=35.6763805555556&z=1&type=map
wgs84
ライブドア度分秒http://map.livedoor.com/map/?
ZM=10&MAP=E139.44.13.911N35.40.23.315
Tokyo
アルプスbase度分秒http://base.alpslab.jp/?
s=25000;p=35/40/23.315,139/44/13.911
Tokyo

世界測地系のGoogle Mapsを利用しているところは度(10進表記)なので特に問題はないですが、日本測地系のライブドア、アルプスは度分秒を利用している上区切り文字がドットかスラッシュと違います。ドットの方は秒のドットと意味合いが異なるのでちょっと混乱しやすいですね。

オンライン地図のトラックバックURLまとめ

トラックバック地図のトラックバックURLについてまとめます。

位置サンプル) [の] I LOVE 位置情報 (テストブログ): ドトール

サービス名表記リンクURL測地系
ブログ人マップ度(10進表記)http://blog.ocn.ne.jp/blogzinemap/?
x=139.73399162&y=35.67639952
wgs84
はてなマップ度(10進表記)http://map.hatena.ne.jp/?
x=139.733980555556&y=35.6763805555556
wgs84
ライブドア度分秒http://map.livedoor.com/map/tb/
E139.44.13.9N35.40.23.3
Tokyo
アルプスbasemsechttp://base.alpslab.jp/bin/tb/
128423315/503053910
Tokyo

ブログ人マップ、はてなマップはリンクURLとトラックバックURLが同じです。表示用オプションが異なりますが、GETとPOSTメソッドで動作を変えているようですね。手軽で嬉しいです。

ALPSLAB baseは今度はmsec表記となりますので注意が必要です。度分秒からmsecへの計算方法は以下で可能です。

msec = (度+分/60+秒/60) * 3600 * 1000

ライブドア表記からのサブルーチンは以下です。


sub to_msec{
my $ret = 0;
my $val = shift;
$val =~ /^(\d*)\.(\d*)\.(\d*\.\d*)$/;
$ret = ($1 + $2/60.0 + $3/3600.0) * 3600000.0;

$ret;
}

2006年12月 7日

位置情報とEXIF情報について

デジカメで撮影した画像ファイルにEXIF情報が埋め込まれていることは周知のことかと思います。

EXIF情報とは

Exchangeable image file format - Wikipedia

Exif(エグジフ、Exchangeable image file format)は、富士フイルムが開発し、JEIDA(日本電子工業振興協会)で規格された画像メタデータのフォーマット。デジタルカメラの画像用に使われる。

ということで、メタデータとして画像自体以外のデータを含めることが可能です。撮影情報のひとつとして位置情報を含めることが出来ます。

もっとも簡単なのはGPS携帯で撮影後、GPSで位置を特定し画像に保存する方法でしょう。FlickrではEXIF情報はこのように見えます。

Flickr: More detail about crv
gpsinfo.jpg (JPEG 画像, 280x121 px)

EXIF情報の表示に対応するアプリケーション、例えばirfanview+pluginではこのように表示できます。

[位置情報つき画像]
v36skyline.jpg

[EXIF情報]
v36info.jpg

さて位置情報を画像でもつ必要性はどれくらいあるのでしょうか?位置は撮影時刻と同じくらい有用かつ重要な情報であると考えます。時間軸をtと考えた場合、位置情報によりx, y軸の情報を得ることができ、3次元として画像データをプロットすることが可能です。単体に意味がなくとも、データが集積されたときに初めて価値を生み出す可能性があります。

今はGPS携帯で画像データに位置情報を埋め込むのは手動で行う必要があって面倒な作業ではあります。

SONY GPSユニット GPS-CS1K
B000HDR6UW


別売りのユニットとしてはこのようなものがあります。専用アプリで後から時間を元に情報を埋め込むことができるという仕組みです。しかしやっぱり面倒でしょうし、もって歩くこと自体が煩わしいです。

Sony Cyber-shot | GPS-CS1K[GPSユニットキット]

これはデジカメメーカーに是非GPSチップを採用してもらい、自動で埋め込んで欲しいものです。一眼レフなら大きさ的にも価格的にも可能だと思うのですがいかがでしょうか。

[位置情報付画像の地図へのリンク]

  1. [Google][Blogzine][HATENA][Livedoor][Alps] Maps

2006年12月 9日

GPS携帯での位置情報修正で測地系が変わる

auの携帯、ソニーエリクソンW43S利用を例にしてお話します。もしかしたら他の携帯では動作が異なるかもしれませんが、おそらく違わないかと。

[の] のまのしわざ: トラックバック地図に自動pingするLocationLinkプラグイン

通常通りフォトモードでカメラを起動し、写真撮影します。
フォト撮影

(2)GPSで位置情報を得る

保存する前にメニューを開き、GPS情報を取得します
GPS情報の取得現在地を取得

現在地を取得中

メニューから地図を開いて位置を手動で修正することも可能です。
取得完了

GPSから直接得られた情報を付加した場合の測地系は世界測地系(wgs84)となります。

しかし地図を開いて位置を手動で修正した場合は測地系が日本測地系(Tokyo)になります。

これは修正に利用する地図の測地系がTokyoになっているためだと思われますが、ちょっとトリッキーなポイントですね。ezweb地図へのリンクはきちんと引数 datum=0/1で判別されているので表示は問題ないです。

http://walk.eznavi.jp/map/?datum=0&unit=0&lat=%2b35.37.21.07&lon=%2b139.43.07.14&fm=0
http://walk.eznavi.jp/map/?datum=1&unit=0&lat=%2b35.40.23.62&lon=%2b139.44.10.05&fm=0

建物の中や街中などではほとんど衛星がとれません。そのため随分と誤差が出てしまうのですがこれを修正するのが時間的に出来ないことがあります。それでもだいたいの位置が分かっているのでないよりもあったほうがいいです。

そうなると携帯以外で修正する手段が欲しいのですが、それについてはまた機会があれば。

2006年12月12日

便利なプラグイン ALPSLAB clip! mt-alps.pl

世の中にはすでに便利なMT用プラグインがあるので、その紹介をしていきます。

ALPSLABが提供している ALPSLAB clip! (mt-alps.pl)はエントリー中に住所を [map:住所] という形で記述すると、その場所に地図をインライン表示することができます。

例)
[map:東京都千代田区千代田1-1]

[map:東京都千代田区千代田1-1]


住所以外にも緯度経度を指定することも可能です。
これを使うと予め住所や緯度経度が分かっている場所の地図を表示するのが非常に簡単、お手軽です。例えばレストランやショップなど、住所が分かっている場所を示すのに便利でしょう。

またトラックバック地図であるALPSLAB baseにトラックバック送信を送ることが可能です。これを行うとALPSLAB base上にエントリーがマップされ、クリックするとエントリーへジャンプします。

使い方、インストール方法については下記を参照して下さい。Six Apartのページが懇切丁寧です。
Six Apart - Movable Type プラグインディレクトリ
ALPSLAB clip!

2006年12月15日

便利なブログパーツ(ウィジェット) ALPSLAB myBase

前回に引き続きALPSLABさんの便利ツールの紹介です。

ALPSLAB myBaseとはサイドバーに地図を表示するブログパーツ(ウィジェット)で、エントリーからトラックバックを送っておくと地図上にエントリーがマップされているという優れものです。逆にいうとトラックバックを打たないと意味がないので、先に紹介したALPSLAB Clip!などを使って送るようにしましょう。もちろん LocationLinkプラグインでもトラックバックを送ることができます。

貼り付けた例:テストブログ
alpsmybase.jpg

このブログの右上に地図があり、バルーンをクリックすると該当するエントリーにジャンプします。

ALPSLAB myBase

ALPSLAB myBaseに [「!」アイコン] として表示されるエントリー(ブログ記事)は、ALPSLAB baseにトラックバックされたエントリーだけです。すべてのエントリーが自動的にALPSLAB myBaseで表示されるわけではありません。

詳しい説明は以下を参照してください。
ALPSLAB myBase

TypePadをご利用の方は簡単にウィジェットが登録できるようになっていますね。しかし簡単にトラックバックを打てないことにはなかなか活用しにくいような気がします。

2006年12月16日

GoogleとYahooのツインスクロール地図

Yahoo!地図Webサービスが新しく公開されたようですが、GoogleMapsAPIとの比較も兼ねてツインスクロール地図を作ったとのこと。

Yahoo!地図情報WebサービスとGoogleMapsAPIを比べてみる|blog|たたみラボ

昨日公開された、Yahoo!地図情報Webサービスですが、まずは、Googleと地図がどのくらい違うのかを見ることができるサンプルを作りました。

単純に面白いですねぇ。エヴァンゲリオンのエピソードを思い出しました。

MITが友人の現在位置を表示するiFINDをリリース

それ自体はありがちな機能なんですけど、WiFiを利用して位置を特定する点や、コミュニケーションを主眼においているようなところが特徴のようです。

MIT、位置情報プログラムのベータ版をリリース--学内にいる友人を確認可能 - CNET Japan

iFINDと呼ばれるこのソフトウェアは、一見したところよくあるインスタントメッセージング(IM)プログラムのように見える。しかし、このiFINDの友達リストは、友達がMITキャンパス内のどこにいるかをリアルタイムで地図に表示する機能を備えている。この地図には、Wi-Fiを介してMITのネットワークにログオンしている人の位置がプロット表示され、さらにユーザーは友達ごとに異なる小さなアバターを作成できる。MITの目の前に流れるチャールズ川の土手で誰がくつろいでいるのか、また、図書館の自分の1階上には誰がいるのかが一目で分かる。

WiFiを使って位置を特定するプロジェクトはソニーCSLでもあります。

PlaceEngine

WiFiのいいところはネットワーク接続がされているのでonlineであり続けられる点です。一方で消費電力の問題でガジェットへの組み込みが厳しいところでしょうか。GPS+携帯(通信)とどちらが先に普及するか気になります。

2006年12月17日

便利なプラグイン locations.pl

今日紹介するのは啓発されたlocations.plプラグインです。このプラグインは、

jm@foo: Movable Type用 位置プラグイン

対応する位置情報: ・エントリー本文にimgタグとして記述され、同じサーバに置かれている画像のExif GPSタグ ・エントリー本文に含まれる地図サービスのURL ( walk.eznavi.jp / www.gpspowered.jp / mapfan.com / www.mapion.co.jp )

というように、エントリー中にある画像のExif情報またはオンライン地図へのリンクURLから位置情報を取り出してタグ MTLocationにするというものです。

例えばすでにモブログで位置情報を付加してエントリー作成した場合などはこのプラグインを利用するとGoogle Mapsへのリンクを自動作成して付加することが可能です。

ただ制限として


  • 画像ファイルは自分のサーバーにアップロードされたもののみ対応

  • 測地系の指定 datumはテンプレートに記述するため測地系が混じった場合に困る


といったものがあります。

2006年12月23日

PSP用ポータブルナビ MAPLUS (マプラス) ファーストインプレッション

予約していたPSP用GPSレシーバー一体型アプリケーション MAPLUSがクリスマスプレゼントのようにやってきました。

MAPLUSポータブルナビ(GPSレシーバー同梱版)
MAPLUSポータブルナビ(GPSレシーバー同梱版)

早速起動してみたものの・・・

続きを読む "PSP用ポータブルナビ MAPLUS (マプラス) ファーストインプレッション" »

2006年12月25日

MAPLUSの測地系

予想どおりなのですが、Tokyoです。

MAPLUS あしあとデータフォーマット

MAPLUSでは「あしあと記録」が可能です。あしあととはログ出力ということで、位置情報をメモリースティックにファイルとして書き出します。

ファイルは以下のようなフォルダ構成で出力されます。
mapluslog.jpg
PSP->SAVEDATA->ULJS00091GPSLOGYYMMDDhhmmss
YYMMDDhhmmssは年月日時分秒を表します。 このフォルダの下にあるGPSLOG.DATがログファイルです。

ログ出力は1秒毎、フォーマットはNMEA-0183フォーマットに準拠しているようです。さらに測地系の表記のためGARMIN社の独自記述である$PGRMMをサポートしているようです。

以下、ファイルの中身の例。

続きを読む "MAPLUS あしあとデータフォーマット" »

MAPLUSを電車と徒歩で使ってみる

PSP用MAPLUSを電車と徒歩で使ってみました。

まずは普段利用している京王線。条件は平日の昼、1時、車内は空いていてドア際の席(北側)に座って膝の上にPSPを置き測位。

DSCF0582.JPG

このようにきちんと衛星がとれました。これで分かったのはどうやら水平線方向が開いている、窓やドアが近いと電波を受信しやすいということです。上の写真では谷間になっている仙川から地下にもぐる笹塚過ぎまでほとんど位置を把握できていました。

続きを読む "MAPLUSを電車と徒歩で使ってみる" »

2006年12月28日

PSP用MAPLUSあしあとデータをGoogle Earthで見る方法

MAPLUSのあしあとデータが一般的なNMEAフォーマットだったということは前回分かりましたが、これを利用してGoogle EarthのKMLフォーマットに変換すれば Google Earthで見ることが可能です。

手順を簡単にまとめると以下となります。


  1. GPSデータをまとめる

    MAPLUSのあしあとデータはどうやら300KB単位でファイルを書き出すらしく、12分を超えるログの場合は別フォルダ・別ファイルに分割されます。まとめ方は単純でUnixでいえば catコマンドと >>を使ってアペンドすればOKです。

    [tnoma@kodomono gps]$ ls
    ULJS00091GPSLOG061228153110 ULJS00091GPSLOG061228160049 ULJS00091GPSLOG061228163147
    ULJS00091GPSLOG061228153443 ULJS00091GPSLOG061228161303
    ULJS00091GPSLOG061228154759 ULJS00091GPSLOG061228162551
    [tnoma@kodomono gps]$ cat */GPSLOG.DAT >> ./gpslogall.dat



  2. 測地系の変換

    この後使うツール、GPSBabelがTokyo測地系に対応していないので、予め変換します。
    ここではGPSLogCvというツールを利用します。

    C:\win_data2006\gps\GPSLogCv039>gpslogcv.exe -INME -TNME -DW -oR \\Kodomono\public\gps\gpslogall.dat
    gpslogcv - GPS Log File converter V0.39 07-Jul-2005
    Program by imaizumi@nisiq.net
    MapServerScript by masaaki@attglobal.net

    gpslogall.dat(NMEA)->gpslogall.nme(NMEA)
    3386 record(s) Complete.
    ---
  3. GPSBabelを利用してフォーマット変換
    非常に多機能なツール、GPSBabelを利用してGoogle EarthのKMLフォーマットへ変換します。

    GPSBabel: convert, upload, download data from GPS and Map programs

    変換はWindowsのGUIツールを使うと非常に簡単に出来ます。
    まずはzip形式のもの(gpsbabel-1.3.2.zip)をダウンロードして、適当なフォルダに展開します。

    GPSBabelGUI.exeを起動して、以下のようにフォーマットとファイルを指定します。

    gpsbabelscreen.jpg

    入力フォーマット NMEA 0183 sentences
    出力フォーマット Google Earth (keyhole) Markup Language

    この例では all.kmlというファイルに出力されました。

    all.kmlをダウンロード

    このファイルをダブルクリックすると自動的にGoogle Earthが起動してログをビジュアルに見ることが出来ます。

googleearth-takaosan.jpg

参考にしたページ:

ありがとうございました。

About 2006年12月

2006年12月にブログ「[の] I LOVE 位置情報」に投稿されたすべてのエントリーです。過去のものから新しいものへ順番に並んでいます。

次のアーカイブは2007年1月です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。