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, если он снаружи. Проблема в том, что он bc
есть SpatialPolygons
и не содержит таблицы атрибутов.
Очевидно, что для добавления столбца к SpatialPolygon
объекту необходимо преобразовать его в a 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