Re: [GRASS-user] Elevation above a river
Ok great - thanks. I think I will use r.carve to carve the streams into the DTM first and then use this procedure you have described. Do you with the seed raster (for r.lake) if I convert the stream to raster, will ever cell be a seed point (i.e. Water will be placed into every cell at a height of x?)? If so, this is exactly what I need. Thanks On Luan 17 MFómh 2018 at 04:22, Vaclav Petras wrote: > Hi Shane, > > On Fri, Sep 14, 2018 at 5:03 PM Shane Carey wrote: > >> >> Does anyone know is it possible to calculate the elevation above a river >> channel (actual river network that was digitised as opposed to being >> extracted from a DTM) from a DTM and create a polygon from it. >> >> I need to calculate heights of 1m and 3m above a river channel on both >> sides of the channel and create a polygon from it. >> > > Maybe Height Above Nearest Drainage (HAND) is what you are looking for. It > is basically done using: > > r.stream.distance stream_rast=streams direction=drainage > elevation=elevation method=downstream difference=above_stream > > See full workflow here: > > > https://grasswiki.osgeo.org/wiki/From_GRASS_GIS_novice_to_power_user_(workshop_at_FOSS4G_Boston_2017)#Hydrology:_Estimating_inundation_extent_using_HAND_methodology > > You will need to do some post processing with r.lake or r.mapcalc and > r.to.vect to get the polygons. > > Since you already have the streams and you want to use them, you need to > convert them to raster and then also get stream direction for > r.stream.distance by reclassifying, e.g. with r.mapcalc, output from > something like this: > > v.to.rast in=streams output=streams_dir use=dir > > which you can see in context here (different hydrology tool): > > > http://ncsu-geoforall-lab.github.io/geospatial-modeling-course/grass/simwe.html > > However, I would be careful about how the streams fit with the terrain you > are using to be sure results make sense. > > Vaclav > > -- Le gach dea ghui, *Shane Carey* *GIS and Data Solutions Consultant* ___ grass-user mailing list grass-user@lists.osgeo.org https://lists.osgeo.org/mailman/listinfo/grass-user
Re: [GRASS-user] Elevation above a river
Hi Shane, On Fri, Sep 14, 2018 at 5:03 PM Shane Carey wrote: > > Does anyone know is it possible to calculate the elevation above a river > channel (actual river network that was digitised as opposed to being > extracted from a DTM) from a DTM and create a polygon from it. > > I need to calculate heights of 1m and 3m above a river channel on both > sides of the channel and create a polygon from it. > Maybe Height Above Nearest Drainage (HAND) is what you are looking for. It is basically done using: r.stream.distance stream_rast=streams direction=drainage elevation=elevation method=downstream difference=above_stream See full workflow here: https://grasswiki.osgeo.org/wiki/From_GRASS_GIS_novice_to_power_user_(workshop_at_FOSS4G_Boston_2017)#Hydrology:_Estimating_inundation_extent_using_HAND_methodology You will need to do some post processing with r.lake or r.mapcalc and r.to.vect to get the polygons. Since you already have the streams and you want to use them, you need to convert them to raster and then also get stream direction for r.stream.distance by reclassifying, e.g. with r.mapcalc, output from something like this: v.to.rast in=streams output=streams_dir use=dir which you can see in context here (different hydrology tool): http://ncsu-geoforall-lab.github.io/geospatial-modeling-course/grass/simwe.html However, I would be careful about how the streams fit with the terrain you are using to be sure results make sense. Vaclav ___ grass-user mailing list grass-user@lists.osgeo.org https://lists.osgeo.org/mailman/listinfo/grass-user
Re: [GRASS-user] Elevation above a river
That is were the third step should follow, i.e. using r.mapcalc to identify all the cells that are 1m higher than the grown river (irrespective in which distance from the river these cells are located). The rasterized area could then be translated into a vector format using r.to.vect. Here a small example of how the working flow could be using the North Caroline example dataset: ## # Set region g.region raster=elevation@PERMANENT # Extract elevation of the streams r.mapcalc --o expression="streams_elevation = if( streams_derived@PERMANENT, elevation@PERMANENT,null())" # Grow stream_elevation map by a some hundred meters r.grow -m --overwrite input=streams_elevation output=streams_elevation_grow radius=500 # Calculate difference between original elevatoin and stream channel elevation r.mapcalc expression="stream_elevation_diff = elevation@PERMANENT - streams_elevation_grow" --overwrite # Extract areas that are than x meters higher than stream channel elevation r.mapcalc expression="stream_elevation_diff_smaller1 = if( stream_elevation_diff < 1,1,null())" --overwrite # Maybe here it needs some cleaning of spurious cells etc. (using some kind of neighbourhood filtering) # Raster areas to a vector area (with smoothed corners; s-flag) r.to.vect -s --overwrite input=stream_elevation_diff_smaller1 output=stream_elevation_diff_smaller1_area type=area ## HTH /Johannes On Sun, Sep 16, 2018 at 8:53 PM Shane Carey wrote: > Hey Johannes, > > Thanks for your reply. How does r.grow work if let's say the height above > the river reaches 1m at 3meters away from the river. And in an other area > it reaches the 1meter height at 2meters away from the river. Is it able to > follow that line? > > Thanks > > On Domh 16 MFómh 2018 at 17:21, Johannes Radinger < > johannesradin...@gmail.com> wrote: > >> To me this looks like a flooding-related question, i.e. to extract the >> shore lines of a river if it's water level is raised by 1m or 3m? >> Maybe (1) extract the raster cells of the elevation map that represents >> the river channel, (2) then apply r.grow and (3) then r.mapcalc to subtract >> the grown river channel from the original elevation map. >> /Johannes >> >> On Sun, Sep 16, 2018 at 5:16 PM Markus Neteler wrote: >> >>> Hi, >>> >>> Shane Carey schrieb am Fr., 14. Sep. 2018, 23:02: >>> Hi All, Does anyone know is it possible to calculate the elevation above a river channel (actual river network that was digitised as opposed to being extracted from a DTM) from a DTM and create a polygon from it. I need to calculate heights of 1m and 3m above a river channel on both sides of the channel and create a polygon from it. >>> >>> This isn't clear to me. Could you elaborate? >>> >>> Best >>> Markus >>> >>> >>> Thanks all. Le gach dea ghui, *Shane Carey* *GIS and Data Solutions Consultant* ___ grass-user mailing list grass-user@lists.osgeo.org https://lists.osgeo.org/mailman/listinfo/grass-user >>> >>> ___ >>> grass-user mailing list >>> grass-user@lists.osgeo.org >>> https://lists.osgeo.org/mailman/listinfo/grass-user >> >> -- > Le gach dea ghui, > *Shane Carey* > *GIS and Data Solutions Consultant* > ___ grass-user mailing list grass-user@lists.osgeo.org https://lists.osgeo.org/mailman/listinfo/grass-user
Re: [GRASS-user] Elevation above a river
Hey Johannes, Thanks for your reply. How does r.grow work if let's say the height above the river reaches 1m at 3meters away from the river. And in an other area it reaches the 1meter height at 2meters away from the river. Is it able to follow that line? Thanks On Domh 16 MFómh 2018 at 17:21, Johannes Radinger < johannesradin...@gmail.com> wrote: > To me this looks like a flooding-related question, i.e. to extract the > shore lines of a river if it's water level is raised by 1m or 3m? > Maybe (1) extract the raster cells of the elevation map that represents > the river channel, (2) then apply r.grow and (3) then r.mapcalc to subtract > the grown river channel from the original elevation map. > /Johannes > > On Sun, Sep 16, 2018 at 5:16 PM Markus Neteler wrote: > >> Hi, >> >> Shane Carey schrieb am Fr., 14. Sep. 2018, 23:02: >> >>> Hi All, >>> >>> Does anyone know is it possible to calculate the elevation above a river >>> channel (actual river network that was digitised as opposed to being >>> extracted from a DTM) from a DTM and create a polygon from it. >>> >>> I need to calculate heights of 1m and 3m above a river channel on both >>> sides of the channel and create a polygon from it. >>> >> >> This isn't clear to me. Could you elaborate? >> >> Best >> Markus >> >> >> Thanks all. >>> >>> Le gach dea ghui, >>> *Shane Carey* >>> *GIS and Data Solutions Consultant* >>> ___ >>> grass-user mailing list >>> grass-user@lists.osgeo.org >>> https://lists.osgeo.org/mailman/listinfo/grass-user >> >> ___ >> grass-user mailing list >> grass-user@lists.osgeo.org >> https://lists.osgeo.org/mailman/listinfo/grass-user > > -- Le gach dea ghui, *Shane Carey* *GIS and Data Solutions Consultant* ___ grass-user mailing list grass-user@lists.osgeo.org https://lists.osgeo.org/mailman/listinfo/grass-user
Re: [GRASS-user] Elevation above a river
Cool thanks. I think this might work. Cheers for this - really great idea and help!! On Domh 16 MFómh 2018 at 17:21, Johannes Radinger < johannesradin...@gmail.com> wrote: > To me this looks like a flooding-related question, i.e. to extract the > shore lines of a river if it's water level is raised by 1m or 3m? > Maybe (1) extract the raster cells of the elevation map that represents > the river channel, (2) then apply r.grow and (3) then r.mapcalc to subtract > the grown river channel from the original elevation map. > /Johannes > > On Sun, Sep 16, 2018 at 5:16 PM Markus Neteler wrote: > >> Hi, >> >> Shane Carey schrieb am Fr., 14. Sep. 2018, 23:02: >> >>> Hi All, >>> >>> Does anyone know is it possible to calculate the elevation above a river >>> channel (actual river network that was digitised as opposed to being >>> extracted from a DTM) from a DTM and create a polygon from it. >>> >>> I need to calculate heights of 1m and 3m above a river channel on both >>> sides of the channel and create a polygon from it. >>> >> >> This isn't clear to me. Could you elaborate? >> >> Best >> Markus >> >> >> Thanks all. >>> >>> Le gach dea ghui, >>> *Shane Carey* >>> *GIS and Data Solutions Consultant* >>> ___ >>> grass-user mailing list >>> grass-user@lists.osgeo.org >>> https://lists.osgeo.org/mailman/listinfo/grass-user >> >> ___ >> grass-user mailing list >> grass-user@lists.osgeo.org >> https://lists.osgeo.org/mailman/listinfo/grass-user > > -- Le gach dea ghui, *Shane Carey* *GIS and Data Solutions Consultant* ___ grass-user mailing list grass-user@lists.osgeo.org https://lists.osgeo.org/mailman/listinfo/grass-user
Re: [GRASS-user] Elevation above a river
Hi, I'm not sure I made myself clear. I have a "real" river vector dataset of an area. It includes artificial channels also. This dataset was digitised manually and does not match the extracted river dataset from DTM algorithms in grass (r.stream.extraxt) I need to use the real river vector dataset - hence maybe alter the DTM so that it picks up these "real" rivers (perhaps by using r.carve?) as opposed to what would be created by r.stream.extract. And then when that step is complete, obtain elevation height above the river. Hope this makes sense and I am clear in my explanation. Many thanks all. On Domh 16 MFómh 2018 at 17:21, Johannes Radinger < johannesradin...@gmail.com> wrote: > To me this looks like a flooding-related question, i.e. to extract the > shore lines of a river if it's water level is raised by 1m or 3m? > Maybe (1) extract the raster cells of the elevation map that represents > the river channel, (2) then apply r.grow and (3) then r.mapcalc to subtract > the grown river channel from the original elevation map. > /Johannes > > On Sun, Sep 16, 2018 at 5:16 PM Markus Neteler wrote: > >> Hi, >> >> Shane Carey schrieb am Fr., 14. Sep. 2018, 23:02: >> >>> Hi All, >>> >>> Does anyone know is it possible to calculate the elevation above a river >>> channel (actual river network that was digitised as opposed to being >>> extracted from a DTM) from a DTM and create a polygon from it. >>> >>> I need to calculate heights of 1m and 3m above a river channel on both >>> sides of the channel and create a polygon from it. >>> >> >> This isn't clear to me. Could you elaborate? >> >> Best >> Markus >> >> >> Thanks all. >>> >>> Le gach dea ghui, >>> *Shane Carey* >>> *GIS and Data Solutions Consultant* >>> ___ >>> grass-user mailing list >>> grass-user@lists.osgeo.org >>> https://lists.osgeo.org/mailman/listinfo/grass-user >> >> ___ >> grass-user mailing list >> grass-user@lists.osgeo.org >> https://lists.osgeo.org/mailman/listinfo/grass-user > > -- Le gach dea ghui, *Shane Carey* *GIS and Data Solutions Consultant* ___ grass-user mailing list grass-user@lists.osgeo.org https://lists.osgeo.org/mailman/listinfo/grass-user
Re: [GRASS-user] Elevation above a river
To me this looks like a flooding-related question, i.e. to extract the shore lines of a river if it's water level is raised by 1m or 3m? Maybe (1) extract the raster cells of the elevation map that represents the river channel, (2) then apply r.grow and (3) then r.mapcalc to subtract the grown river channel from the original elevation map. /Johannes On Sun, Sep 16, 2018 at 5:16 PM Markus Neteler wrote: > Hi, > > Shane Carey schrieb am Fr., 14. Sep. 2018, 23:02: > >> Hi All, >> >> Does anyone know is it possible to calculate the elevation above a river >> channel (actual river network that was digitised as opposed to being >> extracted from a DTM) from a DTM and create a polygon from it. >> >> I need to calculate heights of 1m and 3m above a river channel on both >> sides of the channel and create a polygon from it. >> > > This isn't clear to me. Could you elaborate? > > Best > Markus > > > Thanks all. >> >> Le gach dea ghui, >> *Shane Carey* >> *GIS and Data Solutions Consultant* >> ___ >> grass-user mailing list >> grass-user@lists.osgeo.org >> https://lists.osgeo.org/mailman/listinfo/grass-user > > ___ > grass-user mailing list > grass-user@lists.osgeo.org > https://lists.osgeo.org/mailman/listinfo/grass-user ___ grass-user mailing list grass-user@lists.osgeo.org https://lists.osgeo.org/mailman/listinfo/grass-user
Re: [GRASS-user] Elevation above a river
Hi, Shane Carey schrieb am Fr., 14. Sep. 2018, 23:02: > Hi All, > > Does anyone know is it possible to calculate the elevation above a river > channel (actual river network that was digitised as opposed to being > extracted from a DTM) from a DTM and create a polygon from it. > > I need to calculate heights of 1m and 3m above a river channel on both > sides of the channel and create a polygon from it. > This isn't clear to me. Could you elaborate? Best Markus Thanks all. > > Le gach dea ghui, > *Shane Carey* > *GIS and Data Solutions Consultant* > ___ > grass-user mailing list > grass-user@lists.osgeo.org > https://lists.osgeo.org/mailman/listinfo/grass-user ___ grass-user mailing list grass-user@lists.osgeo.org https://lists.osgeo.org/mailman/listinfo/grass-user