geocaching.hu geocaching.hu FAQ/cachikett
   + geoládák ~  |  + megtalálások ~  |  + felhasználók ~  |  + poi ~   |   fórum    |   belépés
  
  
  
 
FAQ
Előzmények

gustyhozzászólásai | válasz erre | 2014.04.02 08:21:48 (2860)
Örülök, hogy beleszólsz, miközben nem érted miről van szó. :(

A beszélgetésnek nem az volt a lényege, hogy kinek a centije pontosabb, vagy nagyobb. Az elmélet tisztázása volt a cél, mert az én számításaim mást mutattak. Nem jobbat, nem rosszabbat, mást. Szerettem volna tisztázni a két számítás közti különbséget, hogy egyformán számoljunk. Nekem teljesen mindegy hogy számol a kupa program, csak szeretném a saját programomat összhangba hozni vele, hogy ugyanazt mutassa.

Tudom, most jön az, hogy lehetne magánban. Viszont van még egy-két játékostársunk aki szeret saját alkalmazásokat bütykölni, s őket is érdekelheti a pontos algoritmus.
[előzmény: (2858) Old Eye, 2014.04.02 06:27:42]

Old Eyehozzászólásai | válasz erre | 2014.04.02 06:27:42 (2858)
Uraim! Nem mentünk bele túl mélyen az erdőbe?


$lat1=47.42929489351809;
$lon1=19.09259894862771;


Értelmetlen ez a sok tizedesjegy, mert a túrázók/geoládázók GPS kütyüinek pontosságát 3-4 méternek vehetjük. Ezért mondjuk mi, térképszerkesztôk: Egy track nem track. Akkor vagyunk csak elégedettek, ha egy útvonal alatt kötegnyi track húzódik, a nyomvonalak átlagolásával húzzuk meg az út vonalát, de akkor se tartjuk azt abszolút pontosnak, de elegendőnek.
Lay-nak talán ki kellene egészíteni algoritmusát szórással. Ha a húsz méterről beszélünk, az mondjuk 18.5-21.5 m, azaz ha a számított távolság kisebb 18.500000 méternél, biztos 20 m-nél rövidebb, ha nagyobb 21.500000 méternél, biztos 20 m-nél hosszabb, ha a két érték közé esik, az éppen 20 m :-)
[előzmény: (2857) gusty, 2014.04.01 23:56:14]

gustyhozzászólásai | válasz erre | 2014.04.01 23:56:14 (2857)
Hoppá!

Ugyanazt a képletet használjuk, csak ezek szerint én nagyobb pontossággal.
Mivel méterben számolom a távot, nekem az 111180 a szorzó.
Talán még az is belejágyszik az eltérésbe, hogy én az átváltásokat is SQL függvénnyel oldom meg.
Nálam így 3 cm alatti az eltérés, s így jön ki a 20 méter feletti a távolság. :)

SQL:

SELECT MIN(DEGREES(acos(SIN(RADIANS(lat))*SIN(RADIANS(".$gc->lat."))+COS(RADIANS(lat))
*COS(RADIANS(".$gc->lat."))*COS(RADIANS(lon-".$gc->lon."))))*111180) AS tav FROM track_data
[előzmény: (2856) LaySoft, 2014.04.01 20:39:23]

LaySofthozzászólásai | válasz erre | 2014.04.01 20:39:23 (2856)
Az eltérés abból adódik, hogy a pontos Vincenty formulát a track teljes hosszának kiszámításához használom. A ládáknak a track pontjaihoz viszonyított távolságát sql-el számolom, ezért egy lényegesen egyszerűbb és nem olyan pontos képletet használok erre a célra:

(((acos(sin(<lat1>*PI()/180)*sin(<lat2>*PI()/180)+cos(<lat1>*PI()/180)*cos(<lat2>*PI()/180)*cos(<lon1>*PI()/180-<lon2>*PI()/180)))*180*60/PI())*1.85)

Nem állt szándékomban a Vincenty formula sql-ben történő megvalósításával szenvedni.

Az eltérés így most:

20.080707244277 - 19.9867983700548 = 0.0939088742222 = kb. 9.4 cm.

Úgy gondolom belefér. Ha valakit zavar, akkor az adminnál reklamálhat, ő mindenható, akár 0 hosszú track-et 0 ponttal is elfogadhat, ill. le is húzhat bármit.

Egyébként először a track teljes hosszának számításához is a fenti képletet használtam, de mivel komoly eltérések jöttek ki egyéb programok által számolt távolságokhoz képest (összeadódtak a hibák), ezért néztem utána egy pontos képletnek, és így leltem a Vincenty formulára.
[előzmény: (2855) gusty, 2014.04.01 14:02:43]

gustyhozzászólásai | válasz erre | 2014.04.01 14:02:43 (2855)
Valami nekem továbbra sem stimmel.

Van a hétvégi trackemben egy pont (GCGULT-2), amit a kupa szoftvere elfogad, 0.0199867983700548 értékkel, de nekem az általad linkelt képlettel is 20 feletti érték jön ki.
Nem a pontos érték izgat, hanem jó lenne, ha reprodukálni tudnám a kupa program által számított értékeket.

Én ezekkel számoltam:
Legközelebbi trackpont:
$lat1=47.42929489351809;
$lon1=19.09259894862771;
GCGULT-2:
$lat2=47.42928333;
$lon2=19.09233333;
Eredmény: 20.080707244277
[előzmény: (2842) LaySoft, 2014.03.31 17:01:11]

LaySofthozzászólásai | válasz erre | 2014.03.31 17:01:11 (2842)
Ezt a módszert használom:

http://en.wikipedia.org/wiki/Vincenty%27s_formulae

Konkrétan ezt a megvalósítását:

http://forums.mysql.com/read.php?23,85608,170800

Ez nem egy R értékkel számol, vagyis nem gömbnek, hanem ellipszoidnak tekinti a Földet. Mivel a kupa nem egy geodéziai szoftver, szerintem ez elég pontos erre a célra.
[előzmény: (2841) gusty, 2014.03.31 16:29:51]

gustyhozzászólásai | válasz erre | 2014.03.31 16:29:51 (2841)
Egyébként lehetne a távolságszámítási algoritmust pontosítani? Nekem kicsit más számok jönnek ki, de ez származhat a képletből, R-ből is.
[előzmény: (2840) gusty, 2014.03.31 12:38:15]

gustyhozzászólásai | válasz erre | 2014.03.31 12:38:15 (2840)
A kérdés pont erre vonatkozott. Nem ismerte a számítási metódust.
[előzmény: (2839) LaySoft, 2014.03.31 10:44:00]

LaySofthozzászólásai | válasz erre | 2014.03.31 10:44:00 (2839)
Nem értem a kérdésed.

A program kiszámolja a legkisebb téglalapot, amibe belefér a track. Ezt a téglalapot megnöveli 30-30 méterrel mind a négy irányba és ebbe a téglalapba eső ládákat vizsgálja, hogy 20 méteren belül vannak-e a track nyomvonalához viszonyítva.
[előzmény: (2838) Gábor75, 2014.03.30 20:11:16]

Gábor75hozzászólásai | válasz erre | 2014.03.30 20:11:16 (2838)
Ami pont 20 méteren kívül esik, annak mi a másik határa? Mennyire kell megközelíteni ahhoz hogy az "elutasított" cimkét megkapja? Szerintem 100 méteren túl nem lenne értelme jelölni ezeket a pontokat.
[előzmény: (2837) LaySoft, 2014.03.30 19:45:35]

LaySofthozzászólásai | válasz erre | 2014.03.30 19:45:35 (2837)
Most futtattam le az elfogadhatóság ellenőrzését az összes track-en. 13-at elutasított, megnéztem, jogos mindegyik, de azért ellenőrizze mindenki a sajátját!


Bejelentkezés név:  jelszó:   [regisztráció]

Felhasználónevedet és jelszavadat a turistautak.hu oldalon is használhatod!

[fejlesztési ötletek] [grafikonok] [szavazások] [jogi tudnivalók] [e-mail] [impresszum]

A geocaching.hu megnevezés és a kapcsolódó logo bejegyzett védjegy.
Kereskedelmi célú felhasználásuk csak a tulajdonosok hozzájárulásával lehetséges.