При работе с сетями знание направления потока вдоль сети может быть необходимым. Субстанция, проходящая по сети — вода, электричество или нефть — двигается под действием внешних сил. Сеть сообщает направление потока с помощью конфигурации источников, приемников и направления ребер. Вот почему, когда мы говорим о потоке субстанции по сети, имеется в виду направленный поток.
Направление потока в сети можно определить двумя способами:
- Оцифровкой направления ребер сети
- Через задание источников и приемников потока
Источники и приемники управляют движением потока в сети. Источники – это объекты-соединения, которые направляют поток от себя через ребра сети. Например, в водопроводной сети в качестве источников можно указать водонапорные станции. Приемники – это объекты-соединения, которые притягивают на себя поток из ребер в сети. Например, в речной сети в качестве приемников можно указать устья. Поток движется от источников или к приемникам. Поскольку направление потока может быть определено как одними, так и другими, как правило, достаточно указать либо источники, либо приемники (в противном случае, у вас могут возникнуть ребра с неопределенным потоком).
Важно помнить, что и отключенные объекты принимаются во внимание при установке направления потока. То есть, отключив объект, вы указываете, что поток через него идти не может. Так же, поток не сможет пройти через объекты, которые связаны исключительно с ними.
Направление потока в соответствии с направлением оцифровки ребер
Направление потока с использованием оцифровки направления определяется следующим:
- Связностью сети
- Направлением объектов-ребер
Во многих сетях, направление оцифровки ребер сети отражает направление потока по этим ребрам. Этот сценарий широко используется в водных сетях; будь это сети водоснабжения/канализации или естественные водотоки. Если данные настроены таким образом, вы можете воспользоваться преимуществами оцифрованных направлений для задания направления потока. Направление потока можно задать по направлению оцифровки или против него; однако его можно задать только на уровне сети, не для отдельных ребер. Направление потока с использованием оцифровки направления ребер можно задать только с помощью инструмента геообработки Установить направление потока.
Направление потока с использованием источников и приемников
Направление потока с использованием источников и приемников определяется следующим:
Связностью сети
Местоположением источников и приемников в сети
Статусом подключения объектов
Решение об использовании источников и приемников для задания потока по геометрической сети необходимо принять на стадии создания сети, и эта настройка применяется к классам объектов-соединений. Когда вы создаете сеть с классами объектов-соединений, использующих источники и приемники, отдельные объекты-соединения можно задать в качестве либо источников, либо приемников. Источники – это объекты-соединения, которые направляют поток от себя через ребра сети. Например, в водопроводной сети в качестве источников можно указать водонапорные станции. Приемники – это объекты-соединения, которые притягивают на себя поток из ребер в сети. Например, очистное сооружение в канализационной сети можно задать в качестве приемника, поскольку все стоки направляются туда под действием силы гравитации. Поток движется от источников или к приемникам. Поскольку направление потока может быть определено как источниками, так и приемниками, следует использовать либо источники, либо приемники (в противном случае, могут появиться ребра с неопределенным потоком).
Важно помнить, что и отключенные объекты принимаются во внимание при установке направления потока. То есть, отключив объект, вы указываете, что поток через него идти не может. Так же, поток не сможет пройти через объекты, которые связаны исключительно с ними.
Три категории направления потока
После того, как вы установили направление потока в вашей сети, ребро попадет в одну из трех категорий направления потока:
Определенное направление потока
Если направление потока для ребра может быть однозначно определено через связность сети, положения источников и приемников, а также состояния подключения объектов, говорится, что объект имеет определенное направление потока. Направление потока, основанное на оцифровке направления, может быть задано по или против направления оцифровки.
Неопределенное направление потока
Неопределенный поток в сети появляется, когда направление потока не может быть определено однозначно из топологии сети, положений источников и приемников или статуса подключения объектов. При определении направления потока на основе направления оцифровки, нельзя. чтобы какие-либо ребра имели неопределенное направление потока.
В сети, где направление потока основано на источниках и приемниках, неопределенный поток обычно появляется на ребрах, которые формируют часть петли или замкнутый контур. Он также может появиться в ребрах, поток через которые определяется несколькими источниками или приемниками, где один источник или приемник управляет потоком через ребро в одном направлении, а другой источник или приемник — в другом.
Например, сеть с указанными источниками или приемниками может выглядеть следующим образом:
В данном случае, направление для ребер 1 и 2 установлено, а для ребра 3 поток не определен. Чтобы понять, в чем проблема, рассмотрите случай, когда в сети присутствует только приемник.
Таким образом, видно, что поток через ребро 3 идет направо.
Теперь рассмотрите ситуацию, когда в сети указан только приемник.
Здесь видно, что поток через ребро 3 направлен налево. Теперь видно, что потенциальное указание противоположных направлений приводит к конфликту
Для каждого ребра, если направление потока в обоих ситуациях (когда показаны только источники или только приемники) одинаково, оно и определяется в качестве итогового (как это происходит в случаях 1 и 2). Однако, в случае конфликта (ребро 3) направление потока устанавливается как неопределенное.
Другой пример показывает случай неопределенного потока через ребро, когда на обоих его концах стоят источники.
Неинициированное направление потока
Неинициированное направление потока в сети возникает в ребрах, которые изолированы от приемников и источников в сети. Это может произойти в случае, когда ребро топологически не связано в сети с источниками и приемниками, или если ребро соединено с ними только через отключенные объекты. Так же, как и с неопределенным потоком, при задании направления потока на основе оцифровке направления, нельзя, чтобы какие-либо ребра имели неинициализированный поток.
Задание направление потока на основе источников и приемников
Чтобы задать направление потока в геометрической сети с использованием источников и приемников, необходимо выбрать соединения в сети, которые работали бы в качестве источников и приемников, что поддерживает корректное направление потока.
После установления направления потока для вашей сети, неопределенный поток может появиться только в случае, когда вы знаете направление, поскольку направление определяется через свойства сети или объекты, добавленные в сети, помимо учета связности или положения источников и приемников.
Например, в водопроводной сети направление потока в трубе определяется по разности давления на концах трубы. Давление на концах трубы зависит от разных вещей: от материала трубы, диаметра, формы трубы, расхода воды, ее температуры, уровня концов трубы относительно поверхности, связности сети и т. д и т. п. Поскольку ArcGIS работает с общими сетями (а не с предметно-ориентированными сетями), при определении направления потока эта информация не учитывается. Кроме того, направление потока может быть неопределенным для некоторых ребер в этих сетях.
Набор одинаковых переменных встречается в каждом домене. Разработчики могут написать пользовательские приложения по определению направления потока, которые используют эти переменные для поиска направления в предметно-ориентированных сетях.