如何将空间多边形转换为SpatialPolygonsDataFrame并在属性表中添加一列
coast<-readShapeSpatial("coastline.shp") landc<-readShapeSpatial("landcover.shp") ro<-readShapeSpatial("roads.shp") bc<-gBuffer(ro,width=100) landc$ratings=1 landc$ratings[landc$LANDUSE_ID==4]=0 上面,我选择任何具有4的类别,并在新列中将其设置为0。 在这一点上,我想命名列ratings以及为bc,它会采取0,如果它是缓冲区内,1,如果它在外面。问题是is bc是SpatialPolygons并且它不包含属性表。 显然要向SpatialPolygon对象添加列,您必须将其转换为SpatialPolygonsDataFrame,但我不知道如何。 我尝试了这个: buf_df<-as.data.frame(bc) s_po<-SpatialPolygonsDataFrame(bc,buf_df) s_po$ratings=0 但是会弹出此错误: row.names of data and Polygons IDs do not match