feat(networks): человеко-язык типов §3 + реальные имена НСПД-точек (#1953) #2107

Merged
bot-backend merged 1 commit from feat/network-popups-human-labels into main 2026-06-30 11:34:30 +00:00

1 commit

Author SHA1 Message Date
40b041b379 feat(networks): человеко-язык типов на карте §3 + реальные имена НСПД-точек (#1953)
All checks were successful
CI / changes (pull_request) Successful in 8s
CI / frontend-tests (pull_request) Successful in 1m17s
CI / openapi-codegen-check (pull_request) Successful in 2m14s
CI / backend-tests (pull_request) Successful in 14m41s
Round-3 task ONE (был разобран, но не внедрён — попап показывал «шляпу»).

OSM-попап: вместо сырого «Тип: power=substation» — человеческая подпись
(humanOsmType по source_tag: power=substation→Электроподстанция, power=tower→
Опора ЛЭП, power=line→ЛЭП, man_made=water_tower→Водонапорная башня и т.д.;
pipeline/tower уточняются по виду ресурса). Неизвестный тег → строку «Тип» не
показываем (без сырого кода).

НСПД-точки подключения: реальные атрибуты дампа cat 36328 лежат в
props["options"] (params_name с напряжением/типом «КЛ 10кВ ТП…», params_purpose,
object_type_value, адрес, год/протяжённость/собственность), а
_get_engineering_structures_by_boundary читал НЕсуществующие top-level ключи →
попап показывал «Объект». Теперь читаем options.* + собираем строку
характеристик (год · протяжённость · собственность). EngineeringStructure
получает additive-поле characteristics (api-types регенерирован, @/types/nspd
зеркалит). НСПД-попап показывает имя/назначение/характеристики/адрес.

Тесты: humanOsmType (5 кейсов) + _clean_struct_str/_build_structure_characteristics (3).
2026-06-30 16:18:33 +05:00