Гидравлический режим на карте
Гидравлический режим на карте: стрелки потоков, цвет труб по удельным потерям и скорости, цвет узлов по располагаемому напору.
Возможности
- Выбрать любой из последних 25 расчётов города; при открытии окна сразу загружается самый свежий.
- Сводка расчёта: участков и узлов на карте, сколько участков с удельными потерями больше 80 Па/м и со скоростью больше 1,5 м/с.
- Четыре слоя режима, каждый включается отдельно: стрелки направления потока, цвет труб по потерям и скорости, цвет узлов по располагаемому напору ΔH, подписи «ΔH=… м» у узлов.
- Переключатели работают и после «Применить на карте» — слой меняется сразу.
- «Экспорт Excel» — таблица результатов участков выбранного расчёта (тот же файл, что в «Диагностике расчётов»).
Как это работает
Результаты берутся из ut_out (участки) и us_out (узлы) выбранного расчёта. Участок берёт значения подачи; если подачи нет — обратки. Участки и узлы внутренних схем на карту не идут.
Цвет трубы — первое подходящее правило сверху вниз:
| Цвет | Условие |
|---|---|
| красный | удельные потери > 80 Па/м (ut_out.a14 в мм вод. ст./м × 9,80665) |
| оранжевый | скорость > 1,5 м/с |
| фиолетовый | скорость больше 0 и меньше 0,3 м/с |
| зелёный | всё остальное, в том числе участки с нулевой скоростью |
Поэтому оранжевых на карте может быть меньше, чем «v > 1,5 м/с» в сводке: участок с большой скоростью и большими потерями красится красным. Выключите «Цвет труб…» — все трубы станут синими.
Стрелки ставятся вдоль участка через каждые 80 пикселей; направление — по знаку расхода относительно направления линии.
Цвет узла — располагаемый напор ΔH = напор в подаче − напор в обратке (us_out.pih). Цвет меняется плавно: 0 м — синий, 15 м — голубой, 30 м — зелёный, 50 м — жёлтый, 70 м и выше — красный. Узлы, где посчитана только одна труба, серые. Подписи ΔH видны с масштаба 14.
Пороги 80 Па/м, 1,5 и 0,3 м/с заданы в database/calculations.py. Участок красится первым подходящим цветом сверху вниз: красный (больше 80 Па/м), оранжевый (v > 1,5 м/с), фиолетовый (v < 0,3 м/с); остальные — зелёные. Поэтому участок с перегрузкой и высокой скоростью на карте красный, а в сводке посчитан в обеих строках.
Закрыли окно без «Оставить на карте» — слои режима снимаются.
Что нужно для работы
- Выполненный гидравлический расчёт.
- Окно доступно всем, кто вошёл.
Шаги
Откройте «Инструменты» и наберите в поиске «Гидравлический режим на карте» — пункт выделен рамкой.

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

Выберите расчёт (по умолчанию — последний) и нажмите «Загрузить». В сводке — сколько участков и узлов в расчёте, сколько с перегрузкой и высокой скоростью. Переключатели ниже выбирают, что рисовать: стрелки потока, цвет труб, цвет узлов, подписи напора.

Нажмите «Применить на карте», затем «Оставить на карте» — окно закроется, раскраска останется. Цвета — по легенде окна: красный — перегрузка участка, оранжевый — высокая скорость, фиолетовый — низкая; узлы — по располагаемому напору. «Скрыть с карты» в том же окне убирает слои режима.

Примеры
Плановый расчёт 808, фрагмент 74, −25 °C: участков 1686, узлов 1643, «hуд > 80 Па/м» — 62, «v > 1.5 м/с» — 167.
- На карте: 1138 зелёных, 344 фиолетовых, 142 оранжевых, 62 красных участка. 25 участков с высокой скоростью ушли в красные.
- Узлы: у 1633 есть ΔH. Меньше 15 м — 8 узлов, 15–30 м — 318, 30–50 м — 573, 50–70 м — 649, больше 70 м — 85. Наибольший ΔH — 80 м на ЦТРП, наименьший — 5,2 м в узле 2КОК-17.
Если не получается
- «Не удалось загрузить список расчётов» — API недоступен.
- «Ошибка загрузки результатов расчёта» — расчёт удалён или API недоступен; выберите другой.
- Кнопка «Применить на карте» серая — результаты ещё не загружены, нажмите «Загрузить».
- Стрелок не видно — включены, но на мелком масштабе сливаются с линией; приблизьте карту.
- Подписей ΔH нет — масштаб мельче 14 или у узла посчитана только одна труба.
Для администратора
- Данные:
calculation,ut_out,us_out. Ничего не записывается. - Маршруты не проверяют роль сами: при выключенном
AUTH_REQUIRED_GETрезультаты читаются без входа.
Для разработчика
- API:
GET /api/calculations/latest?limit=25,GET /api/calculations/{id}/results/geojson(свойства участкаis_over_resistance,velocity_status,flow_dir,specific_pressure_drop; узла —h_pod,h_obr,delta_h),GET /api/calculations/{id}/results/excel. Код —database/calculations.py. - Веб:
components/HydraulicThematicDialog.vue; слоиhydraulic-pipes-layer,hydraulic-flow-arrows-layer,hydraulic-nodes-layer,hydraulic-nodes-labels-layerи выражения цвета —components/MapViewer.vue(onApplyHydraulicThematic,hydraulicPipeColor). - Тесты: e2e
e2e/functions.spec.ts(«гидравлический режим: результаты расчёта на карте»); API —test_hydraulic_thematic.py.
