Исходные данные: качество, групповые правки, справочники, импорт, сценарии и откат
Расчёт хорош настолько, насколько хороши данные. Качество данных и диагностика топологии находят ошибки, групповые установщики и справочники исправляют их массово, импорт и обмен фрагментами приносят сеть из файлов, ГИС и ZuluGIS. Правки страхуют проверка после правки, история правок с откатом и сценарии «что если»: копия фрагмента, где можно всё менять, сравнивать с основой и переносить обратно.
Исходные данные: качество, групповые правки, импорт, сценарии и откат
Кратко. Расчёт хорош настолько, насколько хороши данные. Качество данных и диагностика топологии находят ошибки, групповые установщики и справочники исправляют их массово, импорт и обмен фрагментами приносят сеть из файлов, ГИС и ZuluGIS. Правки страхуют проверка после правки, история правок с откатом и сценарии «что если»: копия фрагмента, где можно всё менять, сравнивать с основой и переносить обратно.
Зачем это
Отметка 0 вместо 760 м искажает напоры, нагрузка в ккал/ч срывает расчёт, участок без длины выпадает из износа. Найти такие ошибки вручную в сотнях тысяч объектов нельзя. А любую массовую правку должно быть можно проверить заранее и отменить.
Качество данных и топология
Проверки качества — запросы к текущим данным при открытии окна: исправленное сразу пропадает из списка.
| Проверка | Порог | Чем грозит расчёту |
|---|---|---|
| Нагрузка потребителя больше 50 Гкал/ч | 50 Гкал/ч | скорее всего ккал/ч: расход в 10⁶ раз больше |
| Участок и его узлы в разных фрагментах | — | участок «висит» между фрагментами |
| Узел без участков | — | лишний узел, разрыв трассы |
| Отметка узла не заполнена | ≤ 1 м | неверны полные напоры, статика, завоздушивание |
| Длина участка расходится с геометрией | > 50 % | сопротивление меняется пропорционально длине |
| Условный диаметр вне стандартного ряда | ряд 15…1400 мм | опечатка в паспорте |
| Нет даты прокладки | — | срок в износе не оценить |
| Задвижка на участке без узлов | — | не участвует в локализации аварий |
| Договорная нагрузка АЛСЕКО без источника | — | выпадает из свода ТУ |
Диагностика топологии фрагмента ищет то, что мешает расчёту: битые ссылки на узлы, участки нулевой длины, дубли, тупики и главное — связные части сети без источника и узла заданного напора. Движок их не рассчитает. Проверка после правки делает то же для изменённого места сразу после каждой операции редактора.

Групповые установщики и справочники
Установщик пишет «поле = значение» сразу для фрагмента, выделения на карте или фильтра. Это 33 установщика в семи группах, как пункты aSet* десктопа. Порядок всегда один:
что установить → для каких объектов → значение → предпросмотр «было → станет» → применить → (отменить операцию)
Связанные поля пишутся вместе: дата ввода — и в дату перекладки, диаметр по сортаменту — в условный, наружный, внутренний и толщину стенки. За одну операцию — до 50 000 объектов. У 19 установщиков поле участвует в расчёте: после них пересчитайте режим. Охват «только свои» групповую правку не разрешает.
Справочники расчёта (удельные расходы, Kv, расчётные температуры, графики ГВС) у каждого фрагмента свои. Запись со ссылками не удаляется. Удельный расход связан с перепадом температур:
УР = 1000 / (t1 − t2), т/Гкал: 150/70 → 12,5; 130/70 → 16,67; 95/70 → 40
Импорт и обмен фрагментами
Импорт приносит узлы, участки или новые координаты узлов из файлов ГИС (SHP, GeoPackage, GeoJSON, FlatGeobuf, SXF, GML, KML, MapInfo, GDB), таблиц .xlsx/.csv, треков .gpx и линий .dxf. Колонки сопоставляются сами, ИИ помогает с непривычными названиями. «Проверить (dry-run)» ничего не пишет. Концы участков привязываются к узлам с допуском до 50 м. Записывает импорт только администратор, отменяется он одной операцией.
Обмен фрагментами — файл .tgid того же формата, что у десктопа: экспорт, импорт новым фрагментом, слияние нескольких фрагментов и конвертация слоя ZuluGIS.
История правок, откат и сценарии
Есть две истории, их легко спутать:
| История правок и откат (редактор) | История правок (журнал изменений) | |
|---|---|---|
| Что | ваши последние 50 операций редактора | все правки базы города, в том числе из десктопа |
| Действие | «Отменить», «Откатить до сюда», Ctrl+Y — повтор | только просмотр «было — стало», группа изменений |
| Откуда | журнал отмены topology_undo_log |
audit_log: триггеры базы и действия API |
Откат отменяет правки по одной, как несколько Ctrl+Z, и останавливается на той, чьи объекты уже изменили после неё.
Сценарий «что если» — копия фрагмента-основы новыми номерами, её видит и десктоп. Сравнение трёхстороннее:
отпечаток копии ≠ сохранённого → изменено в сценарии
отпечаток основы ≠ сохранённого → изменено в основе после создания
оба ≠ → конфликт (по умолчанию не переносится)
«Режим по расчётам» сравнивает расчёты основы и сценария при той же tн: недотоп, перегруженные участки, расходы. Заметными считаются изменение напора от 0,5 м и расхода участка от 1 т/ч и 5 %. «Перенести в основу» сначала показывает предпросмотр с проверкой связности и пишет одной отменяемой операцией.

Как сделать в ТГИД
- Качество данных, Диагностика топологии, Проверка после правки.
- Групповые установщики, Справочники.
- Импорт SHP / Excel / координат, Фрагменты: экспорт, импорт, слияние.
- История правок и откат, История правок.
- Сценарии «что если» и ролик Сценарий «что если» со сравнением.
Задания
1. С чего начать
В базе города: 11 146 узлов без отметки, 33 потребителя с нагрузкой больше 50 Гкал/ч, 7 151 участок без даты прокладки. Что исправлять первым и почему?
Ответ
Сначала нагрузки больше 50 Гкал/ч: они срывают расчёт целиком. Потом отметки: без них неверны напоры и пьезометр. Даты прокладки влияют на износ, а не на режим — их последними, групповым установщиком.
2. Шероховатость старым трубам
Как поставить шероховатость 1 мм всем участкам фрагмента, проложенным до 1990 года, и проверить себя?
Ответ
Групповой установщик «Шероховатость»; набор — «Фильтр» с фрагментом и условием по дате; значение 1 мм; предпросмотр «Объектов: … · изменится строк: …»; «Применить». Шероховатость участвует в расчёте — пересчитайте режим. Если ошиблись, нажмите «Отменить операцию».
3. Перекладка в сценарии
Нужно понять, что даст замена участка Ду200 на Ду300, не трогая рабочую сеть. Опишите порядок.
Ответ
Создать сценарий от фрагмента и сменить диаметр в копии. Посчитать копию при той же tн, что последний расчёт основы, и открыть «Режим по расчётам»: недотоп, скорости, расходы. Если решение принято — «Перенести в основу» с предпросмотром; если нет — убрать сценарий в архив.
