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
Powyżej biorę dowolną kategorię, która ma 4, i w nowej kolumnie wpisuję ją jako 0.
W tym momencie chcę również nazwę kolumny ratings
dla bc
, gdzie zajmie 0, jeśli jest w buforze i 1, jeśli jest na zewnątrz. Problem polega na tym, że bc
jest SpatialPolygons
i nie zawiera tabeli atrybutów.
Oczywiście, aby dodać kolumnę do SpatialPolygon
obiektu, musisz przekonwertować ją na obiekt SpatialPolygonsDataFrame
, ale nie wiem jak.
Próbowałem tego:
buf_df<-as.data.frame(bc)
s_po<-SpatialPolygonsDataFrame(bc,buf_df)
s_po$ratings=0
ale pojawia się ten błąd:
row.names of data and Polygons IDs do not match