先日開催されたFOSS4G北海道2017において後援企業の一つになっていたMIERUNEさんは、独自デザインのおしゃれな地図タイルを販売しています。その中のMIERUNE Color、MIERUNE MONOは無料で利用可能とのことなので早速leafletで使ってみましょう、というはなしです。どうせなら格好いいタイルで表示したいですしね。

library(leaflet)

copyrights <- "Maptiles by <a href='http://mierune.co.jp/' target='_blank'>MIERUNE</a>, under CC BY"

leaflet() %>%
  addTiles(urlTemplate = "https://tile.mierune.co.jp/mierune/{z}/{x}/{y}.png",
           attribution = copyrights,
           group = "MIERUNE Color") %>%
  addTiles("https://tile.mierune.co.jp/mierune_mono/{z}/{x}/{y}.png",
           attribution = copyrights,
           group = "MIERUNE MONO") %>% 
  addLayersControl(
    baseGroups = c("MIERUNE Color", "MIERUNE MONO"),
    options = layersControlOptions(collapsed = FALSE)
  ) %>% 
  setView(lng = 141.350, lat = 43.06, zoom = 14)

右上のボタンでタイルを切り替えられます。

味噌となるのがaddTiles()関数です。この関数はleafletオブジェクトを描画する際に用いられるタイルの種類を選択する(初期値ではOpenStreetMapのタイル)ものです。選択可能なタイルとして、providersで出力される110種類のタイルがあります。addTiles()関数内でproviders$OpenStreetMapあるいは“OpenStreetMap”のように指定したタイルが表示されます。またここで、引数urlTemplateにzxy形式で配信されるカスタムタイルを指定することができます。今回はこれを利用してMIERUNEタイルを表示させました。

MIERUNEタイル、格好いいですねー。都市部だと最高にクールです。

ちなみに国土地理院タイルを使った方法をを@yutannihilaitonさんがやっています。基本的なことは一緒です。

Enjoy!