R 获取具有指定边界坐标的地图

R 获取具有指定边界坐标的地图,r,google-maps,ggplot2,ggmap,rgooglemaps,R,Google Maps,Ggplot2,Ggmap,Rgooglemaps,我想从R得到一个带有RgoogleMaps的地图,带有一个特定的坐标边界 我可以调用的是GetMap,并指定一个中心,我必须添加一个缩放级别。一切正常,只是我没有得到一个以我选择的坐标为边界的图像贴图 下面是一个例子: lat <- c(44.49,44.5) lon <- c(11.33,11.36) center = c(mean(lat), mean(lon)) zoom <- 14

我想从R得到一个带有RgoogleMaps的地图,带有一个特定的坐标边界

我可以调用的是GetMap,并指定一个中心,我必须添加一个缩放级别。一切正常,只是我没有得到一个以我选择的坐标为边界的图像贴图

下面是一个例子:

lat <- c(44.49,44.5)                
lon <- c(11.33,11.36)               
center = c(mean(lat), mean(lon))    
zoom <- 14                          
mmap <- GetMap(center = center, zoom=zoom, maptype= "satellite", destfile = "m.png") 

lat这里有一种方法。首先,你得到一张有一定缩放的地图。然后,在绘制图形时添加lon和lat限制,可以使用
scale\u x\u continuous
scale\u y\u continuous
进行此操作

library(ggmap)
library(ggplot2)

### Set a range
lat <- c(44.49, 44.5)                
lon <- c(11.33, 11.36)   

### Get a map
map <- get_map(location = c(lon = mean(lon), lat = mean(lat)), zoom = 14,
               maptype = "satellite", source = "google")

### When you draw a figure, you limit lon and lat.      
foo <- ggmap(map)+
       scale_x_continuous(limits = c(11.33, 11.36), expand = c(0, 0)) +
       scale_y_continuous(limits = c(44.49, 44.5), expand = c(0, 0))

foo
库(ggmap)
图书馆(GG2)
###设定范围

lat另一个选项是使用OpenStreetMap作为地图源。使用
ggmap
包中的
get_map
功能,您可以在使用OpenStreetMap作为源时指定地图的边界。与:

mmap <- get_map(location = c(11.33,44.49,11.36,44.50), source = "osm")
ggmap(mmap)

mmap实际交互式谷歌地图的另一种方式是使用我的
googleway
软件包

library(googleway)

lat <- c(44.49,44.5)                
lon <- c(11.33,11.36)  
zoom <- 14   

mapKey <- 'your_api_key'

google_map(location = c(mean(lat), mean(lon)), zoom = zoom, key = mapKey)
library(googleway)

lat我希望我早一点看到这个问题。 RgoogleMaps包提供了两种检索地图的方法:GetMap(居中,缩放)和GetMap.bbox(lonR,latR),它只是将边界框作为参数。将自动计算缩放级别。我认为后一种功能可能是您所需要的。
Markus

此过程以低缩放级别(14)获取图像,然后裁剪图像,从而生成低分辨率图像。更好的方法是将范围对象直接更改为google质心和缩放级别。