ฉันต้องการหมุนชุดของเวกเตอร์พอยน์ใน QGIS ด้วยจำนวนองศาโดยพลรอบจุดศูนย์กลาง (หรือจุดที่กำหนดเอง)
นี้จะคล้ายกับคำถามที่ผ่านมาเกี่ยวกับการสร้างตารางปกติ ; มันแนะนำให้ใช้เครื่องมือ "Affine Transformation" (ซึ่งฉันถือว่าหมายถึงปลั๊กอิน) เพื่อหมุนหรือเลื่อนกริดของจุดเป็นมุมหรือระยะทางโดยพลการ ฉันสงสัยว่าฉันไม่เข้าใจวิธีการทำงานและไม่สามารถใช้งานได้
ฉันสร้างกริดจุดปกติใน QGIS และตรวจสอบให้แน่ใจว่าตั้งค่าโซน UTM อย่างถูกต้องสำหรับทั้งเลเยอร์และโครงการเปิดใช้งานการแก้ไขสำหรับเลเยอร์จากนั้นเปิดไดอะล็อกปลั๊กอิน (qgsAffine):
ฉันเลือก 'ทั้งเลเยอร์' จากนั้นหากต้องการหมุนฟิลด์ทั้งหมดของจุดเป็น 15 °ใส่ 15 ลงในกล่อง 'การหมุน' ทั้งคู่ (ซึ่งอาจเป็นสิ่งที่ผิดพลาด) ผลการดำเนินงานในการหมุนจุดที่นอกโลก!
นี่เป็นเครื่องมือที่เหมาะสมสำหรับงานหรือไม่? ฉันต้องการหมุนจุดหนึ่งจุดเกี่ยวกับศูนย์กลางร่วมของพวกเขาอย่างดีเลิศ
Update : qgsAffine เป็นเพียงความคิด ถ้าเราสามารถทำเช่นนี้ในใด ๆเครื่องมือ QGIS ฉันจะมีความสุข!
อัปเดต 2 : qgsAffine สามารถใช้งานได้หากคุณทราบหมายเลขที่ต้องการเสียบ (ดูคำตอบด้านล่างขอบคุณไมค์!) สเปรดชีต / เครื่องคิดเลขทำงานได้ดีหรือนี่คือฟังก์ชัน R เพื่อรับตัวเลขโดยตรง:
## Compute correct affine numbers for qgsAffine plugin
affine <- function(originX, originY, rotAngle) {
A <- rotAngle * pi / 180
scaleX <- scaleY <- cos(A)
rotX <- sin(A)
rotY <- -sin(A)
transX <- originX - cos(A) * originX + sin(A) * originY
transY <- originY - sin(A) * originX - cos(A) * originY
aff <- data.frame(scaleX, scaleY, rotX, rotY, transX, transY)
return(aff)
}
ดังนั้นในการหมุนกริดของจุดในภาคเหนือของยูกันดา (UTM 36N) affine(578988, 419210, 30)
ให้:
scaleX scaleY rotX rotY transX transY
1 0.8660254 0.8660254 0.5 -0.5 287174.7 -233330.5
... ซึ่งเข้าสู่กล่องโต้ตอบ qgsAffine หมุนจุดอย่างถูกต้อง