NCSU GIS 610-003/603: Tools for open geospatial science

Description

The course will cover emerging field of open science and will deal with reproducibility and replicability challenges of computational research. The students will gain a hands-on experience with tools used by scientists to create geospatial research which can be validated by the wider geospatial community. Several geospatial open source tools will be discussed in connection with general-purpose and text authoring tools such as next generation interactive documents and revision control tools. Although the focus of the course is open science, many of the tools used in the course are used in the industry. The course will cover how open source communities and software development process work and how to apply this for research in a lab group. Students will have an option to participate in writing a collaborative publication covering the course topics.

See also a flyer and slides on a related topic.

Topics

  1. Open science
    1. Motivation: replicability, repeatability, recomputability, reusability, reproducibility
    2. Components: Open Data, Open Formats, Open Standards, Open Source, Open Hardware, Open Methodology, Open Peer Review, Open Access, Open Educational Resources
  2. Collaborative and automated authoring tools
    1. Online environments
    2. Report generation
    3. Revision control
  3. Geospatial tools
    1. Common open source GIS tools
    2. Geospatial research tools
    3. Command line tools
  4. Publishing methods as code
    1. Writing code
    2. Creating new tools
    3. Open source projects and community
  5. Reproducibility
    1. Computational notebooks
    2. Reproducible environments

Instructors

Vaclav Petras,

Helena Mitasova

Prerequisites

No special prerequisites.

Educational approach

Lecture combined with hands-on exercise which overlaps with a short homework.

Schedule

1. August 16 Introduction to and motivation for open science
2. August 23 Collaborative writing of scientific papers
3. August 30 Advanced tools for papers and reports
4. September 6 Revision control systems and wiki technologies
5. September 13 How open source communities and development work
6. September 20 Introduction to command line and remote access to computational resources
7. September 27 Command line and Python tools for geospatial work
8. October 4 Publishing data on web
9. October 11 QGIS, a free and open source geographic system
10. October 18 GRASS GIS as software for geospatial research
11. October 25 Combining text, code and results into one document
12. November 1 Publishing code as part of an open source project
13. November 8 Reproducible computational environments
14. November 15 Writing and reproducing an open science paper

Assignments are always due the next week at the end of the day of the on-campus class which is Wednesday.

November 29 is time to wrap up the class, to work on reproducible paper, or to complete what we missed in the previous weeks.

Relevant conferences during the semester: FOSS4G Boston (August 14-19, open source geospatial software), JupyterCon NY, (August 22-25), State of the Map US Boulder (October 19-22, OpenStreetMap), AllThingsOpen Raleigh (October 23-24), and AGU New Orleans (December 11-15, several sessions related to open).

Instructor

Vaclav Petras and Helena Mitasova

Office hours (Vaclav Petras): Tuesday 3:00 - 4:00pm and Thursday 3:00 - 4:00pm. Before coming confirm by email the time and date (vpetras).

Software

Several geospatial open source tools such as QGIS and GRASS GIS will be discussed in connection with general-purpose and text authoring tools such as Jupyter Notebooks and Git. Here is a detailed list (subject to change):

  1. Open science
  2. Authorea and Markdown
  3. LaTeX (in Overleaf)
  4. Git, GitHub (Markdown, Overleaf, wiki, Zim)
  5. QGIS
  6. Linux, command line (Bash), SSH
  7. GRASS GIS
  8. Jupyter (and R Markdown)
  9. Writing GRASS GIS module in Python (alternatives: QGIS, R)
  10. Leaflet and leaflet-rastercoords with gdal2tiles --leaflet (plus OSM)
  11. GDAL
  12. Open source development
  13. Docker (and Vagrant)
  14. Writing and reproducing an open science paper

All the software used in the course is open source, so students can install it on their computers without obtaining licenses from the vendors or through the university. Some free of charge services based on open source software or focused on open science or open source development will be used too.

The following additional tools can be discussed as well:

  • Presentation tools: Reveal.js, LaTeX Beamer, R Markdown
  • Poster tools: Tikz Poster, Beamer poster
  • Image tools: ImageMagic, PIL, Graphviz
  • Text tools: Pandoc

Get to know

open science (graphics)