eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaprzeliczanie wspolrzednych GPS › Re: przeliczanie wspolrzednych GPS
  • Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.onet.pl!not-for-mail
    From: MKi <e...@t...op.pl>
    Newsgroups: pl.misc.elektronika
    Subject: Re: przeliczanie wspolrzednych GPS
    Date: Fri, 13 Nov 2009 16:47:14 +0100
    Organization: http://onet.pl
    Lines: 49
    Message-ID: <hdjv1t$rii$1@news.onet.pl>
    References: <8...@4...com>
    NNTP-Posting-Host: host-94-231-57-79.ip.jarsat.pl
    Mime-Version: 1.0
    Content-Type: text/plain; charset=UTF-8; format=flowed
    Content-Transfer-Encoding: 8bit
    X-Trace: news.onet.pl 1258127229 28242 94.231.57.79 (13 Nov 2009 15:47:09 GMT)
    X-Complaints-To: n...@o...pl
    NNTP-Posting-Date: Fri, 13 Nov 2009 15:47:09 +0000 (UTC)
    User-Agent: Thunderbird 2.0.0.23 (Windows/20090812)
    In-Reply-To: <8...@4...com>
    Xref: news-archive.icm.edu.pl pl.misc.elektronika:575568
    [ ukryj nagłówki ]

    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

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

  • 13.11.09 20:14 J.F.

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: