Skip to content

City2Graph tutorials and examples

Each tutorial below is a self-contained Jupyter notebook that starts from open data and ends with a graph you can analyse or feed to a graph neural network. The case study and workshop show the library applied end to end.

Choose a tutorial by task

Goal Data What you will build Tutorial
Model urban form Overture Maps or OpenStreetMap buildings and streets Heterogeneous building, tessellation, and street graph Morphological graphs
Analyse public transport London GTFS feed Stop-to-stop travel-time graph and multimodal isochrones GTFS transit graphs
Model migration or commuting OD edge list or adjacency matrix Weighted mobility graph OD matrices
Connect POIs and zones Points, polygons, and street networks KNN, Delaunay, Gilbert, Waxman, and contiguity graphs Spatial proximity graphs
Add composite relations Typed nodes and edges Metapath-derived edges for heterogeneous GNNs Metapath construction
Build a complete GeoAI pipeline Multiple open urban datasets Graph construction, graph autoencoder, and spatial clusters Liverpool case study

Tutorials

Applied projects

Community articles

Title Author Language Type Release
City2Graph: Python package for spatial network analysis and GeoAI with GNNs Yuta Sato EN Tutorial Sep 23, 2025
I created a Python library that converts geospatial data into graph representations for heterogeneous GNNs Yuta Sato JA Tutorial Oct 14, 2025
Verifying Hiroshima Station Redevelopment with Network Science using city2graph Koki Eguchi JA Blog Dec 22, 2025
How to Use Overture Maps Like OSMnx — by City2Graph Yuta Sato EN Tutorial Mar 12, 2026

Note: We welcome external examples! Please submit a pull request if you have an example to share.