2026-09-01 –, Conference Management Room4
City2Graph is an open-source Python library bridging GIS, network science, and geospatial artificial intelligence (GeoAI) with Graph Neural Networks (GNNs). It offers a unified pipeline to construct, analyse, and visualise graphs from diverse data sources, with conversion between GeoPandas, NetworkX, and PyTorch Geometric.
Urban systems are inherently complex, composed of interacting entities such as street networks, transit systems, and human mobility flows. GNNs have recently gained significant attention as a promising direction for GeoAI, providing a powerful framework to model these interactions. Yet their practical application is hindered by a fragmented software ecosystem. Researchers and spatial data scientists often face technical barriers when constructing reproducible graphs that represent multiple types of urban elements simultaneously, lacking a unified pipeline to convert geospatial objects into the tensor formats required for GNNs.
This work presents City2Graph, an open-source Python library that bridges GIS, network science, and GeoAI. It standardises graph construction from diverse data sources and formats, including OpenStreetMap/Overture Maps data, GTFS schedules, and mobility flows as origin–destination matrices. The library facilitates seamless bidirectional conversion between GeoPandas, NetworkX, and PyTorch Geometric, preserving geometries for interpretation and visualisation. City2Graph also enables users to analyse complex connections across different network layers as 'metapaths' (e.g. multimodal accessibility between areas via streets and bus transit), together with utilities such as plotting network structures and generating multimodal isochrones.
City2Graph is available under a BSD 3-Clause License, hosted on GitHub (1,100 Stars, as of April 15th). Documents are hosted on https://city2graph.net.
Any contrubution from FOSS4G community is always welcomed, such as supporting new data formats (e.g., GBFS, GTFS Realtime, PyTorch Geometric Temporal, etc.), graph database (e.g., Cypher-based solution like Neo4j), and expanding scheme (e.g., spatial knowledge graph, GraphRAG on LLM, etc.).
City2Graph: Python package for spatial network analysis and GeoAI with GNNs
Indicate what is (are) the open source project(s) essential in your talk:GitHub:
https://github.com/c2g-dev/city2graph
Document:
https://city2graph.net
Yuta Sato is a PhD candidate at the Geographic Data Science Lab, University of Liverpool, focusing on graph representation learning for evaluating sustainable urban developments (e.g., 15-Minute City).
He is the lead maintainer of City2Graph, an open-source Python library that transforms geospatial datasets into heterogeneous graphs for Graph Neural Networks.
Yuta received a Master's degree in Geographic Data Science from the London School of Economics (LSE). He has four years of professional experience as a cybersecurity solution architect at Nissan Motor Corporation Ltd. and as a spatial data scientist at Spatial Pleasure Inc.