谷歌地图与ggplot2 / MarMap

时间:2015-10-23 16:55:46

标签: r google-maps dictionary ggplot2

下面是我创建的一个JavaScript页面,它允许我在地图上添加和自由移动标记。从这张地图中我可以找出我感兴趣的地区。

基本上我想做的是使用ggplot2/MarMap显示相同的地图,包括海岸线指标+测深数据。我真的只是想获得每个GPS位置的测深数据,基本上每Lat + Long得到负/正高度,所以我在想是否可以绘制它然后我应该能够将数据导出到数据库。我也对海岸线数据感兴趣,所以我想知道我离海岸线有多近(Lat / Long),所以对于情节数据我也会在数据库中增加。

enter image description here

这是我正在使用的R脚本:

library(marmap);
library(ggplot2);

a_lon1 = -79.89836596313478;
a_lon2 = -79.97179329675288;

a_lat1 = 32.76506070891712;
a_lat2 = 32.803624214389615;

dat <- getNOAA.bathy(a_lon1,a_lon2,a_lat1,a_lat2, keep=FALSE);    

autoplot(dat, geom=c("r", "c"), colour="white", size=0.1) + scale_fill_etopo();

以上是R脚本的输出:

enter image description here

问题:

  • 为什么两张图片都不匹配?
  • 在谷歌地图中,​​我使用缩放值13.如何在ggplot2 / MarMap中翻译?
  • 是否可以将ggplot2 / MarMap放大到(纬度/经度) - (纬度/经度)区域?
  • 是否可以绘制我要求的内容?

1 个答案:

答案 0 :(得分:0)

我不知道你是怎么得到这个结果的。当我使用您的脚本时,我收到一个错误,因为您尝试使用getNOAA.bathy()从ETOPO1数据库中获取的区域太小。但是,添加resolution=1(这为ETOPO1数据库提供了最高分辨率),这是我得到的:

enter image description here

回答你的问题:

  • 为什么两张图片都不匹配? 可能是因为getNOAA.bathy()返回了一个错误并且您之前创建的对象dat已使用另一组坐标创建
  • 在google-maps中我使用缩放值13.这是如何在ggplot2 / MarMap中翻译的? 我没有头绪!
  • 是否可以将ggplot2 / MarMap放大到(纬度/经度) - (纬度/经度)区域? 我恳请您看一下marmap-DataAnalysis小插图的第4部分。本节专门用于处理大文件。您可以在那里使用(例如)bathy函数放大subsetBathy()对象的任何区域,以便您可以单击地图来定义所需区域
  • 是否可以绘制我要求的内容?是的,但使用基本图形而不是ggplot2会容易得多。再一次,你应该阅读包装小插曲。

最后,关于海岸线数据,您可以使用dist2isobath()函数计算任何gps点与任何等深线之间的距离,包括海岸线。猜猜你在哪里可以了解更多关于这个功能以及如何使用它...