Forum QGIS
Kąt linii - Wersja do druku

+- Forum QGIS (http://forum.quantum-gis.pl)
+-- Dział: Desktop GIS (http://forum.quantum-gis.pl/forum-4.html)
+--- Dział: QGIS (http://forum.quantum-gis.pl/forum-5.html)
+--- Wątek: Kąt linii (/thread-1068.html)



Kąt linii - andrutt - 18-05-2014

Witam,
Zwracam się do Was z kolejnym pytaniem: Warstwa wektorowa składa się z linii. Udało mi się określić długość poszczególnych odcinków (polecenie $length) wrzucając otrzymane wartości do utworzonej kolumny "DŁUGOŚĆ". Analogicznie chciałbym jeszcze dokładnie określić kąty poszczególnych odcinków dodając je do kolumny "KĄT" ale za nic nie mogę znaleźć stosownego polecenia w kalkulatorze pól. Najlepiej, aby kątem odniesienia (zero stopni) był odcinek poziomy. Prosiłbym o pomoc.
Pozdrawiam


RE: Kąt linii - tomalos - 20-05-2014

W kalkulatorze chyba się nie da, ale da się to zrobić w Konsoli Pythona: http://gis.stackexchange.com/questions/24260/how-to-add-direction-and-distance-to-attribute-table/24430#24430
Nie za bardzo potrafię posługiwać się tym narzędziem, może ktoś bardziej obeznany będzie potrafił wyjaśnić krok po kroku jak to ugryźć.


RE: Kąt linii - randyX - 21-05-2014

Jeśli nie ma dla Ciebie znaczenie czy obrót jest 90 czy 270 stopni (kierunek ten sam tylko ewentualnie zwrot przeciwny) to w kalkulatorze pól:

Kod:
case when (xat(1)-xat(0))=0 then 0 else (case when (180*atan((yat(0) - yat(1))/ (xat(1)-xat(0))  ))/$pi <0 then ((180*atan((yat(0) - yat(1))/ (xat(1)-xat(0))  ))/$pi)+180 else (180*atan((yat(0) - yat(1))/ (xat(1)-xat(0))  ))/$pi end) end

Gdzie "0" jest w pionie (jak przy azymutach)..

Obrót jest liczony od punktu początkowego do końcowego linii.
Do zmiany kierunków linii są jakieś narzędzia dostępne w QGIS (nie pamiętam jaka wtyczka)


aha... działa w QGIS 2.2.
W 1.8.0 nie działa ze względu na "$pi"


RE: Kąt linii - andrutt - 21-05-2014

Dzięki za pomoc, nie sądziłem, że to tak skomplikowane, ale pobawię się kodem.
Właśnie przetestowałem i działa na QGIS 2.0.1 Smile Jeszcze raz dzięki za pomoc, o to mi chodziło.