Jak Garmin počítá přímou vzdálenost mezi body

Diskuze o software, který má mnoho společného s touto značkou (MapSource, BaseCamp, POI Loader, WebUpdater a ostatní).

Re: Jak Garmin počítá přímou vzdálenost mezi body

Odeslatod Path » 11.03.09 17:12 (St)

upřesním: globální geodetický referenční geocentrický...

Já jen abychom mluvili o jednom a totéž, protože jsem se v tom ztratil. Opět k poslednímu algoritmu, tj. Vincenty: Shodneme se na tom, že pro Vincenty není nutná transformace souřadnic, protože jak souřadnice, tak výpočet probíhá ve stejném referenčním systému? Naopak je nutná úprava algoritmu pro první dva algoritmy, je tak?
Obrázek uživatele
Path
Site Admin
 
Příspěvků: 3406
Registrace: 15.05.07 23:15 (Út)

Re: Jak Garmin počítá přímou vzdálenost mezi body

Odeslatod zhrd » 12.03.09 9:36 (Čt)

Je to tak. Pokud chci do algoritmu na vypocet vzdalenosti na kouli pouzit geodeticke souradnice, tak je musim nejprve prepocitat na geocentricke.
Konkretne. Jsou-li souradnice (sirky) 50,08667 resp. 50,58655 ve Vasem priklade geodeticke, pak prepoctem ziskam geocentricke 49,89715964 resp. 50,39765097. Jejich dosazenim do vzorce vzdalenosti na kouli dostavam vzdalenost 76692 m pri pouziti polomeru koule R=6378137, tj. ten, ktery pouzivate. Jak jsem psal vyse, na uzemi CR by bylo lepsi pouzit mensi polomer (protoze nelezime na rovniku). Pokud pouziji R=6365416 (vzdalenost Prahy od stredu Zeme), tak dostanu vzdalenost 76539 m, tedy prakticky stejna, jako elipsoidu - coz je pochopitelne, na tak male vzdalenosti nemuze byt rozdil mezi elipsoidem a kouli nijak velky.
zhrd
 
Příspěvků: 104
Registrace: 08.04.08 7:15 (Út)

Re: Jak Garmin počítá přímou vzdálenost mezi body

Odeslatod Path » 13.03.09 10:10 (Pá)

Rozumím, u prvních dvou vzorců ještě provedeme tranformaci souřadnic z geod. na geoc. Tedy jsme se pochopili dobře, ale vrátím se k tomu poloměru na kouli. Pokud uvažujeme obecný výpočet pro polohy na jakémkoli území Země, pak se budeme držet daného poloměru WGS-84 s vědomím, že vypočítaná vzdálenost bude zatížená chybou. To ostatně řeší většina navigačních sw, protože chyba bude pro samotnou navigaci zanedbatelná.

Vy ale uvažujete pro ČR, resp. pro naši zemskou šířku upravený (odpovídající) poloměr Země, čímž dojde k přesnějšímu výsledku. Nebylo by tedy vhodnější napsat funkci, která by pro každou šířku použila odpovídající poloměr? Máte k dispozici poloměry i pro ostatní zemské šířky, resp. vyjádření jejich vzájemného vztahu?
Obrázek uživatele
Path
Site Admin
 
Příspěvků: 3406
Registrace: 15.05.07 23:15 (Út)

Re: Jak Garmin počítá přímou vzdálenost mezi body

Odeslatod zhrd » 14.03.09 8:54 (So)

Jiste. Oznacme f zemepisnou sirku daneho bodu na povrchu elipsoidu a velkou poloosou a a malou poloosou b. Pak vzdalenost r tohoto bodu od stredu elipsoidu je r=a*√[(1-s*(2-s)*sin2(f))/(1-s*sin2(f))], kde s=1-b2/a2. Protoze s je blizke nule (pro WGS84 0,00669438), lze vztah pro vzdalenost zjednodusit na r=a*√(1-s*sin2(f)) s chybou maximalne 35 m. Pro vypocet vzdalenosti zbyva rozhodnout, jakou sirku dosadit. Mozna by bylo nejlepsi vzit prumer sirek obou krajnich bodu (tj. sirku bodu na polovine vzdalenosti). Ne, ze by to melo nejaky vyznamny vliv na presnost, ale aspon by se vzdalenost nemenila podle toho, ktery bod vezmu jako prvni.
zhrd
 
Příspěvků: 104
Registrace: 08.04.08 7:15 (Út)

Předchozí

Zpět na Garmin: Software

Kdo je online

Online uživatelé v tomto fóru: CommonCrawl [Bot] a 1 návštěvník.