[GRASS-dev] Re: [GRASS GIS] #610: r.sun: incidout uses 0 instead of
NULL
GRASS GIS
trac at osgeo.org
Fri May 22 03:36:57 EDT 2009
#610: r.sun: incidout uses 0 instead of NULL
---------------------+------------------------------------------------------
Reporter: hamish | Owner: grass-dev at lists.osgeo.org
Type: defect | Status: new
Priority: normal | Milestone: 6.5.0
Component: Raster | Version: 6.4.0 RCs
Resolution: | Keywords: r.sun
Platform: All | Cpu: All
---------------------+------------------------------------------------------
Comment (by mmetz):
Next try. IIUR, incidout is calculated in rsunlib.c by lumcline(). For a
shadowed area, sunVarGeom->isShadow is apparently set to 1 and incidence
is left as 0. For an area where there is still night, incidence angle is
negative and set to 0 (r.sun2/rsunlib.c#L439). That's why my first wild
guess didn't work, it was probably setting night to NULL, not shadow. If
any of the input maps is NULL, incidence (as all other output maps) is set
to NULL (says the manual). To keep a maximum of information in the
incidence output map, you could e.g. set incidence of shadows to -1, make
night -2, keep special case incidence == 0 with no shadow, and propagate
any input NULL cells as NULL cells. Then optionally use r.null to set
shadows and/or night to NULL. Or discard all this info and make input NULL
cells, night, shadow and special case incidence == 0 with no shadow all
NULL (if (s <= 0) return UNDEFZ;)
Not tested, all interpreted from the code and the manual.
Markus M
--
Ticket URL: <http://trac.osgeo.org/grass/ticket/610#comment:5>
GRASS GIS <http://grass.osgeo.org>
More information about the grass-dev
mailing list