我有一个带有多边形区域的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‘的对象不可替换“该如何替代呢?
是一个"SpatialPolygonsDataframe"
很抱歉没有提供可复制的代码。
非常感谢。
/Chris
更新:我刚刚意识到,PlotPolysOnStaticMap(shp)中的"shp“应该是带有"X”和"Y“列的数据文件,也就是说,不是我之前假设的shapefile。
更新2:即使我使用"border=NA",我也得到了带有黑色边框的红色多边形。有人知道怎么摆脱边界吗?
发布于 2012-02-27 20:44:49
为了其他人的利益,我在这里介绍了我找到的解决办法:我打印了"PlotPolysOnMap“并将其粘贴到我自己的函数"PlotPolysOnMap2”中。然后,在新函数(非共享)中,我手动设置border=NA (它是border=border)。然后,多边形被绘制成没有线围绕着它们。这个“丑陋的修复”可能会让比我更熟练的程序员感到不安,但我今天需要完成。
/Chris
https://stackoverflow.com/questions/9456985
复制相似问题