Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Konwertowanie współrzędnych
Forum PHP.pl > Forum > PHP
chomiczek
Witam, mam problem z konwersją danych dla api maps google..
Dane jakimi dysponuję są w formacie:
51N52'28" 18E55'42" , niestety muszę je przekonwerterować do postaci: 51.8744,18.9283

ktoś wie jak to zrobić?

wystarczy zrobić to ze zwykłej proporcji typu:
60 do 100 ma się tak jak 52 do 84??
thek
1 stopień to 60 minut, a 1 minuta to 60 sekund, czyli masz proste mnożenie minut razy 1/60 i sekund razy 1/3600, zsumować... Prosta matma wink.gif By zaś nie bawć się przy całości z przeliczaniem każdego osobno lub sprowadzaniem do wspólnego mianownika... możesz przemnożyć liczbę minut przez 60, dodać sekundy i podzielić przez 3600. Ostateczny więc wzór to:
Google = stopnieGeo + (minutyGeo*60 + sekundyGeo)/3600;
gdzie symbole to:
stopnieGeo(N, E, W, S) minutyGeo ' sekundyGeo "

EDIT: Dla przykładowego 51N52'28" 18E55'42"
51N52'28" = 51 + 52/60 + 28/3600 = 51 + ( 52*60 + 28 ) /3600 = 51 + 3148/3600 = 52,874444
18E55'42" = 18 + (55*60+42)/3600 = 18,928333
no_face
Mozesz to w bardzo prosty sposob rozwiazac, konwertujac to np tak:

51N52'28

przeliczajac 28 sec na czesci dziesietne czyli

28 / 60 = 0.46(6)

dodajmy do min czyli 52 + 0.46(6) = 52.46(6)

teraz z proporcji

52.46(6) do 60 tak jak
x do 1

czyli

Kod
52.46(6)       x
---------   = ---
60             1


po przekatnej

52.46(6) * 1 = 60x co daje
x = 0.8744

dorzuc z przodu 51 i masz 51.8744




To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.