GPX-ből emelkedés / süllyedés számítás

Fórumok

Próbálunk rájönni, hogy mi alapján és hogy számolnak olyan oldalak, mint bikemap.net, vagy a gpsies.com magassági adatokat. Ez azért érdekes, mert egy adott útvonalra bikemap (http://www.bikemap.net/route/294543) ~1220 métert ír emelkedésre, GPSies ~1340-et, a GPS-em barometrikus magasságmérője meg ~1500-at.

Írtunk egy kis programot, ami összehasonlítja két koordináta magassági adatait, majd azt vagy az emelkedéshez, vagy a süllyedéshez sorolja, ~2000 méter emelkedés jött ki. Itt mondjuk kis google után találtunk egy olyan információt, hogy a rossz vételi lehetőségeknél un. "tüskék" jelennek meg a log-ban, 100 méteres eltéréssel. Ha ezeket ki is szűrjük, a két másik oldal közti különbség és a GPS által mért adatok közt még így is hibahatáron kívüli az eltérés.

Az oldalak más algoritmus szerint dolgoznak, az elég valószínű. Hogyan lehetne közelíteni az adatok alapján a számított és a valós értékeket, viszonylag gyors számítással?

Olyanok jutottak eszembe, hogy két pont közti ~10 méteres eltérés vételi hiba, eldobjuk, vagy hogy ha sokáig egy bizonyos koordináta-sugáron belül tartózkodik a GPS (álló helyzet), akkor az ahhoz tartozó magassági adatokat ne vegye figyelembe, szintén a pontatlanság miatt.

Hozzászólások

http://www.earthtools.org/webservices.htm#height

"The terrain model used to find heights above sealevel is from the Shuttle Radar Topography Mission (SRTM) which was a joint project between the US National Geospatial-Intelligence Agency (NGA) and the National Aeronautics and Space Administration (NASA). Data was recorded for 11 days from the Space Shuttle Endevour from 11th February 2000. The data used here is at a resolution of 3 arc seconds (approximately 90m)."

hali!

a fenti optimalizációkon túl esetleg még azt is megteheted hogy X értékenként csinálsz egy átlagot, és ezekkel az átlagokkal dolgozol... így "simítod" a görbét, ezzel is csökkentve a pontatlanságból adódó hibát, azér gondolom hogy ezt megtehetjük, mer a magasság nem olyan mint a szélesség / hosszúság h 1* csak élesen bekanyarodsz a sarkon, hanem időben (aránylag) kicsi a változása

Nem annyira bonyolult, mint a neve.

Az adatsoron végigtolsz egy fix méretű ablakot ( gyakorlatilag veszed a [0,x], [1,x+1], [2,x+2] ...) helyeken felvett értékeket, ezeket pedig súlyozod egy megfelelően parametrizált Gauss függvénnyel, majd egy kis korrigálás után ( hogy az összértékek ugyanazok legyenek ) az ablak középpontján lévő értéket átírod az újra.

Mi a lényege ennek : A középpont ( aktuálisan simítandó pont ) új értékét nagyobb súllyal befolyásolja a középpontban felvett mért érték, mint a mellette lévők, majd azok mellett lévők, és így tovább.

nem a GPX-ből veszik a magasságot, hanem megnézik, hogy adott ponthoz milyen magasság tartozik (saját adatbázisuk szerint, ami ugye pontatlan lehet, pl. az Írott-kő magasságát is helytelenül ismerik), aztán abból számolják.

(pontosabban a GPS-el is megállapítható magasság, azonban ez nem pontos, mivel a föld nem tökéletesen gömbölyű, stb.)

_________________________
Hogyan?

"pontosabban a GPS-el is megállapítható magasság, azonban ez nem pontos, mivel a föld nem tökéletesen gömbölyű, stb."

Na álljunk meg egy picit.
GPS-szel a műholdaktól vett távolságot mérjük.

Térben 3 tetszőlegesen választott nem egy egyenesen vett ponttól mért távolság kétértelműen meghatározza a pozíciónkat. Feltételezve, hogy a műholdaktól a Földhöz közelebb vagyunk, és nem távolabb, a megoldás egyértelmű.

A GPS rendszer minimum 4 műholddal dolgozik, de a távolságmérés pontatlan. A föld formája viszont a pozíció meghatározásának szempontjából indifferens.

Két kérdésem lenne a hozzáértőkhöz:
- honnan veszitek, hogy a magasságmérés pontatlanabb, mint a másik két adat?
- ha így van, mi ennek az oka?

"...handing C++ to the average programmer seems roughly comparable to handing a loaded .45 to a chimpanzee."
-- Ted Ts'o

a GPS magasságmérés a föld középpontjához képesti magasság (mivel a műholdak a körül keringenek), viszont a föld geoid alakú, ahol bizonyos pontok közelebb míg mások távolabb vannak a középtől, de a jelenlegi magassági méréseink (tengerszint) ezt nem veszik figyelembe.

tehát hiába van GPS által meghatározott magasságod, az nem jó, mert az ottani 0 nem vetíthető le tengerszintre, mivel a tengerszint mindig más a műholdak szemében.

tehát a magasságmérés se pontatlan, csak nem használható 1:1-ben, mivel olyna ponttól méri a magasságot, amit fixnek vesz, azonban a föld nem gömbölyű.

neten rákeresve sok infot megtudhatsz.

_________________________
Hogyan?

azt nem tudom mit ír, de csak a műholdakból nem lehet ilyet megállapítani 8pontosan): Valószínűleg ott már WGS84 feletti magasságról van szó, ami már megközelítőleg pontos, de még nem az igazi.

http://www.agt.bme.hu/staff_h/varga/gps/kezdoknek.html

_________________________
Hogyan?

(Neten kerestem, nem találtam, ha linket tudsz adni, megköszönöm.)

Ok, tegyük fel, hogy így van. Ha viszont a föld középpontjától mért távolságaik jók, akkor a szintkülönbségi adatok pontosak kéne hogy legyenek. Vagy nem?

"...handing C++ to the average programmer seems roughly comparable to handing a loaded .45 to a chimpanzee."
-- Ted Ts'o

a) mindentudasegyetem vagy hogy hítták, azon volt egy előadás a gps-ről
b) keresd a tuhun/gchu-n jekaeff-et, neki pl. van ilyen progija lazarus-ban, ami ilyeneket is csinál, asszem forrással együtt tölthető (de elkérni lehet tőle), nekem mást amit megcsinált, abból a forrást is elküldte.

Köszönöm mindenkinek a segítséget.

Nem gondoltam volna, hogy ez ennyi számítással jár, azt hittem jóval egyszerűbb. Nem akarok nagyon pontos számításokat, a GPS tulajdonságai miatt nem is lehet, csak annyit, hogy a magassági adatok nagyjából tükrözzék a valóságot. Olyasmi grafikont szeretnék létrehozni, mint ami a bikemap-en található.

Lehet, hogy ők ezt úgy oldják meg, hogy minden koordinátához lekérdezik a térképen lévő magassági adatokat és nem szórakoznak a GPX-ben lévő adatokkal? Az magyarázat lenne az általam GPS-szel mért és a feltöltött adatok közti különbségre és a vételi zavarokat is kizárja, de alapvetően nem elég pontos és talán lassú is lehet.

Az lehet a legjobb megoldás, ha pár teszt méréssel felvértezve elkezdem megvalósítani mindkét, a GPX-es és a térkép alapú számítást, majd amelyik nagyjából korrekt eredményt ad, azt alkalmazni.