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: (2853) gusty, 2014.04.01 14:02:43] |