Tôi muốn xoay một tập hợp các điểm vectơ trong QGIS một số độ tùy ý xung quanh một điểm trung tâm (hoặc điểm tùy ý).
Điều này tương tự như một câu hỏi gần đây về việc tạo ra một lưới thông thường ; người ta đã đề xuất sử dụng công cụ "Chuyển đổi affine" (mà tôi cho là có nghĩa là plugin) để xoay hoặc dịch chuyển một lưới các điểm một góc hoặc khoảng cách tùy ý. Tôi nghi ngờ tôi không hiểu làm thế nào nó hoạt động, và đã không thể làm cho nó hoạt động.
Tôi tạo một lưới điểm thông thường trong QGIS và đảm bảo rằng vùng UTM được đặt chính xác cho cả lớp và dự án, cho phép chỉnh sửa cho lớp, sau đó mở hộp thoại plugin (qssAffine):
Tôi chọn 'toàn bộ lớp' và sau đó, muốn xoay toàn bộ trường điểm 15 °, đặt 15 vào cả hai hộp 'xoay' (có thể là nơi mọi thứ đang sai). Các hoạt động kết quả trong việc xoay các điểm ở đâu đó ngoài hành tinh!
Đây có phải là công cụ phù hợp cho công việc? Tôi muốn xoay một tập hợp các điểm về trung tâm chung của họ, lý tưởng nhất.
Cập nhật : qssAffine chỉ là một ý nghĩ; nếu chúng ta có thể làm điều này trong bất kỳ công cụ nào của QGIS, tôi sẽ rất vui!
Cập nhật 2 : qssAffine có thể sử dụng được NẾU bạn biết đúng số để cắm vào (xem câu trả lời bên dưới, cảm ơn Mike!). Bảng tính / máy tính hoạt động tốt, hoặc đây là chức năng R để lấy số trực tiếp:
## 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)
}
Vì vậy, để xoay một lưới các điểm ở phía bắc Uganda (UTM 36N), affine(578988, 419210, 30)
đưa ra:
scaleX scaleY rotX rotY transX transY
1 0.8660254 0.8660254 0.5 -0.5 287174.7 -233330.5
... trong đó, được nhập vào hộp thoại qssAffine, xoay chính xác các điểm.