Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Urban Analytics with Python
Bestseller
Rating: 4.5 out of 5(183 ratings)
1,076 students

Urban Analytics with Python

Geospatial Data Science and OpenStreetMap
Created byMilan Janosov
Last updated 3/2026
English

What you'll learn

  • Learn the basics of geospatial data science, in particular, how to recognize and manipulate vector data in Python
  • How to collect and store various vector data from OpenStreetMap using customizable automatic ways in Python
  • How to use spatial analytics to quantify relevant urban features and characteristics from vector data
  • How to merge and quantify various vector data coming from OpenStreetMap to derive livability analytics of urban areas

Course content

5 sections33 lectures4h 28m total length
  • What is this course about?0:35

    In this introductory video, I welcome you and get you on board with this chapter, including how we will learn about the different types of geospatial data and how vector and raster data structures compare. Additionally, you will be introduced to the geospatial data platform OSM and explore some of its core functionalities.


    March 2026 Update

    The first big course update was rolled out in March 2026. Updated notebooks are available as a downloadable zip file attached to this lecture. I recommend to use each correponsding file from this archive instead of the original ones, which were kept there for the sake of consistency. Changes by section:

    • Setup: New environment setup command, consolidated imports with version check, and requirements.txt with exact library versions

    • 2.4: Fixed invalid Polygon example Polygon([(0, 0), (1, 1), (2, 2)])

    • 3.2: Lighter Overpass API query parameters + timeout guard added

    • 4.5: Removed intentionally wrong CRS example gdf.crs = 1 — no longer supported

    • 5.3: geometries_from_place replaced with features_from_place throughout

    • 5.4: File path corrections

  • Geospatial Data: Vector and Raster6:05

    This lecture briefly overviews the concept and possible categorizations of geospatial data, focusing on structural aspects - how vector and raster data compare, with the future goal of analyzing vector data across this course in mind. Hence, here, you will learn how to recognize and differentiate vector and raster spatial data.

  • Vector or raster data?
  • OpenStreetMap as a Data Source5:28

    This lecture aims to overview the free crowd-sourced map platform OpenStreetMap as a rich source of geospatial data via its online interface. In this video, you will learn to manually search for data and browse information on OSM using your web browser.

  • Entities on OpenStreetMap
  • Overview of OSM Data6:02

    This lecture aims to provide a theoretical overview of the OSM data platform, including an overview of different types of data entities and the OSM tags system used to store (and acquire) data.

  • OSM data types
  • Section summary0:31

    This video briefly wraps up this introductory section containing information about geospatial data types, vector and raster data, and an exploration of OpenStreetMap as a crowd-sourced geospatial data platform.

Requirements

  • Functional knowledge of Python
  • Basic understanding of GIS concepts

Description

Introduction

Welcome to "Urban Analytics with Python: Geospatial Data Science and OpenStreetMap"! In this course, you'll dive deep into the world of urban data analysis with a hands-on Python coding approach. This isn't just a theoretical overview – it's a practical course where you'll actively write code to manipulate, analyze, and visualize geospatial data from OpenStreetMap (OSM).

The course starts with an introduction to geospatial data, including the distinctions between vector and raster data types, while offering a foundation in using OSM as a robust data source. As you move forward, we'll guide you through setting up your Python environment and introduce essential geospatial libraries like GeoPandas and Shapely. You’ll begin coding right away, working with geometric data types and handling geospatial data structures.

Once you’re comfortable with Python and geospatial basics, we’ll focus on acquiring different urban datasets from OSM using powerful Python packages like OSMNx and OverPy. You’ll learn how to collect and work with point, polygon, and graph data, from building footprints to road networks. Every step will involve Python coding, ensuring you gain the technical skills to handle real-world geospatial data tasks.

Finally, we’ll wrap up with advanced urban analytics techniques. You’ll engage in practical projects, analyzing road networks, building profiles, and creating visualizations to explore urban areas. The course concludes with a comprehensive mini-project, where you’ll apply all the techniques you’ve learned to create a livability index for a city, combining various urban KPIs using Python.

By the end, you'll have a solid grasp of geospatial data science and be able to use Python and OSM data to conduct advanced urban analytics projects. Let’s get coding and unlock the power of urban data together!


And what you get here:

- Chapter intro and summary videos directly with the author

- Presentations with PDF supplementary slides

- Coding videos with screen sharing, which comes with the recorded live code files as well as cleaned-up version fo the odes in Jupyter Notebook formats

Who this course is for:

  • Data scientists interested in expanding their skills toward the trending field of spatial and urban analytics
  • GIS analytics and urban planners interested in getting on-board with topical data science tools