Skip to content

Commit

Permalink
import_grass convert from bash to python, examples of usage added
Browse files Browse the repository at this point in the history
  • Loading branch information
landam committed Nov 14, 2023
1 parent c453c52 commit 8678cd5
Show file tree
Hide file tree
Showing 3 changed files with 68 additions and 17 deletions.
36 changes: 35 additions & 1 deletion bin/grass/r.smoderp2d/r.smoderp2d.html
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,14 @@ <h2>DESCRIPTION</h2>

<h2>EXAMPLE</h2>

Run quick test:
<h3>Nucice dataset</h3>

<div class="code"><pre>
grass -c EPSG:5514 /tmp/smoderp2d-nucice --exec python3 tests/data/import_grass.py tests/data/nucice
grass -c /tmp/smoderp2d-nucice/test
</pre></div>

Perform computation on Nucice dataset:

<div class="code"><pre>
r.smoderp2d \
Expand All @@ -25,6 +32,33 @@ <h2>EXAMPLE</h2>
output=tests/data/output
</pre></div>

<h3>Rain simulation dataset</h3>

<div class="code"><pre>
grass -c EPSG:5514 /tmp/smoderp2d-rainsim --exec python3 tests/data/import_grass.py tests/data/rain_sim
grass -c /tmp/smoderp2d-rainsim/test
</pre></div>

Perform computation on Rain simulation dataset:

<div class="code"><pre>
r.smoderp2d \
elevation=rastr10_05_t2_5@PERMANENT \
soil=soil@PERMANENT \
soil_type_fieldname=Soil \
vegetation=LandUse@PERMANENT \
vegetation_type_fieldname=LandUse \
rainfall_file=tests/data/rainfall_sim.txt \
maxdt=30 end_time=40 \
points=ObsPointssel@PERMANENT \
table_soil_vegetation=test_soilveg@PERMANENT \
table_soil_vegetation_fieldname=soilveg \
streams=streams@PERMANENT \
channel_properties_table=stream_shape@PERMANENT \
streams_channel_type_fieldname=channel_id \
output=tests/data/output
</pre></div>

<h2>SEE ALSO</h2>

<em>
Expand Down
33 changes: 33 additions & 0 deletions tests/data/import_grass.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
#!/usr/bin/env python3

# grass -c EPSG:5514 /tmp/smoderp2d-location --exec python3 import_grass.py nucice

import os
from pathlib import Path
from grass.pygrass.modules import Module

os.environ['GRASS_OVERWRITE'] ='1'

def do_import(path):
for rast in Path(path).glob('*.tif'):
Module('r.import', overwrite=True, input=str(rast), output=rast.stem, flags='o')
for vect in Path(path).glob('*.shp'):
Module('v.import', overwrite=True, input=str(vect), output=vect.stem, snap=0.01)
for tabl in Path(path).glob('*.dbf'):
if not tabl.with_suffix('.shp').exists():
Module('db.in.ogr', overwrite=True, input=str(tabl), output=tabl.stem)
for tabl in Path(path).glob('*.csv'):
Module('db.in.ogr', overwrite=True, input=str(tabl), output=tabl.stem, gdal_doo="AUTODETECT_TYPE=YES")

if __name__ == "__main__":
import argparse

parser = argparse.ArgumentParser(
prog='import_grass',
description='Import tests into GRASS location')

parser.add_argument('directory')

args = parser.parse_args()

do_import(args.directory)
16 changes: 0 additions & 16 deletions tests/data/import_grass.sh

This file was deleted.

0 comments on commit 8678cd5

Please sign in to comment.