Haversine formula ovvero calcolare la distanza tra due punti su una sfera

13 Jan in php, programmazione

La Haversine formula o in italiano formula dell'emisenoverso è una formula in trigonometria sferica utile alla navigazione per calcolare le distanze tra due punti su una sfera (tipo la Terra :) )

Vi rimando alla pagina di wikipedia http://en.wikipedia.org/wiki/Haversine_formula

Questa formula mi sarebbe stata utile tempo fa per calcolare in modo corretto le distanze tra due coordinate geografiche fornite sotto forma di latitudine e longitudine.

Di seguito il cocide php per il calcolo:

function getDistanceBetweenPointsNew($latitude1, $longitude1, $latitude2, $longitude2, $unit = 'Mi') {
$theta = $longitude1 - $longitude2;
$distance = (sin(deg2rad($latitude1)) * sin(deg2rad($latitude2))) +
(cos(deg2rad($latitude1)) * cos(deg2rad($latitude2)) *
cos(deg2rad($theta)));
$distance = acos($distance);
$distance = rad2deg($distance);
$distance = $distance * 60 * 1.1515;
switch($unit) {
case 'Mi': break;
case 'Km' : $distance = $distance * 1.609344;
}return (round($distance,2));
}

fonte :http://marketingtechblog.com/technology/calculate-distance/

Login
View Damiano Gregori's profile on LinkedIn
drupal
Creative Commons
Web Page Rank Icon
Technology Blogs - Blog Catalog Blog Directory
SiteUptime Web Site Monitoring Service

Recent comments

  • brao
    28 weeks 14 hours ago

User login

Connect
Sign in using Facebook

Home | About Us | Site Map | Copyright © 2010 Intu.it . All Rights Reserved.