Этот репозиторий содержит сценарии и данные, необходимые для построения согласованной топологии мира (провинций, стран и штатов), необходимой для базы данных инвентаризации жизненного цикла ecoinvent. Он также включает в себя возможность определять рецепты для создания пользовательских локаций.
Репозиторий представляет собой смесь SQL, bash-скриптов и Python. См. файл «topology-journal.rst» для получения инструкций и журнала того, что было сделано и почему.
Этот репозиторий не является библиотекой Python constructive_geometries
! Этот живет здесь.
Код 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
#. Отправьте файл Geographies.xml
менеджеру базы данных ecoinvent по электронной почте.