结合OpenStreetMap和R中的几何绘图

时间:2013-04-24 14:49:15

标签: r ggplot2

我正在尝试将{OpenStreetMap}切片与其他数据中的几何结合起来,但这在基础R和ggplot中都很难实现。目标是简单地在地图上绘制一些点。感谢我缺少的想法,或者替代方法(可能与其他库)会产生相同的结果。

提前致谢。

require(OpenStreetMap)
require(ggplot2)

lat <- c(63, 48); lon <- c(-20, 8)
map <- openmap(c(lat[1],lon[1]),c(lat[2],lon[2]),4,'osm')
d <- data.frame(x = sample((lon[1]:lon[2]), 10, replace=T), 
                y = sample((lat[1]:lat[2]), 10, replace=T))

# base R plot method
plot(map)
points(d)

# ggplot method
ggplot() + autoplot(map)
ggplot() + autoplot(map) + geom_point(aes(x=d$x, y=d$y))

1 个答案:

答案 0 :(得分:2)

您正在绘制的栅格地图位于墨卡托投影中。您可以将图像转换为long-lat,也可以将数据转换为mercator投影。见:help("openproj")。这是前者:

# base R plot method
mapLL <- openproj(map)
plot(mapLL)
points(d)