city2graph: GeoAI with Graph Neural Networks

city2graph: GeoAI with Graph Neural Networks (GNNs) and Spatial Network Analysis

city2graph

city2graph is a Python library for converting geospatial datasets into graph representations, providing an integrated interface for GeoPandas, NetworkX, and PyTorch Geometric across multiple domains (e.g. streets, transportations, OD matrices, POI proximities, etc.).

Key Features

scope

  • Graph Construction for GeoAI: Build graphs from diverse urban datasets, including buildings, streets, and land use, to power GeoAI and GNN applications.
  • Transportation Network Modeling: Analyze public transport systems (buses, trams, trains) by constructing detailed transportation graphs with support of GTFS format.
  • Proximity and Contiguity Analysis: Create graphs based on spatial proximity and adjacency for applications in urban planning and environmental analysis.
  • Mobility Flow Analysis: Model and analyze urban mobility patterns from various data sources like bike-sharing, migration, and pedestrian flows.
  • PyTorch Geometric Integration: Seamlessly convert geospatial data into PyTorch tensors for GNNs.

Project Information

Badges

PyPI version conda-forge Version PyPI Downloads DOI License codecov

Installation

# Basic installation
pip install city2graph

# With PyTorch (CPU)
pip install "city2graph[cpu]"

# With PyTorch + CUDA (GPU)
pip install "city2graph[cu128]"

Technologies Used

  • Python
  • PyTorch Geometric
  • NetworkX
  • GeoPandas
  • OSMnx
  • Shapely