【问题标题】:Rgooglemaps not plotting data over the mapRgooglemaps没有在地图上绘制数据
【发布时间】:2011-12-01 23:59:20
【问题描述】:

我遇到了 R 包 Rgooglemaps 的问题。我可以从谷歌地图或打开街道地图中检索地图,但 PlotOnStaticMap 函数不会与我想要绘制到地图上的数据重叠。相反,它会打开一个新的图形设备,在其中绘制数据。所以我最终得到:

  • 保存在我的工作目录中的图像,其中仅包含检索到的谷歌地图
  • 我的数据绘制在白色背景上的 R 图形设备窗口。

我在 Windows 上,使用 R 版本 2.13.1 和 RGUI。当我通过命令行运行代码时,也会出现此问题。我记得几个月前我使用了 Rgooglemaps,它对我来说工作正常。同时我升级了我的 R 版本,所以它可能是一个版本相关的问题。

有人可以试试看你是否有同样的问题(以及解决它的方法)吗?

这是重现问题的示例(取自http://www.r-bloggers.com/visualizing-gis-data-with-r-and-open-street-map/)。该示例使用 Open Street Map 而不是 googlemaps,但行为是相同的。 编码:
require(RgoogleMaps)
lat_c<-51.47393
lon_c<-7.22667
bb<-qbbox(lat = c(lat_c[1]+0.01, lat_c[1]-0.01), lon = c(lon_c[1]+0.03, lon_c[1]-0.03))
OSM.map<-GetMap.OSM(lonR=bb$lonR, latR=bb$latR, scale = 20000, destfile="bochum.png")
image(OSM.map)
lat<- c(51.47393, 51.479021)
lon<- c(7.22667, 7.222526)
val <- c(0, 255)
lat_adj<-function(lat, map){(map$BBOX$ll[1]-lat)/(map$BBOX$ll[1]-map$BBOX$ur[1])}
lon_adj<-function(lon, map){(map$BBOX$ll[2]-lon)/(map$BBOX$ll[2]-map$BBOX$ur[2])}
PlotOnStaticMap(OSM.map, lat = lat_adj(lat, OSM.map), lon = lon_adj(lon, OSM.map),       
col=rgb(255,0, val,90,maxColorValue=255),pch=16,cex=4)
dev.print(jpeg,"test.jpeg", width=1204, height=644, units="px")

【问题讨论】:

  • +1 为 Rgooglemaps!如果您随后发布最终结果的屏幕截图,我会很高兴!
  • @TomasT。我看到你也在用地图在 R 中做一些事情。您使用 rgooglemaps 没有问题吗?
  • 不,我还没有在地图上使用 R。我很高兴这个包存在 :)
  • 这将是非常酷的......如果它有效:-)

标签: r google-maps rgooglemaps


【解决方案1】:

我只是重新运行了您的代码,并没有调查问题并收到错误消息:

dev.print(jpeg,"test.jpeg", width=1204, height=644, units="px") 视窗 2 错误:REAL() 只能应用于“数字”,而不是“NULL”

【讨论】:

    【解决方案2】:

    我在 R2.14.0 上运行了上面的代码,一切似乎都正常。

    【讨论】:

    • 我刚刚尝试使用 R2.14 并且我遇到了同样的问题...“一切似乎都正常”是指您真的可以看到一个带有彩色点叠加在开放街道地图上的情节?或者只是运行代码没有出错?
    • 我看到了地图和地图上的 2 个彩色点,我更改了 cex 并重新运行,并且点更改了大小(只是想确保我认为的点不是地图的一部分)。
    猜你喜欢
    • 2012-03-16
    • 1970-01-01
    • 2021-08-19
    • 2016-02-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-09
    • 1970-01-01
    相关资源
    最近更新 更多