Open-Source GIScience


In this course, you will explore a variety of open-source technologies for working with geosptial data, performing spatial analysis, and undertaking general data science. The first component of the class focuses on the use of QGIS and associated technologies (GDAL, PROJ, GRASS, SAGA, and Orfeo Toolbox). The second component of the class introduces Python and associated open-source libraries and modules (NumPy, Pandas, Matplotlib, Seaborn, GeoPandas, Rasterio, WhiteboxTools, and Scikit-Learn) used by geospatial scientists and data scientists. We also provide an introduction to Structured Query Language (SQL) for performing table and spatial queries.

This course is designed for individuals that have a background in GIS, such as working in the ArcGIS environment, but no prior experience using open-source software and/or coding.

You will be asked to work through a series of lecture modules and videos broken into several topic areas, as outlined below. Fourteen assignments and the required data have been provided as hands-on opportunities to work with data and the discussed technologies and methods.

If you have any questions or suggestions, feel free to contact us. We hope to continue to update and improve this course.

After completing this course you will be able to:

  1. apply QGIS to visualize, query, and analyze vector and raster geospatial data.
  2. use available resources to further expand your knowledge of open-source technologies.
  3. describe and use a variety of open data formats.
  4. code in Python at an intermediate-level.
  5. read, summarize, visualize, and analyze data using open Python libraries.
  6. create spatial predictive models using Python and associated libraries.
  7. use SQL to perform table and spatial queries at an intermediate-level.

This course was produced by West Virginia View (http://www.wvview.org/) with support from AmericaView (https://americaview.org/). This material is based upon work supported by the U.S. Geological Survey under Grant/Cooperative Agreement No. G18AP00077. The views and conclusions contained in this document are those of the authors and should not be interpreted as representing the opinions or policies of the U.S. Geological Survey. Mention of trade names or commercial products does not constitute their endorsement by the U.S. Geological Survey.


Resources


UK Data

Digitizing

US Data

Portland Data

Burn Ratio

Supervised Classification

Landslides

Machine Learning Example

Example GIS Data

Python Example Data

Jupyter Notebooks

SQL Examples

Slides PDFs

Install ArcGIS Pro


QGIS Intro


Open-Source GIS

Download/Install

QGIS UI

Plugins

Base Maps

Read in Data

Symbolize Vectors

Symbolize Rasters

Choropleth Maps

Data Conversion

Map Layouts

Digitizing

Open Data Seminar

A1: Map Layouts

A2: Digitizing


Vector-Based Spatial Analysis


Attribute Tables

Selection and Query

Vector Overlay

Vector Analysis

Vector Summarize

Research Tools

Select by Location

Merge Vectors

Bounding Geometry

Table/Spatial Joins

A3: Query and Selection

A4: Vector Analysis


Raster-Based Spatial Analysis


Raster NoData

Raster Reclassify

Mask and Merge

Raster Calculator

Exract at Points

Zonal Summary

Sieve

Resample

Euclidean Distance

Kernel Density

Neighborhood

Data Conversion

Terrain Analysis

A5: Raster Modeling

A6: Raster Summarization


Image Analysis and Remote Sensing


Georeferencing

Stack Bands

Band Ratios

Extract Multi-Band

Mask and Merge

Zonal Stats Multi-Band

dNBR

Orfeo Toolbox

PCA

Haralick

Unsupervised

Training Data

Supervised: Train

Supervised: Predict

Image Segmentation

LiDAR

A7: Burn Ratios

A8: Supervised Classification


QGIS Advanced


Batch Processing

Graphical Modeler

QGIS to Leaflet

A9: Graphical Modeler


Coding and Data Science


Conda Environments

Spatial Conda Env

Intro to Python

Deeper Dive

Numpy

Pandas

Graphing

Spatial Analysis

Machine Learning

Machine Learning

SQL

SQL Seminar

A10: Python Data Query

A11: Graphing

A12: Vector Analysis

A13: Geospatial ML

A14: SQL Query