越过antimeridian线...(在ggmap / ggplot2中)

时间:2019-06-08 22:11:18

标签: r dictionary ggplot2 plot coordinates

我正在尝试绘制某些植物物种在西北夏威夷群岛上的位置。我正在使用ggplot2和ggmap,但只允许在-180°和180°之间的纵向坐标。如何将地图从-180°标记扩展到-185°(即175°E)?

或者,可以将地图的中心从子午线(0°)转换到子午线(-180°/ 180°)吗?

我的代码:

baseArchipelago = get_map(location=c(-185,7,-154.5,29.3), zoom=6, maptype="terrain",)

mapArchipelago<-ggmap(baseArchipelago)

The result

1 个答案:

答案 0 :(得分:1)

这是一种解决方案:

baseArchipelago = get_map(location=c(-160, 19), zoom=4, maptype="terrain")
ggmap(baseArchipelago) + 
coord_fixed(xlim = c(-155, -185), ylim=c(30, 10), ratio=1/cos(pi*19/180))

在这里,我正在创建一个很大的底图,然后使用coord_fixed进行放大(越过antimeridian,同时保持夏威夷在视图中)。 ratio=1/cos(pi*19/180)需要lat坐标(19)。有关更多信息,请参见Pere对this question的回复。

hawaiiMap