首页 > 解决方案 > 将英国各地学校的坐标映射到现有的 shapefile

问题描述

我有一个预先存在shapefile的英国,已提供给我。我有一个单独的 csv 文件,其中包含我想要映射到的所有学校的经度和纬度shapefile

gg <- ggplot()
gg <- gg + geom_polygon(data=polys.df.phec, aes(x=long, y=lat, group=group, fill=NA), color = "black", fill=NA, size=0.5) 
gg <- gg + geom_point(data=subset_practice, aes(x=lon, y=lat, color="red"),inherit.aes = FALSE)
gg <- gg +  coord_map()
gg

我已经成功地将英国地图作为情节

 ls()

 head(polys.df.phec)

 map13 <- ggplot(data = polys.df.phec, aes(x = long, y = lat, group = group))

 map13 + geom_path()

我希望在地图上获得数据点,但我收到一条错误消息,提示“坐标系已经存在。添加新的坐标系,它将替换现有的坐标系。” 和

FUN(X[[i]], ...) 中的错误:找不到对象“lon”

标签: rggplot2ggmap

解决方案


是的,一个可重现的例子会有所帮助......与此同时,这是我在学习如何在 shapefile 上映射纬度/经度点时使用的一些代码。

ggmap(sydmap2) +
  geom_point(data = crime, aes(x = bcsrgclng, y = bcsrgclat), color = "purple4", alpha=.03, size=1.1) +
  #ggtitle("Sydney Outdoor Crime") +
  labs(title = "Sydney Outdoor Crime", x = "", y = "") +
  theme(plot.title = element_text(size = 24), 
        axis.text.x = element_blank(), axis.ticks = element_blank(),
axis.text.y = element_blank())

本质上,我在ggmap()语句中调用地图 shapefile,然后使用geom_point()经纬度坐标识别数据集。其他调用是为点着色、格式化轴等......

它是从本教程修改的代码,我发现它有助于学习映射基础知识。


推荐阅读