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

leafletで国土地理院タイルを使う

あんまりタイトルと関係ない話をすると、国土地理院のひとのGithub Universeでの発表スライドが公開されていました。

この発表の中で触れられているGithub Pagesの活用事例は、今から1年前くらいの話で、リアルタイムで見てたのでけっこう記憶に残っています。

それは何かというと、御嶽山噴火です。

御嶽山噴火

御嶽山が噴火して、地理院地図のサイトが過負荷で見えづらくなりました。

情報の価値は時と場合によって変わるけど、このとき御嶽山の地図は、ひとの生死に関わるほどの重大なものでした。 とはいえ、サーバのキャパシティ不足となれば、AWSみたいなのに乗っかってない限りすぐには増強できません。

でも、そのわずか3時間後にはGithub Pagesバージョンが公開されます。

3時間ですよ。すごくない? めっちゃ早くない?

まさか国の機関がこんなさくっとGithubを使うと思ってなくて、私はちょっと衝撃を受けました。

鶴見俊輔が「知性とは速度だ」みたいなことを言っていたと誰かが言っていて、詳細は引用すべき本を売ってしまったので省くけど、とにかく知性とは速度だと思います。 人を救ったり世の中を良くしたりするのには適切な速度が必要で、これはその速度を満たしていた事例でした。実際速い。

そんなわけで、私はこっそり国土地理院のファンです。という話でした。

leaflet

前回こんな記事を書いたけど、これはleaflet-providerで提供されているサードパーティー地図をaddProviderTiles()で使うやり方でした。

notchained.hatenablog.com

でも世の中には当然それ以上にいろいろなサードパーティー地図があって、そういうのは一般にaddTiles()でタイルテンプレートのURLを指定して使います。@u_uriboが教えてくれましたが、キャプテンアメリカがやってたやり方です。

library(leaflet)

atr <- "<a href='http://maps.gsi.go.jp/development/ichiran.html' target='_blank'>地理院タイル</a>"

leaflet() %>%
  addTiles("http://cyberjapandata.gsi.go.jp/xyz/std/{z}/{x}/{y}.png", attribution = atr) %>%
  setView(lng = 139.69, lat = 35.69, zoom = 8)

結果:RPubs - 国土地理院タイルをleafletで使う(Use GSI Tiles w/ leaflet package)

まあなんてことはない結果なんですけど。ズームの倍率にもよりますが、等高線がきれいです。

参考