Brendan Harmon

Tools for Open Spatial Science

A brief introduction to tools for open spatial science.

Principles of open science

  • Reproducibility
  • Replicability
  • Transparency
  • Reusability
  • Accessibility
  • Collaboration

Types of open science

  • Open data
  • Open access
  • Open education
  • Open source
  • Open methodology
  • Open peer review

Tools for open spatial science


In this demo, I will demonstrate how to host, track, and publish spatial data online for the sake of reproducibility, open data, open access, and open education. I will show an example of a spatial dataset for a research project on simulating landscape evolution hosted on GitHub and tracked with Git for version control. I will also show how to publish and track spatial data on the Open Science Framework and Zenodo.


For a project on simulating landscape evolution using GRASS GIS, I created a sample dataset that can be downloaded here. I hosted this dataset on GitHub at for version control, easy sharing, and documentation.


Upload your data to a GitHub repository so that your can share your data online and track changes with Git for version control. To do this, first create new repository on GitHub, then clone the repository to your computer, add your dataset and other files, commit your changes, and push the changes to GitHub. You can either do this with a GUI with GitHub Desktop or GitKraken or with Git and Bash in the command line. If you are on Windows and want to use Git and Bash in the command line then I recommend using Windows Subsystem for Linux.

Here are the commands for uploading the landscape evolution dataset for the first time:

git clone
cd landscape_evolution_dataset
git add -A
git commit 'initial commit'
git push


Add documentation to your spatial data repository on GitHub by writing a file in Markdown. Markdown is a way to write plain text that can be rendered in formats like HTML. It is meant to be very easy to read and write. The basic syntax includes:

# heading level 1
## heading level 2
## heading level 3
* unordered list
1. ordered list

The readme for the landscape evolution dataset looks like this:

# Landscape Evolution Dataset
A sample dataset for the landscape evolution model
This dataset includes the [GRASS GIS](
location **nc_spm_evolution**
in the North Carolina State Plane HARN Meters
coordinate system (EPSG code 3358).
It contains the mapset **PERMANENT**
with spatial data for Fort Bragg, NC.
The location also contains rainfall records,
rules for custom color tables, rules for recoding data,
and metadata.

## License
This dataset is licensed under the
[Open Database License](
by Brendan Harmon

Open Science Framework

Publish your research project on the Open Science Framework and make a page for your spatial dataset. You can either upload data directly to OSF or connect to data on GitHub, Google Drive, Box, Amazon, Mendeley, Dataverse, etc. OSF will track changes in the Recent Activity section. When you make your OSF repository public, you can generate a DOI. For my OSF repository for the Landscape Evolution project I connected the GitHub repositories for the code and the dataset.


You can either upload data directly to Zenodo or integrate it with GitHub. When you publish a release for your GiHub project, then it will be automatically uploaded to Zenodo where a DOI will be generated. Follow this guide. Here is the latest release of my Landscape Evolution Dataset on Zenodo.




Open educational materials licensed Creative Commons Attribution-ShareAlike 4.0 by Brendan Harmon.