Chciałbym obrócić zestaw punktów wektorowych w QGIS o dowolną liczbę stopni wokół punktu centralnego (lub dowolnego punktu).
Jest to podobne do ostatniego pytania dotyczącego tworzenia regularnej siatki ; zasugerowano, aby użyć narzędzia „Affine Transformation” (co, jak zakładam, oznaczało wtyczkę), aby obrócić lub przesunąć siatkę punktów o dowolny kąt lub odległość. Podejrzewam, że nie rozumiem, jak to działa, i nie byłem w stanie sprawić, by działał.
Tworzę regularną siatkę punktów w QGIS i upewniam się, że strefa UTM jest ustawiona poprawnie zarówno dla warstwy, jak i projektu, włączam edycję dla warstwy, a następnie otwieram okno dialogowe wtyczki (qgsAffine):
Wybieram „całą warstwę”, a następnie, chcąc obrócić całe pole punktów o 15 °, umieszczam 15 w obu polach „obrotu” (które mogą być tam, gdzie dzieje się źle). Operacja powoduje obrócenie punktów gdzieś poza planetą!
Czy to odpowiednie narzędzie do pracy? Idealnie chciałbym obrócić zestaw punktów dotyczących ich wspólnego centrum.
Aktualizacja : qgsAffine to tylko myśl; jeśli możemy to zrobić w dowolnym narzędziu QGIS, będę szczęśliwy!
Aktualizacja 2 : qgsAffine jest użyteczny, JEŻELI znasz odpowiednie numery do podłączenia (patrz odpowiedź poniżej, dziękuję Mike!). Arkusz kalkulacyjny / kalkulator działa dobrze, lub oto funkcja R, aby uzyskać liczby bezpośrednio:
## 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)
}
Tak więc obrócenie siatki punktów w północnej Ugandzie (UTM 36N) affine(578988, 419210, 30)
daje:
scaleX scaleY rotX rotY transX transY
1 0.8660254 0.8660254 0.5 -0.5 287174.7 -233330.5
... które, wprowadzone w oknie dialogowym qgsAffine, poprawnie obraca punkty.