所以我有shapefile(在页面底部命名为POWIATY)。我想通过我的坐标来填充特定的多边形。
让我们说,我想填补整个地区: 纬度:52.599427 经度:20.7572137
我知道如何在地图上设置点坐标,但如何在其中填充整个多边形?
答案 0 :(得分:2)
该shapefile中存在重复的区域名称,因此您必须填充多边形数字ID:
library(rgdal)
library(rgeos)
library(ggplot2)
pow <- readOGR("POWIATY.shp", "POWIATY")
plot(pow)
where <- over(SpatialPoints(cbind(20.7572137, 52.599427)), pow, TRUE)
reg <- data.frame(id=rownames(where[[1]]))
map <- fortify(pow)
gg <- ggplot()
gg <- gg + geom_map(map=map, data=map,
aes(x=long, y=lat, map_id=id),
fill="white", color="black", size=0.25)
gg <- gg + geom_map(data=reg, map=map,
aes(fill=id, map_id=id), color="steelblue")
gg <- gg + coord_map()
gg <- gg + theme_bw()
gg