ฉันใช้gIntersect
ฟังก์ชันจากrgeos
แพ็คเกจเพื่อกำหนดรูปหลายเหลี่ยมที่ตัดกันในสอง SpatialPolygonsDataFrames (spdfs) ผลลัพธ์เป็นเมทริกซ์เชิงตรรกะที่มี rownames ซึ่งประกอบด้วยรูปหลายเหลี่ยม ID จาก sfdf # 1 และ colnames ID รูปหลายเหลี่ยมจาก spdf # 2 ฉันต้องการที่จะใช้เมทริกซ์นี้ไปยังระบบย่อยทั้งสอง spdfs gIntersection
เดิมถนัดรูปหลายเหลี่ยมที่ไม่มีการทับซ้อนก่อนที่จะใช้ฟังก์ชั่น ฉันสามารถแปลงเมทริกซ์เชิงตรรกะได้อย่างง่ายดายเป็นสองเวกเตอร์ของรหัส (หนึ่งสำหรับแต่ละไฟล์ PDF) ที่แสดงรูปหลายเหลี่ยมเหล่านั้นอย่างน้อยทับซ้อนกัน
คำถามของฉันคือ - ฉันสามารถใช้เวกเตอร์ของรูปหลายเหลี่ยม ID เพื่อเซตย่อย spdf ได้หรือไม่ ถ้าเป็นเช่นนั้นมันจะเซตค่าใน@data
สล็อตได้อย่างถูกต้องหรือไม่? ฉันรู้ว่าฉันสามารถย่อย spdfs โดยใช้ไวยากรณ์นี้ได้:
spdf[spdf@data$myVariable[someVector], ]
สิ่งนี้จะใช้ไม่ได้กับ ID เนื่องจากฝังอยู่ลึกเข้าไปในโครงสร้างรายการ spdf
spdf[r, ]
)