2011-11-30 62 views
3

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

  • 保存在我的其中只包含检索谷歌地图
  • 我的数据A 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") 
+0

+1为Rgooglemaps!如果您发布最终结果的截图,我会很高兴! – TMS

+0

@TomasT。我发现你也在用地图做R中的东西。你使用rgooglemaps没有问题吗? – user1073012

+0

nope,我没有使用R与地图呢..我只是很高兴,这个包存在:) – TMS

回答

0

我只重新运行你的代码,并没有研究的问题和得到的错误信息:

dev.print(jpeg,"test.jpeg", width=1204, height=644, units="px") windows 2 Error: REAL() can only be applied to a 'numeric', not a 'NULL'

0

我跑R2.14.0上面的代码和一切似乎工作。

+0

我刚刚尝试与R2.14,我有同样的问题......“一切似乎都奏效”,你的意思是你可以真正看到一幅在开放的街道地图上叠加彩色小圆点的情节?或者只是你没有运行代码时出现错误? – user1073012

+0

我在地图上看到了地图和2个彩色点,我改变了cex和reran,点数改变了大小(只是想确保我认为这些点不是地图的一部分)。 –