iPhoneの位置情報をRで可視化する(ただしMacOSXのみ)

iPhoneが位置情報をこっそり記録してましたーって騒ぎが最近ありましたが、その際その位置情報を可視化するコードも同時に公開されていた。
http://petewarden.github.com/iPhoneTracker/

ただ見るだけだったら先のコードで十分なのだがRを使っている人間としてはそのデータをRで使えるようにしておきたい。
で、早速対応してくれている人がいた。
http://www.drewconway.com/zia/?p=2721

stalkRパッケージは下記からダウンロードできる。
https://github.com/drewconway/stalkR

実際にRで可視化する際、ggplot2を使っているようなのだが、これは日本の地図には対応していない。
ということで地図の可視化の部分だけはRgooglemapsを使った。

R2.13かつMac OSXという縛りではあるが下記のコードでデータを抽出して、地図上で可視化までできるのでお試しあれ。

※なお、get.mylocations関数に渡す引数は以下の通り

  • ユーザーの名前:ユーザーアカウント(英語表記:/users/の後に続く名前)
  • iPhoneの名前:iPhoneiTunesに接続したときに表示される名前
install.packages("RSQLite")
install.packages("XML")
install.packages("ggplot2")
install.packages(c("maps","mapproj"))
install.packages("RgoogleMaps")
install.packages("/Users/dichika/Downloads/drewconway-stalkR-097676bstalkR_0.02.tar.gz", repos=NULL, type="source")

library(stalkR)
library(RgoogleMaps)

iphone.locs<-get.mylocations(ユーザーの名前, iPhoneの名前)#データ抽出
data <- tail(iphone.locs, n=50)#過去50件のデータのみ取得

mymarkers <- ""
	for(i in 1:nrow(data)){
		loc <- paste(data[i,"Latitude"],data[i,"Longitude"], sep=",")
		m1 <- paste(loc, sep="|")
		mymarkers <- paste(mymarkers, m1, sep="&markers=")
		}
MyMap <- GetMap(markers = mymarkers, destfile = "MyTile1.png")

ていうかこれ個人情報大公開だな。ま、いいや。

[:large]