QGIS에서 벡터 포인트 세트를 중심점 (또는 임의의 포인트)을 중심으로 임의의 각도로 회전하고 싶습니다.
이것은 규칙적인 그리드 생성에 관한 최근의 질문 과 비슷합니다 . "Affine Transformation"도구 (플러그인을 의미한다고 가정)를 사용하여 임의의 각도 또는 거리의 포인트 그리드를 회전 시키거나 이동시키는 것이 좋습니다. 나는 그것이 어떻게 작동하는지 이해하지 못한다고 생각하고 작동하지 못했습니다.
QGIS에서 규칙적인 점 그리드를 생성하고 UTM 영역이 레이어와 프로젝트 모두에 대해 올바르게 설정되어 있는지 확인하고 레이어를 편집 한 다음 플러그인 대화 상자 (qgsAffine)를 엽니 다.
'전체 레이어'를 선택한 다음 전체 필드의 필드를 15도 회전하고 두 '회전'상자에 15를 넣으십시오 (문제가 발생하는 위치). 이 작업으로 인해 행성이 아닌 곳에서 점이 회전합니다!
이 작업에 적합한 도구입니까? 이상적인 중심점을 중심으로 일련의 포인트를 회전하고 싶습니다.
업데이트 : qgsAffine은 단지 생각입니다. 우리가 이것을 할 수 있다면 어떤 QGIS 도구 나는 행복 할 것이다!
업데이트 2 : 플러그인에 올바른 숫자를 알고 있다면 qgsAffine을 사용할 수 있습니다 (Mike 덕분에 아래 답변 참조). 스프레드 시트 / 계산기가 제대로 작동하거나 숫자를 직접 얻는 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 대화 상자에 입력하면 점이 올바르게 회전합니다.