3
วิธีการวัดความคล้ายคลึงกันของวัตถุ SpatialLines
ฉันสร้างสองSpatialLinesวัตถุใน R: วัตถุเหล่านี้ถูกสร้างขึ้นด้วยวิธีนี้: library(sp) xy <- cbind(x,y) xy.sp = sp::SpatialPoints(xy) spl1 <- sp::SpatialLines(list(Lines(Line(xy.sp), ID="a"))) ทีนี้ฉันอยากสรุปว่านี่คือเส้นตรงที่หมุนแล้วพลิกและความแตกต่างระหว่างพวกเขาเท่ากับ 0 (รูปร่างที่เท่ากัน) ในการทำเช่นนั้นเราสามารถใช้maptoolsแพ็คเกจและหมุนบรรทัดที่ 1 เช่น: spl180 <- maptools::elide(spl1, rotate=180) แต่ละบรรทัดที่หมุนแล้วจะต้องตรวจสอบเทียบกับบรรทัดที่ 2 โดยใช้rgeosแพ็คเกจเช่น: hdist <- rgeos::gDistance(spl180, spl2, byid=FALSE, hausdorff=TRUE) อย่างไรก็ตามนี่เป็นวิธีการคำนวณที่มีราคาแพงมากในการจับคู่SpatialLinesวัตถุโดยเฉพาะอย่างยิ่งหากจำนวนวัตถุมีค่าประมาณ 1,000 มีวิธีที่ฉลาดในการทำงานนี้หรือไม่? ป.ล. นอกจากนี้วิธีการที่อธิบายไว้ข้างต้นไม่รับประกันการหมุนและการพลิกที่เป็นไปได้ทั้งหมด P.S2 หากบรรทัดที่ 1 ถูกย่อส่วนด้วย # 2 ความแตกต่างระหว่างบรรทัด # 1 และ # 2 …