City2Graph:用于城市系统中异构图神经网络与空间分析的Python库 [R]
摘要
City2Graph 是一个新的 Python 库,可将地理空间数据转换为异质图,用于空间分析和图神经网络,其同行评审论文发表在《Computers, Environment and Urban Systems》期刊上。它支持形态、交通、流动性和邻近性图的构建,并与 PyTorch Geometric 及其他图工具集成。
City2Graph 是我构建的一个 Python 库,它将地理空间数据转换为可供分析直接使用的图(适用于空间分析、网络分析以及作为 GeoAI 的图神经网络),描述该库的论文刚刚发表,所以我想在这里分享。
代码仓库:https://github.com/c2g-dev/city2graph
```python
import city2graph as c2g
# 建筑物 + 街道分段 -> 异构形态图
nodes, edges = c2g.morphological_graph(buildings, segments)
# 直接转换到 PyTorch Geometric
data = c2g.gdf_to_pyg(nodes, edges)
```
它所涵盖的内容:
- **形态学**:从 OpenStreetMap 和 Overture Maps 构建建筑物、街道和细分城市肌理的图
- **交通**:通过 DuckDB 加载 GTFS 和 GBFS 数据源,其中 GTFS 被聚合为站点到站点的公共交通图
- **流动性**:将 OD 矩阵和流量数据(人口迁移、共享单车、行人计数)表示为加权空间图
- **邻近性与邻接性**:KNN、Delaunay、Gilbert、Waxman,以及 queen/rook 邻接关系,支持欧几里得、曼哈顿或网络距离
- **异构图和元路径**:在同一个图中支持多种节点和边类型,并通过元路径派生的边来组合它们之间的关系
- **转换**:在 GeoDataFrame、NetworkX、rustworkx 和 PyTorch Geometric Data/HeteroData 之间往返转换,并保持几何和属性完整
论文阐述了为什么城市数据更适合被视为异构图而非扁平的特征表、形态学/交通/流动性/邻近性四类图结构之间如何相互关联,以及该库如何在各种转换中保持几何与图结构的一致性。如果你在研究中使用该库,请按以下文献引用。
**论文**
Sato, Y., Pietrostefani, E., Mahabir, R., & Arribas-Bel, D. (2026). City2Graph: A Python library for Heterogeneous Graph Neural Networks and spatial analysis in urban systems. *Computers, Environment and Urban Systems*, 130, 102492.
我很乐意回答关于设计方面的问题,也非常欢迎提出 issue 或提交 PR。我尤其想了解大家接下来希望支持哪些数据源。
相似文章
基于图控制的异构道路网络交通信号接口
本文提出一种基于图的交通信号控制接口,使用共享图神经网络为各个交通流向分配分数,并通过关联矩阵确定性地构造相位。实验评估了在合成和城市道路网络上的迁移效果,结果表明可行性,但对分布偏移敏感。
ArchEGraph:用于几何-拓扑-物理对齐的建筑能耗建模的大规模图数据集
介绍了ArchEGraph,这是一个用于建筑能耗建模的大规模图数据集,融合了对齐的几何、拓扑、天气和热负荷,并包含图重建和负荷预测的基准任务。
CityRAG:基于空间锚定的视频生成,步入真实城市
CityRAG 提出一种视频生成模型,利用地理注册数据生成长时、物理一致、3D 连贯的真实城市视频,为机器人与自动驾驶提供可导航、可仿真的逼真环境。
WildCity: 一个真实世界城市规模的渲染、仿真与空间智能测试平台
WildCity 引入了由自动驾驶车队收集的大规模多模态数据集,用于城市规模的导航与空间表征。该数据集包含 18 条长轨迹,并建立了重建与闭环仿真的基线,以推动能够感知和推理城市规模环境的 AI 系统发展。
面向边缘计算流量智能的时空图Transformer
本文提出了一种用于边缘计算中流量预测的时空图Transformer框架,结合图神经网络捕捉空间相关性,以及Transformer自注意力捕捉长程时间依赖。在真实蜂窝数据上的实验表明,它优于基于循环图的基线模型,如GCN-LSTM和GCN-GRU。