Skip to content

Commit

Permalink
r.sample.category: add random seed option for reproducibility
Browse files Browse the repository at this point in the history
  • Loading branch information
petrasovaa committed Jul 25, 2019
1 parent 81b3ff1 commit 2f8cca6
Showing 1 changed file with 15 additions and 1 deletion.
16 changes: 15 additions & 1 deletion grass7/raster/r.sample.category/r.sample.category.py
Expand Up @@ -44,6 +44,13 @@
#% multiple: yes
#% type: integer
#%end
#%option
#% key: random_seed
#% type: integer
#% required: no
#% multiple: no
#% description: Seed for random number generator
#%end
#%flag
#% key: s
#% description: If number of cells in category < npoints, skip category
Expand Down Expand Up @@ -105,6 +112,9 @@ def main():
else:
sampled_rasters = []
npoints = [int(num) for num in options['npoints'].split(',')]
seed = None
if options['random_seed']:
seed = int(options['random_seed'])
flag_s = flags['s']

if gscript.find_file(name='MASK', element='cell', mapset=gscript.gisenv()['MAPSET'])['name']:
Expand Down Expand Up @@ -151,7 +161,11 @@ def main():
# Create the points
vector = temp_name + str(cat)
vectors.append(vector)
gscript.run_command('r.random', input=input_raster, npoints=npoints[i], vector=vector, quiet=True)
if seed is None:
gscript.run_command('r.random', input=input_raster, npoints=npoints[i], vector=vector, quiet=True)
else:
gscript.run_command('r.random', input=input_raster, npoints=npoints[i],
vector=vector, seed=seed, quiet=True)
TMP.append(vector)
gscript.run_command('r.mask', flags='r', quiet=True)

Expand Down

0 comments on commit 2f8cca6

Please sign in to comment.