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