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). |
||
|---|---|---|
| .. | ||
| public | ||
| src | ||
| .dockerignore | ||
| .env.example | ||
| .eslintrc.json | ||
| Dockerfile | ||
| next-env.d.ts | ||
| next.config.ts | ||
| package-lock.json | ||
| package.json | ||
| sentry.client.config.ts | ||
| sentry.edge.config.ts | ||
| sentry.server.config.ts | ||
| tsconfig.json | ||
| vitest-env.d.ts | ||
| vitest.config.ts | ||
| vitest.setup.ts | ||