Rgooglemaps不会在地图上绘制数据

时间:2011-11-30 09:38:47

标签: r google-maps rgooglemaps

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

2 个答案:

答案 0 :(得分:0)

我只重新运行您的代码,而不是查看问题并收到错误消息:

  

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

答案 1 :(得分:0)

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