人口活动模型器(PAM)是一个用于活动序列建模的Python API。
项目描述
人口活动模型器
PAM是一个用于人口 活动序列 建模的Python库。示例用例
- 读取现有的population然后 写入到新的格式。
- 修改现有的population,例如以建模活动位置。
- 创建自己的基于活动的模型。
PAM支持常见的旅行和活动格式,包括MATSim。
活动序列是什么?
人口 活动序列 (有时称为 活动计划)用于建模人口的活动(人们何时何地在家、工作、教育等)及其相关的旅行。
活动序列被交通规划者用于建模旅行需求,但也可用于其他领域,例如病毒传播或能源使用建模。
简史
PAM最初是为了快速修改现有的活动模型以应对大流行封锁情景而构建和共享的。
此功能使用 读取-修改-写入 模式。修改是通过应用 策略 实现的。示例策略可能包括(a)感染者在家中隔离,(b)只有关键工作者前往工作场所,以及(c)所有人都在本地购物。
特性
活动建模
除了原始的 读取-修改-写入 模式和功能外,PAM还包括以下模块:
- 位置建模
- 自由活动建模
- 模式选择建模
- 设施抽样
- 车辆所有权
更普遍地,核心PAM数据结构和模块可以作为库来支持您的用例,包括构建您自己的基于活动的模型。
MATSim
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 git@github.com: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安装
作为用户(pip install cml-pam
)或作为开发者(pip install -e '.[dev]'
)使用pip直接安装也是可能的,但您需要预先安装地理空间非Python库libgdal
和libspatialindex
。
有关更详细的说明,请参阅我们的文档。
贡献
有许多方法可以为PAM做出技术和非技术贡献。在向PAM源代码做出贡献之前,请参阅我们的贡献指南并遵循开发安装说明。
如果您使用pip
而不是推荐的mamba
安装PAM,您可以使用dev
选项安装可选的测试和文档库,即pip install -e '.[dev]'
如果您计划修改代码,请在工作中定期使用以下工具来验证代码库:
pre-commit
:在您的命令行中运行pre-commit install
以加载内置检查,这些检查将在您提交更改时运行。检查包括:1. 检查是否有大型文件已暂存,2. 检查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
然后您可以在浏览器中查看文档,网址为https://:8000/。
鸣谢
本软件包是用Cookiecutter和arup-group/cookiecutter-pypackage项目模板创建的。
项目详情
下载文件
下载适用于您的平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。
源分布
构建分布
cml-pam-0.3.2.tar.gz 的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 55120c7f2b2fb5c38f6017f148b769d34af75998df82e0cb1780eaf1c6054d78 |
|
MD5 | 0986001b8f89fd5fc35f617870affceb |
|
BLAKE2b-256 | b8ce9ab083436a9c0576768b6ed3dc1ade49c4a9e4de25e17088a3c37fffc02b |
cml_pam-0.3.2-py3-none-any.whl 的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 63c6002afc6427f1327026594308f49e2cab942276a0aca044bb617c5325a217 |
|
MD5 | ccbe89092d3178b7a1fde239bc65cbfb |
|
BLAKE2b-256 | 70fff9aee4b5210dc636555bf37efde3cfe9b63a92eb5162bc1a4bea49dac371 |