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
об'єкта, ви повинні перетворити його в 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