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