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
Ở trên, tôi lấy bất kỳ danh mục nào có 4 và trong cột mới đặt nó là 0.
Tại thời điểm này, tôi muốn cột cũng được đặt tên ratings
cho bc
, trong đó nó sẽ lấy 0 nếu nó nằm trong bộ đệm và 1 nếu nó ở bên ngoài. Vấn đề là các bc
là SpatialPolygons
và nó không chứa các bảng thuộc tính.
Rõ ràng để thêm một cột vào một SpatialPolygon
đối tượng bạn phải chuyển đổi nó thành một SpatialPolygonsDataFrame
, nhưng tôi không biết làm thế nào.
Tôi đã thử điều này:
buf_df<-as.data.frame(bc)
s_po<-SpatialPolygonsDataFrame(bc,buf_df)
s_po$ratings=0
nhưng lỗi này bật lên:
row.names of data and Polygons IDs do not match