Borneq
unread,Apr 26, 2014, 1:53:44 PM4/26/14You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to
W OpenStreetMap dane zapisywane są w formie długości i szerokości
geograficznej. Jednak przy wyświetlaniu tych danych nie można
bezpośrednio przeskalować ich na piksele ponieważ wtedy widok będzie
rozciągnięty w poziomie.
Można by ewentualnie ścieśnić poziomo przez współczynnik
cos(latitude=szerokość geograficzna)
Aby dobrze wyświetlić, to myślę, że najpierw należałoby przekonwertować
do współrzędnych kartezjańskich x,y,z (gdzie (0,0,0) środek Ziemi) a
potem przyłożyć płaszczyznę do pewnego punktu np. środka Polski
prosotpadle do wektora (0,0,0)-(x,y,z) i rzutować równololegle na
płaszczyznę.
Tu mamy kłopot, bo dla każdej mapy będzie inny punkt przyłożenia, gdy
powiększymy wycinek Polski, punkt przyłożenia będzie centrum tego
wycinka. Stąd nie można przekonwertować (lat,lon) na (x,y) jednorazowo
dla całej bazy, ale taka konwersja będzie wymagana przy odrysowywaniu.
I tu mamy drugi kłopot, bo nie wiadomo jak przyśpieszyć odrysowywanie
przez odrzucenie elementów, całych grup elementów, które nie mieszczą
się na ekranie, bo ekran trzeba by rzutować teraz odwrotnie na
współrzędne geograficzne, a nawet nie będzie prostokątem.