【问题标题】:Using ggmap map of the world使用ggmap世界地图
【发布时间】:2013-05-23 11:59:47
【问题描述】:

我正在尝试使用ggmap 包/get_map 功能(参见下面的代码)与ggplot2 结合使用来获取整个世界的简单栅格地图。缩放级别仅趋向“3”,不允许进一步缩小

似乎不可能获得世界地图(如ggmap 描述中所述:("maps of the whole world currently not supported")。也许由于缺乏理解为什么这是不可能/支持的,是否有解决方法/替代方法拥有世界地图视图的解决方案?

编辑/更新问题:我尝试按照建议使用世界地图 - 但由于某种原因,我不明白为什么它不允许我在图中绘制点(这是最初的目标,并且确实在ggmap) 工作-觉得我在做一些愚蠢的事情/犯了基本的错误。我收到错误消息"Error in eval(expr, envir, enclos) : object 'group' not found"

编辑 - 不幸的是,我在使用 OpenStreetMap 时收到一条错误消息(java 错误。正在修复这个问题 - 但非 OpenStreetMap 解决方案会很棒......)

总结 - ggmap 方法适用于 geom_point,但我无法获得完整的世界地图。 worldmap 方法应该可以工作,但由于某种原因无法获得积分.....

新代码如下:

ggmap 方法:

library(ggmap)
library(ggplot2)

reclat=c(50,20,30,40)
reclong=c(30,40,30,50)         
points=as.data.frame(cbind(reclat,reclong))

al1 = get_map(location = 'Europe', zoom = 3, color="bw",maptype = "satellite")
map = ggmap(al1)
map 

#this works
map+geom_point(data=points, aes(x=reclong, y=reclat, colour="red"))

worldmap 方法:

world <- map_data("world")
worldmap <- ggplot(world, aes(x=long, y=lat, group=group)) +
  geom_path() +
  scale_y_continuous(breaks=(-2:2) * 30) +
  scale_x_continuous(breaks=(-4:4) * 45)

#this works
worldmap + geom_point(aes(50, 30, colour="red"))

#this doesnt work
worldmap + geom_point(data=points, aes(x=reclong, y=reclat, colour="red"))

【问题讨论】:

标签: r ggplot2 ggmap


【解决方案1】:

您可以尝试使用 OpenStreetMap 包,它可以访问许多不同的地图服务器,但不能访问 GoogleMaps。

library(OpenStreetMap)
library(ggplot2)
map <- openmap(c(70,-179),
               c(-70,179),zoom=1)
map <- openproj(map)


reclat <- c(50,20,30,40)
reclong <- c(30,40,30,50)         
autoplot(map) + geom_point(aes(x=reclong,y=reclat))

【讨论】:

  • ggmap 也实现了 OpenStreetMap 功能,那为什么不能单独在 ggmap 中完成呢?另外,使用您的示例代码,地图的分辨率很差,我认为有办法改进吗?
  • 您可以放大缩放以获得更高的分辨率。该包将把相关的瓷砖缝合在一起。但这里还有两个额外的问题。首先是文本被设计为在墨卡托坐标中查看,而不是长纬度。这就是为什么 OpenStreetMap 默认不转换为 long-lat 的原因。第二种是 ggplot2(即网格)渲染栅格的方式。由于某种原因,它似乎不如基础好。查看 plot(map) 和 autoplot(map) 之间的区别。
猜你喜欢
  • 1970-01-01
  • 2021-04-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-07
  • 2013-03-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多