NCSU GIS 595-601: Tools for open geospatial science
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.
- Open science
- Motivation: replicability, repeatability, recomputability, reusability, reproducibility
- Components: Open Data, Open Formats, Open Standards, Open Source, Open Hardware, Open Methodology, Open Peer Review, Open Access, Open Educational Resources
- Collaborative and automated authoring tools
- Online environments
- Report generation
- Revision control
- Geospatial tools
- Common open source GIS tools
- Geospatial research tools
- Command line tools
- Publishing methods as code
- Writing code
- Creating new tools
- Open source projects and community
- Computational notebooks
- Reproducible environments
No special prerequisites.
Lecture combined with hands-on exercise which overlaps with a short homework.
|1.||June 24||Introduction to and motivation for open science|
|2.||June 26||Collaborative writing of scientific papers|
|3.||July 28||Advanced tools for papers and reports|
|4.||July 1||Revision control systems and wiki technologies|
|5.||July 3||How open source communities and development work|
|6.||July 5||Introduction to command line and remote access to computational resources|
|7.||July 8||Command line and Python tools for geospatial work|
|8.||July 10||Publishing data on web|
|9.||July 12||QGIS, a free and open source geographic system|
|10.||July 15||GRASS GIS as software for geospatial research|
|11.||July 17||Combining text, code and results into one document|
|12.||July 19||Publishing code as part of an open source project|
|13.||July 23||Reproducible computational environments|
|14.||July 25||Writing and reproducing an open science paper|
Assignments are always due the next week at the end of the day on Wednesdays, but it is recommended to finish them the following day which is, for most of the days, intentionally left free.
Exception to the above are the assignments from the last week of classes which are due on July 29.
Relevant conferences to keep an eye on: FOSS4G and FOSS4G NA (open source geospatial software), JupyterCon (project Jupyter), State of the Map US (OpenStreetMap), AllThingsOpen (Raleigh), and AGU (usually includes several sessions related to open).
Vaclav Petras and Helena Mitasova
Office hours (Vaclav Petras): Tuesday 1:30 - 2:30pm and Thursday 1:30 - 2:30pm. Before coming confirm by email the time and date (vpetras).
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):
- Open science
- Authorea and Markdown
- LaTeX (in Overleaf)
- Git, GitHub (Markdown, Overleaf, wiki, Zim)
- Linux, command line (Bash), SSH
- GRASS GIS
- Jupyter (and R Markdown)
- Writing GRASS GIS module in Python (alternatives: QGIS, R)
- Leaflet and leaflet-rastercoords with gdal2tiles --leaflet (plus OSM)
- Open source development
- Docker (and Vagrant)
- 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