EPANET++ is a free web application for modeling water distribution networks, an extension of EPANET.
Найти и заменить
Находит элементы, удовлетворяющие условию, например все трубы диаметром менее 8 дюймов или все узлы с давлением ниже 40 фунт/кв. дюйм, и может изменить одно свойство у всех найденных элементов за одну операцию. Используйте его, чтобы проверить модель до расчёта (пропущенная отметка, диаметр, введённый в неверных единицах), перечислить проблемные места после расчёта (низкое давление, высокая скорость) и внести одну поправку во многие элементы.
Списки «Где искать», «Свойство», «Условие» и «Значение» формируют одно условие и записывают его строкой текста в поле «Запрос». Строку можно также править напрямую, и списки следуют за ней. Если запрос нельзя выразить списками, например два условия, соединённые через «ИЛИ», списки скрываются до нажатия кнопки «Использовать элементы управления вместо этого». Чтобы выполнить поиск, нажмите Enter в поле «Запрос» или кнопку «Найти».
- Язык запросов
Scope.Property condition valueОдно условие. Область задаётся значением «Везде», «Узел», «Резервуар», «Бак», «Труба», «Насос», «Клапан», «Текст», «Абонент» или «Источник» в списке «Где искать». Свойство: любая запись в списке «Свойство» для этой области. Условия равно, больше, меньше, содержит, наибольшие n, наименьшие n и пусто. Условие «содержит» применяется только к тексту. В «наибольшие n» и «наименьшие n» n означает количество, как в «наибольшие 5». Если поле «Значение» пусто или вместо числа стоит сама буква n, как в Pipe.Velocity n highest, перечисляются 10 элементов. Условие «пусто» находит элементы, у которых для свойства нет значения. Для свойства «Связность» предусмотрены четыре условия, и значение не задаётся.Значения Число вводится без единицы измерения, в единицах, показанных в окне «Свойства» и на панели «Таблицы»: 40, а не 40 psi. Текст, включая ID, заключается в одинарные или двойные кавычки: '60'.И, ИЛИ и скобки «И» вычисляется раньше «ИЛИ», а скобки группируют условия. Отрицания нет. Написание Регистр слов не учитывается. Английские слова (в коде запроса: Everything, Junction, equal to, above, below, contains, n highest, n lowest, empty, AND, OR) принимаются на любом языке, поэтому запрос, скопированный из этого руководства, выполняется на странице на любом языке. - Примеры на Net3
Откройте пример Net3, чтобы проследить за ними. Давление дано в psi, скорость в ft/s.
Everything.ID equal to '60'Узел 60 и труба 60. У узла и трубы может быть один и тот же ID, поэтому поиск по ID при значении «Везде» может вернуть более одного элемента. Junction.Pressure below 40Узлы 10, 40, 50, 20 и 153, сначала с наименьшим давлением. В узле 10 давление -0,6 psi; это отрицательное давление, требующее проверки. Pipe.Velocity 5 highestТрубы 60, 125, 329, 123 и 149, сначала с наибольшей скоростью. В трубе 60 скорость 9,3 ft/s. Junction.Pressure below 20 OR Pipe.Velocity above 5Узлы 10, 20, 40 и 50 и трубы 60, 125 и 329: низкие давления и высокие скорости в одном списке. Junction.Pressure below 40 AND Junction.Elevation above 100Узлы 10, 20, 40 и 50: низкие давления на возвышенных местах. Оба условия должны относиться к элементам одного вида: Junction.Pressure below 40 AND Pipe.Velocity above 3не найдёт ничего, потому что ни один элемент не является одновременно узлом и трубой.Pipe.Closed equal to 'closed'Труба 330, единственная закрытая труба в файле Net3. Junction.Connectivity no open path to a sourceНичего, в том виде, в каком распространяется файл. При закрытой трубе 247 (см. «Замена и отмена») узлы 215, 217, 219 и 225: узлы, которые останутся без водоснабжения при аварии на трубе 247. Повторение этого для каждой трубы является анализом критичности. - Результаты, выбор и таблицы
Найденные элементы перечислены под кнопкой «Найти». Условия «больше» и «наибольшие n» перечисляют сначала наибольшее значение, «меньше» и «наименьшие n» сначала наименьшее, а остальные условия перечисляют по найденному значению, затем по ID. Запрос с «И» или «ИЛИ» перечисляет сначала узлы, затем связи, каждые по ID. Единственное совпадение сразу показывается на карте. Выберите строку, чтобы центрировать карту на этом элементе. Если ничего не выбрано, элемент также выбирается; если что-то выбрано, элемент подсвечивается, а выбор не меняется. Shift+щелчок или Ctrl+щелчок по строке добавляет её в выбор или убирает из него. Поиск сам по себе не выбирает все совпадения.
Кнопка «Фильтр в текущей таблице» применяет тот же запрос к панели «Таблицы». Каждая таблица, к которой применим запрос, показывает только подходящие строки, а над ними запрос и число строк. Чтобы выбрать на карте все совпадения, выделите эти строки и выберите в контекстном меню пункт «Выбрать на карте». Фильтр таблицы не сохраняется вместе с проектом и снимается при перезагрузке страницы. Строка, изменённая так, что больше не подходит, остаётся в таблице, тусклая и с предупреждающим знаком, пока снова не будет нажата кнопка «Фильтр в текущей таблице».
- Замена и отмена
Часть окна «Изменить найденное» записывает одно свойство во все элементы, найденные запросом. Выберите свойство в списке «Свойство для изменения», введите новое значение в поле «Новое значение» в отображаемых единицах и нажмите кнопку «Заменить». Затем окно сообщит, сколько элементов изменится, не считая тех, у которых уже есть новое значение. Нажмите кнопку «Изменить их», чтобы применить изменение, или «Отмена». Одно действие «Отменить» возвращает всю замену целиком.
Пример на Net1:
Pipe.Diameter below 10находит трубы 31, 122, 113 и 121. Выберите «Диаметр», введите 10 и нажмите «Заменить»; в окне появится «Изменить элементов: 4?». Нажмите «Изменить их», чтобы задать всем четырём трубам диаметр 10 дюймов. Одно действие «Отменить» вернёт им 6 и 8 дюймов.Пример на Net3:
Pipe.ID equal to '247'находит трубу 247. Выберите «Закрыта», снова выберите «Закрыта» в списке «Новое значение» и нажмите «Заменить», затем «Изменить их», чтобы закрыть трубу для приведённого выше примера со связностью. «Отменить» снова открывает её.Для замены нужен один вид элементов, поэтому при значении «Везде» сначала выберите вид элемента в списке «Где искать». В сценарии, отличном от «База», замена сохраняется в этом сценарии, как и такая же правка в окне «Свойства». Если доступны отметки Mapbox, отметку можно заменить значением из DEM Mapbox вместо введённого вручную.
- Что следует учитывать
- Значения сравниваются с полной точностью, а перечисляются с четырьмя десятичными знаками. Условие «равно» редко совпадает с расчётным результатом; используйте «больше» и «меньше».
- Давление, напор, расход, скорость и другие результаты относятся к последнему расчёту. Если параметр «Рассчитывать автоматически» отключён, они описывают сеть в том состоянии, в каком она была при последнем нажатии «Рассчитать».
- Условия «больше» и «меньше» для текста используют словарный порядок, а числа располагаются в числовом порядке: на Net1
Junction.ID above '20'находит узлы 21, 22, 23, 31 и 32. - При значении «Везде» предлагаются только ID, «Описание», «Тег» и «Связность». Чтобы увидеть полный список свойств, выберите вид элемента в списке «Где искать».
- У элемента «Текст» нет ID. Ищите его по словам, как в
Text.Text contains 'pump'. - Четыре условия связности для узла: «нет связей у узла», «нет открытых связей у узла», «нет пути по трубам до источника» и «нет открытого пути до источника». Источник — это резервуар или бак.