Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Obliczanie odległości na podstawie GPS.
zaajcu
post
Post #1





Grupa: Zarejestrowani
Postów: 206
Pomógł: 3
Dołączył: 18.08.2011
Skąd: Chrzanów

Ostrzeżenie: (0%)
-----


Cześć wszystkim.
Mam mały problem z obliczeniem odległości między 2 pkt na podstawie danych z GPS.

Znalazłem jak to policzyć http://www.elektronikjk.republika.pl/f7.html ale mam mały problem mianowicie:

szerokość jak i długość geograficzną podajemy z kierunkiem świata (W S E N ) a to co jest tam podane nie bierze tego pod uwagę.

np GPS 5° 12' 59" E lub 5° 12' 59" W jak to zamienimy na stopnie to mamy dokładnie ten sam wynik a odległość miedzy tymi wsp z taką samą szerokością da nam rożne wyniki.
Może ktoś z was spotkał jakąś funkcje którą rozwiązuje ten problem lub jakąś klasę?

Będę wdzięczny za pomoc (IMG:style_emoticons/default/wink.gif)

Pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
L00zak
post
Post #2





Grupa: Zarejestrowani
Postów: 58
Pomógł: 5
Dołączył: 2.05.2006

Ostrzeżenie: (0%)
-----


Panowie, działa to fajnie jeśli chodzi o liczenie odległości w linii prostej (ulice można zamienić na kody pocztowe).

Lecz jak to zmodyfikować, aby google api wyznaczyło trasę i pokazało ilość km do przebycia?

  1. <?
  2. $addressG = 'http://maps.google.com/maps/geo?output=json&oe=utf-8';
  3. $addressG.='&q='.urlencode('mickiewicza, katowice, Poland');
  4. $page = file_get_contents($addressG);
  5. $ar = json_decode($page,true);
  6. //print_r($ar);
  7. $addressG = 'http://maps.google.com/maps/geo?output=json&oe=utf-8';
  8. $addressG.='&q='.urlencode('mickiewicza, poznań, Poland');
  9. $page = file_get_contents($addressG);
  10. $ap = json_decode($page,true);
  11. // print_r($ar);
  12. $szgeo1=$ar['Placemark'][0]['Point']['coordinates'][1];
  13. $dlgeo1=$ar['Placemark'][0]['Point']['coordinates'][0];
  14. $szgeo2=$ap['Placemark'][0]['Point']['coordinates'][1];
  15. $dlgeo2=$ap['Placemark'][0]['Point']['coordinates'][0];
  16. $dystans = round (rad2deg(acos(sin(deg2rad($szgeo1)) * sin(deg2rad($szgeo2)) + cos(deg2rad($szgeo1)) * cos(deg2rad($szgeo2)) * cos(deg2rad($dlgeo1 - $dlgeo2)))) * 111.18957696);
  17. //echo $ar['Placemark'][0]['Point']['coordinates'][0];
  18.  
  19. echo $dystans;
  20. ?>


se sobie poradziłem:) dla potomności:

http://maps.googleapis.com/maps/api/distan...on?origins=Łódź, Kongresowa 3&destinations=Łódź, Piotrkowska 120&language=pl-PL&sensor=false

Ten post edytował L00zak 29.12.2012, 20:36:37
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 26.12.2025 - 08:31