-
1. Data: 2009-11-13 15:10:13
Temat: przeliczanie wspolrzednych GPS
Od: m...@w...pl
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.
2. a moze sa jakies gotowe biblioteki do zlinkowania do kompilatora C
(w ktorym bylby ewentu. pisany sofcik)?
3. przeliczanie co kilka sekund pary wspolrzednych.
macie jakies pomysly?
-
2. Data: 2009-11-13 15:47:14
Temat: Re: przeliczanie wspolrzednych GPS
Od: MKi <e...@t...op.pl>
m...@w...pl pisze:
> 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.
>
> 2. a moze sa jakies gotowe biblioteki do zlinkowania do kompilatora C
> (w ktorym bylby ewentu. pisany sofcik)?
>
> 3. przeliczanie co kilka sekund pary wspolrzednych.
>
> macie jakies pomysly?
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-End
P.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
-
3. Data: 2009-11-13 20:14:46
Temat: Re: przeliczanie wspolrzednych GPS
Od: J.F. <j...@p...onet.pl>
On Fri, 13 Nov 2009 16:10:13 +0100, m...@w...pl wrote:
>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.
No to zwykly Pitagoras sie chyba nada.
A jak chcesz dokladnie to
http://en.wikipedia.org/wiki/Haversine_formula
>2. a moze sa jakies gotowe biblioteki do zlinkowania do kompilatora C
>(w ktorym bylby ewentu. pisany sofcik)?
cosinus i pierwiastek bedzie potrzebny.
J.