我有一个带有多边形区域的 shapefile,并且可以像这样成功地使用 PlotOnStaticMap:
#Map <- GetMap.bbox(bb$ #Just to show I read "Map" here
shp_0 <- rgdal::readOGR(dsn="dir", layer="TheLayer")
shp_1 <- shp_0@polygons[[i1]] # where i1=the region I'm looking at
shp_2 <- shp_1@Polygons[[i2]] # where i2=the polygon I want to plot
tbl_coords_i2 <- data.frame(shp_2@coords)
tbl_coords_i2$color <- colors()[33] # red
tmp <- PlotOnStaticMap(lat=tbl_coords_i2$X2, lon=tbl_coords_i2$X1, cex=0.5, pch=15, col=tbl_coords_i2$color, MyMap=Map, add=FALSE, NEWMAP=FALSE, FUN=points)
但我真正想要的是绘制充满红色的区域,如下所示:
tmp <- PlotPolysOnStaticMap(polys=shp_2, col=colors()[33], MyMap=Map, border = NULL, lwd=0.25, add=FALSE, NEWMAP=FALSE)
但这给出了错误“polys [,”Y“]中的错误:'S4'类型的对象不是子集”应该如何做呢?
- shp_0 是“SpatialPolygonsDataframe”
- shp_1 是一个“多边形”
- shp_2 是一个“多边形”
很抱歉没有提供可重现的代码。
非常感谢你。
/克里斯
更新:我刚刚意识到 PlotPolysOnStaticMap(shp) 中的“shp”应该是包含“X”和“Y”列的数据框,即不是我之前假设的 shapefile。
更新 2:即使我使用“border=NA”,我也得到了带有黑色边框的红色多边形。有人知道如何摆脱边界吗?