Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Web-GIS & Python for Geospatial Analysis - AulaGEO
Rating: 4.0 out of 5(6 ratings)
34 students

Web-GIS & Python for Geospatial Analysis - AulaGEO

Learn web-GIS development, spatial data management, and Python programming for geospatial analysis.
Created byAulaGEO Academy
Last updated 7/2024
English

What you'll learn

  • Install and configure PostgreSQL and PostGIS to manage spatial data for GIS projects.
  • Publish and style geospatial data using GeoServer for effective web mapping.
  • Create interactive web maps with OpenLayers by integrating WMS layers and map controls.
  • Automate GIS workflows and perform geospatial analysis using Python scripting with ArcPy.
  • Apply data visualization principles using Python libraries like Plotly to build dashboards.
  • Develop diverse geospatial visualizations including choropleth, heatmap, and animated maps.
  • Build interactive maps with Leaflet to explore and display geospatial data dynamically.
  • Understand core Python programming concepts including data types, functions, loops, and objects.

Course content

21 sections92 lectures16h 45m total length
  • Downloading and Installing PostGIS7:19

    This lecture guides you through the entire process of downloading and installing the PostgreSQL database, as well as adding the PostGIS extension to enable spatial data capabilities. The session begins by navigating to the official PostgreSQL website, selecting the Windows installer, and downloading the appropriate version for your system.

    The installation walkthrough covers setting up PostgreSQL on your machine with recommended default options, including directory selection, component installation, setting a secure password, and configuring network ports and locale settings. Following the base installation, the lecture explains how to use Stack Builder to install PostGIS, a vital extension that enhances PostgreSQL for geospatial analysis.

    The video also demonstrates verifying the successful installation by opening pgAdmin, the PostgreSQL management tool, and connecting to the database with your credentials.

    Key topics covered in this lecture:

    • Accessing and downloading PostgreSQL from the official website

    • Step-by-step PostgreSQL installation on Windows

    • Configuring installation parameters including user passwords and directories

    • Using Stack Builder to install the PostGIS spatial extension

    • Verifying installation success with pgAdmin

    • Basics of connecting to PostgreSQL database through the GUI

    Practical value for geospatial analysis:

    • Enables management of spatial data within a PostgreSQL relational database

    • Provides foundation for deploying advanced GIS workflows using open-source tools

    • Teaches essential setup steps critical for subsequent tutorials on spatial data management

    • Prepares learners to handle spatial extensions and geospatial querying

    By the end of this lesson, learners will be able to confidently install PostgreSQL and PostGIS on their Windows systems and verify that the spatial database environment is ready for use in advanced geospatial projects.

  • Creating a Database in PostgreSQL6:14

    In this lecture, you will learn how to create a new database in PostgreSQL using the pgAdmin interface. The process begins by accessing the PostgreSQL server through pgAdmin, a user-friendly web-based management tool.

    Next, the lesson guides you to create a custom database named GISDB, demonstrating how to configure ownership and other database parameters. Following the database creation, you will add the essential PostGIS extension to enable spatial data functionalities within the database.

    This setup allows the database to store, manage, and manipulate geospatial data effectively, which is crucial for Web-GIS applications.

    Key topics covered in this lecture:

    • Opening and navigating pgAdmin as the PostgreSQL interface.

    • Creating a new PostgreSQL database with a custom name.

    • Configuring database ownership and parameters.

    • Managing and viewing database extensions.

    • Installing and enabling the PostGIS extension for spatial support.

    • Exploring the public schema and spatial functions added by PostGIS.

    • Understanding how spatial reference system data is stored in the database.

    Practical value in geospatial database management:

    • Establishing a spatially enabled PostgreSQL database ready for GIS data storage.

    • Enabling PostGIS to support spatial queries and geometry operations.

    • Preparing the database environment for integration with GIS applications.

    • Understanding database properties and functions relevant to spatial data handling.

    By the end of this lecture, you will be able to set up a spatial database in PostgreSQL with PostGIS enabled, forming the foundation to manage and analyze geospatial data effectively for your Web-GIS projects.

  • Adding GIS Data into PostgreSQL7:18

    In this lecture, you will learn how to add GIS data into a PostgreSQL spatial database using the PostGIS Shapefile and DBF Loader tool. The process begins by opening the PostGIS shapefile importer interface from the Start menu, allowing you to connect to your PostgreSQL database securely by entering the necessary connection parameters such as username, password, host, port, and database name.

    The workflow for importing data involves selecting the GIS shapefile from your local directory, verifying and setting the correct spatial reference system identifier (SRID) according to the geographic coordinate system in use, typically WGS 1984 with SRID 4326, and then importing the data into the database. This lesson covers repeated imports for different shapefile types including points, polygons, and lines, emphasizing the importance of setting SRID to avoid errors.

    Additionally, you will explore how to manage database tables, including deleting existing ones when necessary, to maintain an organized spatial database environment. This hands-on demonstration ensures you understand how to populate a PostgreSQL/PostGIS database with essential geospatial data correctly and efficiently.

    Key topics covered in this lecture:

    • Launching the PostGIS Shapefile and DBF Loader application

    • Setting up and verifying the connection to the PostgreSQL database

    • Selecting and loading different GIS shapefiles (points, polygons, lines)

    • Configuring the correct SRID to match spatial reference systems

    • Managing existing spatial tables within the database

    • Reviewing import success through log messages and database table refreshes

    Practical value in geospatial database management:

    • Enables efficient importing and management of spatial data in PostgreSQL/PostGIS

    • Ensures accurate georeferencing by assigning proper spatial reference identifiers

    • Supports maintaining clean and organized spatial data through table management

    • Builds foundation skills for spatial data handling central to GIS workflows

    Upon completing this lecture, you will be able to successfully import various GIS shapefiles into your PostgreSQL spatial database using PostGIS tools, correctly configure spatial references, and efficiently manage data tables to support your geospatial projects and analyses.

Requirements

  • Basic computer skills for installing and configuring software.
  • No prior experience required; the course starts from foundational concepts.
  • Access to a Windows computer capable of running PostgreSQL, GeoServer, and ArcGIS Pro.
  • Willingness to follow hands-on tutorials and practice coding exercises.

Description

This comprehensive course provides an in-depth journey into modern web-GIS development and geospatial data analysis using Python and open-source software. Designed to take learners from foundational concepts to advanced applications, the course equips participants with practical skills to manage spatial databases, publish maps on the internet, and perform programmatic geospatial analyses.

Beginning with PostgreSQL and PostGIS, you will learn how to install, configure, and manage spatial data effectively for GIS applications. The course then guides you through using GeoServer to style and serve geographic data, and OpenLayers for creating custom, interactive web maps integrating these spatial services.

With a focus on practical workflows, the course introduces Python scripting in ArcGIS Pro using ArcPy, enabling automation and enhancement of GIS tasks. It proceeds to explore data science techniques, teaching you how to visualize geographic and statistical data through Python libraries like Plotly and interactive mapping with Leaflet.

The curriculum combines foundational programming in Python, introducing variables, data types, conditionals, loops, functions, and object-oriented concepts, followed by hands-on projects. These projects include building dashboards, recreating John Snow's historical cholera map, and crafting an interactive text-based game to solidify programming skills in an engaging manner.

Following the AulaGEO step-by-step methodology, the course emphasizes hands-on exercises, real-world datasets, and incremental skill development suitable for learners with little to no prior experience as well as those seeking to deepen their expertise.

By integrating database management, web mapping technologies, data visualization, and programming skills, this course prepares you to design, deploy, and analyze geospatial content for professional and scientific projects.

Learning Objectives
Upon completing this course, you will be able to:

  • Install and configure PostgreSQL and PostGIS for spatial data storage and management.

  • Use GeoServer to publish and style geospatial data for web mapping.

  • Develop interactive web maps with OpenLayers, incorporating WMS layers and map controls.

  • Automate GIS tasks and enhance spatial analysis using Python scripting with ArcPy in ArcGIS Pro.

  • Apply data visualization principles using Python libraries such as Plotly and create interactive dashboards.

  • Create diverse charts and maps including choropleth, bubble, heatmap, contour, and animated plots.

  • Build interactive maps using Leaflet to explore geospatial data visualizations.

  • Understand and implement fundamental Python programming concepts including variables, data types, loops, conditionals, functions, and objects.

  • Complete real-world projects such as a COVID-19 interactive dashboard, John Snow’s cholera map, and a text-based adventure game to consolidate learning.

Who Should Take This Course

  • GIS professionals aiming to expand skills in web-based GIS and open-source software.

  • Developers and data scientists interested in geospatial data analysis and visualization.

  • Beginners seeking to learn Python programming in the context of geospatial applications.

  • Students wanting practical, project-based learning with real-world datasets.

  • Anyone curious about integrating database management, web mapping, and data science into spatial data workflows.

Course Structure

Section 1: LEVEL I - PostgreSQL - PostGIS
Learn installation, setup, and use of PostgreSQL and PostGIS for managing and storing spatial data for GIS applications.

Section 2: LEVEL I - GeoServer
Understand how to install, configure, and manage GeoServer to serve spatial data and styles for web mapping.

Section 3: LEVEL I - QGIS and ESRI Data in GeoServer
Learn importing and styling GIS data from QGIS and ESRI into GeoServer for enhanced map visualization.

Section 4: LEVEL I - OpenLayers
Build OpenLayers web maps by publishing GeoServer layers and adding map controls and interactivity.

Section 5: LEVEL I - Python Programming in ArcGIS Pro
Develop Python scripting skills within ArcGIS Pro using ArcPy to automate geospatial data management and analysis.

Section 6: LEVEL II - Data Science - Using Python, Plotly and Leaflet
Explore data visualization principles and apply Python libraries Plotly and Leaflet for geospatial data visualization.

Section 7: LEVEL II - Data Types and Chart Types
Learn different data types and appropriate chart selections using matplotlib to visualize geospatial data patterns.

Section 8: LEVEL II - Data Visualization in Plotly
Master Plotly fundamentals, including figure creation, layout customization, and practical exercises.

Section 9: LEVEL II - Final Project 1 (COVID Visualization in Plotly)
Apply learned visualization techniques to create an interactive COVID-19 data dashboard using Plotly.

Section 10: LEVEL II - Plotting Geographical Data in Plotly
Learn how to represent geographic data with choropleth, line, point, bubble, and heatmap maps using Plotly.

Section 11: LEVEL II - Some Advanced Topics in Plotly
Explore advanced Plotly visualizations including financial charts, 3D plots, subplots, and hands-on practice.

Section 12: LEVEL II - Final Project 2 (John's Cholera Graph)
Create a detailed cholera outbreak visualization project integrating statistical and geospatial plotting methods.

Section 13: LEVEL II - Scientific and Statistical Plots
Learn scientific plotting techniques such as contour, image, heat map, ternary, log, and statistical plots in Plotly.

Section 14: LEVEL II - Animation in Plotly
Understand animation concepts in Plotly and create interactive animated data visualizations with frames and controls.

Section 15: LEVEL II - Final Project (Exploring Interactive Maps Using Leaflet)
Develop an interactive mapping project using Leaflet to apply GIS and data visualization concepts.

Section 16: LEVEL III - Python Programming
Get introduced to Python programming basics and setup for geospatial analysis and automation tasks.

Section 17: LEVEL III - Basic Programming in Python
Learn foundational Python including variables, data types, functions, and user input handling.

Section 18: LEVEL III - Some Advanced Data Types in Python
Explore Python data structures like lists, tuples, sets, and dictionaries for effective data management.

Section 19: LEVEL III - Conditionals and Looping in Python
Understand decision-making with conditionals and automate tasks using for and while loops.

Section 20: LEVEL III - Functions and Objects
Master function creation, user-defined functions, and learn object-oriented programming concepts.

Section 21: LEVEL III - Final Project
Apply all Python skills by building an interactive text-based adventure game project.

Why Take This Course

This course stands out by combining a unique blend of spatial database management, web mapping, data visualization, and programmatic geospatial analysis. It emphasizes hands-on learning with open-source tools, avoiding reliance on proprietary software alone and making geospatial technology accessible to a wider audience.

Participants benefit from a carefully sequenced curriculum that builds confidence and competence from installing and configuring software to developing sophisticated data visualizations and web GIS applications. Real-world projects and reproducible exercises ensure you master applicable skills for careers or research involving spatial data.

By learning Python programming alongside GIS fundamentals and web deployment techniques, you will gain a versatile skill set highly sought in fields like urban planning, environmental science, data analytics, and software development. The integration of Plotly and Leaflet supports modern interactive visualization trends, providing you with immediately useful expertise in data storytelling with maps.

Professional Context

Professionals across geography-focused disciplines increasingly need to manage spatial data effectively and communicate insights interactively online. This course answers this demand by teaching database management with PostgreSQL/PostGIS, map serving with GeoServer, and client-side web map creation with OpenLayers, skills valuable to GIS analysts and developers.

Additionally, data scientists and developers expanding into geospatial analysis will find the Python programming modules relevant for integrating spatial queries, automation, and visualization into their workflows. The course's applied approach prepares learners for roles that require combining geographic information systems with programming and data science, supporting decision making in urban planning, public health, environmental management, and more.

Who this course is for:

  • GIS professionals seeking to expand their skills in web-GIS and open-source tools.
  • Developers and data scientists interested in geospatial data analysis and visualization.
  • Beginners wanting to learn Python programming within geospatial and data science contexts.
  • Students pursuing practical, project-based learning with real-world spatial datasets.
  • GIS analysts aiming to automate workflows and enhance spatial data management.
  • Urban planners, environmental scientists, and public health experts working with spatial data.
  • Anyone curious about combining database management, web mapping, and Python programming.
  • Professionals wanting to build interactive maps and dashboards for geospatial projects.