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
Sopra, prendo qualsiasi categoria che ha 4 e nella nuova colonna lo metto come 0.
A questo punto, voglio anche la colonna denominata ratings
per bc
, dove occorrerà 0 se è all'interno del buffer e 1 se è all'esterno. Il problema è che bc
è SpatialPolygons
e non contiene la tabella degli attributi.
Ovviamente per aggiungere una colonna a un SpatialPolygon
oggetto devi convertirlo in a SpatialPolygonsDataFrame
, ma non so come.
Ho provato questo:
buf_df<-as.data.frame(bc)
s_po<-SpatialPolygonsDataFrame(bc,buf_df)
s_po$ratings=0
ma viene visualizzato questo errore:
row.names of data and Polygons IDs do not match