[EPIC][ИРД] Слой исходно-разрешительной документации для analyze-таблицы (10 пунктов) #1067

Closed
opened 2026-06-05 03:46:27 +00:00 by bot-backend · 6 comments
Collaborator

Запрос команды (Макс/Леха) 2026-06-04 для «волшебной таблицы» (= analyze/§22). Источники: ПКК pkk.rosreestr.ru, НСПД нспд.рф, portal.okn.midural.ru, приказы ПАТ.

«Волшебная таблица» = результат POST /api/v1/parcels/{cad}/analyze (+ §22 SiteFinderReport). Команда просит добавить 10 ИРД-слоёв (ограничения/обременения участка). Ниже — анализ существующего кода + источников (сделан 2026-06-04) и разбивка по задачам.

Сводная таблица

# Пункт ИРД Покрытие Источник Issue
1 ГП 2045 функц.зоны 🟡 PARTIAL НСПД функц.зоны (ID harvest) / ФГИС ТП #1058
2 ПЗЗ: ВРИ + предельные параметры 🟡 PARTIAL НСПД 875838 (есть) + регламент #1059
3 КРТ 🔴 NONE НСПД КРТ (ID harvest) #1060
4 Граддок ППТ/ПМТ/ГПЗУ + право/срок 🟡 PARTIAL ekburg РНС/РВЭ (есть) + ИСОГД (manual право/срок) #1061
5 Резервирование под изъятие 🔴 NONE НСПД (ID harvest; ЕКБ coverage?) #1062
6 ЗОУИТ 🟢 FULL (готово) НСПД 37577–37581
7 Публичные сервитуты 🔴 NONE (есть в 37581) НСПД 37581/dedicated #1063
8 ООПТ / леса / водно-болотные 🟡 PARTIAL НСПД 875845/875866/37580 #1064
9 ПАТ (Кольцово+Арамиль) 🔴 NONE НСПД ПАТ (ID harvest) / приказы (manual digitize) #1065
10 ОКН + зоны охраны + ЗРЗ 🟡 PARTIAL НСПД 37577/875840 + зоны охраны (ID harvest); portal=viewer-only #1066

Инфраструктура

НСПД-клиент (backend/app/services/scrapers/nspd_client.pyLAYERS dict + point_feature_info(layer_id, lon, lat) + get_features_in_bbox_grid) тащит любой слой по numeric ID одной строкой. EPSG:3857→ST_Transform(...,4326). Overlay-таблицы — data/sql/101–102.

Главная зависимость

#1057 (harvest NSPD layer-tree ID с VPS) блокирует пункты 1, 3, 5, 9, 10 — их numeric ID не опубликованы публично, а НСПД гео-блокирует не-РФ IP.

Честные флаги (НЕ полностью автоматизируется)

  • п.4 правообладатель+срок + «в разработке» → только ИСОГД ЕКБ по запросу (нет public geo-API).
  • п.9 ПАТ → если НСПД-слой пуст по Кольцово/Арамиль, полигоны = manual оцифровка приложений приказов (N277/N367-П).
  • п.5 резервирование → НСПД-слой федеральный, покрытие ЕКБ под вопросом (может быть пусто) → fallback ИСОГД.
  • п.10 portal.okn.midural.ru = только viewer (Yandex Maps, static png, без API) → геометрию брать из НСПД, портал — справочник.

Дочерние задачи

  • #1057 prereq: harvest NSPD ID
  • #1058 ГП 2045 · [ ] #1059 ПЗЗ ВРИ/параметры · [ ] #1060 КРТ · [ ] #1061 граддок · [ ] #1062 резервирование · [x] п.6 ЗОУИТ (готово) · [ ] #1063 сервитуты · [ ] #1064 ООПТ/леса/вода · [ ] #1065 ПАТ · [ ] #1066 ОКН/охрана/ЗРЗ

Источники

ПКК pkk.rosreestr.ru · НСПД нспд.рф (/дляработы/гиз/крт) · portal.okn.midural.ru · ПАТ: Росгвардия N277 (pravo.gov.ru/document/0001202210030010), Росавиация N367-П (consultant cons_doc_LAW_453127).

_Запрос команды (Макс/Леха) 2026-06-04 для «волшебной таблицы» (= analyze/§22). Источники: ПКК pkk.rosreestr.ru, НСПД нспд.рф, portal.okn.midural.ru, приказы ПАТ._ «Волшебная таблица» = результат `POST /api/v1/parcels/{cad}/analyze` (+ §22 SiteFinderReport). Команда просит добавить **10 ИРД-слоёв** (ограничения/обременения участка). Ниже — анализ существующего кода + источников (сделан 2026-06-04) и разбивка по задачам. ## Сводная таблица | # | Пункт ИРД | Покрытие | Источник | Issue | |---|---|---|---|---| | 1 | ГП 2045 функц.зоны | 🟡 PARTIAL | НСПД функц.зоны (ID harvest) / ФГИС ТП | #1058 | | 2 | ПЗЗ: ВРИ + предельные параметры | 🟡 PARTIAL | НСПД 875838 (есть) + регламент | #1059 | | 3 | КРТ | 🔴 NONE | НСПД КРТ (ID harvest) | #1060 | | 4 | Граддок ППТ/ПМТ/ГПЗУ + право/срок | 🟡 PARTIAL | ekburg РНС/РВЭ (есть) + ИСОГД (manual право/срок) | #1061 | | 5 | Резервирование под изъятие | 🔴 NONE | НСПД (ID harvest; ЕКБ coverage?) | #1062 | | 6 | ЗОУИТ | 🟢 **FULL (готово)** | НСПД 37577–37581 | — | | 7 | Публичные сервитуты | 🔴 NONE (есть в 37581) | НСПД 37581/dedicated | #1063 | | 8 | ООПТ / леса / водно-болотные | 🟡 PARTIAL | НСПД 875845/875866/37580 | #1064 | | 9 | ПАТ (Кольцово+Арамиль) | 🔴 NONE | НСПД ПАТ (ID harvest) / приказы (manual digitize) | #1065 | | 10 | ОКН + зоны охраны + ЗРЗ | 🟡 PARTIAL | НСПД 37577/875840 + зоны охраны (ID harvest); portal=viewer-only | #1066 | ## Инфраструктура НСПД-клиент (`backend/app/services/scrapers/nspd_client.py` — `LAYERS` dict + `point_feature_info(layer_id, lon, lat)` + `get_features_in_bbox_grid`) тащит любой слой по numeric ID одной строкой. EPSG:3857→`ST_Transform(...,4326)`. Overlay-таблицы — `data/sql/101–102`. ## Главная зависимость **#1057 (harvest NSPD layer-tree ID с VPS)** блокирует пункты 1, 3, 5, 9, 10 — их numeric ID не опубликованы публично, а НСПД гео-блокирует не-РФ IP. ## Честные флаги (НЕ полностью автоматизируется) - **п.4** правообладатель+срок + «в разработке» → только ИСОГД ЕКБ **по запросу** (нет public geo-API). - **п.9 ПАТ** → если НСПД-слой пуст по Кольцово/Арамиль, полигоны = **manual оцифровка приложений приказов** (N277/N367-П). - **п.5 резервирование** → НСПД-слой федеральный, **покрытие ЕКБ под вопросом** (может быть пусто) → fallback ИСОГД. - **п.10 portal.okn.midural.ru** = только viewer (Yandex Maps, static png, без API) → геометрию брать из НСПД, портал — справочник. ## Дочерние задачи - [ ] #1057 prereq: harvest NSPD ID - [ ] #1058 ГП 2045 · [ ] #1059 ПЗЗ ВРИ/параметры · [ ] #1060 КРТ · [ ] #1061 граддок · [ ] #1062 резервирование · [x] п.6 ЗОУИТ (готово) · [ ] #1063 сервитуты · [ ] #1064 ООПТ/леса/вода · [ ] #1065 ПАТ · [ ] #1066 ОКН/охрана/ЗРЗ ## Источники ПКК pkk.rosreestr.ru · НСПД нспд.рф (`/дляработы/гиз/крт`) · portal.okn.midural.ru · ПАТ: Росгвардия N277 (pravo.gov.ru/document/0001202210030010), Росавиация N367-П (consultant cons_doc_LAW_453127).
bot-backend added the
enhancement
ИРД
GG-форсайт
site-finder
labels 2026-06-05 03:46:27 +00:00
lekss361 added this to the Site Finder v2 — Foresight (GG-форсайт) milestone 2026-06-05 07:22:50 +00:00
Owner

🔬 Research-дополнение (2026-06-05)

Сводная 10-пунктовка — внутренне консистентна

  • п.6 ЗОУИТ = FULL (готово), без issue — корректно: 37577–37581 зашиты в LAYERS, idшники подтверждены в коде.
  • п.7 сервитуты «есть в 37581» — подтверждено коммент кода (zouit_other: 37581 # иные (публичный сервитут, ОЭЗ)). ⚠️ Юр-поправка: публичный сервитут — отдельный объект реестра границ ЕГРН, НЕ подтип ЗОУИТ → нужна VPS-проба, реально ли 37581 его несёт (см. #1063).
  • Нумерация #1058–#1066 строго 1:1 с пунктами 1–10 (минус п.6) — пропусков/двойников нет.
  • Зависимость «#1057 блокирует 1/3/5/9/10» — верна, но с уточнением по п.1: layer ID функц.зон 846615 уже известен (верифицирован в #106, 100% покрытие ЕКБ) → harvest по факту нужен для 4 слоёв (КРТ/резервирование/ПАТ/зоны охраны ОКН), не 5. См. #1058.

Гео-блок и инфра — подтверждены эмпирически

Прямой запрос nspd.gov.ru/api/geoportal/v1/* с не-РФ хоста → обрыв на connect (×2) → гео-блок реален, harvest только с VPS. Клиент-инфра (LAYERS, get_feature_info, get_features_in_bbox_grid, list_layers+layers-theme-tree) подтверждена. ID 36048=ЗУ ЕГРН независимо подтверждён форумом sasgis → numeric-схема корректна.

Корректировки источников п.9 (ПАТ) — оба приказа ВЕРИФИЦИРОВАНЫ

Issue: «ПАТ … приказы N277/N367-П». Это два разных ведомства, и атрибуция бота КОРРЕКТНА (не ошибка):

  • Арамиль → Приказ Росгвардии № 277 от 15.08.2022, 7 подзон (госавиация → Росгвардия, а не Росавиация — легитимное исключение ВК РФ ст.47). pravo.gov.ru 0001202210030010
  • Кольцово → Приказ Росавиации № 367-П от 02.06.2023, 6 подзон. cons_doc_LAW_453127
    ⚠️ Для manual-оцифровки (если НСПД-слой пуст) важна привязка: N277 = Арамиль (7 подзон), LAW_453127 = Кольцово (6 подзон) — не перепутать карты-схемы.

Прочие находки (детали — в комментах под-issue)

  • п.2 ВРИ (#1059): классификатор П/0412 обновлён Приказом П/0447/25, ред. с 17.04.2026 — учесть при хардкоде таблицы. Источник ПЗЗ ЕКБ — Пост. Администрации №1597 от 10.06.2022 (код ссылается на устаревшее решение Гордумы 2018).
  • п.8 (#1064): forestries 875866 имеет нулевой wiring (не «off by default» — отсутствует вообще). Региональные ООПТ public geojson нет → НСПД 875845 безальтернативен.
  • п.10 (#1066): добавлена ст.34.1 защитные зоны (issue conflates с зонами охраны ст.34). portal.okn viewer-only подтверждён; найден атрибутивный CSV okn.midural.ru/opendata.
  • п.4 (#1061): needs-human оправдан только для под-части «правообладатель/срок/в разработке» (нет открытого API) — рекомендован split, чтобы не блокировать автоматизируемые РНС/ППТ/ГПЗУ.

Вывод

Спек EPIC внутренне консистентен и actionable; единственный VPS-blocker — #1057 harvest (по факту 4 слоя). Юр-референсы ПАТ верны. Все 11 задач переведены в веху #8 (2026-06-05).

## 🔬 Research-дополнение (2026-06-05) ### Сводная 10-пунктовка — внутренне консистентна ✅ - **п.6 ЗОУИТ = FULL (готово), без issue** — корректно: `37577–37581` зашиты в `LAYERS`, idшники подтверждены в коде. ✅ - **п.7 сервитуты** «есть в 37581» — подтверждено коммент кода (`zouit_other: 37581 # иные (публичный сервитут, ОЭЗ)`). ⚠️ Юр-поправка: публичный сервитут — **отдельный объект реестра границ ЕГРН, НЕ подтип ЗОУИТ** → нужна VPS-проба, реально ли 37581 его несёт (см. #1063). - Нумерация #1058–#1066 строго 1:1 с пунктами 1–10 (минус п.6) — пропусков/двойников нет. ✅ - **Зависимость «#1057 блокирует 1/3/5/9/10» — верна**, но с уточнением по **п.1**: layer ID функц.зон **846615 уже известен** (верифицирован в #106, 100% покрытие ЕКБ) → harvest по факту нужен для **4 слоёв** (КРТ/резервирование/ПАТ/зоны охраны ОКН), не 5. См. #1058. ### Гео-блок и инфра — подтверждены эмпирически Прямой запрос `nspd.gov.ru/api/geoportal/v1/*` с не-РФ хоста → обрыв на connect (×2) → гео-блок реален, harvest только с VPS. Клиент-инфра (`LAYERS`, `get_feature_info`, `get_features_in_bbox_grid`, `list_layers`+`layers-theme-tree`) подтверждена. ID `36048=ЗУ ЕГРН` независимо подтверждён форумом sasgis → numeric-схема корректна. ### Корректировки источников п.9 (ПАТ) — оба приказа ВЕРИФИЦИРОВАНЫ Issue: «ПАТ … приказы N277/N367-П». Это **два разных ведомства**, и атрибуция бота КОРРЕКТНА (не ошибка): - **Арамиль** → Приказ **Росгвардии № 277 от 15.08.2022**, **7 подзон** (госавиация → Росгвардия, а не Росавиация — легитимное исключение ВК РФ ст.47). pravo.gov.ru `0001202210030010` ✅ - **Кольцово** → Приказ **Росавиации № 367-П от 02.06.2023**, **6 подзон**. `cons_doc_LAW_453127` ✅ ⚠️ Для manual-оцифровки (если НСПД-слой пуст) важна привязка: **N277 = Арамиль (7 подзон), LAW_453127 = Кольцово (6 подзон)** — не перепутать карты-схемы. ### Прочие находки (детали — в комментах под-issue) - **п.2 ВРИ (#1059):** классификатор П/0412 обновлён **Приказом П/0447/25, ред. с 17.04.2026** — учесть при хардкоде таблицы. Источник ПЗЗ ЕКБ — **Пост. Администрации №1597 от 10.06.2022** (код ссылается на устаревшее решение Гордумы 2018). - **п.8 (#1064):** `forestries 875866` имеет **нулевой wiring** (не «off by default» — отсутствует вообще). Региональные ООПТ public geojson нет → НСПД 875845 безальтернативен. - **п.10 (#1066):** добавлена **ст.34.1 защитные зоны** (issue conflates с зонами охраны ст.34). `portal.okn` viewer-only подтверждён; найден атрибутивный CSV `okn.midural.ru/opendata`. - **п.4 (#1061):** `needs-human` оправдан только для под-части «правообладатель/срок/в разработке» (нет открытого API) — рекомендован split, чтобы не блокировать автоматизируемые РНС/ППТ/ГПЗУ. ### Вывод Спек EPIC **внутренне консистентен и actionable**; единственный VPS-blocker — **#1057 harvest** (по факту 4 слоя). Юр-референсы ПАТ верны. Все 11 задач переведены в веху #8 (2026-06-05).
Author
Collaborator

Связанный реальный ИРД-пакет (инженерные сети / тех.условия конкретного проекта) — #1070: 5 заявок ООО «Брик» по образоват. объекту ул. Железнодорожников 3 (66:41:0702048:26/:27).

Это не analyze-слой, но вскрывает кандидата на 11-й ИРД-срез для «волшебной таблицы»: «инженерные сети / доступность сетевых мощностей + сетевые обременения» (напр. теплосеть в пятне застройки = реальное обременение, геометрия из НСПД/ПКК). На решение команды (Макс/Леха) — текущие 10 пунктов этого не покрывают.

Связанный **реальный ИРД-пакет** (инженерные сети / тех.условия конкретного проекта) — #1070: 5 заявок ООО «Брик» по образоват. объекту ул. Железнодорожников 3 (`66:41:0702048:26/:27`). Это не analyze-слой, но вскрывает **кандидата на 11-й ИРД-срез** для «волшебной таблицы»: «**инженерные сети / доступность сетевых мощностей + сетевые обременения**» (напр. теплосеть в пятне застройки = реальное обременение, геометрия из НСПД/ПКК). На решение команды (Макс/Леха) — текущие 10 пунктов этого не покрывают.
Owner

Разведка завершена (2026-06-06, bot-backend) — итог по эпику + кто что берёт

🔨 bot-backend стартует foundation ИРД-слоя (геометрия + контент). Антон параллельно на #968 (competitors/velocity) — не пересекаемся (мой скоуп: nspd_client.py, новый ekb_geoportal_client.py, data/sql, harvest-task, ird_overlays).

НСПД-разведка (см. закрытый #1057)

VPS не геоблокирован. НСПД отдаёт только геометрию + reg-номер для любого слоя (ни ВРИ, ни параметров, ни имени). Префиксы reg-номера: -6.=ЗОУИТ, -7.=тер.зона, -8.=территория ОКН.

Источник СОДЕРЖАНИЯ найден (live-verified)

Геопортал Екатеринбурга (геопортал.екатеринбург.рф, ИСОГД/Geometa) — публичные JSON-API без авторизации отдают zone index + 3 списка ВРИ (540н) + предельные параметры + ЗОУИТ по координате (searchByGeomurbanCard/portal, либо WFS INTERSECTS). Полный рецепт — vault research/EKB_Geoportal_PZZ_Content_API_Jun06.md.

Маршрутизация 10 пунктов

Пункт Статус Источник
6 ЗОУИТ готов НСПД (зашит)
8 ООПТ/леса/вода (#1064) 🟢 geometry ready НСПД 875845/866/832/835/37580
10 ОКН (#1066) 🟢 geometry ready, имя → геопортал НСПД 37577/875840 + urbanCard
7 сервитут (#1063) 🟢 overlay, тип → геопортал НСПД 37581 + urbanCard вид зоны
2 ПЗЗ ВРИ+параметры (#1059) 🟢 контент найден геопортал ЕКБ urbanCard
1 функц.зоны (#1058) не НСПД ФГИС ТП → needs-human
3 КРТ (#1060) не НСПД ИСОГД/ФГИС ТП → needs-human
5 резервирование (#1062) не НСПД ИСОГД ЕКБ → needs-human
9 ПАТ (#1065) не НСПД приказы (manual) → needs-human

План реализации (bot-backend, изолированные ветки → PR → reviewer)

Foundation: fix list_layers() баг · ird_overlays миграция · LAYERS ИРД-группировка · Celery harvest (grid-walk по кварталам ЕКБ) · ekb_geoportal_client.py · регламент-кэш по urban_index · parcel_ird_overlaps → ИРД-строки analyze (за флагом).

Пункты 1/3/5/9 (#1058/#1060/#1062/#1065): зависимость от #1057 снята (его в НСПД нет), источник = ФГИС ТП/ИСОГД/приказы → остаются needs-human, в bot-очередь НЕ идут.

## Разведка завершена (2026-06-06, bot-backend) — итог по эпику + кто что берёт **🔨 bot-backend стартует foundation ИРД-слоя (геометрия + контент).** Антон параллельно на #968 (competitors/velocity) — не пересекаемся (мой скоуп: `nspd_client.py`, новый `ekb_geoportal_client.py`, `data/sql`, harvest-task, `ird_overlays`). ### НСПД-разведка (см. закрытый #1057) VPS не геоблокирован. НСПД отдаёт **только геометрию + reg-номер** для любого слоя (ни ВРИ, ни параметров, ни имени). Префиксы reg-номера: `-6.`=ЗОУИТ, `-7.`=тер.зона, `-8.`=территория ОКН. ### Источник СОДЕРЖАНИЯ найден (live-verified) **Геопортал Екатеринбурга** (`геопортал.екатеринбург.рф`, ИСОГД/Geometa) — публичные JSON-API без авторизации отдают **zone index + 3 списка ВРИ (540н) + предельные параметры + ЗОУИТ** по координате (`searchByGeom` → `urbanCard/portal`, либо WFS INTERSECTS). Полный рецепт — vault `research/EKB_Geoportal_PZZ_Content_API_Jun06.md`. ### Маршрутизация 10 пунктов | Пункт | Статус | Источник | |---|---|---| | 6 ЗОУИТ | ✅ готов | НСПД (зашит) | | 8 ООПТ/леса/вода (#1064) | 🟢 geometry ready | НСПД 875845/866/832/835/37580 | | 10 ОКН (#1066) | 🟢 geometry ready, имя → геопортал | НСПД 37577/875840 + urbanCard | | 7 сервитут (#1063) | 🟢 overlay, тип → геопортал | НСПД 37581 + urbanCard вид зоны | | 2 ПЗЗ ВРИ+параметры (#1059) | 🟢 **контент найден** | геопортал ЕКБ urbanCard | | 1 функц.зоны (#1058) | ❌ не НСПД | ФГИС ТП → needs-human | | 3 КРТ (#1060) | ❌ не НСПД | ИСОГД/ФГИС ТП → needs-human | | 5 резервирование (#1062) | ❌ не НСПД | ИСОГД ЕКБ → needs-human | | 9 ПАТ (#1065) | ❌ не НСПД | приказы (manual) → needs-human | ### План реализации (bot-backend, изолированные ветки → PR → reviewer) Foundation: fix `list_layers()` баг · `ird_overlays` миграция · LAYERS ИРД-группировка · Celery harvest (grid-walk по кварталам ЕКБ) · `ekb_geoportal_client.py` · регламент-кэш по `urban_index` · `parcel_ird_overlaps` → ИРД-строки analyze (за флагом). **Пункты 1/3/5/9 (#1058/#1060/#1062/#1065):** зависимость от #1057 снята (его в НСПД нет), источник = ФГИС ТП/ИСОГД/приказы → остаются `needs-human`, в bot-очередь НЕ идут.
Collaborator

PR #1077 merged (squash → main 38d948f) и задеплоен (backend-путь deploy.yml; прод /health → 200 ok после merge).

Фикс NSPDClient.list_layers() парсит реальную плоскую форму {"layers":[...], layerId} — раньше молча возвращал [] для любой темы. Это прямая инфра для #1057 (harvest NSPD layer-tree ID): функция теперь действительно отдаёт слои, на которых строится ID-discovery для пунктов 1/3/5/9/10.

Umbrella остаётся open — статус не меняю.

PR #1077 merged (squash → main `38d948f`) и задеплоен (backend-путь `deploy.yml`; прод `/health` → 200 ok после merge). Фикс `NSPDClient.list_layers()` парсит реальную плоскую форму `{"layers":[...], layerId}` — раньше молча возвращал `[]` для любой темы. Это прямая инфра для **#1057** (harvest NSPD layer-tree ID): функция теперь действительно отдаёт слои, на которых строится ID-discovery для пунктов 1/3/5/9/10. Umbrella остаётся open — статус не меняю.
Owner

EPIC ИРД — статус 2026-06-07: все 10 пунктов реализованы и наполнены на проде

# Пункт Статус Данные на проде issue
1 ГП-2045 функц.зоны ekb_genplan_functional_zone 6436 (23 типа), ГИСОГД-СО WFS #1058
2 ПЗЗ ВРИ+параметры zone_regulation_cache 33 зоны (все типы, height/FAR/застройка%) #1059
3 КРТ геом 44 + реквизиты 15 (застройщик/цена) #1060
4 Граддок + право granddoc 990 действ. ППТ/ПМТ (статус+ПАГЕ) + правообладатель из КРТ #1061 (НЕ-КРТ legal — needs-human)
5 Резервирование/изъятие land_reservation 27 кад-номеров (OCR городского портала) #1062 / #1091
6 ЗОУИТ ird_overlays 22 типа (gknspecial+НСПД)
7 Сервитуты servitude 2277 #1063
8 ООПТ/лес/вода water/protected/forestries #1064
9 ПАТ Кольцово 6 подзон + агрегат 9 #1065
10 ОКН + зоны + ЗРЗ объекты 428 + зоны 313 + ЗРЗ 307 #1066

ИРД-блок /analyze отдаёт все слои (verified smoke: ird_overlaps, functional_zones, granddoc, krt/krt_requisites, okn_objects, reservations, zone_regulation, planning_projects). Закрытые суб-issue: #1058/#1059/#1060/#1062/#1063/#1064/#1065/#1066/#1091.

Открытые follow-up (tech-debt / низкий приоритет): #1151 (pat врезка в analyze), #1136 (ppt_tep), #1134/#1116/#1122 (tech-debt), #1061-legal для НЕ-КРТ (needs-human: ЕСИА/офиц.реестр).

Найденные источники (разведка): изъятие → городской портал екатеринбург.рф (не область); ОКН → АИС ЕГРКН; ГП-2045 → ГИСОГД-СО; ПАТ → текст приказа 367-П. Все «нет данных»-тупики оказались «искали не там».

Эпик функционально завершён — оставляю открытым на твоё решение по closure (есть low-prio follow-up'ы).

## EPIC ИРД — статус 2026-06-07: все 10 пунктов реализованы и наполнены на проде | # | Пункт | Статус | Данные на проде | issue | |---|---|---|---|---| | 1 | ГП-2045 функц.зоны | ✅ | `ekb_genplan_functional_zone` 6436 (23 типа), ГИСОГД-СО WFS | #1058 ✓ | | 2 | ПЗЗ ВРИ+параметры | ✅ | `zone_regulation_cache` 33 зоны (все типы, height/FAR/застройка%) | #1059 ✓ | | 3 | КРТ | ✅ | геом 44 + реквизиты 15 (застройщик/цена) | #1060 ✓ | | 4 | Граддок + право | ✅ | `granddoc` 990 действ. ППТ/ПМТ (статус+ПАГЕ) + правообладатель из КРТ | #1061 (НЕ-КРТ legal — needs-human) | | 5 | Резервирование/изъятие | ✅ | `land_reservation` 27 кад-номеров (OCR городского портала) | #1062 / #1091 ✓ | | 6 | ЗОУИТ | ✅ | `ird_overlays` 22 типа (gknspecial+НСПД) | ✓ | | 7 | Сервитуты | ✅ | servitude 2277 | #1063 ✓ | | 8 | ООПТ/лес/вода | ✅ | water/protected/forestries | #1064 ✓ | | 9 | ПАТ | ✅ | Кольцово 6 подзон + агрегат 9 | #1065 ✓ | | 10 | ОКН + зоны + ЗРЗ | ✅ | объекты 428 + зоны 313 + ЗРЗ 307 | #1066 ✓ | **ИРД-блок `/analyze` отдаёт все слои** (verified smoke: `ird_overlaps, functional_zones, granddoc, krt/krt_requisites, okn_objects, reservations, zone_regulation, planning_projects`). Закрытые суб-issue: #1058/#1059/#1060/#1062/#1063/#1064/#1065/#1066/#1091. **Открытые follow-up (tech-debt / низкий приоритет):** #1151 (pat врезка в analyze), #1136 (ppt_tep), #1134/#1116/#1122 (tech-debt), #1061-legal для НЕ-КРТ (needs-human: ЕСИА/офиц.реестр). **Найденные источники (разведка):** изъятие → городской портал екатеринбург.рф (не область); ОКН → АИС ЕГРКН; ГП-2045 → ГИСОГД-СО; ПАТ → текст приказа 367-П. Все «нет данных»-тупики оказались «искали не там». Эпик функционально завершён — оставляю открытым на твоё решение по closure (есть low-prio follow-up'ы).
Owner

EPIC ВЫПОЛНЕН — все 10 ИРД-пунктов врезаны в analyze, верифицированы end-to-end

Закрываю по итогам независимого бэктеста (2026-06-07): прямые SQL к проду + live POST /analyze через прод-контейнер + чтение задеплоенного кода + внешняя сверка по интернет-источникам (НСПД ПКК вживую, федеральные приказы, ЕГРОКН, реестр КРТ, ПЗЗ, муниципальные постановления).

Статус по 10 пунктам (все в ird-блоке analyze)

# Пункт Таблица analyze-ключ Внешняя сверка
1 ГП функц.зоны ekb_genplan_functional_zone (6436) functional_zone(s) ⚠️ Генплан-2045 за auth-стеной (структура ок)
2 ПЗЗ ВРИ+параметры zone_regulation_cache (33 зоны) zone_regulation все 33 индекса = реальные зоны ПЗЗ-1597
3 КРТ ekb_krt_geometry (44) + ekb_krt_sites (15) krt, krt_requisites 6/6 локаций + 6/7 застройщиков (СМИ/реестр)
4 Граддок+право planning_projects (1170) + КРТ-реквизиты granddoc, planning_projects ПАГЕ-связки exact
5 Резервирование/изъятие land_reservation (27) reservations цели подтверждены (Татищева/Энергостроителей/развязки)
6 ЗОУИТ ird_overlays (22 layer_kind) ird_overlaps, ird_by_kind НСПД вживую: ВЗ/ПЗП/СЗЗ
7 Сервитуты ird_overlays servitude (2277) ird_by_kind.servitude
8 ООПТ/лес/вода ird_overlays (water/coastal/forest/protected) ird_by_kind.* ВЗ+ПЗП р.Исеть в НСПД дословно
9 ПАТ pat_subzones (Кольцово 0-6) + ird_overlays.airfield ird_by_kind.airfield (+ pat_subzones через #1151) приказ 367-П ред.804-П, 6 подзон — КонсультантПлюс/Минюст
10 ОКН okn_objects (428) + ird_overlays (okn/zrz) okn_objects ⚠️ покрытие 428 vs ~798 ЕГРОКН → #1159

Вердикт: 9 из 10 пунктов CONFIRMED против независимых внешних источников. analyze отдаёт все 12 ИРД-ключей (ird_overlaps, ird_by_kind, functional_zone(s), zone_regulation, krt, krt_requisites, granddoc, reservations, okn_objects, planning_projects, opportunity_overlaps); непустота подтверждена на участках, которые по геометрии должны пересекать слой (ОКН, вода, изъятие, КРТ-геометрия, КРТ-реквизиты exact). forecast §22 status=ready. Все weekly-harvest'ы в beat_schedule, last_fetch свежий.

Backlog (не блокирует эпик)

  • #1156 — genplan ST_MakeValid + backfill 881 битых геометрий (PR #1157, review) → бэклог
  • #1151 — гранулярные pat_subzones в analyze (PR #1158, review) → бэклог
  • #1159 — ОКН недозагрузка (428 vs ~798) + raw_props={id} без названия → бэклог

Полная матрица сверки с цитатами/URL — в финальном отчёте бэктеста.

## ✅ EPIC ВЫПОЛНЕН — все 10 ИРД-пунктов врезаны в analyze, верифицированы end-to-end Закрываю по итогам независимого бэктеста (2026-06-07): прямые SQL к проду + live `POST /analyze` через прод-контейнер + чтение задеплоенного кода + **внешняя сверка по интернет-источникам** (НСПД ПКК вживую, федеральные приказы, ЕГРОКН, реестр КРТ, ПЗЗ, муниципальные постановления). ### Статус по 10 пунктам (все в `ird`-блоке analyze) | # | Пункт | Таблица | analyze-ключ | Внешняя сверка | |---|---|---|---|---| | 1 | ГП функц.зоны | `ekb_genplan_functional_zone` (6436) | `functional_zone(s)` | ⚠️ Генплан-2045 за auth-стеной (структура ок) | | 2 | ПЗЗ ВРИ+параметры | `zone_regulation_cache` (33 зоны) | `zone_regulation` | ✅ все 33 индекса = реальные зоны ПЗЗ-1597 | | 3 | КРТ | `ekb_krt_geometry` (44) + `ekb_krt_sites` (15) | `krt`, `krt_requisites` | ✅ 6/6 локаций + 6/7 застройщиков (СМИ/реестр) | | 4 | Граддок+право | `planning_projects` (1170) + КРТ-реквизиты | `granddoc`, `planning_projects` | ✅ ПАГЕ-связки exact | | 5 | Резервирование/изъятие | `land_reservation` (27) | `reservations` | ✅ цели подтверждены (Татищева/Энергостроителей/развязки) | | 6 | ЗОУИТ | `ird_overlays` (22 layer_kind) | `ird_overlaps`, `ird_by_kind` | ✅ НСПД вживую: ВЗ/ПЗП/СЗЗ | | 7 | Сервитуты | `ird_overlays` servitude (2277) | `ird_by_kind.servitude` | ✅ | | 8 | ООПТ/лес/вода | `ird_overlays` (water/coastal/forest/protected) | `ird_by_kind.*` | ✅ ВЗ+ПЗП р.Исеть в НСПД дословно | | 9 | ПАТ | `pat_subzones` (Кольцово 0-6) + `ird_overlays.airfield` | `ird_by_kind.airfield` (+ `pat_subzones` через #1151) | ✅ приказ 367-П ред.804-П, 6 подзон — КонсультантПлюс/Минюст | | 10 | ОКН | `okn_objects` (428) + `ird_overlays` (okn/zrz) | `okn_objects` | ⚠️ покрытие 428 vs ~798 ЕГРОКН → #1159 | **Вердикт: 9 из 10 пунктов CONFIRMED против независимых внешних источников.** analyze отдаёт все 12 ИРД-ключей (`ird_overlaps, ird_by_kind, functional_zone(s), zone_regulation, krt, krt_requisites, granddoc, reservations, okn_objects, planning_projects, opportunity_overlaps`); непустота подтверждена на участках, которые по геометрии должны пересекать слой (ОКН, вода, изъятие, КРТ-геометрия, КРТ-реквизиты exact). forecast §22 `status=ready`. Все weekly-harvest'ы в beat_schedule, last_fetch свежий. ### Backlog (не блокирует эпик) - **#1156** — genplan `ST_MakeValid` + backfill 881 битых геометрий (PR #1157, ✅ review) → бэклог - **#1151** — гранулярные `pat_subzones` в analyze (PR #1158, ✅ review) → бэклог - **#1159** — ОКН недозагрузка (428 vs ~798) + `raw_props={id}` без названия → бэклог Полная матрица сверки с цитатами/URL — в финальном отчёте бэктеста.
Sign in to join this conversation.
No project
No assignees
3 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: lekss361/gendesign#1067
No description provided.