File "direc.php"
Full path: /www/ansys/ttest/sample/direc.php
File size: 2 KiB (2048 bytes)
MIME-type: text/x-php
Charset: utf-8
<?php
//public static int getDirection(double lat1_, double lon1_, double lat2_, double lon2_)
//{
// final double PI = 3.141592653589793;
// double lonDiff = lon2_ - lon1_;
// double latDiff = lat2_ - lat1_;
// double azimuth = (PI * 0.5f) - Math.atan(latDiff / lonDiff);
// if (lonDiff > 0)
// {
// double direction = rad2deg(azimuth);
// if (direction < 0)
// direction = 360 - direction;
// return (int)direction;
// }
// else if (lonDiff < 0)
// {
// double direction = rad2deg(azimuth + PI);
// if (direction < 0)
// direction = 360 - direction;
// return (int)direction;
// }
// else if (latDiff < 0)
// {
// double direction = rad2deg(PI);
// if (direction < 0)
// direction = 360 - direction;
// return (int)direction;
// }
// return 0;
//}
function getDirection($lat1_, $lon1_, $lat2_, $lon2_)
{
$pi = "3.141592653589793";
$londiff = $lon2_ - $lon1;
$latdiff = $lat2_ - $lat1;
$azimuth = ($pi * 0.5) - atan($latdiff / $londiff);
if ($londiff > 0)
{
$direction = rad2deg($azimuth);
if ($direction < 0)
$direction = 360 - $direction;
return $direction;
}
else if ($londiff < 0)
{
$direction = rad2deg($azimuth + $pi);
if ($direction < 0)
$direction = 360 - $direction;
return $direction;
}
else if ($latdiff < 0)
{
$direction = rad2deg($pi);
if ($direction < 0)
$direction = 360 - $direction;
return $direction;
}
return 0;
}
function getDirection2($lat1_, $lon1_, $lat2_, $lon2_)
{
$pi = "3.141592653589793";
$y = cos($lon2_ * $pi / 180) * sin($lat2_ * $pi / 180 - $lat1_ * $pi / 180);
$x = cos($lon1_ * $pi / 180) * sin($lon2_ * $pi / 180) - sin($lon1_ * $pi / 180) * cos($lon2_ * $pi / 180) * cos($lat2_ * $pi / 180 - $lat1_ * $pi / 180);
$dirE0 = 180 * atan2($y, $x) / $pi;
if ($dirE0 < 0)
$dirE0 = $dirE0 + 360;
$dirN0 = ($dirE0 + 90) % 360;
return $dirN0;
}
$dirc = getDirection(36.90711224, 139.93543065, 36.90701913, 139.93548388);
$dirc2 = getDirection2(36.90701913, 139.93548388, 36.90711224, 139.93543065);
print $dirc. "<br />";
print $dirc2. "<br />";
?>