Пакет: Цена пустеющей карты

Проверяемый пакет исследования «Цена пустеющей карты: материальный навес городов, 1975–2020». Спутниковый ряд застройки GHSL × ряды населения × ночные огни × срез OSM; весь итоговый расчёт — стандартная библиотека Python, воспроизведение за секунды; растровые шаги воспроизводимы отдельно (скрипты и контрольные суммы приложены).

Версии

v1.0.0 · 2026-07-16 · git-тег artifact-urban-overhang-v1.0.0

Первый релиз: панель 94 городов × 10 эпох GHSL 1975–2020, морфологические контуры в 9 сценариях границ, ядро/край, ночные огни 1992–2024, современный срез OSM (дороги, сервисы, админ-границы), типология, сопоставленные пары, 17 контрольных метрик.

Состав

by-maps-urban-overhang-v1.0.0/
├── README.md                    вопрос, вывод, как воспроизвести
├── REPORT.md                    основной лонгрид исследования
├── EXECUTIVE_BRIEF.md           краткий бриф
├── METHODS.md · LIMITATIONS.md · VALIDATION.md
├── DATA_DICTIONARY.md · PROVENANCE.md · PREREGISTRATION.md
├── AGENT.md                     12 заданий для LLM-аудитора и формат отчёта
├── claims.yaml                  реестр утверждений с типами и источниками
├── manifest.json · CHANGELOG.md · CITATION.cff · LICENSE.md
├── sources/registry.csv         реестр источников (URL, лицензии, sha256)
├── sources/raw/                 вендоренные агрегаты: морфология (9 сценариев),
│                                население 94 городов, свет, дороги, POI, админ-границы
├── code/run.sh                  единственная точка входа (stdlib, ~секунды)
├── code/build.py · verify.py · fetch.py
├── code/extract/                растровые шаги (GHSL → морфология → свет → OSM)
├── params/assumptions.yaml      все допущения с обоснованиями
├── data/final/                  метрики, интервалы, типология, story.json
└── checks/                      инварианты, ожидаемые результаты, контрольные суммы

Быстрая проверка

unzip by-maps-urban-overhang-v1.0.0.zip && cd by-maps-urban-overhang-v1.0.0
bash code/run.sh
# == 1/3 Расчёт от sources/raw до data/final ==
# == 2/3 Инварианты данных ==
# == 3/3 Сверка с заявленными результатами ==
# Все 17 контрольных метрик воспроизведены в допусках.

Глобальные тайлы GHSL (~0,8 ГБ) и снимок OSM (~0,35 ГБ) не вкладываются: они фиксируются URL и sha256, скачиваются code/fetch.py, а их зональные агрегаты завендорены — быстрое воспроизведение не требует загрузок. Валидация в CI: каждый пуш пересобирает пакет и сверяет с опубликованным байт-в-байт.