[GRASS-dev] [GRASS GIS] #1577: r.stream.extract/r.stream.order - "calculated" mainchannel vs. "real" mainchannel

#1577: r.stream.extract/r.stream.order - "calculated" mainchannel vs. "real"
mainchannel
-----------------------------+----------------------------------------------
Reporter: hellik | Owner: grass-dev@…
     Type: enhancement | Status: new
Priority: minor | Milestone: 6.4.2
Component: Raster | Version: svn-releasebranch64
Keywords: wingrass, addon | Platform: MSWindows Vista
      Cpu: x86-32 |
-----------------------------+----------------------------------------------
hi,

tested with wingrass64svn, srtm v4.1 (lat/long, ETRS89-LAEA, UTM zone N33)
and a river basin in the eastern part of the
alps (if needed,a test-location is available).

there'a really nice grass-addon available (thanks to Margherita) which
calculates some
ecological relevant characteristics of river-basins:

http://trac.osgeo.org/grass/browser/grass-
addons/grass6/raster/r.basin/r.basin.py

the mainchannel of such a river basin is calculated by some calculation
steps of r.stream.extract [1]
and r.stream.order [2]

http://trac.osgeo.org/grass/browser/grass-
addons/grass6/raster/r.basin/r.basin.py#L261
http://trac.osgeo.org/grass/browser/grass-
addons/grass6/raster/r.basin/r.basin.py#L368

there seems to be sometimes a difference between the "calculated" and the
"real" (in the meaning of official hydrography,
science literature, etc.) mainchannel.

an example screenshot of river basin in the eastern part of the alps is
attached

may I cite Margherita:

{{{
1) stream extraction, by r.stream.extract. This step is dependent by the
threshold.
2) stream ordering. The Hack order assigns the value 1 to the longest
contributor, so that it actually individuates the main channel. This is
done by r.stream.order. Successively, r.basin just does a series of monkey
steps to turn the first hack order segment into vector and query the
length. When Jarek wrote r.stream.order, i asked him to add Hack order
just
for that. When i was testing it, sometimes i raised with him the problem
that you mention, and i don't remember if either he fixed it or wasn't
able
to reproduce the issue.
Said that, i would suggest to raise the issue in dev-ML, so that either
Markus Metz (from the r.stream.extract side) or Jarek (from the
r.stream.order side) could answer and likely fix the problem. I would also
suggest you to verify if the problem is due to a mistake in stream
extraction, say the individuated mainchannel is actually longer than the
other (natural) one (and this could be likely fixed by varying the
threshold) or in hack ordering assignment, which is not able to
individuate
the longest segment. Only in this second case, a bug-fix by Jarek is
needed.
}}}

any ideas how to get the calculated mainchannel matching the real
mainchannel?
I've tried a few different thresholds, but I've always get this
"mismatch".

best regards
Helmut

[1] http://trac.osgeo.org/grass/browser/grass-
addons/grass6/raster/r.stream.extract
[2] http://trac.osgeo.org/grass/browser/grass-
addons/grass6/raster/r.stream.order

--
Ticket URL: <http://trac.osgeo.org/grass/ticket/1577&gt;
GRASS GIS <http://grass.osgeo.org>

#1577: r.stream.extract/r.stream.order - "calculated" mainchannel vs. "real"
mainchannel
-----------------------------+----------------------------------------------
 Reporter:  hellik           |       Owner:  grass-dev@…              
     Type:  enhancement      |      Status:  new                      
 Priority:  minor            |   Milestone:  6.4.2                    
Component:  Raster           |     Version:  svn-releasebranch64      
 Keywords:  wingrass, addon  |    Platform:  MSWindows Vista          
      Cpu:  x86-32           |  
-----------------------------+----------------------------------------------
 hi,

 tested with wingrass64svn, srtm v4.1 (lat/long, ETRS89-LAEA, UTM zone N33)
 and a river basin in the eastern part of the
 alps (if needed,a test-location is available).

 there'a really nice grass-addon available (thanks to Margherita) which
 calculates some
 ecological relevant characteristics of river-basins:

 [http://trac.osgeo.org/grass/browser/grass](http://trac.osgeo.org/grass/browser/grass)-
 addons/grass6/raster/r.basin/r.basin.py

 the mainchannel of such a river basin is calculated by some calculation
 steps of r.stream.extract [1]
 and r.stream.order [2]

 [http://trac.osgeo.org/grass/browser/grass](http://trac.osgeo.org/grass/browser/grass)-
 addons/grass6/raster/r.basin/r.basin.py#L261
 [http://trac.osgeo.org/grass/browser/grass](http://trac.osgeo.org/grass/browser/grass)-
 addons/grass6/raster/r.basin/r.basin.py#L368

 there seems to be sometimes a difference between the "calculated" and the
 "real" (in the meaning of official hydrography,
 science literature, etc.) mainchannel.

what does it means? Any reference? Main channel established in real network or algorithms of modeling main channel?

 an example screenshot of river basin in the eastern part of the alps is
 attached

where it is?

Sorry. I cannot relate to this ticket, because, it is not clear what kind of issue it reports.

r.stream.order does not calculate “main channel”. It is impossible, bacuase main channel is marked according different criteria, depending on national surveys. R.stream.order in Gravielius/Hack hierarchy (Hack is used after jGrass, this name is not especially correct) calculate stream of first order as longest channel or optionally if you use SFD it can use alternatively channel draining biggest basin area. That all. if it is main or not main channel it is interpretation. Data generated by hydrological modeling are deterministic realization of clear algorithms on the specific dataset and does not reflect reality in 100%.

Hope it helps

what does it means? Any reference? Main channel established in real network
or algorithms of modeling main channel?

the mentionned "real" mainchannel is the part of real Austrian river network
(i.e. listed in the annual Austrian hydrographical handbook as the river
'Isel')

an example screenshot of river basin in the eastern part of the alps is

attached

where it is?

it's in the ticket, see
http://trac.osgeo.org/grass/attachment/ticket/1577/mainchannel4.gif

Helmut

-----
best regards
Helmut
--
View this message in context: http://osgeo-org.1560.n6.nabble.com/GRASS-GIS-1577-r-stream-extract-r-stream-order-calculated-mainchannel-vs-real-mainchannel-tp4473866p4474065.html
Sent from the Grass - Dev mailing list archive at Nabble.com.

the mentionned "real" mainchannel is the part of real Austrian river

network (i.e. listed in the annual Austrian hydrographical handbook as the
river 'Isel')

or may have also a look in the pdf mentioned in

http://wisa.lebensministerium.at/article/archive/29373

Helmut

-----
best regards
Helmut
--
View this message in context: http://osgeo-org.1560.n6.nabble.com/GRASS-GIS-1577-r-stream-extract-r-stream-order-calculated-mainchannel-vs-real-mainchannel-tp4473866p4474112.html
Sent from the Grass - Dev mailing list archive at Nabble.com.

On 02/15/2012 04:46 PM, Helmut Kudrnovsky wrote:

what does it means? Any reference? Main channel established in real network
or algorithms of modeling main channel?

the mentionned "real" mainchannel is the part of real Austrian river network
(i.e. listed in the annual Austrian hydrographical handbook as the river
'Isel')

It is popular argument against algorithmic approach. Usually computer algorithms cannot reproduce arbitrary human decisions :frowning:

an example screenshot of river basin in the eastern part of the alps is

attached

where it is?

it's in the ticket, see
http://trac.osgeo.org/grass/attachment/ticket/1577/mainchannel4.gif

Helmut

Ok, this is not software issue. In attached example calculated main channel is evidently longer than real main channel so software cannot calculate it different. On my first look there are two possibilities:
- first: main channel is established according to basin area. If so try to model stream network using SFD and next Gravelius hierarchy using accumulation map as an option. Result should be correct. This is impossible using MFD approach
- second: main channel is arbitrary chosen as "central channel". No idea how to reproduce it without complex analysis of basin shape and network topology.
J.

-----
best regards
Helmut
--
View this message in context: http://osgeo-org.1560.n6.nabble.com/GRASS-GIS-1577-r-stream-extract-r-stream-order-calculated-mainchannel-vs-real-mainchannel-tp4473866p4474065.html
Sent from the Grass - Dev mailing list archive at Nabble.com.
_______________________________________________
grass-dev mailing list
grass-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-dev

On Wed, Feb 15, 2012 at 10:46 PM, Helmut Kudrnovsky <hellik@web.de> wrote:

what does it means? Any reference? Main channel established in real network
or algorithms of modeling main channel?

the mentionned "real" mainchannel is the part of real Austrian river network
(i.e. listed in the annual Austrian hydrographical handbook as the river
'Isel')

As Jarek said, there is nothing like the one and only "real"
mainchannel because there a different definitions on how to determine
the main channel. You would need to get the definition of "real
mainchannel" out of the Austrian hydrographical handbook, maybe modify
input accumulation for r.stream extract and then use the best matching
method in r.stream.order.

Markus M

Hi,

Jarek:

the mentionned "real" mainchannel is the part of real Austrian river
network
(i.e. listed in the annual Austrian hydrographical handbook as the river
'Isel')

It is popular argument against algorithmic approach. Usually computer
algorithms cannot reproduce arbitrary human decisions :frowning:

Markus M:

As Jarek said, there is nothing like the one and only "real"
mainchannel because there a different definitions on how to determine
the main channel. You would need to get the definition of "real
mainchannel" out of the Austrian hydrographical handbook,

in this example it's based on hydrographical characteristics:

- the "real" mainchannel (river Isel) has an (nival)/gacial runoff regime
- the calculated mainchannel (river Schwarzach) has an nival runoff regime,
and flows into the river Isel

Jarek, Markus M, thanks a lot for the insight!

best regards
Helmut

-----
best regards
Helmut
--
View this message in context: http://osgeo-org.1560.n6.nabble.com/GRASS-GIS-1577-r-stream-extract-r-stream-order-calculated-mainchannel-vs-real-mainchannel-tp4473866p4475056.html
Sent from the Grass - Dev mailing list archive at Nabble.com.

#1577: r.stream.extract/r.stream.order - "calculated" mainchannel vs. "real"
mainchannel
----------------------------+-----------------------------------------------
Reporter: hellik | Owner: grass-dev@…
     Type: enhancement | Status: new
Priority: minor | Milestone: 6.4.3
Component: Raster | Version: svn-releasebranch64
Keywords: r.basin, addon | Platform: MSWindows Vista
      Cpu: x86-32 |
----------------------------+-----------------------------------------------
Changes (by neteler):

  * keywords: wingrass, addon => r.basin, addon
  * milestone: 6.4.2 => 6.4.3

--
Ticket URL: <http://trac.osgeo.org/grass/ticket/1577#comment:1&gt;
GRASS GIS <http://grass.osgeo.org>

#1577: r.stream.extract/r.stream.order - "calculated" mainchannel vs. "real"
mainchannel
------------------------------+---------------------------------------------
  Reporter: hellik | Owner: grass-dev@…
      Type: enhancement | Status: closed
  Priority: minor | Milestone: 6.4.3
Component: Raster | Version: svn-releasebranch64
Resolution: wontfix | Keywords: r.basin, addon
  Platform: MSWindows Vista | Cpu: x86-32
------------------------------+---------------------------------------------
Changes (by hellik):

  * status: new => closed
  * resolution: => wontfix

--
Ticket URL: <http://trac.osgeo.org/grass/ticket/1577#comment:2&gt;
GRASS GIS <http://grass.osgeo.org>