如何在R中的GetMap(RgoogleMaps)上叠加一个lat-long网格?

时间:2015-11-23 07:14:11

标签: r gridlines rgooglemaps

我使用(RgoogleMaps)包检索了一个地图以绘制点 使用以下Rcode:

library(RgoogleMaps)
lat = c(-30.3022,-30.5000,-33.48569)
lon = c(153.1189,151.6500,145.5316)
center = c(mean(lat), mean(lon))
zoom <- min(MaxZoom(range(lat), range(lon)))
mymap <- GetMap(center=center, zoom=zoom, maptype= "terrain", destfile = "MyTile1.png")

我还使用以下方法在地图上成功绘制了我的3个点:

NewMap <- PlotOnStaticMap(mymap, lat = c(-30.3022,-30.5000,-32.24300),  
      lon = c(153.1189,151.6500,148.6019), destfile = "MyTile1.png", cex=1.5,pch=20, 
      col=c('red', 'purple', 'green'), add=FALSE)       

现在我需要覆盖Lat-long值的网格,甚至只需要一个网格 类型。有任何想法吗? 我做了一些相当广泛的研究,看来(RgoogleMaps) 没有一种简单的方法可以做到这一点。

谢谢, D.A.S。

1 个答案:

答案 0 :(得分:1)

您可以使用dismo :: gmap。它将谷歌地图作为RasterLayer返回,您可以使用它来覆盖Spatial *对象(sp包),例如SpatialPolygons或SpatialLines和Raster *对象(栅格对象),或只使用pointslines

library(dismo)
lat = c(-30.3022,-30.5000,-33.48569)
lon = c(153.1189,151.6500,145.5316)
xy <- cbind(lon, lat)

g <- gmap(xy, lonlat=TRUE, scale=2)
plot(g, interpolate=TRUE)
points(xy, col='red', pch=20)