Opened 10 years ago
Closed 10 years ago
#2686 closed defect (invalid)
r.hazard.flood error output
Reported by: | zimbogisgeek | Owned by: | |
---|---|---|---|
Priority: | normal | Milestone: | 7.0.1 |
Component: | Addons | Version: | svn-releasebranch70 |
Keywords: | r.hazard.flood | Cc: | madi |
CPU: | All | Platform: | All |
Description
Running r.hazard.flood produces an erroneous map mainly because in the r.hazard.py script there is a mistake in calculating the final map. The command that produces the error is
grass.mapcalc("$r_flood_map = $rast1 / $rast1", r_flood_map = r_flood_map, rast1 = 'r_flood_th')
which should be
grass.mapcalc("$r_flood_map = $rast1 / $rast2", r_flood_map = r_flood_map, rast1 = 'r_flood_th', rast2 = 'r_flood')
Change History (7)
comment:1 by , 10 years ago
Cc: | added |
---|---|
Component: | Python → Addons |
Keywords: | r.hazard.flood added |
comment:2 by , 10 years ago
Priority: | critical → normal |
---|
follow-up: 4 comment:3 by , 10 years ago
Hi Madi, but the code is dividing the same maps
"$r_flood_map = $rast1 / $rast1"
so it return for every pixel 1, is it the right behavior?
follow-up: 5 comment:4 by , 10 years ago
Replying to lucadelu:
Hi Madi, but the code is dividing the same maps
"$r_flood_map = $rast1 / $rast1"so it return for every pixel 1, is it the right behavior?
yes, the expected result is a binary map (yes=1, no=null) Thanks, madi
follow-up: 6 comment:5 by , 10 years ago
Replying to madi:
Replying to lucadelu:
Hi Madi, but the code is dividing the same maps
"$r_flood_map = $rast1 / $rast1"so it return for every pixel 1, is it the right behavior?
The behaviour in question comes from r.mapcalc:
yes, the expected result is a binary map (yes=1, no=null)
Here a quick test:
r.mapcalc "result = 1/1" r.univar -g result | grep 'min\|max\|null' null_cells=0 min=1 max=1 r.mapcalc "result2 = 0/0" r.info result2 | grep 'min\|max\|null' | Range of data: min = NULL max = NULL r.mapcalc "result3 = null()/null()" r.info result3 | grep 'min\|max\|null' | Range of data: min = NULL max = NULL
Is this what should happen in r.hazard.flood?
comment:6 by , 10 years ago
Replying to neteler:
Replying to madi:
Replying to lucadelu:
Hi Madi, but the code is dividing the same maps
"$r_flood_map = $rast1 / $rast1"so it return for every pixel 1, is it the right behavior?
The behaviour in question comes from r.mapcalc:
yes, the expected result is a binary map (yes=1, no=null)
Here a quick test:
r.mapcalc "result = 1/1" r.univar -g result | grep 'min\|max\|null' null_cells=0 min=1 max=1 r.mapcalc "result2 = 0/0" r.info result2 | grep 'min\|max\|null' | Range of data: min = NULL max = NULL r.mapcalc "result3 = null()/null()" r.info result3 | grep 'min\|max\|null' | Range of data: min = NULL max = NULLIs this what should happen in r.hazard.flood?
Precisely so.
comment:7 by , 10 years ago
Resolution: | → invalid |
---|---|
Status: | new → closed |
I double checked the code and unless I can't see the obvious it looks alright to me. Therefore I'm closing this ticket as invalid. Please feel free to reopen it if something looks amiss. However, the expected result of this tool is indeed a binary map.
Hi, thank you for pointing this out, but does this actually produce an erroneous result? could you give an example? Thanks