In article <[EMAIL PROTECTED]>, 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.)

Might need some corrections, but the idea should be clear: 

function degrees2compass($degrees)
{ 
    $compass = array('N', 'NNW', 'NNE', 'NE', ...);
    $index = $heading_degrees / sizeof($compass);
    return $compass[$index];
}

Or you could use a switch

-- 
Tim Van Wassenhove <http://home.mysth.be/~timvw>

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to