NCSU
GeoForAll Lab
at the
Center for Geospatial Analytics
North Carolina State University
US-IALE, Baltimore
April 9-13, 2017
CC BY Stefan Janusz, Wikipedia
[Buckheit and Donoho 1995, Peng 2011, Rodríguez-Sánchez et al. 2016, Marwick 2016]
Image credit: CC BY-SA Comtebenoit, Wikimedia
It's impossible to conduct research without software, say 7 out of 10 UK researchers
— Hettrick et al, UK Research Software Survey 2014
Software [...] developed as part of novel methods is as important for the method's implementation [...] Such software [...] must be made available to readers upon publication.
—Nature Methods - 4, 189 (2007)
doi:10.1038/nmeth0307-189
r.in.lidar input=points.las output=elevation -e
Python
from grass.script import run_command
run_command("r.in.lidar", input="points.las", output="elevation", flags="e")
R
library(rgrass7)
execGRASS("r.in.lidar", input="points.las", output="elevation", flags="e")
git commit script.py -m "replaced part of the main equation"
FUTURES model implemented as GRASS GIS modules
r.futures.pga, r.futures.demand, r.futures.parallelpga, ...
Alternatives: R package, Python package, QGIS plugin, ...
| My laptop | Any computer | Docker | |
|---|---|---|---|
| What is required to recreate the study and run the software? | nothing* | text | text file |
| How are the dependencies handled? | ? | ? | specified |
FROM ubuntu:16.04
RUN apt-get update
RUN apt-get install -y \
g++ \
python \
python-numpy \
...
| Paper | background, methods, results, discussion | PDF, HTML |
| Environment | details about all dependencies and the code | Git, Docker |
| Specific code | scripts to perform the analyses | Bash, Python |
| Reusable code | methods as GRASS GIS modules | Python, C |
Petras, V., D. J. Newcomb, and H. Mitasova.
Generalized 3D fragmentation index derived from lidar point clouds.
In: Open Geospatial Data, Software and Standards [in print]