Python GIS libraries: Analyse and Manage Traffic Congestion

Niharika Shrivastava (~OrionStar25)




Python libraries are the ultimate extension in GIS because it allows us to boost GIS's core functionality. They all help us go beyond the typical managing, analyzing and visualizing of spatial data. We built a real-time congestion-management framework for road traffic using a variety of python GIS libraries such as GeoPandas, OSMNx, Rtree, and NetworkX on Singapore's OpenStreetMap database. The framework incorporates 2 overlapped GIS layers (pedestrian network + drive-able network) to execute an inter-modal routing service, for e.g. walk 250m till point A, then take an Uber for ~15 mins till point B in the network. Salient features of the framework include:

  1. Congestion-aware routes for mobility-on-demand services that operate using a combination of a heterogeneous multi-class fleet (cars, walking, cycle, scooters, bus). Every customer trip is distributed into multiple legs, i.e., walking or cycling for the first and last leg of the trip; cars or public transport for the middle leg of the trip.

  2. Provision of optimal transit points from one leg to another for this multi-class service, such that the overall travel time is least within a capacity-bound transportation network. Contraction Hierarchies is used to boost NetworkX's Dijkstra computations.

  3. Novel path-planning algorithms like Graphical Hybrid Search and Capacity-bound Dijkstra were integrated and validated with the help of GIS and data science libraries.

The proposal aims at showcasing the power of Python GIS libraries in easily implementing social models for large, dense graphs (urban cities, countries) on standard commodity hardware.

Problem Definition

Basic Outline of the talk:

  1. Introduction to various GIS libraries and briefly explain each's unique computation facilities. [2 mins]
  2. Using GIS libraries to extract and process open-source spatial data. [5 mins]
  3. Overview of the congestion management framework. [5-7 mins]
  4. How Contraction Hierarchies is integrated with Python to speed up GIS libraries routing algorithms. [5 mins]
  5. Time complexities of algorithms and further optimization techniques. [5 mins]
  6. Q/A [2 minutes]


  1. Data structures
  2. Graph algorithms like Dijkstra and Breadth-first-search

Video URL:

Content URLs:

  1. Github Repo: here
  2. Short Video: here
  3. Slides: Coming soon..

Speaker Info:

Niharika is pursuing her Bachelor of Technology in Information Technology at the Indian Institute of Information Technology, Allahabad. Currently, she is a Research Assistant at the Singapore University of Technology and Design. She has been a finalist for the Red Hat Women in Open Source Academic Award, 2020. She was an Outreachy intern with the Fedora Project and a Product Developer with Gojek. She mentored students in Google Code-in for the Fedora Project, GirlScript Summer of Code and OpenCode. Her team won the Smart Indian Hackathon, 2019 for Dr Reddy's Labs.

Speaker Links:

  1. Blog: here
  2. GitHub: here
  3. LinkedIn: here
  4. Email:

Section: Scientific Computing
Type: Talks
Target Audience: Intermediate
Last Updated: