kraina-ai/srai

Spatial Representations for Artificial Intelligence - a Python library toolkit for geospatial machine learning focused on creating embeddings for downstream tasks

解决的问题

SRAI 是一个旨在标准化创建空间表示以用于机器学习的 Python 库。它简化了获取地理空间矢量数据、将地理区域划分为可管理的微区域,以及将这些区域转换为可用于下游 AI 任务的向量嵌入的复杂工作流程。

如何工作

该库实现了一个包含四个主要阶段的管道:

  1. 数据获取:提供 OpenStreetMap (OSM) 和 Overture Maps 的加载器,以及从通用交通数据规范 (GTFS) 公共交通数据中提取特征的工具。
  2. 区域划分:使用多种算法将目标区域划分为更小的单元,例如 Uber 的 H3(六边形)、Google 的 S2(四叉格网)、Voronoi 图或行政边界。
  3. 关联:将获取的空间特征映射到区域划分阶段创建的特定微区域上。
  4. 嵌入:使用多种方法将关联后的数据转换为向量空间,包括 Hex2VecGTFS2VecHighway2Vec 和基于计数的嵌入。其中一些方法使用 PyTorch 模型,可进行训练或加载预训练模型。

适用人群

专注于地理空间机器学习、城市规划,以及任何需要将原始地理矢量数据转换为机器可学习向量表示的应用的数据科学家和 AI 研究人员。

主要亮点

  • 多源数据加载:集成支持 OSM、Overture Maps 和 GTFS。
  • 灵活的区域划分:支持多种网格系统(H3、S2)和自定义边界。
  • 多样化的嵌入算法:实现多种研究支持的方法,如 Hex2Vec 和 Highway2Vec,以捕捉空间上下文。
  • PyTorch 集成:可使用基于 torch 的嵌入器对数据进行拟合和转换。
  • 内置数据集:包含用于测试下游任务的准备好的数据集和基准。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目