0
我正在为区域内的各个学校创建地图,并且想要在学校边界周围创建阴影区域。我可以使用QGIS手动完成,但是希望能够在R中生成类似的东西。我现在可以在地图上绘制一些人口统计变量,添加学校位置和边界。有一个循环会自动为每所学校创建一张新地图,并将其插入到knitr报告中。将阴影图层添加到R中的地图
我无法弄清楚的是如何创建一个图层来遮蔽边界以外的区域。这是我的地图使用R:
但是想使它看起来更像是这样的:但是它是基于内核
我试着从GISTools的add.masking
功能点的密度,而不是多边形。
我的代码看起来像这样(的道歉不被重现的,因为他们是形状文件坐在一个安全的驱动器上。
# Load Shape files
proj<- CRS("+init=epsg:32617")
schoolBound <- readShapePoly("J:/GIS/Data/Catchments/ElementaryAreas.shp", proj4string= proj)
schools <- readShapePoints("J:/GIS/Data/Schools/ElementarySchools.shp", proj4string= proj)
roads <- readShapePoints("J:/GIS/Data/Roads/MajorRoads.shp")
da <- readShapePoly("J:/GIS/Data/Dissemination Areas 2011/da2011.shp",
proj4string = proj)
SCH <- "School A"
# Subset shape files for area around school
school1Bound <- schoolBoundR [schoolBoundR$SchoolName == paste(SCH),]
school1BoundBuff <- gBuffer(school1Bound, width = 15) # Adds buffer around geometry
school1Point <- schoolsR [schoolsR$Name == paste(SCH),]
roadsBound <- roadsR[apply(gIntersects(roadsR, school1BoundBuff, byid = TRUE),2,any),]
# Plot map and add layers
plot(school1BoundBuff)
plot(da,
add = TRUE,
col=colours[findInterval(da$sri, brks,all.inside=TRUE)], # Adds colour palette to Social Risk Index
axes=F)
plot(school1Point, add = TRUE, pch = 15, col = "blue")
plot(roadsBound, add = TRUE, col = "gray60")
plot(school1Bound, add = TRUE, lwd = 5)
这将是困难的,你这个节目没有你的shape文件,但尝试http://stackoverflow.com/questions/29624895/how-to-add-a-hole-跟着一起在空间多边形数据框中为空间切出一个洞然后使用'gUnaryUnion'这样的东西来分解被遮挡的多边形。 – hrbrmstr