使用栅格点在R中的地图上创建栅格
显然,我已经为这个问题挣扎了一天,似乎找不到一个好的解决办法。我真的很感谢你的帮助,而且我是R方面的新手(从上周开始) 问题1: 我有一组表示网格点的CSV,我可以将其解析为数据帧使用栅格点在R中的地图上创建栅格,r,ggplot2,ggmap,R,Ggplot2,Ggmap,显然,我已经为这个问题挣扎了一天,似乎找不到一个好的解决办法。我真的很感谢你的帮助,而且我是R方面的新手(从上周开始) 问题1: 我有一组表示网格点的CSV,我可以将其解析为数据帧(点名称、纬度、经度) 例如: 此文件中的点表示左下角,并按行主格式排列,表示首先是最低水平栅格点。每个点都离其相邻点有一定的大圆距离(1km)。我想在我使用ggmap绘制的地图上创建一个网格覆盖 我所尝试或考虑的: map.grid()-这对我来说真的没有什么用处,因为我不寻找任何类型的投影 geom\u vline
(点名称、纬度、经度)
例如:
此文件中的点表示左下角,并按行主格式排列,表示首先是最低水平栅格点。每个点都离其相邻点有一定的大圆距离(1km)
。我想在我使用ggmap
绘制的地图上创建一个网格覆盖
我所尝试或考虑的:
map.grid()
-这对我来说真的没有什么用处,因为我不寻找任何类型的投影geom\u vline()和geom\u hline()
。这些看起来不错,但在飞机上没有恒定的x和y截距。此外,一旦我创建了一个网格,我想使用网格来根据密度着色geom_rect()和geom_tile()
。这些看起来很有前途,可能是我想要的。但是我找不到一个处理这些问题的好方法(lat,lon)
,我可以快速到达该网格。事实上,我的整个后端都是C++的,可以直接输出网格名称<代码> XY < /C>直接指向给定的搜索点。不知何故,我发现很难根据网格点来计算这些点,这样我就可以用代表性的颜色填充网格
我不确定我所说的一切是否都清楚。如果我要澄清什么,请告诉我
还要注意的是,我在谷歌上搜索了很多次,没有找到相关的答案,尽管有些答案看起来很接近
例如:
谢谢你的帮助
ggplot(df)+geom_光栅(aes(经度,纬度,fill=name))
可能是这样的,但如果您希望在指定的坐标处计算角点,则需要计算中点。对于问题2,在网格坐标处使用带断点的cut
,这样您就可以创建一个引用表。@alistaire:是的,正是这个问题。我忘了提到我确实考虑过<代码> GeoMaGrase,但是中心点发现需要相当多的计算。关于使用cut
,你有什么我可以研究的例子吗?如果点之间的距离一致,你可以用适当的单位加上一半。如果你要跑很长的距离,你可能需要担心曲率,但在公里范围内,你应该没事。使用dplyr
,df%>%mutate_each(funs(.+unique(round(diff(sort(unique))),4))/2),-name)%%>%ggplot()+geom_光栅(aes(经度,纬度,fill=name))
。对于cut
而言,仅从开始?cut
。或者,你可以找到一个质心的最小距离,然后用这种方式聚集,如果它更有意义的话。我会试试这些。我需要注意曲率,因为我要处理的所有区域都接近700平方英里。谢谢你!
name,latitude,longitude
x0y0,35.9767,-122.605
x1y0,35.9767,-122.594
x2y0,35.9767,-122.583
x0y1,35.9857,-122.605
x1y1,35.9857,-122.594
x2y1,35.9857,-122.583
x0y2,35.9947,-122.605
x1y2,35.9947,-122.594
x2y2,35.9947,-122.583