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
Arriba, cojo cualquier categoría que tenga 4 y en la nueva columna la pongo como 0.
En este punto, quiero que la columna llamada ratings
también para el bc
donde tomará 0 si está dentro del buffer y 1 si está fuera. El problema es que el bc
es SpatialPolygons
y no contiene la tabla de atributos.
Obviamente para añadir una columna a un SpatialPolygon
hay que convertirlo en un objeto SpatialPolygonsDataFrame
pero no sé cómo.
Probé esto:
buf_df<-as.data.frame(bc)
s_po<-SpatialPolygonsDataFrame(bc,buf_df)
s_po$ratings=0
pero aparece este error:
row.names of data and Polygons IDs do not match