Vorrei ruotare una serie di punti vettoriali in QGIS di un numero arbitrario di gradi attorno a un punto centrale (o punto arbitrario).
Questo è simile a una recente domanda sulla creazione di una griglia regolare ; è stato suggerito di utilizzare lo strumento "Trasformazione affine" (che presumo significasse il plugin) per ruotare o spostare una griglia di punti di un angolo o distanza arbitraria. Sospetto di non capire come funziona e non sono stato in grado di farlo funzionare.
Creo una griglia regolare di punti in QGIS e mi assicuro che la zona UTM sia impostata correttamente sia per il livello che per il progetto, abilito la modifica per il livello, quindi apro la finestra di dialogo del plugin (qgsAffine):
Seleziono 'intero strato' e quindi, volendo ruotare l'intero campo di punti di 15 °, inserisco 15 in entrambe le caselle 'rotazione' (che possono essere dove le cose vanno male). L'operazione comporta la rotazione dei punti da qualche parte fuori dal pianeta!
È questo lo strumento giusto per il lavoro? Vorrei ruotare una serie di punti sul loro centro comune, idealmente.
Aggiornamento : qgsAffine è solo un pensiero; se riusciamo a farlo in qualsiasi strumento QGIS, saremo felici!
Aggiornamento 2 : qgsAffine è utilizzabile SE conosci i numeri giusti da collegare (vedi risposta sotto, grazie Mike!). Foglio di calcolo / calcolatrice funziona bene, oppure ecco la funzione R per ottenere direttamente i numeri:
## 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)
}
Quindi, per ruotare una griglia di punti nell'Uganda settentrionale (UTM 36N), si affine(578988, 419210, 30)
ottiene:
scaleX scaleY rotX rotY transX transY
1 0.8660254 0.8660254 0.5 -0.5 287174.7 -233330.5
... che, inserito nella finestra di dialogo qgsAffine, ruota correttamente i punti.