feat(site-finder): OSM engineering-networks loader + endpoint (#1746) #1930

Merged
bot-backend merged 2 commits from feat/1746-osm-utility-networks into main 2026-06-26 20:01:01 +00:00
Collaborator

No-B2B open-data источник инженерных сетей ЕКБ через OSM Overpass (живой тест: 3081+ utility-элементов). Зеркалит noise_loader + poi-sync.

  • Table osm_utility_infrastructure_ekb (migration 100): geom(Geometry,4326) — линии И точки, GIST-индекс, UNIQUE(osm_type, osm_id) для идемпотентного UPSERT. BEGIN/COMMIT.
  • Loader utility_infrastructure_loader.py: Overpass (rate-limit 1 req/s, httpx + UA), классификация infrastructure_kind (power/water/gas/heat/communication/sewage), per-element SAVEPOINT UPSERT.
  • Schedule: Celery task + weekly beat (пн 04:00 МСК, после noise-sync).
  • Endpoint GET /api/v1/parcels/{cad}/utility-infrastructure?radius_m=: инж.сети в радиусе центроида (ST_DWithin) + summary по видам.
  • Codegen: api-types.ts регенерирован (новый endpoint + 3 схемы), diff +98/0.
  • Full suite: 3556 passed, 0 failed. ruff clean.

Открытые источники задокументированы в #1746 (OSM сейчас + NSPD-доп-слои follow-up). Снимает B2B-зависимость #52 п.1 для базового слоя сетей. Frontend-рендер на карту — отдельная задача frontend-контрибьютора.

Refs #1746, #103, #52

No-B2B open-data источник инженерных сетей ЕКБ через **OSM Overpass** (живой тест: 3081+ utility-элементов). Зеркалит `noise_loader` + poi-sync. - **Table** `osm_utility_infrastructure_ekb` (migration 100): `geom(Geometry,4326)` — линии И точки, GIST-индекс, `UNIQUE(osm_type, osm_id)` для идемпотентного UPSERT. BEGIN/COMMIT. - **Loader** `utility_infrastructure_loader.py`: Overpass (rate-limit 1 req/s, httpx + UA), классификация `infrastructure_kind` (power/water/gas/heat/communication/sewage), per-element SAVEPOINT UPSERT. - **Schedule**: Celery task + weekly beat (пн 04:00 МСК, после noise-sync). - **Endpoint** `GET /api/v1/parcels/{cad}/utility-infrastructure?radius_m=`: инж.сети в радиусе центроида (ST_DWithin) + summary по видам. - **Codegen**: api-types.ts регенерирован (новый endpoint + 3 схемы), diff +98/0. - **Full suite**: 3556 passed, 0 failed. ruff clean. Открытые источники задокументированы в #1746 (OSM сейчас + NSPD-доп-слои follow-up). Снимает B2B-зависимость #52 п.1 для базового слоя сетей. Frontend-рендер на карту — отдельная задача frontend-контрибьютора. Refs #1746, #103, #52
bot-backend added 1 commit 2026-06-26 19:43:46 +00:00
feat(site-finder): OSM engineering-networks loader + endpoint (#1746)
All checks were successful
CI / changes (pull_request) Successful in 6s
CI / frontend-tests (pull_request) Successful in 54s
CI / openapi-codegen-check (pull_request) Successful in 2m12s
CI / backend-tests (pull_request) Successful in 11m19s
42ed1f8a93
No-B2B open-data путь (Overpass) для инженерных сетей ЕКБ: ЛЭП/подстанции/
опоры, трубопроводы (газ/вода/канализация), ЦТП, вышки связи.

- Миграция 100_osm_utility_infrastructure_ekb.sql: таблица + GIST-индекс,
  UNIQUE(osm_type, osm_id) для идемпотентного UPSERT, geom(Geometry,4326)
  (линии И точки).
- Loader utility_infrastructure_loader.py: Overpass-запросы (rate-limit 1 req/s),
  классификация в infrastructure_kind (power/water/gas/heat/communication/sewage),
  per-element SAVEPOINT UPSERT. Зеркалит noise_loader (геом-хелперы переиспользованы).
- Celery task + weekly beat (понедельник 04:00 МСК, после noise-sync).
- Endpoint GET /api/v1/parcels/{cad}/utility-infrastructure: инж.сети в радиусе
  центроида участка (ST_DWithin) + summary по видам сети. Зеркалит connection-points.
- Тесты: loader (Overpass-парсинг/UPSERT/SAVEPOINT/фильтры) + endpoint (mock DB).
- Codegen: api-types.ts регенерирован (новый endpoint + 3 схемы).
Light1YT added 1 commit 2026-06-26 19:49:07 +00:00
chore: rename migration 100→170 (next free seq; 100-105 taken, max=169) (#1746)
All checks were successful
CI / changes (pull_request) Successful in 6s
CI / frontend-tests (pull_request) Successful in 1m0s
CI / openapi-codegen-check (pull_request) Successful in 1m57s
CI / backend-tests (pull_request) Successful in 11m13s
8d1e483271
bot-backend merged commit 3753079dee into main 2026-06-26 20:01:01 +00:00
bot-backend deleted branch feat/1746-osm-utility-networks 2026-06-26 20:01:01 +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#1930
No description provided.