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 파일에 주요 오류가 있는지 확인합니다. 3. Python 파일의 형식을 pep8 표준에 맞게 지정합니다. 또한 pre-commit
간단히 호출하여 단계적 변경 사항이 깨끗한지 확인하기 위해 언제든지 이러한 검사를 직접 실행할 수도 있습니다.pytest
- 단위 테스트 모음을 실행하고, 테스트 범위를 확인하고, 예제 노트북이 성공적으로 실행되는지 테스트합니다.pytest -p memray -m "high_mem" --no-cov
(Windows에서는 사용할 수 없음) - memray를 설치한 후( mamba install memray pytest-memray
) 메모리 및 시간 성능이 벤치마크를 초과하지 않는지 테스트합니다.자세한 내용은 설명서를 참조하세요.
온라인 설명서에 액세스할 수 없는 경우 로컬에서 설명서를 작성할 수 있습니다. 먼저 PAM 개발 환경을 설치한 후 마이크를 사용하여 문서를 배포합니다.
mike deploy 0.2
mike serve
그런 다음 http://localhost:8000/의 브라우저에서 설명서를 볼 수 있습니다.
이 패키지는 Cookiecutter 및 arup-group/cookiecutter-pypackage 프로젝트 템플릿을 사용하여 생성되었습니다.