具有多个形状但只有一个多边形的Shapefile

时间:2015-08-25 22:22:26

标签: r gis polygon shapefile

我正在使用#34; King County与自然海岸线为Puget Sound和华盛顿湖"来自http://www5.kingcounty.gov/gisdataportal/的shapefile。当我绘制shapefile时,会出现华盛顿湖的轮廓,但相对于金县的轮廓,它不会保存为额外的多边形。我希望为华盛顿湖的颜色与该县其他地方的颜色不同,但我不知道如何做到这一点,因为shapefile只有1个功能。我试图操纵R.中的shapefile。

1 个答案:

答案 0 :(得分:1)

你可以提取"洞"那是华盛顿湖,然后将其添加到情节中。这使用基本图形,但使用ggplot也很容易。

library(rgdal)

# your shapefile
kc <- readOGR("kingsh/kingsh.shp", "kingsh")

# extract the singular hole that is Lake Washington and
# make it into something plottable
lw <- SpatialPolygons(list(Polygons(list(kc@polygons[[1]]@Polygons[[2]]), ID="lw")))

plot(kc, col="steelblue")
plot(lw, col="maroon", add=TRUE)

enter image description here

您可以通过手动扫描物体或类似物来找到洞:

unlist(lapply(kc@polygons, function(p) {
  polys <- slot(p, "Polygons")
  lapply(polys, function(q) {
    slot(q, "hole")
  })
}))

由于您没有提供任何代码,我不得不猜测您是如何阅读它的。