이 저장소에는 ecoinvent 수명주기 인벤토리 데이터베이스에 필요한 세계(지방, 국가 및 주)의 일관된 토폴로지를 구축하는 데 필요한 스크립트와 데이터가 포함되어 있습니다. 또한 사용자 정의 위치를 생성하기 위한 레시피를 정의하는 기능도 포함되어 있습니다.
저장소는 SQL, bash 스크립트 및 Python이 혼합되어 있습니다. 수행된 작업과 이유에 대한 지침과 저널은 "topology-journal.rst" 파일을 참조하세요.
이 저장소는 constructive_geometries
Python 라이브러리가 아닙니다 ! 그 사람은 여기에 산다.
Python 코드는 Python >= 3.4와 호환됩니다. 다음 라이브러리가 필요합니다.
최신 버전의 Postgresql이 설치되어 있고 postgis
사용할 수 있는지 확인하세요(자동으로 활성화됩니다). ecoinvent
사용자를 생성합니다:
createuser --superuser ecoinvent -U postgres
그런 다음 기본 데이터를 가져옵니다.
./create_db.sh
./build_recipes.sh
스크립트를 실행합니다. create_db.sh
실행할 때 자동으로 호출된다는 점에 유의하세요.
#. 짧고 긴 이름이 필요합니다. 제공되지 않은 경우 생성합니다. #. 새 UUID를 만듭니다: python python/new_uuid.py
#. data/config/uuid-mapping.json
파일을 편집하고 적절한 섹션에 새 위치를 추가합니다. 기존 스타일을 따르고 방금 생성한 이름, 단축 이름 및 UUID를 제공합니다. 새 섹션 끝에 쉼표를 포함했는지 확인하세요. #. python python/reindent_uuids.py
스크립트를 실행하여 구문이 올바른지 확인하세요. 오류를 수정하세요. #. data/config/recipes.json
파일을 편집하고 name
( shortname
아님)과 포함된 지역 목록을 사용하여 새 레시피를 추가합니다. 국가의 일부만 포함해야 하는 경우(예: 러시아, 중국, 브라질, 인도) 주를 포함하세요. 해당하는 경우 전국을 포함할 수 있습니다. #. python python/reindent_recipes.py
스크립트를 실행하여 구문이 올바른지 확인하세요. 오류를 수정하세요. #. build_recipes.sh
스크립트를 실행하세요. #. docs/index.rst
의 문서를 적절하게 업데이트하세요. 변경 로그의 변경 사항을 기록해 두십시오. 문서를 작성하고( make html
) 웹서버에 동기화합니다( sync.sh
). #. 선택한 형상을 내보냅니다. 원하는 이름을 얻으려면 다음 명령을 수정하세요.
psql -U ecoinvent -d eigeo -c "COPY (SELECT uuid, name, shortname, ST_AsKML(geom) as geom, isotwolettercode, longitude, isothreelettercode, latitude FROM final WHERE name = 'Europe without Switzerland and Austria') TO STDOUT WITH CSV;" > output/all.csv
#. 내보내기를 XML로 변환:
python python/write_xml.py
#. Ecoinvent 데이터베이스 관리자에게 Geographies.xml
파일을 이메일로 보냅니다.