[GRASS-user] Selecting starting points for r.flow

Dear Grass users,

I am using r.flow to generate hillslope flow paths over a high resolution DEM. I am actually only interested in a limited number of these paths, originating at some selected hilltop points.

r.flow computes flow paths over the whole DEM, and in order to get the vectors I am interested in I would need to run the computation over the whole region (with skip=1) and select afterward some of these flow lines from the output, which is computationally prohibitive on my DEM (potentially millions of lines and I am only interested in a few 1000s of them).

Is there way to force r.flow to limit the computation to selected flow starting points?

Thanks in advance,

Vincent

--
Vincent Godard
CEREGE - OSU Pytheas
Aix-Marseille Université
Europôle Méditerranéen de l’Arbois - BP 80
13545 Aix-en-Provence cedex 04, France
godard@cerege.fr

Hi Vincent,

Would r.drain work? It allows multiple pairs of initial locations.

I had a similar issue - I wanted to extract a single flowline from a watershed. I think the correct way to do this is r.drain. But I wanted to compare it to results derived from r.watershed, and the flow algorithm from r.watershed and r.drain are different.

My solution was to use r.stream.extract to extract all the streams, and then build a mask, and then run r.drain on the DEM with the mask. This forced r.drain to follow the same flowpaths as those generated from r.watershed.

Perhaps something similar might help,

  -k.

On 2016-12-13 at 17:55, Vincent Godard <godard@cerege.fr> wrote:

I am using r.flow to generate hillslope flow paths over a high
resolution DEM. I am actually only interested in a limited number of
these paths, originating at some selected hilltop points.

r.flow computes flow paths over the whole DEM, and in order to get the
vectors I am interested in I would need to run the computation over
the whole region (with skip=1) and select afterward some of these flow
lines from the output, which is computationally prohibitive on my DEM
(potentially millions of lines and I am only interested in a few 1000s
of them).

Is there way to force r.flow to limit the computation to selected flow
starting points?

Hi Ken,

Thanks for the advice. The reason I want to use r.flow is because of the specific way it handles flow routing (not constrained along a 8 directions pixel-based framework, as r.drain or other solutions you mentioned), which is needed for the hillslope dynamic problem I am working on.

Best,

Vincent

Le 16/12/2016 à 12:52, Ken Mankoff a écrit :

Hi Vincent,

Would r.drain work? It allows multiple pairs of initial locations.

I had a similar issue - I wanted to extract a single flowline from a watershed. I think the correct way to do this is r.drain. But I wanted to compare it to results derived from r.watershed, and the flow algorithm from r.watershed and r.drain are different.

My solution was to use r.stream.extract to extract all the streams, and then build a mask, and then run r.drain on the DEM with the mask. This forced r.drain to follow the same flowpaths as those generated from r.watershed.

Perhaps something similar might help,

   -k.

On 2016-12-13 at 17:55, Vincent Godard <godard@cerege.fr> wrote:

I am using r.flow to generate hillslope flow paths over a high
resolution DEM. I am actually only interested in a limited number of
these paths, originating at some selected hilltop points.

r.flow computes flow paths over the whole DEM, and in order to get the
vectors I am interested in I would need to run the computation over
the whole region (with skip=1) and select afterward some of these flow
lines from the output, which is computationally prohibitive on my DEM
(potentially millions of lines and I am only interested in a few 1000s
of them).

Is there way to force r.flow to limit the computation to selected flow
starting points?

--
Vincent Godard
CEREGE - OSU Pytheas
Aix-Marseille Université
Europôle Méditerranéen de l’Arbois - BP 80
13545 Aix-en-Provence cedex 04, France
godard@cerege.fr