przeliczanie wspolrzednych GPS

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?

Reply to
mayonez
Loading thread data ...

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

Reply to
MKi

No to zwykly Pitagoras sie chyba nada.

A jak chcesz dokladnie to

formatting link

cosinus i pierwiastek bedzie potrzebny.

J.

Reply to
J.F.

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.