login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Afstand berekening via Bessel formule

Offline marten - 18/06/2011 06:34 (laatste wijziging 18/06/2011 06:44)
Avatar van martenBeheerder Beste, ik heb onderstaande functie gemaakt welke de Bessel formule moet voorstellen. Deze formule zou op de millimeter nauwkeurig een afstand kunnen bepalen. Echter kom ik op een verschil van ~ 1 km 

Ziet iemand de fout?

  1. $aLiefhebberLat = 523946.4;
  2. $aLiefhebberLong = 053623.7;
  3.  
  4. // Beoogd 278.412 en ik krijg 278.693
  5.  
  6. $aLosplaatsLat = 502707.4;
  7. $aLosplaatsLong = 034331.2;
  8. // omrekeningen naar boog
  9. $aLiefhebberLat = 52 + (39/60) + (46.4/3600);
  10. $aLiefhebberLong = 5 + (36/60) + (23.7/3600);
  11. // omrekeningen naar boog
  12. $aLosplaatsLat = 50 + (27/60) + (7.4/3600);
  13. $aLosplaatsLong = 3 + (43/60) + (31.2/3600);
  14.  
  15. function afstand ( $long1, $lat1, $long2, $lat2 ) {
  16. $k1 = pi() / 180;
  17. $f1 = 0.99664718933525;
  18. $b1 = 6378137;
  19.  
  20. $e1 = 6.7394967422767E-03;
  21. $b2 = ($lat1 + $lat2) / 2;
  22. $l1 = ($long2 - $long1);
  23. $n1 = pow($e1 * cos($b2 * $k1), 2);
  24. $v1 = pow((1 + $n1), 0.5);
  25. $v2 = $b1 / $v1;
  26. $l2 = $l1 * $v1;
  27.  
  28. $w1 = atan($f1 * tan ( $lat1 * $k1 ));
  29. $w2 = atan($f1 * tan ( $lat2 * $k1 ));
  30.  
  31. $s1 = sin($w1) * sin($w2) + cos($w1) * cos($w2) * cos($l2 * $k1);
  32. $afstand = ( atan(-$s1 / sqrt(-$s1 * $s1 + 1 ) ) + 2 * atan( 1 ) ) * $v2;
  33.  
  34. return $afstand;
  35. }

2 antwoorden

Gesponsorde links
Offline avdg - 20/06/2011 02:12
Avatar van avdg PHP gevorderde Zelf te weinig kaas gegeten over deze berekeningen, maar zelf met een goede wiskundige functie is het lastig een precisie tot op de millimeter te krijgen en denk dat ongeveer 1 km eigenlijk al heel nauwkeurig is. De enige manier om nog preciezer te gaan is data over de aarde zelf te gaan gebruiken.
Offline Maarten - 20/06/2011 14:55
Avatar van Maarten Erelid Duivensport? 

Ik zou het over een andere boeg gooien:
http://briancra...e-maps-api/

Google zal dat wel redelijk accuraat weten, aangezien zij effectief data over de aarde gebruiken.
Gesponsorde links
Je moet ingelogd zijn om een reactie te kunnen posten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.256s