You could have a look at r.neighbors (https://grass.osgeo.org/grass74/manuals/r.neighbors.html) with method=maximum. /Johannes
Sent from my Samsung Galaxy smartphone. -------- Original message --------From: Shane Carey <[email protected]> Date: 22/09/2018 15:05 (GMT+01:00) To: Johannes Radinger <[email protected]> Cc: Markus Neteler <[email protected]>, GRASS user list <[email protected]> Subject: Re: [GRASS-user] Elevation above a river This works a treat - super stuff - thanks Johannes. Could you point me in the direction of an algorithim with Grass that can do the following: # Clean some of the spurious cells etc. (using some kind of neighbourhood filtering) Thanks very much Le gach dea ghui, Shane CareyGIS and Data Solutions Consultant On Sun, Sep 16, 2018 at 8:46 PM, Johannes Radinger <[email protected]> wrote: 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 regiong.region raster=elevation@PERMANENT # Extract elevation of the streamsr.mapcalc --o expression="streams_elevation = if( streams_derived@PERMANENT, elevation@PERMANENT,null())" # Grow stream_elevation map by a some hundred metersr.grow -m --overwrite input=streams_elevation output=streams_elevation_grow radius=500 # Calculate difference between original elevatoin and stream channel elevationr.mapcalc expression="stream_elevation_diff = elevation@PERMANENT - streams_elevation_grow" --overwrite # Extract areas that are than x meters higher than stream channel elevationr.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 <[email protected]> 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 <[email protected]> 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 <[email protected]> wrote: Hi, Shane Carey <[email protected]> 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? BestMarkus Thanks all. Le gach dea ghui, Shane CareyGIS and Data Solutions Consultant _______________________________________________ grass-user mailing list [email protected] https://lists.osgeo.org/mailman/listinfo/grass-user _______________________________________________ grass-user mailing list [email protected] https://lists.osgeo.org/mailman/listinfo/grass-user -- Le gach dea ghui, Shane CareyGIS and Data Solutions Consultant
_______________________________________________ grass-user mailing list [email protected] https://lists.osgeo.org/mailman/listinfo/grass-user
