在纬度/经度边界内绘制地图

时间:2019-08-10 08:58:47

标签: r ggplot2 ggmap

Plot of map

我正在尝试使用ggmap绘制更广阔的印度洋地图。我选择了要构成地图拐角的各种纬度/经度。但是,当我尝试用R绘制地图时,它会生成所有大洲的地图,而不只是我想要绘制的区域。上面的地图是代码输出的内容,我在红色框中突出显示了要绘制的区域。

这是我尝试的代码:

bbox <- make_bbox(lon = data$Longitude, lat = data$Latitude, f=1)
map <- get_map(location = bbox, source = "google", maptype = "satellite")
plot <- ggmap(map)

数据:

structure(list(Latitude = c(18.682744, -27.706318, 17.65651, 
-21.006735), Longitude = c(46.252432, 43.179057, 100.89364, 104.064258
)), class = "data.frame", row.names = c(NA, -4L))

1 个答案:

答案 0 :(得分:2)

您的值f = 1,太大了,这会放大地图的大小。

data<-structure(list(Latitude = c(18.682744, -27.706318, 17.65651, 
                        -21.006735), Longitude = c(46.252432, 43.179057, 100.89364, 104.064258
                        )), class = "data.frame", row.names = c(NA, -4L))

bbox <- make_bbox(lon = data$Longitude, lat = data$Latitude, f=1)
bbox
 #left    bottom     right       top 
 #-17.70614 -74.09538 164.94946  65.07181  

如果您查看边界框,则从上到下将Fromm 65北移到-74 South。

如果您设置f = 0.05(默认值),则地图的大小更易于管理。

bbox <- make_bbox(lon = data$Longitude, lat = data$Latitude, f=0.05)
box

#    left    bottom     right       top 
#40.13480 -30.02577 107.10852  21.00220 

现在盒子的纬度从21北改变为-30南,更接近您的期望尺寸。