[GRASS-user] Re: r.water.outlet and longitude / window issue

Andy Wickert wickert at colorado.edu
Sat Jul 2 04:16:58 EDT 2011


Made some progress on this myself; think that a solution will require some
minor source code modifications.

The main idea and my question to GRASS users/developers:

I think that I better understand the r.water.outlet problem now. Briefly, I
think a proper solution would require changing the r.water.outlet source
code to deal with wraparound at the 180 meridian; as it stands, the code
seems to be designed for northing/easting in projected coordinate systems.
I'd be happy to change / recompile / test the source code; in that case,
should I take this thread to the GRASS-dev list? I have found the
programmer's manual, but if anyone has advice on how to start in on
development in GRASS, I would greatly appreciate it.

Slightly more info:

I was able to make all the points work by specifying the window as W:-180,
E:180. However, the drainage basins refused to cross the 180 meridian. I am
fairly sure that these are because (1) I need increasing Easting values to
make r.water.outlet work, but (2) in order to provide continously increasing
Easting values, I must make a discontinuity at the 180 meridian in the
middle of my data set. This makes me think that if I changed main.c inside
r.water.outlet to include G_adjust_easting() within some if statments (is
lat/long projection & West value is greater than East), that this would
solve the problem.

The workaround, of course, is to shift all location references by 180
degrees, perform calculations, and move everything back, but I'd like to try
to make a more elegant/permanent solution.

Andy


On Tue, Jun 28, 2011 at 11:43 AM, Andy Wickert <wickert at colorado.edu> wrote:

> OK - I think I figured out some of it. On my computer where r.water.outlet
> DOES work, the west-longitudes are expressed as negative 0-180, while on the
> computer where it doesn't work, they are expressed as positive
> east-longitude 180-360.
>
> So: the question becomes, how do I choose how west-longitudes are
> interpreted by GRASS?
>
> Thanks!
>
> Andy
>
>
> On Mon, Jun 27, 2011 at 11:00 PM, Andy Wickert <wickert at colorado.edu>wrote:
>
>> Hi GRASS user-list,
>>
>> I think that I have run into a bug in either the computational window
>> definition or the r.water.outlet program (or maybe something else) that has
>> to do with defining degrees West as either positive (East-longitude >180) or
>> negative.
>>
>> What happens is that, for example, I type:
>> r.water.outlet drainage=$watershed_direction basin=temp_basin easting=196
>> northing=60 --verbose --overwrite
>>
>> And GRASS returns:
>> WARNING: Warning, ignoring point outside window:
>>          -164.0000,60.0000
>>
>> This occurs no matter whether I specify the longitude as a positive
>> East-longitude (as above), as a negative value (e.g.,-164), or as, e.g.,
>> 164W. (196E is not allowed).
>>
>> The problem is not my window definition, which includes the point in
>> question:
>> proj:       3
>> zone:       0
>> north:      73:00:30N
>> south:      49:59:30N
>> east:       144:59:30W
>> west:       162:59:30E
>> cols:       3121
>> rows:       1381
>> e-w resol:  0:01
>> n-s resol:  0:01
>> top:        1
>> bottom:     0
>> cols3:      3121
>> rows3:      1381
>> depths:     1
>> e-w resol3: 0:01
>> n-s resol3: 0:01
>> t-b resol:  1
>>
>> When I use r.what, it gives me East-longitudes (values >180) for regions
>> to the East of the 180 meridian. But r.water.outlet insists on switching
>> everything to negatives no matter what input I give it, which I think is a
>> source of the problem.
>>
>> The strangest thing about this is that I ran into this problem while
>> following a routine that I had written several months ago in Bash; last
>> time, I ran r.water.outlet on North America (all in degrees-west land) with
>> no problems at all. I just checked the computational region (window) files
>> for that run, and they look very similar to the ones I am using now. I have
>> no clue why I didn't run into this problem back then / why it is cropping up
>> now; both computers are running GRASS 6.4.1 on Ubuntu Linux.
>>
>> Anyway, if anyone has any suggestions, I'm all ears. Many thanks in
>> advance,
>>
>> Andy Wickert
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/grass-user/attachments/20110702/c08c6e13/attachment.html


More information about the grass-user mailing list