[GRASS-dev] [GRASS GIS] #3192: add a coalesce function to r.mapcalc
GRASS GIS
trac at osgeo.org
Mon Jul 31 15:11:03 PDT 2017
#3192: add a coalesce function to r.mapcalc
-------------------------+-------------------------------------------------
Reporter: aroche | Owner: grass-dev@…
Type: | Status: new
enhancement |
Priority: normal | Milestone: 7.4.0
Component: Raster | Version: unspecified
Resolution: | Keywords: r.mapcalc, coalesce, isnull,
CPU: | r.patch
Unspecified | Platform: Unspecified
-------------------------+-------------------------------------------------
Changes (by wenzeslaus):
* keywords: => r.mapcalc, coalesce, isnull, r.patch
* component: Default => Raster
* milestone: 7.0.6 => 7.4.0
Comment:
Workaround: The same functionality is available through G7:r.patch.
[https://www.postgresql.org/docs/9.5/static/functions-conditional.html
PostgreSQL definition] of function ''COALESCE(value [, ...]'')
> The COALESCE function returns the first of its arguments that is not
null. Null is returned only if all arguments are null. It is often used to
substitute a default value for null values when data is retrieved for
display, for example:
>
> {{{
> SELECT COALESCE(description, short_description, '(none)') ...
> }}}
>
> This returns description if it is not null, otherwise short_description
if it is not null, otherwise (none).
>
> Like a CASE expression, COALESCE only evaluates the arguments that are
needed to determine the result; that is, arguments to the right of the
first non-null argument are not evaluated. This SQL-standard function
provides capabilities similar to NVL and IFNULL, which are used in some
other database systems.
[https://sqlite.org/lang_corefunc.html#coalesce SQLite definition] of
function ''coalesce(X,Y,...)'':
> The coalesce() function returns a copy of its first non-NULL argument,
or NULL if all arguments are NULL. Coalesce() must have at least 2
arguments.
[https://sqlite.org/lang_corefunc.html#ifnull SQLite definition] of a
similar function ''ifnull(X,Y)'':
> The ifnull() function returns a copy of its first non-NULL argument, or
NULL if both arguments are NULL. Ifnull() must have exactly 2 arguments.
The ifnull() function is equivalent to coalesce() with two arguments.
[https://sqlite.org/lang_corefunc.html#nullif SQLite definition] of a
function with a similar name ''nullif(X,Y)'':
> The nullif(X,Y) function returns its first argument if the arguments are
different and NULL if the arguments are the same.
--
Ticket URL: <https://trac.osgeo.org/grass/ticket/3192#comment:1>
GRASS GIS <https://grass.osgeo.org>
More information about the grass-dev
mailing list