3

我遇到了 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")
4

2 回答 2

0

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

于 2011-11-30T18:30:58.103 回答
0

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

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

于 2011-11-30T11:19:19.457 回答