太宰府に梅を見に行ったので記録を残す。

まずtwitterから位置情報をつけたtweetを抜き出す。

library("twitteR")
setup_twitter_oauth(options()$CONSUMER_KEY_AI, 
                    options()$CONSUMER_SECRET_AI,
                      options()$ACCESS_TOKEN_AI,
                      options()$ACCESS_SECRET_AI)
## [1] "Using direct authentication"
Tw <- userTimeline("dichika", n=100)
Gps <- do.call("rbind", lapply(Tw, 
                                     function(x)data.frame(
                                       text=x$text,
                                       time=x$created,
                                       lng=ifelse(length(x$longitude)>0, as.numeric(x$longitude), NA),
                                       lat=ifelse(length(x$latitude)>0, as.numeric(x$latitude), NA)
                                                                     ))
                     )
Gps <- subset(Gps, complete.cases(Gps))

popupにtweetを組み込み、リンクをを有効にする。

Gps$text <- as.character(Gps$text)
Gps$url <- gsub("(http://.+[[:alnum:]])", 
                      "<a href='\\1' target='_blank'>\\1</a>", 
                      Gps$text)
Gps$url <- sprintf("<html><body>%s<p>%s</body></html>", 
                           Gps$url,
                           as.character(Gps$time)
                           )

leafletパッケージで可視化する。 ほんとはpopup内に画像も表示したい。

library("leaflet")
leaflet() %>% 
  addPolylines(data=Gps,
             lat= ~lat, 
             lng= ~lng) %>%
  addCircles(data=Gps,
             lat= ~lat, 
             lng= ~lng,
             radius=5, 
             popup=Gps$url
             ) %>% 
  addTiles()