Износ и план ремонтов

Износ и план ремонтов: индекс износа участков по методике ТГИД, приоритет ремонта и записка к плану от ИИ.

Где найти
«Инструменты» (значок чемоданчика справа вверху) → Расчёты и диагностика → «Износ и план ремонтов». То же — палитрой команд: Ctrl+K и начните набирать название.
Права
доступно всем, кто вошёл.
Короткое видео: как это выглядит в системе
Читаю как

Возможности

  • «Рассчитать» — оценка износа всех участков сети или только видимых фрагментов (флажок «Только видимые фрагменты»).
  • Выбор любого сохранённого расчёта износа: номер, название, число участков и средний износ.
  • Сводка расчёта: «Участков», «Средний износ», «Без даты прокладки», «С повреждениями», «С расходом по расчёту», число участков по категориям 1–5 и сколько факторов из 8 заполнено.
  • Список до 200 участков: «Сортировка» по приоритету, износу, сроку или повреждениям, отбор «Категория от» и по видимому фрагменту. Подсказка строки — баллы по каждому фактору; щелчок — участок на карте.
  • «Слой износа на карте» — участки в цвете категории; «Оставить на карте» и «Скрыть слой».
  • «Записка к плану» — помощник ИИ группирует участки с наибольшим приоритетом, предлагает действия и срочность («в этот сезон», «в следующий сезон», «наблюдение») (если ИИ включён).

Как это работает

Формула — экспертная методика десктопа ТГИД (gid6). Для каждого участка ставятся баллы от 1 до 5 по восьми факторам и складываются с весами:

Фактор Вес Откуда
Срок эксплуатации 0,15 возраст от даты перекладки, иначе от даты первой прокладки: до 7 лет — 1, до 15 — 2, меньше 20 — 3, меньше 25 — 4, старше — 5
Повреждаемость 0,20 нарушений на 100 м участка: меньше 1 — 1, меньше 2 — 2, меньше 4 — 3, меньше 5 — 4, больше — 5
Внешний вид 0,05 балл из паспорта участка
Состояние оборудования 0,20 балл из паспорта
Категория нарушений 0,10 балл из паспорта
Внешняя коррозия 0,10 балл из паспорта
Внутренняя коррозия 0,10 балл из паспорта
Состояние конструкций 0,10 балл из паспорта

Износ = сумма (вес × балл) × 20 %. Пустой балл не считается «новой трубой»: в списке и на карте показан износ по заполненным факторам — сумма делится на сумму их весов. Категория: до 20 % — 1 (хорошее), 20–40 % — 2 (удовлетворительное), 40–60 % — 3 (требует внимания), 60–80 % — 4 (предремонтное), от 80 % — 5 (критическое).

Нарушения берутся из журнала нарушений. Нарушение без участка привязывается по месту — к ближайшему участку не дальше 20 м и ко всем его копиям в других фрагментах. Если у участка нет длины по паспорту, повреждаемость не оценивается.

Приоритет ремонта = износ / 100 × последствия × множитель расхода. Последствия — от 1 до 2,4 по справочникам паспорта: объём отключаемых потребителей, ущерб населению и инфраструктуре. Множитель расхода — от 1 до 1,5: 1 + 0,5 × расход / 1000 т/ч (больше 1000 т/ч — 1,5); расход — наибольший по участку из последнего расчёта его фрагмента.

Расчёт выполняет фоновая задача. Результат сохраняется: шапка — в calculation_iznos, строки участков — в wear_out. Последний расчёт износа берут слой «Износ» тематических карт, условие «Износ» в выборке по условиям и план перекладок.

Сервер дописывает к результату замечания о данных: сколько участков без даты, не похожи ли даты ввода на даты внесения в ГИС (все даты в пределах 6 лет у более чем 1000 участков), заполнены ли экспертные баллы хотя бы у 5 % участков, пуст ли журнал нарушений.

Отбор по видимому фрагменту в списке и на слое работает, когда на карте ровно один фрагмент; при нескольких показываются все.

Что нужно для работы

  • Смотреть расчёты, список и слой — любая роль, включая «Просмотр».
  • «Рассчитать» — право «Запуск расчётов» и запущенный воркер фоновых задач.
  • Даты прокладки или перекладки и длины в паспортах участков; без них срок и повреждаемость не оцениваются.
  • «Записка к плану» — помощник ИИ включён на сервере и право «Запуск расчётов».

Шаги

  1. Откройте «Инструменты» и наберите в поиске «Износ и план ремонтов» — пункт выделен рамкой.

    Пункт «Износ и план ремонтов» в панели «Инструменты»

  2. Нажмите пункт — откроется окно.

    Окно «Износ и план ремонтов»

  3. Выберите расчёт износа (или нажмите «Рассчитать» для нового) и нажмите «Слой износа на карте»: участки раскрасятся по категориям, ниже откроется список участков по приоритету.

    Износ и план ремонтов: шаг 3

  4. Нажмите «Оставить на карте» — окно закроется, слой износа останется на карте. Снять слой — снова откройте окно и нажмите «Скрыть слой». Если закрыть окно крестиком, слой снимается.

    Износ и план ремонтов: шаг 4

Примеры

Копия базы Алматы, расчёт износа №3 (все участки, 23.10.2026): 91 004 участка, средний износ 27,7 %. Категория 2 — 90 990 участков, категория 3 — 13, категорий 1, 4 и 5 нет. Без даты прокладки — 9 574, с повреждениями — 0 (журнал нарушений в копии пуст), с расходом по расчёту — 6 869. Заполненных факторов: 2 из 8 — у 81 417 участков, 1 — у 9 586: экспертных баллов нет, индекс держится на сроке и повреждаемости.

Участок УТ-5-34 — 2-35, фрагмент 74: Ду 700, 105,6 м, канальная прокладка, перекладка 11,8 лет назад. Баллы: срок 2, повреждаемость 1. Износ по заполненным факторам — (0,15 × 2 + 0,20 × 1) / 0,35 × 20 = 28,6 %, категория 2. Последствия 1,4, расход 2544 т/ч — множитель 1,5. Приоритет — 0,286 × 1,4 × 1,5 = 0,6, наибольший в расчёте.

«Категория от 3» даёт 13 участков, и у всех износ ровно 40 %: длина по паспорту 0, поэтому заполнен один фактор — срок (балл 2). Это не изношенные трубы, а участки без длины: исправьте паспорт и пересчитайте.

На копии Астаны, где журнал нарушений ведётся, привязка нарушений по месту увеличила число участков категорий 4–5 с 194 до 1522 (замер 31.10.2026).

Если не получается

  • Кнопки неактивны — нет ни одного расчёта износа: нажмите «Рассчитать».
  • Много участков «без даты прокладки» — износ по ним считается по остальным факторам; заполните год прокладки в свойствах участков.
  • «Расчёт износа ещё не выполнялся — нажмите «Рассчитать».»
  • «Расчёт износа не выполнен» с причиной «расчёт не завершился за отведённое время» — задача не закончилась за 20 минут; проверьте воркер фоновых задач.
  • «Расчёт износа не выполнен: Нет участков для расчёта износа (проверьте фрагменты)» — у видимых фрагментов нет участков с паспортом.
  • «Слой износа не построен» — сервер не отдал участки расчёта; выберите расчёт заново.
  • «Помощник ИИ не ответил» — ИИ выключен на сервере, нет связи с моделью или расчёт износа не найден.
  • Флажок «Только видимые фрагменты» не сужает список — на карте больше одного фрагмента; оставьте видимым один.

Для администратора

  • Очередь задачи — HEAT_LOSSES_QUEUE (общая с расчётом теплопотерь); без неё — очередь по умолчанию.
  • Таблицы calculation_iznos и wear_out API создаёт при старте; без wear_out расчёт отвечает 503.
  • ИИ: AI_ENABLED, AI_MODEL, ANTHROPIC_API_KEY. Модели передаются 40 участков с наибольшим приоритетом.
  • Запуск расчёта пишется в журнал действий (операция RUN, таблица wear_out), удаление расчёта — DELETE.

Для разработчика

  • API: POST /api/v1/wear/calculate ({fragment_ids?, name?} → task_id; состояние — GET /api/v1/task/{task_id}), GET /api/v1/wear/runs, GET /api/v1/wear/latest, GET /api/v1/wear/{id}, GET /api/v1/wear/{id}/sections (order: priority, wear, age, defects; min_category, fragment_id, до 1000 строк), GET /api/v1/wear/{id}/geojson, DELETE /api/v1/wear/{id} (право «Сохранение и сравнение расчётов»), POST /api/v1/ai/wear/plan. Код — database/wear.py, routers/wear.py, записка — ai/wear_plan.py.
  • Веб: components/WearIndexDialog.vue (ключ wearIndex), запросы — services/wearService.ts.
  • MCP: инструмент wear_priorities — участки по приоритету из последнего расчёта.
  • Тесты: API — tests/test_wear.py.
Хотите увидеть эту функцию на своих данных?Покажем ТГИД на демонстрации и ответим на вопросы инженеров.
Запросить демо