将lat lon点添加到marmap图中

时间:2017-06-09 13:15:29

标签: r ggplot2 maps

我想绘制一系列密封轨道的lat-lon点,每个点根据属性着色,显示在测绘水深(100米轮廓)和海岸线的地图上。我学会了如何使用marmap和ggplot2创建一个用于显示测深+海岸线的地图。代码在这里:

dat <- getNOAA.bathy(-58,-62.5,43,46.0,res=0, keep=TRUE)
plot(dat,image=TRUE,bpal = list(c(min(dat), 0, "darkblue", "blue","lightblue"), c(0, max(dat), "gray90","gray10")),drawlabels=TRUE,deep=c(-500,200,0),shallow=c(-500,100,0),step=c(500,100,0),lwd=c(1,1,1),lty=c(1,1,1),land=TRUE)+
  scaleBathy(dat, deg=1.232, x="bottomleft", inset=5) #100km

这创建了一个有用的地图。但是,我对如何在此地图上添加印章轨道感到困惑。

我可以在ggmap中执行此操作(使用下面的代码),但我更喜欢marmap map

myLocation <- c(-62.5,43,-58,46)
seal_map2<-get_map(location=myLocation,maptype="watercolor",source="stamen",zoom=10)
ggmap(seal_map2)+
geom_point(data=sealtrack,aes(color=category),size=0.5)+
scale_color_gradientn(colours=rainbow(6), breaks=seq(1,6,by=1)) 

非常感谢任何指导

1 个答案:

答案 0 :(得分:0)

你应该能够在“强化”之后将marmap的测深信息添加为你的情节中的轮廓图层。如果没有您的数据,很难确保它的工作原理(现在NOAA服务器对我不起作用):

library(ggplot2)
library(marmap)
dat <- getNOAA.bathy(-58,-62.5,43,46.0,res=0, keep=TRUE)
dat <- fortify(dat)
ggmap(seal_map2) +
   geom_contour(dat, aes(x = x, y = y, z = z)) +
   geom_point(data=sealtrack,aes(color=category),size=0.5) +
   scale_color_gradientn(colours=rainbow(6), breaks=seq(1,6,by=1))