SIE555: Spatial Database Systems

SIE555 Spatial Database Systems

Fall  2022  — Mon/Wed 2:00-3:15pm

Silvia Nittel

Course Description

This course covers modern modular database system (DBS) architectures, including spatial database functionality. It introduces relational algebra, SQL and spatial SQL based on OCG-compliant data types, database design, 3rd normal form, and spatial database architecture. Practical labs are done with PostGIS, QGIS and Apache Spark. Further, storage structures such as file, record and index structures (including spatial index structures) are covered. Relational and spatial query operator algorithms, and optimizing query plans.

Lec. 3. Cr. 3.

Prerequisites: graduate standing, some programming experience in Python.

(Optional) Course Texts:

Powerpoint slides of lecture material will be available via Umaine Brightspace (http://courses.maine.edu/).

Software: 

The course involves several programming assignments. Please make sure to have an up-to-date laptop available for class with sufficient RAM and disk space. For the database labs, we use

  • PostgreSQL
  • PostGIS
  • QGIS
  • Python (Geopandas, Shapely, etc.)
  • Apache Spark and Apache Sedona

Distance Education:
The live class is available via Zoom. Link is published on Brightspace. Recordings are available on Brightspace.

Course Goals and Objectives

  • Introducing Relational Algebra, SQL and Database Design
  • Introduction of challenges to manage spatial data with relational DBS
  • Spatial SQL
  • Practical labs with POSTGIS and QGIS
  • Develop an understanding of database architecture, including data storage and non-spatial and spatial data indexing mechanisms, and implications on database performance
  • Develop an understanding of query operator algorithms and query optimization
  • Develop an understanding of modern database architectures using distributed and cloud environments for large data
  • Gain competence in spatial database programming

Faculty Information

Dr. Silvia Nittel

Spatial Informatics
School of Computing and Information Science
334 Boardman Hall
silvia.nittel@maine.edu
Office Hours:
Office hours for this course will be announced at the beginning of the semester. Alternatively, contact me by email to arrange a time to meet.

Grading, Class Policies and Course Expectations

As a graduate-level course, you are expected to exhibit high-quality work that demonstrates a sound understanding of the concepts and their complexity. Earning an “A” represents oral and written work that is of exceptionally high quality and demonstrates a superb understanding of the course material. A “B” grade represents oral and written work that is of good quality and demonstrates a sound understanding of course material. A “C” grade represents a minimally adequate completion of assignments and participation demonstrating a limited understanding of course material.

Grading criteria:

  • Assignments – 70%
  • Final project– 30%  (due to special circumstances, Spring 2020)

Academic honesty

Academic honesty is expected.  Plagiarism is unacceptable in this course and will result in a failing grade.

Students with disabilities:

If you have a disability for which you may be requesting an accommodation, please contact Ann Smith, Coordinator of Services for Students with Disabilities (Onward Building, 581-2319), as early as possible in the term.

 

Week Class Date Topic
1 1 8/29/2022 Course Overview

Introduction (Part A)

2 8/31/2022 Introduction (Part B)
2 NO CLASS 9/5/2022 LABOR DAY
3 9/7/2022 Set Theory & SQL
3 4 9/12/2022 SQL Queries & Query Evaluation
5 9/14/2022 Installing Postgres and PostGIS

(Guest lecturer)

4 6 9/19/2022  SQL Queries & Query Evaluation
7 9/21/2022 Database Design
5 8 9/26/2022 SQL Language Embedding & DBS APIs  with Python
9 9/28/2022 Challenges of Spatial Data Management
6 10 10/03/2022 Spatial Query Operators
11 10/05/2022 Spatial Query Operators

Spatial DBS Architectures

7 No CLASS 10/10/2022 Fall BREAK
12 10/12/2022 Intro to QGIS (student lecture)
8 10/17/2022 no class
10/19/2022 no class
9 13 10/24/2022 PostGIS (I)
14 10/26/2022 PostGIS (II)
10 15 10/31/2022 PostGIS (III)
16 11/2/2022 Storage Structures
11 17 11/7/2022 File Structures
18 11/09/2022 Apache Spark  & RDDs
12 19 11/14/2022 Indexing: B-Tree
20 11/16/2022 Spatial Indexing: R-Trees
13 21 11/21/2022 Spatial Indexing Lab
No Class 11/23/2022 Thanksgiving
14 22 11/28/2022 Evaluation of Join Operator
23 11/30/2022 Evaluation of Spatial Join Operators
15 24 12/05/2022 Apache Spark Sedona
25 12/07/2022 no class
16 Finals week 12/12/2022 Project Presentations

2:45pm-4:45pm