NCSU GIS 610-003/603: 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.||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).
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).
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