Introduction to Spatial Databases with PostGIS and QGIS 3
Created by Michael Miller, Last Updated 03-Apr-2021, Language:English
Introduction to Spatial Databases with PostGIS and QGIS 3
Learn Spatial SQL and database management for GIS Professionals
Created by Michael Miller, Last Updated 03-Apr-2021, Language:English
What Will I Get ?
- Setup an instance of PostgreSQL and PostGIS either locally or accessible via the internet.
- Access your PostGIS instance and load your own geospatial data.
- Utilize PostGIS data from a variety of clients (Primarily QGIS, but also ArcGIS, pgAdmin4, web clients, and more)
- Learn to create new tables, modify existing tables, and view existing data via SQL
- Perform geospatial analysis using Spatial SQL
- Control user access to your data with roles and privileges
- Automate the datbase with custom functions
- Deploy your database to an internet accessible server
Requirements
- Basic understanding of QGIS (displaying geospatial data, etc.)
- Desire to expand your knowledge of multi-user spatial databases.
Description
This course is intended to provide an introduction to spatial databases in general and PostGIS in particular to GIS professionals who are interested in expanding their skillset to multi-user enterprise level spatial databases. You will learn
What a spatial database is and why you would want to use one.
What SQL is, why you would want to use it, and how it can be applied to geospatial concepts.
How to install PostGIS locally for development purposes and how to access a production version via a network or the internet.
How to load your spatial data into PostGIS and access it from a variety of clients, especially QGIS
The basics of SQL for both spatial and non-spatial queries
How to validate data and control user access with the tools built-in to PostGIS
Optimizing your queries for the best performance
How to work with raster data in PostGIS
The basics of programming custom functions with PL/pgSQL
The basics of database administration to keep your database operating smoothly
Course Content
-
Introduction
5 Lectures 00:51:59-
Introduction
Preview00:06:31 -
What can a spatial database do for you?
Preview00:10:09 -
What exactly is a spatial database?
Preview00:13:56 -
Where does a spatial database live?
Preview00:08:09 -
What is SQL and why would you want to use it?
00:13:14
-
-
Installing software and loading data
6 Lectures 01:06:17-
Installing PostGIS on your local computer
00:15:01 -
Installing QGIS
00:03:17 -
Loading spatial data into PostGIS
00:16:27 -
Loading non-spatial data into PostGIS
00:06:25 -
Accessing PostGIS from the commandline, the pgAdmin GUI, QGIS, and ArcGIS
00:15:50 -
Organization of a database
00:09:17
-
-
Data Query Language - SQL queries for non-spatial data
12 Lectures 02:20:20-
The SQL SELECT statement
Preview00:15:46 -
The WHERE clause
00:08:34 -
Aggregate functions and the GROUP BY clause
00:08:48 -
Multi-table Queries Part 1
00:15:31 -
Multi-table Queries Part 2
00:13:34 -
Data Types in PostgreSQL Part 1
00:18:08 -
Data Types in PostreSQL Part 2
00:14:30 -
The FROM clause implies a loop
00:04:26 -
SQL Expressions and Functions Part 1
00:13:44 -
SQL Expressions and Functions Part 2
00:10:08 -
The CASE Statement
00:06:53 -
SQL Views
00:10:18
-
-
Making SQL Spatial - Introduction
8 Lectures 01:27:10-
The PostGIS Vector Geometry model
Preview00:08:49 -
The Spatial Reference ID
00:09:50 -
The Geometry Field
00:04:12 -
Geometry vs.Geography data type
00:10:27 -
Spatial Queries - Working with Geometries
00:15:46 -
Spatial Queries - Measurements
00:12:11 -
Spatial Queries - Accessing the geometry
00:12:48 -
Spatial Queries - Testing spatial relationships
00:13:07
-
-
Making SQL Spatial - Advanced Topics
7 Lectures 01:31:32-
Multi-table Spatial Queries
00:15:30 -
Optimizing your queries
00:15:30 -
Geometry processing functions Part 1
00:16:17 -
Spatial Aggregate Functions
00:07:34 -
Geometry processing functions Part 2
00:11:10 -
Challenge Scenarios Part 1
00:14:04 -
Challenge Scenarios Part 2
00:11:27
-
-
SQL Data Definition Language
6 Lectures 01:02:03-
Creating tables
Preview00:19:53 -
Primary and Foreign Keys
00:17:00 -
Creating indexes
00:06:55 -
Creating custom data types
00:07:46 -
Modifying data structures with the ALTER statement
00:03:38 -
GUI methods for defining data structures
00:06:51
-
-
SQL Data Manipulation Language
5 Lectures 00:59:32-
Adding new records with the INSERT statement
00:10:06 -
Adding geometry to a feature with the INSERT statement
00:15:40 -
Modifying data with the UPDATE statement
00:11:13 -
Deleting records
00:04:47 -
Challenge exercise: Putting it all together
00:17:46
-
-
SQL Data Control Language
4 Lectures 00:32:07-
Creating Roles with SQL
00:07:42 -
Granting privileges with SQL
00:06:19 -
Example - roles and privileges in pgAdmin4 GUI
00:12:45 -
Example - roles , privileges, and multi-user editing in QGIS
00:05:21
-
-
Automation
7 Lectures 01:01:32-
Transactions
00:04:04 -
User defined functions - SQL
00:13:53 -
User defined functions - PL/pgSQL - Introduction
00:10:58 -
User defined functions PL/pgSQL - Branching and looping
00:08:12 -
User defined Functions - PL/pgSQL - Error handling
00:09:27 -
Triggers
00:06:32 -
Pulling it all together - examples
00:08:26
-
-
Deploying your database
6 Lectures 01:13:31-
Introduction
00:08:17 -
Registering for a web hosting service
00:10:14 -
Moving the database to a remote server
00:08:23 -
Deploying to the AcuGIS Cloud
00:17:55 -
Performance considerations
00:15:08 -
Strategies for mitigating slow response times
00:13:34
-
-
Miscellaneous
2 Lectures 00:23:04-
Backing up and exporting data
00:19:11 -
Where to go next
00:03:53
-