feat(site-finder): РИАСУРТ Свердл 14-layer harvest client+schema+task for ЕКБ agglomeration (#108) #1712

Merged
lekss361 merged 3 commits from feat/riasurt-sverdl-layers-108 into main 2026-06-17 19:52:59 +00:00
Owner

Задача (#108)

РИАСУРТ Свердл (folderId 1224) — 14 layerIds (ПЗЗ/планирование/ZOUIT/risk/opportunity) для МО агломерации ЕКБ (Берёзовский/В.Пышма/Среднеуральск/Арамиль/Сысерть), которые НЕ покрыты ЕКБ-сити ИСОГД. Код готов; live-harvest post-deploy.

Решение

  • nspd_client.py: RIASURT_SVERDL_LAYERS (14 id→topic), get_riasurt_sverdl_in_bbox() (bulk grid-walk WMS, тот же aeggis/v4 infra).
  • Миграция 163_riasurt_sverdl.sql: таблица + geom MULTIPOLYGON 3857 + geom_msk66 generated STORED + GIST×2.
  • Celery harvest_riasurt_sverdl_for_mo/harvest_all_riasurt_sverdl (rate 1/s) + quarterly beat. ⚠️ MO_BBOXESPLACEHOLDER с TODO(#108), не для прод-harvest пока не заданы реальные границы МО.
  • riasurt_lookup.py: is_in_aglomeration_but_not_ekb + gate; parcels.py flag-gated response["gate"]["riasurt"] (enable_riasurt_gate=False default).

Verify

ruff clean; pytest -k riasurt18 passed, 1 skipped; -k "nspd or harvest" → 231 passed. WMS/DB замоканы.

⚠️ Номер 163 совпадает с #1687 (другой файл). Post-deploy: задать реальные MO_BBOXES → harvest → ENABLE_RIASURT_GATE=true.

Closes #108

## Задача (#108) РИАСУРТ Свердл (folderId 1224) — 14 layerIds (ПЗЗ/планирование/ZOUIT/risk/opportunity) для МО агломерации ЕКБ (Берёзовский/В.Пышма/Среднеуральск/Арамиль/Сысерть), которые НЕ покрыты ЕКБ-сити ИСОГД. Код готов; live-harvest post-deploy. ## Решение - `nspd_client.py`: `RIASURT_SVERDL_LAYERS` (14 id→topic), `get_riasurt_sverdl_in_bbox()` (bulk grid-walk WMS, тот же aeggis/v4 infra). - Миграция `163_riasurt_sverdl.sql`: таблица + geom MULTIPOLYGON 3857 + geom_msk66 generated STORED + GIST×2. - Celery `harvest_riasurt_sverdl_for_mo`/`harvest_all_riasurt_sverdl` (rate 1/s) + quarterly beat. ⚠️ `MO_BBOXES` — **PLACEHOLDER с TODO(#108)**, не для прод-harvest пока не заданы реальные границы МО. - `riasurt_lookup.py`: `is_in_aglomeration_but_not_ekb` + gate; `parcels.py` flag-gated `response["gate"]["riasurt"]` (`enable_riasurt_gate=False` default). ## Verify `ruff` clean; `pytest -k riasurt` → **18 passed, 1 skipped**; `-k "nspd or harvest"` → 231 passed. WMS/DB замоканы. ⚠️ Номер `163` совпадает с #1687 (другой файл). Post-deploy: задать реальные MO_BBOXES → harvest → `ENABLE_RIASURT_GATE=true`. Closes #108
lekss361 added 1 commit 2026-06-17 18:51:20 +00:00
feat(site-finder): РИАСУРТ Свердл 14-layer harvest client+schema+task for ЕКБ agglomeration (#108)
Some checks failed
CI / changes (push) Successful in 7s
CI / changes (pull_request) Successful in 6s
CI / frontend-tests (push) Has been cancelled
CI / openapi-codegen-check (push) Has been cancelled
CI / backend-tests (push) Has been cancelled
CI / backend-tests (pull_request) Has been cancelled
CI / frontend-tests (pull_request) Has been cancelled
CI / openapi-codegen-check (pull_request) Has been cancelled
31e316e04e
bot-backend added 2 commits 2026-06-17 19:52:25 +00:00
merge main + renumber 163→167 + guard riasurt harvest (#108 review)
All checks were successful
CI / changes (pull_request) Successful in 6s
CI / frontend-tests (pull_request) Has been skipped
CI / openapi-codegen-check (pull_request) Successful in 2m33s
CI / backend-tests (pull_request) Successful in 10m10s
0a72ef9491
lekss361 merged commit 4ebc271a6c into main 2026-06-17 19:52:59 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
2 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#1712
No description provided.