Skip to content

Instantly share code, notes, and snippets.

@petrasovaa
Created February 1, 2019 04:23
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save petrasovaa/438b7e03f7d8399a1467b3bedd761c3a to your computer and use it in GitHub Desktop.
Save petrasovaa/438b7e03f7d8399a1467b3bedd761c3a to your computer and use it in GitHub Desktop.
Student's code snippets for Tangible Landscape
# Ruixue Wang
def run_contour(scanned_elev,env,**kwargs):
gscript.run_command('r.contour',input=scanned_elev,output='Ruixue_contour',step=2,env=env)
# Rohith
def run_mvwatershed(scanned_elev, env, **kwargs):
gscript.run_command('r.watershed', elevation=scanned_elev, accumulation='flow_accum',
basin='watersheds', threshold=800, env=env)
gscript.run_command('r.slope.aspect', elevation=scanned_elev, slope='slope', env=env)
gscript.run_command('r.stats.zonal', base='watersheds', cover='slope', method='average',
output='watersheds_slope', env=env)
gscript.run_command('r.colors', map='watersheds_slope', color='bgyr', env=env)
# Kimia
def run_slopeK(scanned_elev,env,**kwargs):
gscript.run_command('r.watershed',elevation=scanned_elev, accumulation='flow_accum',basin='watersheds',threshold=1000,env=env)
gscript.run_command('r.slope.aspect', elevation=scanned_elev, slope='slope', env=env)
gscript.run_command('r.stats.zonal', base='watersheds', cover='slope', method='average',output='watersheds_slope',env=env)
gscript.run_command('r.colors', map='watersheds_slope', color='bgyr', env=env)
#shannon
def run_pond_shan(scanned_elev, env, **kwargs):
repeat = 2
input_dem = scanned_elev
output = "tmp_filldir"
for i in range(repeat):
gscript.run_command('r.fill.dir', input=input_dem, output=output, direction="tmp_dir", env=env)
input_dem = output
# filter depression deeper than 0.1 m to
gscript.mapcalc('{new} = if({out} - {scan} > 0.1, {out} - {scan}, null())'.format(new='ponds', out=output,
scan=scanned_elev), env=env)
gscript.write_command('r.colors', map='ponds', rules='-', stdin='0% aqua\n100% blue', env=env)
# Kellyn local relief (may need to install add on)
def run_local_relief(scanned_elev, env, **kwargs):
# compute the analysis
gscript.run_command('r.local.relief', input=scanned_elev,
color_table="differences", shaded_output="kellyn_shadedlocal",
output="kellyn_localrelief", env=env)
# Kellyn's geomorphons
def run_geomorph(scanned_elev, env, **kwargs):
# compute the analysis
gscript.run_command('r.geomorphon', elevation=scanned_elev,
search=3, skip=0, dist=0, forms="kellyn_geomorph", env=env)
## Zekun
def run_solar(scanned_elev, env, **kwargs):
gscript.run_command('r.sun', elevation=scanned_elev, day=31, beam_rad=zekun_beam,env=env)
## Megan
def run_flow(scanned_elev, env, **kwargs):
gscript.run_command('r.flow', elevation = scanned_elev, flowline = 'flowline', env=env)
# Corey v.surf.rst
def run_surf_rst_corey(scanned_elev, env, **kwargs):
# compute the analysis
gscript.run_command('r.random', input=scanned_elev, vector="tmp_elev_points", npoints=500, env=env)
gscript.run_command('v.surf.rst', input="tmp_elev_points", elevation="corey_elev", zcolumn="value", env=env)
gscript.mapcalc('{difference} = {original} - {calc}'.format(original=scanned_elev, calc="corey_elev", difference='diff_corey'), env=env)
gscript.run_command('r.colors', map='diff_corey', color='differences', env=env)
# Vishnu
def run_slope(scanned_elev, env, **kwargs):
# compute the analysis
gscript.run_command('r.slope.aspect', elevation=scanned_elev , slope='vv_slope_elev_lid792_1m', aspect='vv_aspect_elev_lid792_1m', env=env)
#Mandy's r.sim.water
def MandySimWater(scanned_elev, env, **kwargs):
gscript.run_command('r.slope.aspect', elevation=scanned_elev, slope='slope', aspect='aspect', dx='dxscanelev', dy='dyscanelev', env=env)
gscript.run_command('r.sim.water', elevation=scanned_elev, dx='dxscanelev', dy='dyscanelev', depth='depth50mm', env=env)
# Nikki
def run_nikki(scanned_elev, env, **kwargs):
data = gscript.read_command('v.out.ascii', input='change', type='point', format='point', env=env).strip()
c1, c2 = data.splitlines()
c1 = c1.split('|')
c2 = c2.split('|')
start = (float(c1[0]), float(c1[1]))
end = (float(c2[0]), float(c2[1]))
gscript.run_command('r.slope.aspect', elevation=scanned_elev, slope='slope', env=env)
gscript.run_command('r.cost', input='slope', output='cost', start_coordinates=start,
outdir='outdir', flags='k', env=env)
gscript.run_command('r.colors', map='cost', color='gyr', env=env)
gscript.run_command('r.drain', input='cost', output='drain', direction='outdir',
drain='drain', flags='d', start_coordinates=end, env=env)
gscript.run_command('v.to.points', input='drain', output='points', dmax='20', flags='pr', env=env)
gscript.run_command('r.viewshed.cva', input=scanned_elev, vector='points', output='cva', env=env)
# Garrett
def run_LCP(scanned_elev, env, **kwargs):
data = gscript.read_command('v.out.ascii', input='change', type='point', format='point', env=env).strip()
c1, c2 = data.splitlines()
c1 = c1.split('|')
c2 = c2.split('|')
start = (float(c1[0]), float(c1[1]))
end = (float(c2[0]), float(c2[1]))
gscript.run_command('r.slope.aspect', elevation=scanned_elev, slope='slope', env=env)
gscript.run_command('r.cost', input='slope', output='cost', start_coordinates=start,
outdir='outdir', flags='k', env=env)
gscript.run_command('r.colors', map='cost', color='gyr', env=env)
gscript.run_command('r.drain', input='cost', output='drain', direction='outdir',
drain='drain', flags='d', start_coordinates=end, env=env)
from tangible_utils import get_environment
def run_points(scanned_elev, real_elev, env, **kwargs):
env_crop = get_environment(raster=real_elev, n='n-100', s='s+100', e='e-100', w='w+100')
analyses.change_detection('scan_saved', scanned_elev, 'change', height_threshold=[15, 100], cells_threshold=[5, 100], add=True,
max_detected=2, debug=True, env=env_crop)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment