dwww Home | Manual pages | Find package

r.lake(1grass)              GRASS GIS User's Manual             r.lake(1grass)

NAME
       r.lake  - Fills lake at given point to given level.

KEYWORDS
       raster, hydrology, hazard, flood

SYNOPSIS
       r.lake
       r.lake --help
       r.lake  [-no]  elevation=name water_level=float  [lake=name]   [coordi-
       nates=east,north]   [seed=name]   [--overwrite]  [--help]   [--verbose]
       [--quiet]  [--ui]

   Flags:
       -n
           Use negative depth values for lake raster map

       -o
           Overwrite seed map with result (lake) map

       --overwrite
           Allow output files to overwrite existing files

       --help
           Print usage summary

       --verbose
           Verbose module output

       --quiet
           Quiet module output

       --ui
           Force launching GUI dialog

   Parameters:
       elevation=name [required]
           Name of input elevation raster map

       water_level=float [required]
           Water level

       lake=name
           Name for output raster map

       coordinates=east,north
           Seed point coordinates
           Either this coordinates pair or a seed map have to be specified

       seed=name
           Input raster map with given starting point(s) (at least 1 cell > 0)
           Either this parameter or a coordinates pair have to be specified

DESCRIPTION
       The  module  fills  a  lake  to a target water level from a given start
       point. The user can think of it as r.grow with  additional  checks  for
       elevation.  The  resulting raster map contains cells with values repre-
       senting lake depth and NULL for all other cells beyond the  lake.  Lake
       depth  is reported relative to specified water level (specified level =
       0 depth).

       This module uses a 3x3 moving window approach to find  all  cells  that
       match three criteria and to define the lake:

           •   cells are below the specified elevation (i.e., water level);

           •   cells  are  connected with an initial cell (seed or coordinates
               pair value);

           •   cells are not NULL or masked.

       The water level must be in DEM units.

NOTES
       The seed (starting) point can be a raster map with at  least  one  cell
       value  greater  than  zero, or a seed point can be specified as an E, N
       coordinate pair. If the seed is specified as a coordinate pair, an  ad-
       ditional  check  is  done  to  make sure that the target water level is
       above the level of the DEM. When a raster map is used as a  seed,  how-
       ever,  no  such checks are done.  Specifying a target water level below
       surface represented by DEM will result in an empty map. Note: a  raster
       lake map created in a previous run can also be used as a seed map for a
       new run to simulate rising water levels.

       The module will create a new map (lake=foo) or can be  set  to  replace
       the  input  (seed=bar) map if the -o flag is used.  The user can use -o
       flag to create animations of rising water  level  without  producing  a
       separate  map  for  each frame.  An initial seed map must be created to
       start the sequence, and will be overwritten during subsequent runs with
       resulting  water levels maps (i.e., a single file serves for both input
       and output).

       Negative output (the -n flag) is useful for visualisations in NVIZ.  It
       equals the mapcalc’s expression "negative = 0 - positive".

   r.mapcalc equivalent - for GRASS hackers
       This  module  was  initially created as a script using r.mapcalc.  This
       had some limitations - it was slow and no checks where done to find out
       required  iteration count. The shell script code (using r.mapcalc) used
       in the original script is shown below:
       ${seedmap} = if( ${dem}, \
       if( if( isnull(${seedmap}),0,${seedmap}>0), ${wlevel}-${dem}, \
        if( \
         if(isnull(${seedmap}[-1,0]),0, ${seedmap}[-1,0]>0 && ${wlevel}>${dem}) ||\
         if(isnull(${seedmap}[-1,1]),0, ${seedmap}[-1,1]>0 && ${wlevel}>${dem}) ||\
         if(isnull(${seedmap}[0,1]), 0, ${seedmap}[0,1]>0  && ${wlevel}>${dem}) ||\
         if(isnull(${seedmap}[1,1]), 0, ${seedmap}[1,1]>0  && ${wlevel}>${dem}) ||\
         if(isnull(${seedmap}[1,0]), 0, ${seedmap}[1,0]>0  && ${wlevel}>${dem}) ||\
         if(isnull(${seedmap}[1,-1]),0, ${seedmap}[1,-1]>0 && ${wlevel}>${dem}) ||\
         if(isnull(${seedmap}[0,-1]),0, ${seedmap}[0,-1]>0 && ${wlevel}>${dem}) ||\
         if(isnull(${seedmap}[-1,-1]),0, ${seedmap}[-1,-1]>0 && ${wlevel}>${dem}),\
        ${wlevel}-${dem}, null() )))

       The ${seedmap} variable is replaced by seed map names, ${dem} with  DEM
       map  name,  and  ${wlevel} with target water level. To get single water
       level, this code block is called with same level numerous times  (in  a
       loop) as the lake grows by single cells during single run.

KNOWN ISSUES
           •   The entire map is loaded into RAM.

           •   A completely negative seed map will not work! At least one cell
               must have a value > 0. Output from r.lake -n cannot be used  as
               input in the next run.

EXAMPLE
       Example  of  small  flooding  along  a  street  (North  Carolina sample
       dataset):
       g.region raster=elev_lid792_1m -p
       # water accumulation next to street dam
       r.lake elev_lid792_1m coordinates=638759.3,220264.1 water_level=113.4 lake=flooding
       # draw resulting lake map over shaded terrain map
       r.relief input=elev_lid792_1m output=elev_lid792_1m_shade
       d.rast elev_lid792_1m_shade
       d.rast flooding
       d.vect streets_wake

       Small flooding along a street (r.lake, using Lidar 1m DEM)

SEE ALSO
        r.mapcalc, r.grow, r.plane

AUTHOR
       Maris Nartiss (maris.nartiss gmail.com)

SOURCE CODE
       Available at: r.lake source code (history)

       Accessed: unknown

       Main index | Raster index | Topics index | Keywords index  |  Graphical
       index | Full index

       © 2003-2022 GRASS Development Team, GRASS GIS 7.8.7 Reference Manual

GRASS 7.8.7                                                     r.lake(1grass)

Generated by dwww version 1.14 on Fri Jan 24 09:26:24 CET 2025.