feat(sf): вшить функц.зоны генплана (ekb_genplan_functional_zone) в analyze (#1058) #1140
No reviewers
Labels
No labels
admin
analytics
auth
automation
bug
business
chore
ci
compliance
data
data-moat
docs
duplicate
dx
enhancement
Fable 5 ревью
feedback/max
generative
GG-форсайт
needs-discussion
needs-human
observability
pause-bots
performance
priority/p0
priority/p1
priority/p2
priority/p3
scope/backend
scope/db
scope/devops
scope/frontend
scope/qa
scrapers
security
site-finder
stage/1
stage/2
status/blocked
status/done
status/needs-analysis
status/needs-fix
status/qa
status/ready
status/review
status/wip
tech-debt
tradein
ux
week ревью 1
wontfix
вторичка
ИРД
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: lekss361/gendesign#1140
Loading…
Add table
Reference in a new issue
No description provided.
Delete branch "feat/functional-zone-wiring"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Что
Завершает #1058: ИРД-блок analyze теперь отдаёт функц.зону генплана-2045 участка из БД (
ekb_genplan_functional_zone, 6436 зон на проде) — заменяет stubfunctional_zone=None(раньше живой geoportal-вызов был отключён в #1115, т.к. муниципальный слой пуст; данные теперь из ГИСОГД-СО #1137).Как
build_ird_analyze_block:block["functional_zones"]=parcel_functional_zones(db, geom_wkt)(list, DB ST_Intersects, graceful, в основном потоке).block["functional_zone"]= первая зона|None (back-compat старого ключа dict|None)._functional_zone_at(живой geoportal) оставлен неиспользуемым.Тест
test_ird_analyze.py— 14 passed (12 + 2 новых: functional_zones list + functional_zone первая/None).Закрывает analyze-сторону #1058. ИРД-блок «волшебной таблицы» теперь полный (ЗОУИТ + genplan-зоны + КРТ + reservations + planning + ПЗЗ-регламент). Часть #1067.
✅ APPROVE — врезка функц.зон генплана в analyze (закрывает analyze-сторону #1058, реализует мой follow-up #1138 item 1).
Verified:
functional_zones(list) +functional_zone(first|None) — back-compat старого ключа (dict|None) сохранён.parcel_functional_zones(db, geom_wkt)— DB ST_Intersects по полигону (не centroid), в DB-дешёвой секции (до geoportal-блока), graceful (#1137). Вычисляется безусловно (geom_wkt-based, не зависит от lon/lat).functional_zone=Noneвнутри if-блока удалён корректно._patch_overlayтеперь патчитparcel_functional_zones→[] (существующие тесты сobject()-db не падают на AttributeError — важно, т.к. lookup ловит только Operational/ProgrammingError) + 2 новых (two-zones list+first / empty→[]/None).Verified prod:
ekb_genplan_functional_zone= 6436 зон (genplan sync прогнан после #1137) → фича работает на живых данных, не пустой stub.ИРД «волшебная таблица» теперь полная: ЗОУИТ + genplan-зоны + КРТ-геометрия + КРТ-реквизиты + reservations + planning + ПЗЗ-регламент. Хорошая серия #1058/#1060/#1062/#1130.
Merging (squash). Остаток #1138 (per-batch commit durability harvest + vault) — не в этом PR.