Hmmm, maybe just a suggestion, although it won't fix the current problem but to make the code better (I hope)... because it apperas the if one has an imprecise 0-360 map that thing could go awry, which may justify another flag (if I may) or something similar to the few changes below.

    /* constrain to geographic coords */
    if (flag_l->answer&&  G_projection() == PROJECTION_LL) {
        if (cellhd.north>  90.) cellhd.north = 90.;
        if (cellhd.south<  -90.) cellhd.south = -90.;
        if (cellhd.east>  360.) cellhd.east = 360.;

        /* for the case of imprecise coordinates 0-360: if the difference is greater than 
360 AND it is the "other" ll projection AND the cellhd.west is strange THEN set 
cellhd.west to  0*/
        if (cellhd.east - cellhd.west>  360.&&  cellhd.east>= 181.&&  
cellhd.west<  0.) cellhd.west = 0.;

        /* maybe just one degree of imprecision allowed? */
        if (cellhd.east>  180.&&  cellhd.east<  181.) cellhd.east = 180.;
        if (cellhd.west<  -180.) cellhd.west = -180.;
        cellhd.ns_res = (cellhd.north - cellhd.south) / cellhd.rows;
        cellhd.ew_res = (cellhd.east - cellhd.west) / cellhd.cols;
        cellhd.ew_res3 = cellhd.ew_res;
        cellhd.ns_res3 = cellhd.ns_res;

        G_warning(_("Map bounds have been constrained to geographic "
            "coordinates. You will almost certainly want to check "
            "map bounds and resolution with r.info and reset them "
            "with r.region before going any further."));
    }


I am not sure how to perform math operations in if-expressions in C, but above is the general idea.

Again, I doubt this will fix the r.in.gdal oddity, but it may improve the -l flag.

Notice that the resolution in the mentioned post is the same as my case... prob just a coincidence.

cheers,
Brian





On 11/03/2011 07:21 AM, Markus Neteler wrote:
On Thu, Nov 3, 2011 at 5:17 AM, Hamish<[email protected]>  wrote:
Hi, coming to this thread a bit late, sorry if I miss the point;
I'll study the rest of the thread/situation better asap, but some
general comments--

Markus wrote:
Just force it to be 180W and 180E... I thought (the -l
flag) it is just a recent addition to GRASS 6.4, so maybe
it needs a some t.l.c...
AFAIK it is working as intended and without bugs.
Please check then
http://article.gmane.org/gmane.comp.gis.grass.user/41407

Here I don't see that -l works.

thanks
Markus
_______________________________________________
grass-user mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/grass-user

Reply via email to