千家信息网

R语言 leaflet怎么实现热力密度图

发表于:2024-10-18 作者:千家信息网编辑
千家信息网最后更新 2024年10月18日,本文小编为大家详细介绍"R语言 leaflet怎么实现热力密度图",内容详细,步骤清晰,细节处理妥当,希望这篇"R语言 leaflet怎么实现热力密度图"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢
千家信息网最后更新 2024年10月18日R语言 leaflet怎么实现热力密度图

本文小编为大家详细介绍"R语言 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='© 高德地图',    ) %>%  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 = '© 腾讯地图'    ) %>%  setView(116.40,39.90, zoom = 4) %>%     addHeatmap(lng = ~lon, lat = ~lat, radius = 8)

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

读到这里,这篇"R语言 leaflet怎么实现热力密度图"文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注行业资讯频道。

0