On 14/04/11 14:31, Martin Album Ytre-Eide wrote:
I would like the NULL values that overlap with none NULL values to be
treated as 0, and still have NULL values where both maps have NULL
values. The combined map would be a large map with NULL values and
added values.
Maybe the best way is to use r.null and set NULL values to 0. Add the
maps and then convert the 0 values to NULL values?
I think this is probably the easiest.
Or could one set
the value in the if statement to be a the sum of maps somehow? I
guess my biggest problem is summing with NULL values - maybe there is
a way to treat NULL values as 0? I'll have a look at the man page
If you chose to do it all directly in r.mapcalc, then I guess the only
option is nested if statements
new_map = if(!isnull(old_1) && !isnull(old_2), old_1+old_2,
if(!isnull(old_1) && isnull(old_2), old_1, etc)
Moritz
Thanks,
Martin
-----Opprinnelig melding----- Fra: Moritz Lennert
[mailto:[email protected]] Sendt: 14. april 2011 14:15
Til: Martin Album Ytre-Eide Kopi: [email protected] Emne:
Re: [GRASS-user] Raster addition
On 14/04/11 13:54, Martin Album Ytre-Eide wrote:
Hello.
I am trying to add some raster maps. I thought I could do this in
r.mapcalc, but "new_map= old_1 + old_2" seems to produce a map
where the maps overlap and ignoring areas where only on of the maps
have values.
This is due to the way r.mapcalc handles NULL values. See the man
page, section NULL support for an explanation.
I would like to do something similar to "v.overlay operator=or".
Anyone who knows how to do this?
It depends on what you want the new map to contain as values. If you
want to add the value of old_1 to old_2 in places where they overlap,
one way would be to transform your null values to 0 using r.null
null= and then applying your formula.
If you just want a (any) value where one of the maps is non-null,
then you can use if. Something like this (untested):
new_map = if(!isnull(old_1) || !isnull(old_2), 1, null())
which should give you 1 where any of the two contains a value and a
NULL value elsewhere.
Moritz
_______________________________________________
grass-user mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/grass-user