I am trying to use r.stream.extract with the National Hydrography Dataset
Plus, which includes elevation, flow direction and flow accumulation maps. I
recently read the paper by Jasiewicz and Metz that states, "...network
modeling is based on accumulation maps that are created internally or
created with an external GIS software or as the result of map algebra."
However, I get the following when I try to use the module with the NHDPlus
data:
ERROR: Accumulation map does not match elevation map!
I am trying to use r.stream.extract with the National Hydrography Dataset
Plus, which includes elevation, flow direction and flow accumulation maps. I
recently read the paper by Jasiewicz and Metz that states, "...network
modeling is based on accumulation maps that are created internally or
created with an external GIS software or as the result of map algebra."
However, I get the following when I try to use the module with the NHDPlus
data:
ERROR: Accumulation map does not match elevation map!
I think you have to have all the input maps with the same spatial extend and the
same grid resolution to be able to process it with r.stream.*
Did you check for that?
On Mon, Jun 27, 2011 at 8:03 AM, Johannes Radinger <jradinger@gmx.at> wrote:
Am 27.06.2011 um 02:56 schrieb jentjr:
All,
I am trying to use r.stream.extract with the National Hydrography Dataset
Plus, which includes elevation, flow direction and flow accumulation maps. I
recently read the paper by Jasiewicz and Metz that states, "...network
modeling is based on accumulation maps that are created internally or
created with an external GIS software or as the result of map algebra."
However, I get the following when I try to use the module with the NHDPlus
data:
ERROR: Accumulation map does not match elevation map!
I think you have to have all the input maps with the same spatial extend and the
same grid resolution to be able to process it with r.stream.*
Did you check for that?
Matching extents are not required, but if the accumulation map has
been computed for only a part of the elevation map, the current region
must be set to the accumulation map, not the elevation map. Then it
should work. Alternatively, create a MASK with value NULL where the
accumulation map is NULL, otherwise 1 (or anything but NULL or zero).
The resolution of the elevation map and the accumulation map should
always match.
Thank you for the replies. I set the region to the flow accumulation map, and
I still received the error though. Here is the region output for both the
elevation and flow accumulation maps
Thank you for the replies. I set the region to the flow accumulation map, and
I still received the error though. Here is the region output for both the
elevation and flow accumulation maps
I also tried that by first setting the region equal to the elevation map and
then using r.mapcalc to create a new accumulation map. Both the elevation
and accumulation maps have the same spatial extent and resolution, but I
still get the error.
I believe that the flow accumulation grid was produced using ArcHydro. I put
the link to the data set that I am using below if anyone wants to try it
out.
I believe that the flow accumulation grid was produced using ArcHydro. I put
the link to the data set that I am using below if anyone wants to try it
out.
Hi. Not sure if this is the issue, but I recall this from the manual.
"
accumulation
Input map, optional: Accumulation values of the provided accumulation
map are used and not calculated from the input elevation map. If
accumulation is given, elevation must be exactly the same map used to
calculate accumulation. If accumulation was calculated with
r.terraflow, the filled elevation output of r.terraflow must be used.
Further on, the current region's resolution should be identical to the
accumulation map. Flow direction is first calculated from elevation
and then adjusted to accumulation. It is not necessary to provide
accumulation as the number of cells, it can also be (adjusted) total
contributing area in square meters or any other unit.
"
I believe that the flow accumulation grid was produced using ArcHydro. I put
the link to the data set that I am using below if anyone wants to try it
out.
Hi. Not sure if this is the issue, but I recall this from the manual.
"
accumulation
Input map, optional: Accumulation values of the provided accumulation
map are used and not calculated from the input elevation map. If
accumulation is given, elevation must be exactly the same map used to
calculate accumulation. If accumulation was calculated with
r.terraflow, the filled elevation output of r.terraflow must be used.
Further on, the current region's resolution should be identical to the
accumulation map. Flow direction is first calculated from elevation
and then adjusted to accumulation. It is not necessary to provide
accumulation as the number of cells, it can also be (adjusted) total
contributing area in square meters or any other unit.
"
Mark
This error message appears when there are nulls in accum map in the interest area. Try to change nulls to different values let say 0 and tell what happened.
J.
On Tue, Jun 28, 2011 at 5:06 AM, jentjr <jentjr@gmail.com> wrote:
It worked! I also tried it without changing the spatial extent of the map and
it worked. So, I just needed to set the null values to zero.
Hmm, this is not such a good idea, the zeros can have interesting
effects. Rather create a MASK where either accumulation or elevation
or both are NULL.
The accumulation map does indeed not match the elevation map. Another,
modified elevation map was used to create the accumulation map. The
accumulation map is full of artefacts that are not present in the
elevation map. You can compare the accumulation map produced by
r.watershed with the accumulation map supplied on the website. For
easy visual comparison, use r.watershed -a and set the color rules of
"fac" to those of the output of r.watershed, e.g.
r.colors map=fac raster=elev_cm.ac