Re: [GRASS-user] Automatic extraction of valley

2015-11-12 Thread Rengifo Ortega

Dear Jean,
If I understand you correctly what you are looking for is to make a  swath 
profile along curved geomorphic features e.g botton valleys. I think  that if  
you want to this in  grass gis, it would be enough to  create a  mask using the 
the polygon you show in your picture and then extract that area using 
r.mapcalc. You also can use the geomorphons approach,  described by Vaclav, but 
you have to be careful with the parameters, since they will yield different 
results depending on your parameters.I would rather use gemorphons instead of 
r.param.scale, since it is scale independent.  If you want something more 
specific I suggest you to take a  look at this paper it might give some  ideas 
about the topic.
http://www.earth-surf-dynam.net/2/97/2014/esurf-2-97-2014.pdf

Best regards..

Rengifo Ortega

> 
> Message: 4
> Date: Thu, 12 Nov 2015 11:09:48 +0100
> From: Jean-Roc Morreale 
> To: grass-user@lists.osgeo.org
> Subject: [GRASS-user] Automatic extraction of valley features
> Message-ID: 
> Content-Type: text/plain; charset=US-ASCII; format=flowed
> 
> Hi,
> 
> I would like to know how to extract a valley feature from a DEM as a 
> polygon : the wanted result isn't equal to a watershed or a sub-basin, 
> it is the cumulated shape of the two slopes and the bottom where the 
> stream is located.
> 
> As I do not master the geomorphological vocabulary, here is a image 
> showing the desired outcome :
> https://drive.google.com/open?id=0B1sJg8zddqSPUk9BcTdncVRNNHc
> 
> I'm using GRASS7, I've tried r.watershed and several r.stream.* modules 
> but my lack of knowledge in this domain is blocking. The elevation data 
> used is the EU-DEM.
> 
> Regards,
> Jean-Roc
> 
> 
> --
> 
> Message: 5
> Date: Thu, 12 Nov 2015 07:41:47 -0500
> From: Vaclav Petras 
> To: Jean-Roc Morreale 
> Cc: GRASS user list 
> Subject: Re: [GRASS-user] Automatic extraction of valley features
> Message-ID:
>   
> Content-Type: text/plain; charset="utf-8"
> 
> Hi,
> 
> On Thu, Nov 12, 2015 at 5:09 AM, Jean-Roc Morreale 
> wrote:
> 
> > I would like to know how to extract a valley feature from a DEM as a
> > polygon
> 
> 
> The classic way would be to use r.param.scale with method=feature, but I
> would recommend using r.geomorphon by Stepinski and Jasiewicz (2011, 2013).
> 
> Both modules will give you a raster map. You can use r.to.vect to get
> vector polygons. To get just the valley use either raster algebra
> (r.mapcalc) on the raster map or v.extract on the vector map.
> 
> Note that r.geomorphon module is in GRASS Addons repository, so use e.g.,
> g.extension r.geomorphon to get it.
> 
> Vaclav
> 
> https://grass.osgeo.org/grass70/manuals/r.param.scale.html
> https://grass.osgeo.org/grass70/manuals/addons/r.geomorphon.html
> -- next part --
> An HTML attachment was scrubbed...
> URL: 
> <http://lists.osgeo.org/pipermail/grass-user/attachments/20151112/cf81f265/attachment-0001.html>
> 
> --
> 
> Message: 6
> Date: Thu, 12 Nov 2015 12:59:47 +
> From: "Blumentrath, Stefan" 
> To: Vaclav Petras , Jean-Roc Morreale
>   
> Cc: GRASS user list 
> Subject: Re: [GRASS-user] Automatic extraction of valley features
> Message-ID: 
> Content-Type: text/plain; charset="utf-8"
> 
> Hi,
> 
> Something to have in mind is that your definition of a valley will be heavily 
> scale dependent, e.g. what depth and width (and possibly even length) do you 
> consider as a valley. As a consequence, also results from r.param.scale and 
> r.geomorphon are likewise scale dependent (where scale is - amongst others - 
> accounted for in neighborhood parameter).
> 
> Another option to identify valleys is the Topographic Position Index (TPI), 
> which is defined as the altitude of a pixel in relation to the average 
> altitude of the pixels in the neighborhood. In GRASS terms:
> r.neighbors input=dem output=dem_avg_11 size=11
> r.mapcalc expression=”TPI_11=dem-dem_avg_11”
> 
> Negative TPI values indicate valleys. However, a drawback of TPI is that it 
> may also give negative values at the foot of a slope, and that the signal 
> will “fork” in wide U-valleys…
> 
> In order to address scale effects, you can use a multiscale approach with 
> increasing neighborhoods for all the above methods…
> 
> Cheers,
> Stefan
> 
> From: grass-user [mailto:grass-user-boun...@lists.osgeo.org] On Behalf Of 
> Vaclav Petras
> Sent: 12. november 2015 13:42
> To: Jean-Roc Morreale 
> Cc: GRASS user list 
> Subject: Re: [GRASS-user] Automatic extraction of valley features
> 
> Hi,
> On Th

Re: [GRASS-user] Automatic extraction of valley

2015-11-12 Thread Jean-Roc Morreale

Thank you for this article Rengifo !

To be clearer, I've been asked by a geologist to create a polygon cover 
of valley features, the polygon shown in my example was just a quick 
doodle showing the wanted result (I would take me several weeks to 
manually digitize the whole region).


Le 2015-11-12 15:27, Rengifo Ortega a écrit :

Dear Jean,
If I understand you correctly what you are looking for is to make a
swath profile along curved geomorphic features e.g botton valleys. I
think  that if  you want to this in  grass gis, it would be enough to
create a  mask using the the polygon you show in your picture and then
extract that area using r.mapcalc. You also can use the geomorphons
approach,  described by Vaclav, but you have to be careful with the
parameters, since they will yield different results depending on your
parameters.I would rather use gemorphons instead of r.param.scale,
since it is scale independent.  If you want something more specific I
suggest you to take a  look at this paper it might give some  ideas
about the topic.
http://www.earth-surf-dynam.net/2/97/2014/esurf-2-97-2014.pdf

Best regards..

Rengifo Ortega



Message: 4
Date: Thu, 12 Nov 2015 11:09:48 +0100
From: Jean-Roc Morreale 
To: grass-user@lists.osgeo.org
Subject: [GRASS-user] Automatic extraction of valley features
Message-ID: 
Content-Type: text/plain; charset=US-ASCII; format=flowed

Hi,

I would like to know how to extract a valley feature from a DEM as a
polygon : the wanted result isn't equal to a watershed or a sub-basin,
it is the cumulated shape of the two slopes and the bottom where the
stream is located.

As I do not master the geomorphological vocabulary, here is a image
showing the desired outcome :
https://drive.google.com/open?id=0B1sJg8zddqSPUk9BcTdncVRNNHc

I'm using GRASS7, I've tried r.watershed and several r.stream.* 
modules
but my lack of knowledge in this domain is blocking. The elevation 
data

used is the EU-DEM.

Regards,
Jean-Roc


--

Message: 5
Date: Thu, 12 Nov 2015 07:41:47 -0500
From: Vaclav Petras 
To: Jean-Roc Morreale 
Cc: GRASS user list 
Subject: Re: [GRASS-user] Automatic extraction of valley features
Message-ID:

Content-Type: text/plain; charset="utf-8"

Hi,

On Thu, Nov 12, 2015 at 5:09 AM, Jean-Roc Morreale 


wrote:

> I would like to know how to extract a valley feature from a DEM as a
> polygon


The classic way would be to use r.param.scale with method=feature, but 
I
would recommend using r.geomorphon by Stepinski and Jasiewicz (2011, 
2013).


Both modules will give you a raster map. You can use r.to.vect to get
vector polygons. To get just the valley use either raster algebra
(r.mapcalc) on the raster map or v.extract on the vector map.

Note that r.geomorphon module is in GRASS Addons repository, so use 
e.g.,

g.extension r.geomorphon to get it.

Vaclav

https://grass.osgeo.org/grass70/manuals/r.param.scale.html
https://grass.osgeo.org/grass70/manuals/addons/r.geomorphon.html
-- next part --
An HTML attachment was scrubbed...
URL: 
<http://lists.osgeo.org/pipermail/grass-user/attachments/20151112/cf81f265/attachment-0001.html>


--

Message: 6
Date: Thu, 12 Nov 2015 12:59:47 +
From: "Blumentrath, Stefan" 
To: Vaclav Petras , Jean-Roc Morreale
    
Cc: GRASS user list 
Subject: Re: [GRASS-user] Automatic extraction of valley features
Message-ID: 
Content-Type: text/plain; charset="utf-8"

Hi,

Something to have in mind is that your definition of a valley will be 
heavily scale dependent, e.g. what depth and width (and possibly even 
length) do you consider as a valley. As a consequence, also results 
from r.param.scale and r.geomorphon are likewise scale dependent 
(where scale is - amongst others - accounted for in neighborhood 
parameter).


Another option to identify valleys is the Topographic Position Index 
(TPI), which is defined as the altitude of a pixel in relation to the 
average altitude of the pixels in the neighborhood. In GRASS terms:

r.neighbors input=dem output=dem_avg_11 size=11
r.mapcalc expression=”TPI_11=dem-dem_avg_11”

Negative TPI values indicate valleys. However, a drawback of TPI is 
that it may also give negative values at the foot of a slope, and that 
the signal will “fork” in wide U-valleys…


In order to address scale effects, you can use a multiscale approach 
with increasing neighborhoods for all the above methods…


Cheers,
Stefan

From: grass-user [mailto:grass-user-boun...@lists.osgeo.org] On Behalf 
Of Vaclav Petras

Sent: 12. november 2015 13:42
To: Jean-Roc Morreale 
Cc: GRASS user list 
Subject: Re: [GRASS-user] Automatic extraction of valley features

Hi,
On Thu, Nov 12, 2015 at 5:09 AM, Jean-Roc Morreale 
mailto:jr.morre...@enoreth.net>> wrote:
I would like to know how to extract a valley feature from a DEM as a 
polygon


The classic way would be to use r.param.sca

Re: [GRASS-user] Automatic extraction of valley features

2015-11-12 Thread Vaclav Petras
Hi,

On Thu, Nov 12, 2015 at 5:09 AM, Jean-Roc Morreale 
wrote:

> I would like to know how to extract a valley feature from a DEM as a
> polygon


The classic way would be to use r.param.scale with method=feature, but I
would recommend using r.geomorphon by Stepinski and Jasiewicz (2011, 2013).

Both modules will give you a raster map. You can use r.to.vect to get
vector polygons. To get just the valley use either raster algebra
(r.mapcalc) on the raster map or v.extract on the vector map.

Note that r.geomorphon module is in GRASS Addons repository, so use e.g.,
g.extension r.geomorphon to get it.

Vaclav

https://grass.osgeo.org/grass70/manuals/r.param.scale.html
https://grass.osgeo.org/grass70/manuals/addons/r.geomorphon.html
___
grass-user mailing list
grass-user@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-user

Re: [GRASS-user] Automatic extraction of valley features

2015-11-12 Thread Blumentrath, Stefan
Hi,

Something to have in mind is that your definition of a valley will be heavily 
scale dependent, e.g. what depth and width (and possibly even length) do you 
consider as a valley. As a consequence, also results from r.param.scale and 
r.geomorphon are likewise scale dependent (where scale is - amongst others - 
accounted for in neighborhood parameter).

Another option to identify valleys is the Topographic Position Index (TPI), 
which is defined as the altitude of a pixel in relation to the average altitude 
of the pixels in the neighborhood. In GRASS terms:
r.neighbors input=dem output=dem_avg_11 size=11
r.mapcalc expression=”TPI_11=dem-dem_avg_11”

Negative TPI values indicate valleys. However, a drawback of TPI is that it may 
also give negative values at the foot of a slope, and that the signal will 
“fork” in wide U-valleys…

In order to address scale effects, you can use a multiscale approach with 
increasing neighborhoods for all the above methods…

Cheers,
Stefan

From: grass-user [mailto:grass-user-boun...@lists.osgeo.org] On Behalf Of 
Vaclav Petras
Sent: 12. november 2015 13:42
To: Jean-Roc Morreale 
Cc: GRASS user list 
Subject: Re: [GRASS-user] Automatic extraction of valley features

Hi,
On Thu, Nov 12, 2015 at 5:09 AM, Jean-Roc Morreale 
mailto:jr.morre...@enoreth.net>> wrote:
I would like to know how to extract a valley feature from a DEM as a polygon

The classic way would be to use r.param.scale with method=feature, but I would 
recommend using r.geomorphon by Stepinski and Jasiewicz (2011, 2013).
Both modules will give you a raster map. You can use r.to.vect to get vector 
polygons. To get just the valley use either raster algebra (r.mapcalc) on the 
raster map or v.extract on the vector map.
Note that r.geomorphon module is in GRASS Addons repository, so use e.g., 
g.extension r.geomorphon to get it.

Vaclav

https://grass.osgeo.org/grass70/manuals/r.param.scale.html
https://grass.osgeo.org/grass70/manuals/addons/r.geomorphon.html
___
grass-user mailing list
grass-user@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-user

Re: [GRASS-user] Automatic extraction of valley features

2015-11-12 Thread Jean-Roc Morreale

Thank you Vaclav and Stefan,

I'm trying r.geomorphon which seems to be quite a great tool

r.geomorphon -m dem=DEM@hydro forms=geoform search=900 skip=0 flat=1 
dist=0

r.mapcalc "DEM_valley = if(geoform == 9, 1, null())"

here is a result -> https://goo.gl/XChymf

This example shows what Stefan pointed out, I'll have to change the 
search radius to cover each scale as a 30cells radius is identifying all 
the secondary branches but not the main. Another point I'll have to look 
at is the resolution to avoid unnecessary noise which would create 
choppy polygons.


Le 2015-11-12 13:59, Blumentrath, Stefan a écrit :


Hi,

Something to have in mind is that your definition of a valley will be 
heavily scale dependent, e.g. what depth and width (and possibly even 
length) do you consider as a valley. As a consequence, also results 
from r.param.scale and r.geomorphon are likewise scale dependent (where 
scale is - amongst others - accounted for in neighborhood parameter).


Another option to identify valleys is the Topographic Position Index 
(TPI), which is defined as the altitude of a pixel in relation to the 
average altitude of the pixels in the neighborhood. In GRASS terms:


r.neighbors input=dem output=dem_avg_11 size=11

r.mapcalc expression="TPI_11=dem-dem_avg_11"

Negative TPI values indicate valleys. However, a drawback of TPI is 
that it may also give negative values at the foot of a slope, and that 
the signal will "fork" in wide U-valleys...


In order to address scale effects, you can use a multiscale approach 
with increasing neighborhoods for all the above methods...


Cheers,

Stefan

FROM: grass-user [mailto:grass-user-boun...@lists.osgeo.org] ON BEHALF 
OF Vaclav Petras

SENT: 12. november 2015 13:42
TO: Jean-Roc Morreale 
CC: GRASS user list 
SUBJECT: Re: [GRASS-user] Automatic extraction of valley features

Hi,

On Thu, Nov 12, 2015 at 5:09 AM, Jean-Roc Morreale 
 wrote:


I would like to know how to extract a valley feature from a DEM as a 
polygon


The classic way would be to use r.param.scale with method=feature, but 
I would recommend using r.geomorphon by Stepinski and Jasiewicz (2011, 
2013).


Both modules will give you a raster map. You can use r.to.vect to get 
vector polygons. To get just the valley use either raster algebra 
(r.mapcalc) on the raster map or v.extract on the vector map.


Note that r.geomorphon module is in GRASS Addons repository, so use 
e.g., g.extension r.geomorphon to get it.


Vaclav

https://grass.osgeo.org/grass70/manuals/r.param.scale.html [1]
https://grass.osgeo.org/grass70/manuals/addons/r.geomorphon.html [2]




Links:
--
[1] https://grass.osgeo.org/grass70/manuals/r.param.scale.html
[2] https://grass.osgeo.org/grass70/manuals/addons/r.geomorphon.html
___
grass-user mailing list
grass-user@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-user