読者です 読者をやめる 読者になる 読者になる

まだ厨二病

RとPyhtonを使ったデータ分析・統計解析らへんの話題をしていくだけ

leafletで描画した地図を画像ファイルとして保存する

お手軽に地図データを表示するために{leaflet}を頻繁に利用しているが、出力した地図を画像に保存するにはOSのスクリーンショット機能やアプリケーションを使う必要があって面倒だった。

調べてみると{mapview}パッケージに{leaflet}レンダリング結果を保存できる関数があるそうなのでメモ。

以下のコードでleaflet()の実行結果を画像(あるいはHTML)として保存できる。

library(magrittr)
library(leaflet)
library(mapview)
m <- leaflet() %>% addTiles() %>% addProviderTiles("Stamen.Watercolor") %>% 
    setView(lng = 135, lat = 38, zoom = 3)
mapview::mapshot(m, file = paste0(getwd(), 
    "/map.png"))

当然ながら動かした状態を保存することはできないので、描画される領域はsetView()やらfitBounds()で調整し、ラベルやポップアップの表示が必要であればあらかじめ表示するようにしておく。

f:id:u_ribo:20170328202001p:plain

Enjoy!

広告を非表示にする