PAM 是一个用于人口活动序列建模的 python 库。示例用例:
PAM 支持常见的旅行和活动格式,包括 MATSim。
人口活动序列(有时称为活动计划)用于对人口的活动(人们在家、工作、教育等的地点和时间)以及相关旅行进行建模:
交通规划者使用活动序列来模拟出行需求,但也可以用于其他领域,例如病毒传播或能源使用建模。
PAM 最初构建和共享的目的是快速修改现有活动模型,以应对大流行封锁场景。
此功能使用读取-修改-写入模式。通过应用策略进行修改。示例政策可能是 (a) 感染者在家隔离,(b) 只有关键工作人员前往上班,以及 (c) 每个人都在当地购物。
除了原始的读取-修改-写入模式和功能之外,PAM 还具有以下模块:
更一般地说,核心 PAM 数据结构和模块可以用作库来支持您自己的用例,包括构建您自己的基于活动的模型。
PAM 完全支持 MATSim 总体/计划格式。这包括车辆、未选择的计划、支线路线和支线属性。 PAM 的核心用例是从 MATSim读取-修改-写入经验丰富的计划。这可以允许新的 MATSim 场景从现有场景“热启动” ,从而显着减少 MATSim 计算时间。
有关更详细的说明,请参阅我们的文档。
要安装 PAM,我们建议使用 mamba 包管理器:
mamba create -n pam -c conda-forge -c city-modelling-lab cml-pam
mamba activate pam
git clone [email protected]:arup-group/pam.git
cd pam
mamba create -n pam -c conda-forge -c city-modelling-lab --file requirements/base.txt --file requirements/dev.txt
mamba activate pam
pip install --no-deps -e .
也可以以用户身份 ( pip install cml-pam
) 或开发人员 ( pip install -e '.[dev]'
) 直接使用 pip 安装,但您需要预先安装libgdal
和libspatialindex
地理空间非 python 库。
有关更详细的说明,请参阅我们的文档。
有很多方法可以为 PAM 做出技术和非技术贡献。在对 PAM 源代码做出贡献之前,请参阅我们的贡献指南并遵循开发安装说明。
如果您使用pip
安装 PAM 而不是推荐的mamba
,则可以使用dev
选项安装可选的测试和文档库,即pip install -e '.[dev]'
如果您计划更改代码,请在工作时定期使用以下工具来验证代码库:
pre-commit
:在命令行中运行pre-commit install
以加载每次提交更改时都会运行的内置检查。检查内容为:1. 检查是否未暂存大文件,2. lint python 文件是否存在重大错误,3. 格式化 python 文件以符合 pep8 标准。您还可以随时自行运行这些检查,通过简单的调用pre-commit
来确保分阶段的更改是干净的。pytest
- 运行单元测试套件,检查测试覆盖率,并测试示例笔记本是否成功运行。pytest -p memray -m "high_mem" --no-cov
(在 Windows 上不可用) - 安装 memray ( mamba install memray pytest-memray
) 后,测试内存和时间性能是否超过基准。有关更多信息,请参阅我们的文档。
如果您无法访问在线文档,您可以在本地构建文档。首先安装PAM的开发环境,然后使用mike部署文档:
mike deploy 0.2
mike serve
然后您可以在浏览器中查看文档:http://localhost:8000/。
该包是使用 Cookiecutter 和 arup-group/cookiecutter-pypackage 项目模板创建的。