[GRASS-user] r.basins.fill usage

Upon first glance, r.basins.fill seems like a great tool to generate
subbasins within a watershed. Although I must not be understanding
something obvious and essential.

If one has to digitize in the internal ridges in a given watershed,
why run the ridge input through the module if one has essentially just
delineated the subbasins ridges?

Is there an advantage to using a smaller threshold on r.watershed to
get smaller basin delineations (ceasing when thin strip basins get
introduced)?

Thanks for any feedback,
Mark

I'm not sure if I understood you right:

the border of a watershed is unique, if you see the basin starting from
outlet of a river into the ocean.

But there are unlimited subbasins (up to the resolution of the raster)!

So you have to define a characteristic for the watersheds, eg. a basin
size from the threshold of r.watershed.

Greets,
Achim

M S schrieb:

Upon first glance, r.basins.fill seems like a great tool to generate
subbasins within a watershed. Although I must not be understanding
something obvious and essential.

If one has to digitize in the internal ridges in a given watershed,
why run the ridge input through the module if one has essentially just
delineated the subbasins ridges?

Is there an advantage to using a smaller threshold on r.watershed to
get smaller basin delineations (ceasing when thin strip basins get
introduced)?

Thanks for any feedback,
Mark
_______________________________________________
grass-user mailing list
grass-user@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-user

The man page seems to imply that internal divided need digitized?

Much thanks,

Mark

On Oct 15, 2009, at 9:27 AM, Achim Kisseler <ak7@jupiter.uni-freiburg.de> wrote:

I'm not sure if I understood you right:

the border of a watershed is unique, if you see the basin starting from
outlet of a river into the ocean.

But there are unlimited subbasins (up to the resolution of the raster)!

So you have to define a characteristic for the watersheds, eg. a basin
size from the threshold of r.watershed.

Greets,
Achim

M S schrieb:

Upon first glance, r.basins.fill seems like a great tool to generate
subbasins within a watershed. Although I must not be understanding
something obvious and essential.

If one has to digitize in the internal ridges in a given watershed,
why run the ridge input through the module if one has essentially just
delineated the subbasins ridges?

Is there an advantage to using a smaller threshold on r.watershed to
get smaller basin delineations (ceasing when thin strip basins get
introduced)?

Thanks for any feedback,
Mark
_______________________________________________
grass-user mailing list
grass-user@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-user

The man page seems to imply that internal divided need digitized?

Sorry, again I didn't get the point. Can you explain a bit more
detailed, please?

Achim

Based on this excerpt from the manual, it seems the main
external/perimeter watershed boundary, as well as the internal ridges
need inputted? "The raster map layer depicting ridges should include
the ridge which defines the perimeter of the watershed. The coded
stream network can be generated as part of the r.watershed program,
but the map layer of ridges will need to be created by hand"

My question is really about the need to manually digitize ridges
inside the watershed boundary delineated by r.watershed. As opposed
to running r.watershed with a smaller threshold to get these smaller
basin delineations within a given study area.

If one has to manually digitize the internal ridges in a watershed, I
wondered what the point of the module was. It obviously has
application, but it seems I am missing something obvious.

Hope that is more clear.

Thanks for the correspondence,
Mark

On Thu, Oct 15, 2009 at 11:21 AM, Achim Kisseler
<ak7@jupiter.uni-freiburg.de> wrote:

The man page seems to imply that internal divided need digitized?

Sorry, again I didn't get the point. Can you explain a bit more
detailed, please?

Achim

Based on this excerpt from the manual, it seems the main
external/perimeter watershed boundary, as well as the internal ridges
need inputted? "The raster map layer depicting ridges should include
the ridge which defines the perimeter of the watershed. The coded
stream network can be generated as part of the r.watershed program,
but the map layer of ridges will need to be created by hand"

My question is really about the need to manually digitize ridges
inside the watershed boundary delineated by r.watershed. As opposed
to running r.watershed with a smaller threshold to get these smaller
basin delineations within a given study area.

If one has to manually digitize the internal ridges in a watershed, I
wondered what the point of the module was. It obviously has
application, but it seems I am missing something obvious.

Hope that is more clear.

Now its much clearer to me. Thanks.

In my opinion the description ao r.basins.fill is now very detailed. I
don't really understand it. So maybe someone else can help and maybe we
could find out and enhance the description:

I think this one:
"r.basins.fill generates a raster map layer depicting subbasins, based
on input raster map layers for the coded stream network (where each
channel segment has been "coded" with a unique category value).."
is clear.
Input is: raster map X from "r.watershed stream=X"

Not clear to me is:
"...and for the ridges within a given watershed."
which is explained as:
"The raster map layer depicting ridges should include the ridge which
defines the perimeter of the watershed."
What should the parameter mean? How should that be stored in a raster-map?
So try out:
-> take the stream-network and run r.mapcalc:
r.mapcalc "perimeter=if(X,5,null)"
Resulting map is a rastermap with value 5, where stream-network is not
null. The five is raster-cells or map units or what else?
-> run r.basins.fill with that and see what happens.

I guess: from each network-segment the subbasin is created which has a
minimum distance of 5 (cells?) to the stream. So its something like a
buffer.

...in contrast to:
"...but the map layer of ridges will need to be created by hand (for
example, through digitizing done in v.digit)"
=> the ridges-map here is a vector-file!

Achim

PS:
--%<--
DESCRIPTION
r.basins.fill generates a raster map layer depicting subbasins, based on
input raster map layers for the coded stream network (where each channel
segment has been "coded" with a unique category value) and for the
ridges within a given watershed. The raster map layer depicting ridges
should include the ridge which defines the perimeter of the watershed.
The coded stream network can be generated as part of the r.watershed
program, but the map layer of ridges will need to be created by hand
(for example, through digitizing done in v.digit).

The resulting output raster map layer will code the subbasins with
category values matching those of the channel segments passing through
them. A user-supplied number of passes through the data is made in an
attempt to fill in these subbasins. If the resulting map layer from this
program appears to have holes within a subbasin, the program should be
rerun with a higher number of passes.
--%<--

Hi
try r.stream.basins from grass add-ons it has options (-c and -l flags) to generate subbasin without any manual work. Look also into tutorial on grass wiki about it (wiki -> dokuments ->r.stream.*

Jarek
Achim Kisseler pisze:

Based on this excerpt from the manual, it seems the main
external/perimeter watershed boundary, as well as the internal ridges
need inputted? "The raster map layer depicting ridges should include
the ridge which defines the perimeter of the watershed. The coded
stream network can be generated as part of the r.watershed program,
but the map layer of ridges will need to be created by hand"

My question is really about the need to manually digitize ridges
inside the watershed boundary delineated by r.watershed. As opposed
to running r.watershed with a smaller threshold to get these smaller
basin delineations within a given study area.

If one has to manually digitize the internal ridges in a watershed, I
wondered what the point of the module was. It obviously has
application, but it seems I am missing something obvious.

Hope that is more clear.
    
Now its much clearer to me. Thanks.

In my opinion the description ao r.basins.fill is now very detailed. I
don't really understand it. So maybe someone else can help and maybe we
could find out and enhance the description:

I think this one:
"r.basins.fill generates a raster map layer depicting subbasins, based
on input raster map layers for the coded stream network (where each
channel segment has been "coded" with a unique category value).."
is clear.
Input is: raster map X from "r.watershed stream=X"

Not clear to me is:
"...and for the ridges within a given watershed."
which is explained as:
"The raster map layer depicting ridges should include the ridge which
defines the perimeter of the watershed."
What should the parameter mean? How should that be stored in a raster-map?
So try out:
-> take the stream-network and run r.mapcalc:
r.mapcalc "perimeter=if(X,5,null)"
Resulting map is a rastermap with value 5, where stream-network is not
null. The five is raster-cells or map units or what else?
-> run r.basins.fill with that and see what happens.

I guess: from each network-segment the subbasin is created which has a
minimum distance of 5 (cells?) to the stream. So its something like a
buffer.

...in contrast to:
"...but the map layer of ridges will need to be created by hand (for
example, through digitizing done in v.digit)"
=> the ridges-map here is a vector-file!

Achim

PS:
--%<--
DESCRIPTION
r.basins.fill generates a raster map layer depicting subbasins, based on
input raster map layers for the coded stream network (where each channel
segment has been "coded" with a unique category value) and for the
ridges within a given watershed. The raster map layer depicting ridges
should include the ridge which defines the perimeter of the watershed.
The coded stream network can be generated as part of the r.watershed
program, but the map layer of ridges will need to be created by hand
(for example, through digitizing done in v.digit).

The resulting output raster map layer will code the subbasins with
category values matching those of the channel segments passing through
them. A user-supplied number of passes through the data is made in an
attempt to fill in these subbasins. If the resulting map layer from this
program appears to have holes within a subbasin, the program should be
rerun with a higher number of passes.
--%<--
_______________________________________________
grass-user mailing list
grass-user@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-user
  

Thanks to all for the help and guidence.

Mark

On Oct 16, 2009, at 6:20 AM, Jarosław Jasiewicz <jarekj@amu.edu.pl> wrote:

Hi
try r.stream.basins from grass add-ons it has options (-c and -l flags) to generate subbasin without any manual work. Look also into tutorial on grass wiki about it (wiki -> dokuments ->r.stream.*

Jarek
Achim Kisseler pisze:

Based on this excerpt from the manual, it seems the main
external/perimeter watershed boundary, as well as the internal ridges
need inputted? "The raster map layer depicting ridges should include
the ridge which defines the perimeter of the watershed. The coded
stream network can be generated as part of the r.watershed program,
but the map layer of ridges will need to be created by hand"

My question is really about the need to manually digitize ridges
inside the watershed boundary delineated by r.watershed. As opposed
to running r.watershed with a smaller threshold to get these smaller
basin delineations within a given study area.

If one has to manually digitize the internal ridges in a watershed, I
wondered what the point of the module was. It obviously has
application, but it seems I am missing something obvious.

Hope that is more clear.

Now its much clearer to me. Thanks.

In my opinion the description ao r.basins.fill is now very detailed. I
don't really understand it. So maybe someone else can help and maybe we
could find out and enhance the description:

I think this one:
"r.basins.fill generates a raster map layer depicting subbasins, based
on input raster map layers for the coded stream network (where each
channel segment has been "coded" with a unique category value).."
is clear.
Input is: raster map X from "r.watershed stream=X"

Not clear to me is:
"...and for the ridges within a given watershed."
which is explained as:
"The raster map layer depicting ridges should include the ridge which
defines the perimeter of the watershed."
What should the parameter mean? How should that be stored in a raster-map?
So try out:
-> take the stream-network and run r.mapcalc:
r.mapcalc "perimeter=if(X,5,null)"
Resulting map is a rastermap with value 5, where stream-network is not
null. The five is raster-cells or map units or what else?
-> run r.basins.fill with that and see what happens.

I guess: from each network-segment the subbasin is created which has a
minimum distance of 5 (cells?) to the stream. So its something like a
buffer.

...in contrast to:
"...but the map layer of ridges will need to be created by hand (for
example, through digitizing done in v.digit)"
=> the ridges-map here is a vector-file!

Achim

PS:
--%<--
DESCRIPTION
r.basins.fill generates a raster map layer depicting subbasins, based on
input raster map layers for the coded stream network (where each channel
segment has been "coded" with a unique category value) and for the
ridges within a given watershed. The raster map layer depicting ridges
should include the ridge which defines the perimeter of the watershed.
The coded stream network can be generated as part of the r.watershed
program, but the map layer of ridges will need to be created by hand
(for example, through digitizing done in v.digit).

The resulting output raster map layer will code the subbasins with
category values matching those of the channel segments passing through
them. A user-supplied number of passes through the data is made in an
attempt to fill in these subbasins. If the resulting map layer from this
program appears to have holes within a subbasin, the program should be
rerun with a higher number of passes.
--%<--
_______________________________________________
grass-user mailing list
grass-user@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-user