บัฟเฟอร์และการรวมใน R โดยไม่ต้องลดให้เป็นหลายเหลี่ยม
ฉันต้องการแสดงภาพซ้อนทับเชิงพื้นที่เพื่อระบุรูปหลายเหลี่ยมที่มีจุดตก อย่างไรก็ตามก่อนอื่นฉันต้องการบัฟเฟอร์และยุบรูปหลายเหลี่ยมดังกล่าวที่จุดตกที่ใดก็ได้ภายในรูปหลายเหลี่ยมผสาน (แต่ไม่ได้อยู่ในหลุมใด ๆ ) จะถูกติดป้ายคล้ายกันโดยขั้นตอนการซ้อนทับ น่าเสียดายที่กระบวนการบัฟเฟอร์และ / หรือการละลายที่ใช้อยู่นั้นเป็นการลดSpatialPolygonsวัตถุให้เป็นรูปหลายเหลี่ยม การใช้gBufferจะสร้างหลายรูปหลายเหลี่ยมเมื่อbyid=FALSEแต่ไม่สามารถรวมรูปหลายเหลี่ยมที่ทับซ้อนกันได้เมื่อbyid=TRUEใด ในกรณีหลังนี้การละลายรูปหลายเหลี่ยมด้วยการgUnaryUnionสร้างรูปหลายเหลี่ยมอีกครั้ง การวางซ้อนSpatialPointsกับผลลัพธ์หลายเหลี่ยมหลายเหลี่ยมเหล่านี้ในทุกจุดที่มีการรายงานว่าอยู่ในรูปหลายเหลี่ยม 1 นี่คือตัวอย่างของเล่นที่เกี่ยวข้องกับคะแนนบัฟเฟอร์ที่ฉันต้องการทำซ้อนทับคะแนนกับรูปหลายเหลี่ยมบัฟเฟอร์: library(sp) library(rgeos) pts <- SpatialPoints(cbind(c(1, 1, 2, 3), c(1, 2, 1.5, 2.5))) plot(gBuffer(pts, width=0.6), lwd=2) points(pts, pch=20, cex=2) text(coordinates(pts), labels=seq_len(length(pts)), pos=4, font=2) และผลลัพธ์ของการวางซ้อนบางอย่าง ... ด้วยbyid=FALSE: b <- gBuffer(pts, width=0.6) over(pts, b) # [1] 1 1 1 …