Сервис автопроектирования озеленения улиц для кейса ДПиООС (ЛЦТ 2026). На входе DXF с
подосновой Мосгеотреста и сетями (DWG - через ODA File Converter, разд. 5.3 документации).
Сервис строит ограничения по нормам (СП 42.13330, 743-ПП, 623-ПП / МГСН 1.02-02, 369-ПП),
расставляет деревья и кустарник и возвращает DXF: исходные слои без изменений, план - на
отдельных слоях GREEN_*. У каждой посадки и каждого отказа есть объяснение с актом и пунктом
нормы: атрибутом в DXF и отдельными файлами (CSV, JSON, Markdown, HTML-отчёт).
В Docker (целевая среда - МосТех.ОС или совместимый Linux):
docker compose up --build -d # интерфейс и API на http://localhost:8000/
curl -s http://localhost:8000/api/v1/healthSwagger - http://localhost:8000/docs, схема - docs/openapi.json.
Kubernetes по желанию: kubectl apply -k deploy/k8s.
Без Docker (Python 3.14, uv):
uv sync
uv run green run путь/к/файлу.dxf --profile strict # DXF или DWG
uv run green run генплан.dxf сети.dxf покрытия.dxf # комплект склеивается в один чертёж
uv run green run путь/к/файлу.dxf --inventory перечётка.xls # существующие деревья в квотах
uv run green run путь/к/файлу.dxf --set spacing_m=6 # любой параметр профиля
uv run green verify вход.dxf out/<прогон>/result.dxf # исходные сущности не изменены
uv run green audit план.dxf --plantings "^0?6_+ДП_.+_план$" # нормоконтроль чужого плана
(cd frontend && npm ci && npm run build) && uv run green serve # веб-интерфейс на :8000Фото по кадру 3D-вида (бонус ТЗ, по желанию) рисует Qwen-Image-2.1 на видеокарте от 6 ГБ. В Docker-образ модели не входят и сами не скачиваются: без них расчёт, DXF, объяснения и 3D-вид работают полностью. Набор на 10,5 ГБ скачивает скрипт, затем сервис запускается с каталогом моделей (разд. 5.9 документации, лицензия модели - только некоммерческая):
uv run python tools/photos/fetch_models.py --dest ~/green-models --platform linux
GREEN_PHOTO_MODELS_DIR=~/green-models uv run green serveПрофили норм - config/profiles/: strict (по умолчанию), barriers (прикорневые барьеры,
СП 42, табл. 9.1, прим. 5), no_utilities (съёмка без сетей), review (незнакомый DXF без
эвристик классов), shrubs. Все параметры - приложение D документации.
- docs/documentation/ и её сборка green-documentation.pdf: назначение и границы (01), архитектура и развёртывание (02), алгоритм, интерпретируемость и BPMN (03), методы и библиотеки (04), сборка, запуск и проверка (05), способы работы (06), API (07), ограничения и известные ошибки (08); приложения - свод правил, итоги по улицам пилота, файлы прогона, параметры (generated/).
- Презентация в шаблоне ЛЦТ 2026: docs/green-lct2026.pdf, 20 слайдов
(сборка -
tools/presentation/pitch/). Анимированная схема конвейера - docs/presentation.html, её выгрузка - docs/presentation.pdf. - Сценарий демонстрации: docs/demo.md.
- Требования к посадке по актам заказчика и цитаты норм: docs/requirements/; база видов - docs/species.md.
examples/: фрагмент улицы Берзарина, result.dxf со слоями GREEN_*,
отчёт интерпретаций, CSV посадок, проверка целостности и снимки 3D-вида участка.
uv run pytest
uv run ruff check src tests && uv run ruff format --check src tests
uv run ty check src && uv run lint-imports
cd frontend && npm testДатасет пилота и тексты ТЗ в репозиторий не входят: dataset/ монтируется в контейнер как
/dataset (разд. 5.2 документации).