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