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