我想围绕中心点(或任意点)将QGIS中的一组矢量点旋转任意角度。
这类似于最近关于创建规则网格的问题 ; 建议在那里使用“仿射变换”工具(我认为是插件)来旋转或移动任意角度或距离的点网格。我怀疑我不了解它是如何工作的,并且无法使其正常工作。
我在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对话框中,可以正确旋转点。