在 latitude/longitude 边界内绘制地图

Plot map within latitude/longitude boundaries

我正在尝试使用 ggmap 绘制更广泛的印度洋地图。我选择了各种 latitudes/longitudes,我想用它们来构成我的地图的角。但是,当我尝试使用 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))

您的值 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 North 到 -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 度,更接近您想要的尺寸。