przeliczanie wspolrzednych GPS

Nov 13, 2009 2 Replies

Czesc,



chcialbym za pomoca malego procka (pic, atmel itp) wyliczyc odleglosc pomiedzy dwoma punktami otrzymanymi z odbiornika GPS.


  1. wzory nie musza byc super dokladne i nie musza uwzgledniac np. krzywizny Ziemi itp. poniewaz pary wspolrzednych sa oddalone od siebie o kilka-kilkanascie-kilkadziesiat kilometrow. Ale jezeli zawezilibysmy odleglosci do kilku kilometrow, to aby blad obliczen nie byl wiekszy niz 50 m.


  1. a moze sa jakies gotowe biblioteki do zlinkowania do kompilatora C (w ktorym bylby ewentu. pisany sofcik)?

  2. przeliczanie co kilka sekund pary wspolrzednych.

macie jakies pomysly?


snipped-for-privacy@wp.pl pisze:

Kiedyś popełniłem programik, który między innymi wyliczał to, o co Ci chodzi. Zastosowałem wzór wygrzebany w sieci. Programik jest w Delphi - jeśli Ci to nie przeszkadza, oto funkcja:

//------------------------------------------------ // Oblicz odległość między dwoma punktami w poziomie // StartP, EndP zawierają współrzędne GPS w stopniach * 1000000

function CalcDistance(StartP,EndP:TPoint) : double ; var a,b : double ; begin a := (StartP.Y-EndP.Y)*0.11112 ; a := a * a ; b := cos(StartP.Y/0.00005729746936)*0.11112*(StartP.X-EndP.X) ; b := b * b ; Result := Sqrt(a+b) ; end ;

Wynik bodajże w metrach. Funkcja nie uwzględnia wysokości obu pozycji - ale to można już bardzo łatwo uwzględnić ;) Dla moich potrzeb działało bardzo ładnie.

Myślę, że przepisanie tego w C i zaimplementowanie w dowolny mikroprocesor nie powinno sprawić problemu.

Pozdrowienia, MKi

No to zwykly Pitagoras sie chyba nada.

A jak chcesz dokladnie to

formatting link

cosinus i pierwiastek bedzie potrzebny.

J.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required