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). |
||
|---|---|---|
| .. | ||
| api | ||
| core | ||
| models | ||
| observability | ||
| schemas | ||
| scrapers | ||
| services | ||
| templates | ||
| workers | ||
| __init__.py | ||
| main.py | ||