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ダイアログに入力すると、ポイントが正しく回転します。