função de distancia latlong

2
static function distanciaPontosGPS($p1LA, $p1LO, $p2LA, $p2LO) { //$p1LA Latitude do primeiro ponto //$p1LO Longitude do primeiro ponto //$p2LA Latitude do segundo ponto //$p2LO Longitude do segundo ponto $r = 6371.0; // Constante aí  $p1LA = $p1LA * pi() / 180.0; $p1LO = $p1LO * pi() / 180.0; $p2LA = $p2LA * pi() / 180.0; $p2LO = $p2LO * pi() / 180.0;  $dLat = $p2LA - $p1LA; $dLong = $p2LO - $p1LO;  $a = sin($dLat / 2) * sin($dLat / 2) + cos($p1LA) * cos($p2LA) * sin($dL ong / 2) * sin($dLong / 2); $c = 2 * atan2(sqrt($a), sqrt(1 - $a));  return round($r * $c * 1000); } // pi() = pi // sin = seno // cos = coseno // sqrt = raiz // atan2 = Tangente inversa de duas variáveis // round = arredondamento

Upload: jambo

Post on 16-Feb-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

7/23/2019 Função de Distancia Latlong

http://slidepdf.com/reader/full/funcao-de-distancia-latlong 1/1

static function distanciaPontosGPS($p1LA, $p1LO, $p2LA, $p2LO) {

//$p1LA Latitude do primeiro ponto//$p1LO Longitude do primeiro ponto//$p2LA Latitude do segundo ponto//$p2LO Longitude do segundo ponto

$r = 6371.0; // Constante aí $p1LA = $p1LA * pi() / 180.0;$p1LO = $p1LO * pi() / 180.0;$p2LA = $p2LA * pi() / 180.0;$p2LO = $p2LO * pi() / 180.0; $dLat = $p2LA - $p1LA;$dLong = $p2LO - $p1LO; $a = sin($dLat / 2) * sin($dLat / 2) + cos($p1LA) * cos($p2LA) * sin($dL

ong / 2) * sin($dLong / 2);$c = 2 * atan2(sqrt($a), sqrt(1 - $a)); return round($r * $c * 1000);

}

// pi() = pi// sin = seno// cos = coseno// sqrt = raiz// atan2 = Tangente inversa de duas variáveis// round = arredondamento