Пьезометрический график

Пьезометрический график по маршруту на карте: напоры в подающем и обратном трубопроводах по последнему расчёту, рельеф и линия статического напора, таблица узлов и время движения воды.

Где найти
кнопка «Пьезометрический график» над картой.
Права
строить график — всем, кто вошёл; сохранять и удалять направления — право «Сохранение расчётов» и включённая на сервере правка данных.
Короткое видео: как это выглядит в системе
Функция показана в сквозном сценарии:Расчёт и анализ режима
Читаю как

Возможности

  • Маршрут из 2–200 опорных узлов: между соседними узлами берётся кратчайший путь по сети.
  • Кривые: напор в подающем и обратном трубопроводе, рельеф, линия статического напора, по желанию — температуры и показания датчиков телеметрии.
  • «Двойной пьезометр»: наложить второй расчёт того же фрагмента (последние 10) пунктиром — сравнить режимы.
  • «Таблица узлов», «Время прохождения» воды по участкам.
  • «Выгрузить CSV» и «Скачать официальный профиль (Excel)».
  • «Направления»: сохранить маршрут под названием и открыть его позже (как направления пьезометра в десктопе).

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

Сервер строит граф сети фрагментов и ищет кратчайший путь между соседними опорными узлами. Для всего маршрута берётся один расчёт — последний, в котором есть узлы маршрута. Напор в узле — отметка земли z плюс пьезометрический напор из результатов расчёта (us_out.pih).

Статический напор — максимум по фрагментам маршрута «отметка + высота здания» плюс запас 5 м: линия, ниже которой при остановке насосов опорожнятся верхние этажи. Подсказка на графике называет здание, которое задаёт статику.

Время прохождения — как в десктопе: время движения воды по каждому участку берётся из результатов расчёта (ut_out, поле a11) и суммируется по маршруту с учётом направления линии; в таблице — расход G (т/ч), время t (мин) и нарастающий итог Σt. Если поток идёт против направления маршрута — «нет движения».

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

  • Расчёт фрагмента, через который идёт маршрут; без него график покажет только рельеф («Расчётные напоры для этого маршрута отсутствуют…»).
  • Сохранять и удалять направления: право «Сохранение расчётов» и включённая на сервере правка данных.

Шаги

  1. Режим трассировки: щёлкайте по узлам сети — маршрут пройдёт через них по порядку кратчайшим путём. Первый узел — зелёный, последний — красный.

    Пьезометрический график: шаг 1

  2. «Построить график»: напор в подающем (красный) и обратном (синий), рельеф (коричневый), статика (пунктир). Наведение на график подсвечивает узел на карте.

    Пьезометрический график: шаг 2

  3. «Таблица узлов»: длина от начала, отметка, напоры в подающем и обратном, температуры.

    Пьезометрический график: шаг 3

  4. «Время прохождения»: расход и время движения воды по каждому участку и в сумме, отдельно для подающего и обратного теплопровода.

    Пьезометрический график: шаг 4

Примеры

Магистраль Ду 400 от 2КОК-5 до 2КОК-16Б (копия Алматы, фрагмент 74, плановый расчёт при −25 °C): маршрут — 15 узлов, 1149 м. Статика — 1006,8 м: её задаёт здание 26/6 (отметка 874,8 м, высота 127 м) + 5 м запаса.

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

  • «Нет пути между узлами A и B» — узлы в разных несвязанных частях сети; добавьте промежуточный узел или проверьте закрытые участки.
  • В точке несколько узлов — выберите нужный в меню; следующий узел берётся во фрагменте предыдущего.
  • «Направление «…» уже есть в этом фрагменте» — «Заменить» или другое название.

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

  • API: POST /piezometer/route ({nodes, calculation_id_2?}), POST /api/analysis/travel-time, POST /api/piezometer/excel, GET|POST /piezometer/directions, GET|DELETE /piezometer/directions/{id}; код — routers/piezometer.py.
  • Веб: components/PiezometerModal.vue, components/PiezometerDirectionsDialog.vue, трассировка — components/MapViewer.vue.
  • Тесты: e2e/smoke.spec.ts (маршрут и таблица), tests/components/PiezometerDirectionsDialog.spec.ts; API — test_piezometer_semantics.py, test_piezo_excel.py.
Хотите увидеть эту функцию на своих данных?Покажем ТГИД на демонстрации и ответим на вопросы инженеров.
Запросить демо