Here's a quick script I wrote for it: <?php
$deg = $_GET['deg']; // get from URL, for testing atm
$deg %= 360; // make sure it doesn't break on eg 560 degrees
$deg = ((ceil(($deg-22.5)/45))*45+22.5); // break it up into parts we know, there might be an easier way though, just too tired to see it.
switch($deg) {
case 22.5:
echo 'W';
break; case 67.5:
echo 'NW';
break; case 112.5:
echo 'N';
break; case 157.5:
echo 'NE';
break; case 202.5:
echo 'E';
break; case 247.5:
echo 'SE';
break; case 292.5:
echo 'S';
break; case 337.5:
echo 'SW';
break; default:
echo 'W';
break;
}
?>
Ren� fournier wrote:I have to write a little function to convert a direction from degrees to a compass -type heading. 0 = West. 90 = North. E.g.:
from: 135 degrees
to: NW
Now, I was planning to write a series of if statements to evaluate e.g.,
if ($heading_degrees < 112.5 && $heading_degrees > 67.5) { $heading_compass = "N"; }
The works, but it will require
N, NNW, NNE, NE, NW, ENE, NWW... many IF statements.
Can anyone think of a programatically more elegant and efficient way of converting this type of data? (I suppose this is not really a problem, just a curiosity.)
...Rene
-- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php

