使用R在谷歌地图上的密度热图

时间:2013-04-08 04:21:48

标签: r google-maps

我有一个看起来像这样的数据集

  longitude   latitude    Magnitude
1 -77.08597 38.7347905  4.742112594
2 -77.08597 38.8081915  4.742112594
3 -77.08597 38.8815925  5.278542493
4 -77.08597 38.9549935 12.270006486
5 -77.08597 39.0283945  4.742112594
6 -77.08597 39.1017955  4.742112594

有没有办法获取这些坐标和幅度,并使用谷歌地图绘制密度图?

我尝试使用rasterspatstat软件包使用坐标创建地图并绘制强度。但是我没有找到任何解决方案来在Google地图上绘制它。

2 个答案:

答案 0 :(得分:1)

使用R.的ggmap pacakge

library(ggmap)
library(ggplot2)

map = get_map(location = c(-77.08597,38.7),source="google",maptype="roadmap",zoom=12)
ggmap(map)+geom_point(data = dat2,aes(x=longitude,y=latitude,size=Magnitude))

您可以缩放“幅度”矢量或增大缩放

答案 1 :(得分:0)

我的googleway包中有一个谷歌地图小工具,它使用谷歌地图API,包括他们的heatLayer

要使用他们的API,您还需要一个API密钥。

library(googleway)

## genreate some random data
set.seed(20160907)
df <- data.frame(longitude = runif(10000, min = -78, max = -74),
                                 latitude = runif(10000, min = 37, max = 40),
                                 Magnitude = rexp(10000, 1))

##key <- 'your_api_key'

google_map(data = df, key = key) %>%
    add_heatmap(weight = "Magnitude", option_radius = 0.1)

enter image description here