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 ソース コードに貢献する前に、貢献ガイドラインを参照し、開発インストール手順に従ってください。
推奨されるmamba
の代わりにpip
使用して PAM をインストールしている場合は、 dev
オプション (つまりpip install -e '.[dev]'
を使用してオプションのテスト ライブラリとドキュメント ライブラリをインストールできます。
コードに変更を加える予定がある場合は、作業中に次のツールを定期的に使用してコードベースを検証してください。
pre-commit
: コマンドラインでpre-commit install
実行して、変更をコミットするたびに実行される組み込みチェックをロードします。チェック内容は次のとおりです。1. 大きなファイルがステージングされていないことを確認します。2. Python ファイルに重大なエラーがないか lint を実行します。3. pep8 標準に準拠するように Python ファイルをフォーマットします。また、これらのチェックをいつでも自分で実行して、 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 プロジェクト テンプレートを使用して作成されました。