feat(site-finder): теплотрассы из OSM в слой инженерной инфраструктуры (Фаза C1) #2280

Merged
bot-backend merged 1 commit from feat/osm-heat-pipelines into main 2026-07-03 08:05:46 +00:00
Collaborator

Что

Фаза C #2119, кирпич C1. man_made=pipeline теперь классифицируется по тегу substance: gas/natural_gas/cng → kind=gas (как раньше), heat/hot_water/steam → kind=heat — это ~135 way теплотрасс в ЕКБ, единственный гео-источник тепла для §3 (тег man_made=heat_substation в ЕКБ пуст, heat-слой был гео-пустым).

  • _PIPELINE_SUBSTANCE_KIND — единый маппинг substance→kind; _SUBSTANCE_FILTER выводится из него (фильтр и классификатор не разъедутся).
  • Труба без известного substance по-прежнему скипается (нефть/химию не примешиваем); legacy type-тег как fallback сохранён.
  • Overpass-запрос НЕ расширен (pipeline и так тянулся целиком, heat просто перестали ронять) — таймаут-риска для weekly sync нет.
  • UPSERT: unique (osm_type, osm_id), смена kind — in-place update без дублей.
  • Попап: теплоноситель («горячая вода»/«пар») + существующие ⌀/материал. Фронт уже мапит kind=heat → «Теплотрасса» (без правок).

Тесты

64 passed (фильтр, классификация, gas-регрессия, скип без substance, смешанный батч, порядок характеристик). ruff clean.

Ревью

code-reviewer: APPROVE (регрессия gas, Overpass-нагрузка, UPSERT-дедуп — все чисто).

Post-deploy

Эффект после weekly Overpass sync (Celery) или ручного прогона: SELECT count(*) FROM osm_utility_infrastructure_ekb WHERE infrastructure_kind='heat' — ожидаем ~135.

Refs #2119

## Что Фаза C #2119, кирпич C1. `man_made=pipeline` теперь классифицируется по тегу `substance`: gas/natural_gas/cng → kind=gas (как раньше), **heat/hot_water/steam → kind=heat** — это ~135 way теплотрасс в ЕКБ, единственный гео-источник тепла для §3 (тег `man_made=heat_substation` в ЕКБ пуст, heat-слой был гео-пустым). - `_PIPELINE_SUBSTANCE_KIND` — единый маппинг substance→kind; `_SUBSTANCE_FILTER` выводится из него (фильтр и классификатор не разъедутся). - Труба без известного substance по-прежнему скипается (нефть/химию не примешиваем); legacy `type`-тег как fallback сохранён. - Overpass-запрос НЕ расширен (pipeline и так тянулся целиком, heat просто перестали ронять) — таймаут-риска для weekly sync нет. - UPSERT: unique (osm_type, osm_id), смена kind — in-place update без дублей. - Попап: теплоноситель («горячая вода»/«пар») + существующие ⌀/материал. Фронт уже мапит kind=heat → «Теплотрасса» (без правок). ## Тесты 64 passed (фильтр, классификация, gas-регрессия, скип без substance, смешанный батч, порядок характеристик). ruff clean. ## Ревью code-reviewer: ✅ APPROVE (регрессия gas, Overpass-нагрузка, UPSERT-дедуп — все чисто). ## Post-deploy Эффект после weekly Overpass sync (Celery) или ручного прогона: `SELECT count(*) FROM osm_utility_infrastructure_ekb WHERE infrastructure_kind='heat'` — ожидаем ~135. Refs #2119
bot-backend added 1 commit 2026-07-03 07:48:08 +00:00
feat(site-finder): classify OSM heat pipelines into utility layer (#2119)
All checks were successful
CI Trade-In / changes (pull_request) Successful in 11s
CI / changes (pull_request) Successful in 11s
CI Trade-In / backend-tests (pull_request) Has been skipped
CI Trade-In / frontend-checks (pull_request) Has been skipped
CI / frontend-tests (pull_request) Has been skipped
CI / openapi-codegen-check (pull_request) Successful in 3m17s
CI / backend-tests (pull_request) Successful in 16m44s
e0323de7ee
man_made=pipeline теперь разводится по substance: gas/natural_gas/cng → gas,
heat/hot_water/steam → heat (теплотрассы, ~135 way в ЕКБ — единственный
гео-источник тепла для §3). Труба без известного substance по-прежнему
скипается, gas-путь не тронут. Попап heat-сети показывает теплоноситель
(«горячая вода»/«пар»); kind=heat уже читается фронтом как «Теплотрасса».
bot-backend merged commit 99ee09e230 into main 2026-07-03 08:05:46 +00:00
bot-backend deleted branch feat/osm-heat-pipelines 2026-07-03 08:05:46 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
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#2280
No description provided.