On 23/01/13 16:32, Margherita Di Leo wrote:
On Wed, Jan 23, 2013 at 2:54 PM, Moritz Lennert wrote:

    On 23/01/13 13:59, Margherita Di Leo wrote:
        Actually this was tricky also for me, but:

        Wind direction is measured in:

             *

               degrees clockwise from uphill (direction the wind is
        pushing the fire)

             *

               degrees clockwise from North (direction the wind is
        blowing from)

        If the wind is blowing FROM north, it means that the arrow is
        TOWARDS
        south.. Am I wrong?


    I guess not, but this is a very specific application of angle
    direction. I think that if you want to create a generic module
    (r.convert.aspect or r.convert.angle) for transforming angles, then
    North should mean North. If for a specific application North means a
    direction a force is coming from, then the use should take that into
    account. In your case the original map gives the angle the wind is
    coming _from_, then the output should (IMHO) do the same.


This would be of no use for me (or the user) if it doesn't match to the
GRASS convention. So what I suppose I should do is to explain in the
documentation that the input should be measured from SOUTH (0=SOUTH)
clockwise.

It all depends on whether you want to create a generic module that transforms angles between different conventions, or whether you want a very specific module for wind directions (although it is interesting to see that in you example the original data indicates the angle of origin of the wind, not of direction of the wind).

In the interest of other users, it might be better to create a generic angle transformation tool, which just transforms the angle of origin to its equivalent in the other convention without trying to interpret the meaning of that angle. However, it could be an option to include a flag that "reverses" the angles (i.e. transform a North angle into a South angle) in order to go from (in your wind example) origin to destination. In terms of implementation, the easiest would probably be to chose one internal convention for the module and then code transformation from any other convention to and from that internal convention. Then you could just code once the "reversal" of angles in that convention.

Again, you could probably simply use r.recode: 0:360:360:0.

Just my 2ยข since you asked, but I understand that it might be overkill for your particular problem.

Moritz
_______________________________________________
grass-dev mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/grass-dev

Reply via email to