leaflet在线地图之热力密度图

之前在练习leaflet的时候没有找到R语言leaflet中的热力密度图接口函数,一直感觉很遗憾。

最近在Stack Overflow上面发现了leaflet包的一个插件leaflet.esri包,结合leaflet可以在R语言中提供非常完美的热力密度图解决方案,顿时觉得发现了新大陆,立马分享给大家具体的实现思路。

library("leaflet")
library("leafletCN")
library("leaflet.extras")
library("xlsx")
mydata <- read.xlsx(
  "D:/Python/File/Cities2015.xlsx",
  sheetName="Sheet1",
  header=T,
  encoding='UTF-8',
  stringsAsFactors=FALSE,
  check.names=FALSE
  ) %>% 
na.omit()

1、默认状态下热力图效果:

leaflet(mydata) %>%
  addTiles() %>%
  addHeatmap(lng = ~lon, lat = ~lat, radius = 8)

2、通过addTiles加载高德地图:

leaflet(mydata) %>%
    addTiles(    'http://webrd02.is.autonavi.com/appmaptile?lang=zh_cn&size=1&scale=1&style=8&x={x}&y={y}&z={z}',
    options = tileOptions(tileSize=256,minZoom=4,maxZoom=17),
    attribution='&copy; <a href="http://ditu.amap.com/">高德地图</a>',
    ) %>%
  addHeatmap(lng = ~lon, lat = ~lat, radius = 8)

3、这里可以借用leafletCN::amap函数简化高德地图的调用,该函数封装了高德地图api的接口

leaflet(mydata) %>% leafletCN::amap() %>%
  addHeatmap(lng = ~lon, lat = ~lat, radius = 8)

4、当然腾讯地图的调用也是可以支持的:

leaflet(mydata) %>%
     addTiles(         'http://rt{s}.map.gtimg.com/realtimerender?z={z}&x={x}&y={y}&type=vector&style=0',
        options = tileOptions(tms=TRUE, tileSize=256, minZoom=4, maxZoom=17, subdomains="0123"),
        attribution = '&copy; <a href="http://map.qq.com/">腾讯地图</a>'
    ) %>%  setView(116.40,39.90, zoom = 4) %>%
     addHeatmap(lng = ~lon, lat = ~lat, radius = 8)

以上参数中tileSize控制默认显式地图窗口面积,minZoom代码缩放的最大级别(比例尺越大),同理maxZoom=17代表缩放的最小级别(比例尺越小)。

如果你还想了解leafelt更为丰富的用法和特性,请参考以下这些分享,期待大家可以将这些在线地图丰富的可视化特性结合shiny容器打造出更具业务价值的数据分析看板和仪表盘,也期待同样喜欢可视化的小伙伴儿可以一起线上线下交流。

动态地理信息可视化——leaflet在线地图简介

动态地理信息可视化——散点地图系列

动态地理信息可视化——leaflet构造路径图

动态地理信息可视化——leaflet填充地图

Leaflet在线地图进阶宝典——json素材操纵与图层面板控制

leaflet在线地图进阶宝典之——高级辅助特性

leaflet在线地图进阶宝典——高级交互特性

leaflet的小搭档leaflet.minicharts来了,从此动态地图又多了一些乐趣~~~

原文发布于微信公众号 - 数据小魔方(datamofang)

原文发表时间:2018-06-16

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏企鹅号快讯

程序猿必须知道的一些有用的网站

来自:开源中国 原文:https://github.com/sdmg15/Best-websites-a-programmer-should-visit 在学习...

25710
来自专栏CDA数据分析师

帮你提升 Python 的 27 种编程语言

27 种语言 过程型编程语言: C, Rust, Cython 面向对象数据建模语言: Java, C#, Eiffel C 的面向对象衍生语言: C++, D...

2278
来自专栏Golang语言社区

GO 开发者对 GO 初学者的建议

注:原文地址为 Advise from Go developers to Go programming newbies 以促进 India 的 go 编程作为 ...

3566
来自专栏企鹅号快讯

Python实现拼图游戏

最近,要说最火的编程语言莫过于Python了。除了占据各种网站编程语言的排行榜之外,最劲爆的消息就是教育部将Python语言纳入计算机等级考试,并且山东某学校已...

4819
来自专栏C语言及其他语言

学习C语言编译器的选择

来源:C语言网 很多初学C语言的同学可能遇到的首要问题,就是选择编译器,用什么编程软件? 然而通过了解之后发现有那么多编程软件,什么VC6.0,Dev ,Cod...

5366
来自专栏phodal

开源编程学习 APP Growth 发布 3.0,在碎片时间里练习

Growth 0.1~1.0~2.0 至今已经有 2101 次提交,而 Growth 3.0 则已经拥有了 900+ 提交。这意味着 Growth 整个项目有多...

2248
来自专栏何俊林

我是如何通过阿里面试的?

6222
来自专栏程序人生

如何提高代码质量?

好的程序员从来不靠格子衫或者颜值吃饭,就像你家 C 罗明明可以靠脸,却非要用不断精进的身体和技术迷倒你。

1200
来自专栏云飞学编程

金牌讲师讲解动态加载页面数据的爬取并保存!最后有爬虫彩蛋哦!

加入Python交流学习群:542110741,每天有腾讯课堂的直播课程,还有老师专业解答哦。适合想学习python,或者想转行做python爬虫(web开发)...

1611
来自专栏牛客网

滴滴android实习面经

2710

扫码关注云+社区