Правила схемы

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

Обзор

Правила могут быть использованы для выполнения следующих действий (в зависимости от правила):

  • Изменения содержания схемы; уточнение самого графа с помощью любой следующей операции:
    • Удаление отдельных элементов сети (правило Удалить объект)
    • Добавление дополнительных пространственных и других объектов (правила Добавить связи связности, Добавить прикрепление к структуре, Трассировка, Пространственный запрос и Развернуть контейнер)
    • Упрощение содержимого схемы путем агрегирования элементов сети (правила Уменьшить соединение, Уменьшить ребра и Свернуть контейнер)
  • Настройка определенных флагов, таких как корневые флаги или начальные точки, для объектов, содержащихся на схеме (правила Установить исходное соединение и Установить начало отсчета).
  • Контроль выполнения других правил, в частности, итерации определенной последовательности правил (Начать итерацию и Остановить итерацию).

Правила схемы выполняются во время генерации или обновления схемы, если они были настроены в шаблоне, на котором основана схема.

Начиная с обработки входных пространственных и других объектов схемы, в процессе построения сначала рисуются объекты схемы, которые должны быть в созданной схеме, то есть строится один объект диаграммы для каждого входного элемента сети. Затем, если для шаблона настроены правила, они применяются к тем исходных объектам схемы для автоматического упрощения содержания схемы (например, правила удаления) или для создания новых объектов схемы (например, правила трассировки).

Для шаблона может быть задано несколько правил, которые обычно соединяются в цепочку в определенном порядке: правило 1 применяется для объектов схемы, построенных в конце начального этапа построения, а правило N – для объектов, получившихся в результате выполнения правила (N-1).

Примечание:

Единственным исключением является правило Добавить прикрепление к структуре. Это правило систематически выполняется не зависимо от очередности его следования в списке правил.

Правила изменения графа схемы

Правила, описанные в следующих разделах, используются для изменения графа схемы.

Удалить объекты

Правило Удалить объект используется для удаления определенных элементов и объектов сети на схемах. Это правило удаляет эти сетевые элементы по классу источника или таблице объекта и, при необходимости, фильтрует их по атрибутам.

Оно используется, чтобы в процессе построения схемы автоматически убирать элементы и объекты сети, которые могут быть представлены в заданных входных элементах сети. Например, чтобы построить схемы, представляющие распределительную часть сети из того, что выбрано на карте инженерной сети, можно использовать шаблон схемы, настроенный с правилом Удалить объект, которое автоматически удалит все элементы и объекты сети из входных сетевых элементов, кроме распределительных линий.

Более подробно о правиле Удалить объекты

Трассировка

Правило Трассировка используется для запуска трассировки по элементам инженерной сети или сети трассировки, представленным на схеме в текущий момент.

Начальная точка, от которой начинается трассировка, в зависимости от типа трассировки:

  • Для типов трассировки Подключенная, Подсеть, Трассировка вверх по течению и Трассировка вниз по течению все элементы инженерной сети и сети трассировки, представленные на схеме в момент начала правила трассировки, рассматриваются как начальные точки трассировки, если только в шаблоне схемы не задано правило Установить начальную точку для точной идентификации начальных точек.
  • Для типа трассировки Кратчайший путь в шаблоне схемы должно быть настроено правило Установить начальную точку, чтобы определить две начальные точки среди всех элементов сети трассировки, которые в настоящий момент представлены на схеме, и между которыми должен быть найден кратчайший путь.

Обычно правило Трассировка настраивается для шаблонов схем для выполнения в числе первых правил во время построения схем. Часто рабочий процесс заключается в задании начальных точек среди всех потенциальных входных объектов с помощью правила Задать начальную точку, чтобы трассировка работала только из этих начальных точек.

Когда вы настраиваете шаблон на основании правила Трассировка, трассировка сети будет систематически заново выполняться при каждом обновлении схемы. Это значит, что любая схема, основанная на этом шаблоне, при обновлении всегда будет отражать результат текущей трассировки.

Более подробно о правиле Трассировка

Раскрыть контейнер

Правило Развернуть контейнер применяется для разворачивания схем путем добавления объектов содержания, относящихся к следующему:

  • Они содержатся в контейнере входных данных схемы.
  • Они разделяют тот же контейнер, что и содержание входных данных схемы.

Правило Развернуть контейнер разворачивает контейнеры по классу источника или таблице объекта и дополнительно фильтрует их по атрибутам.

Более подробно о правиле Раскрыть контейнер

Добавить соединения связности

Правило Добавить связи связности применяется для добавления в схемы явных ребер для представления связей связности для соединений «От» и «К», имеющихся в схеме.

По умолчанию соединения связности не отрисовываются на карте сети. Правило Добавить связи связности позволяет строить схемы, где эти связи связности систематически отображаются каждый раз, когда связанные соединения «От» и «К» представлены на карте во время выполнения правила. Они показываются в виде прямых ребер схемы между соединениями схемы «От» и «К», которые они связывают.

Более подробно о правиле Добавить связи связности

Добавить прикрепления к структуре

Правило связи прикрепления к структуре применяется для добавления в схему явных ребер, представляющих связи прикрепления к структуре для прикрепляемого элемента сети и для структурного элемента, имеющихся в текущий момент в схеме.

По умолчанию связи прикреплений к структуре не отрисовываются на карте сети. Правило Добавить прикрепление к структуре позволяет строить схемы, где эти связи прикрепления к структуре систематически отображаются каждый раз, когда и прикрепленный элемент сети, и структурный объект представлены на карте во время выполнения правила. Они выглядят как прямые ребра схемы между связанными вложенными объектами и структурными объектами схемы.

Более подробно о правиле Добавить прикрепления к структуре

Пространственный запрос

Правило Пространственный запрос используется для обнаружения новых объектов сети на основе их расположения относительно объектов сети, которые в настоящее время существуют на схеме, и добавления вновь обнаруженных объектов к схеме сети.

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

Более подробно о правиле Пространственный запрос

Свернуть контейнер

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

Правило Свернуть контейнер сворачивает контейнеры по классу источника и дополнительно фильтрует их по атрибутам.

Более подробно о правиле Свернуть контейнер

Сократить соединение

Правило Сократить соединение упрощает граф схемы с сохранением топологии.

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

Более подробно о правиле Сократить соединение

Сократить ребро

Правило Сократить ребро используется для упрощения графа схемы с сохранением топологии путем слияния каждого ожидаемого линейного объекта или объекта ребра сети и всех его точек подключений в чисто «схематическое» сетевое соединение. Такое соединение называется соединением сокращения.

Любое соединение сокращения в итоговой схеме агрегирует один линейный объект или объект ребра сети и все его точки подключений, то есть оно не может агрегировать несколько линейных объектов сети.

Более подробно о правиле Сократить ребро

Настройка флагов, функциональности или начальных точек в правилах объектов схемы

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

Задать корневое соединение

Правило Задать корневое соединение применяется для указания соединений, основывающихся на заданном классе соединений сети или таблицы объектов, в качестве корневых соединений сети, путем фильтрации этих соединений по атрибутам, если они есть.

Поскольку корневые соединения являются специфичными для компоновок дерева, это правило обычно настраивается для шаблонов, которые настроены на автоматическое выполнение компоновок дерева при построении схем.

Более подробно о правиле Настроить корневое соединение

Установить начало отсчета

Правило Установить начальную точку используется для предустановки элементов сети, представленных на схеме в качестве начальных точек.

Если правило Установить начальную точку используется перед правилом Трассировка, трассировка будет идентифицировать указанные начальные точки как единственные начальные точки, а не запускаться со всех объектов, представленных на схеме во время выполнения.

Более подробно о правиле Установить начало отсчета

Возможность Добавить объекты схемы

Правило Добавить возможности объекта схемы используется, чтобы назначить конкретную возможность некоторым объектам схемы, представленным в данный момент во время ее выполнения.

Эта возможность может описываться некоторыми другими правилами, которые настроены на более поздний запуск в последовательности правил.

Более подробно о правиле Добавить возможность объектам схемы

Порядок исполнения правил

Правила схемы настраиваются в шаблоне схемы и выполняются каждый раз при генерации и обновления схемы, которая строится на этом шаблоне.

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

  • Каждый процесс выполнения правил является итеративным.
  • Результат, полученный при выполнении последовательности правил, зависит от расположения каждого правила в этой последовательности.
  • Последовательность правил по умолчанию не итеративная.

Каждый процесс выполнения правил является итеративным

Каждое правило запускается отдельно как итеративный процесс во внутренней памяти.

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

Содержание схемы до выполнения правила Сократить соединение
Это изображение показывает содержание схемы до выполнения правила Сократить соединение.
Граф схемы после первой итерации правила Сократить соединение
Граф схемы во внутренней памяти после первой итерации правила Сократить соединение
Граф схемы после второй итерации правила Сократить соединение
Граф схемы во внутренней памяти после второй итерации правила Сократить соединение
Содержание схемы после выполнения правила Сократить соединение
Это изображение показывает содержание схемы после выполнения правила Сократить соединение.

Также при настройке правила Развернуть контейнер для систематического развертывания определенных соединений сети, если они являются контейнерами, это правила запускается в первый раз для раскрытия всех ожидаемых соединений в схеме. Затем оно запускается снова, чтобы раскрыть любые новые контейнеры, которые могли добавиться после первой итерации правила, и так далее, пока не останется больше таких контейнеров в графе схемы.

Содержание схемы до выполнения правила Раскрыть контейнер
Это изображение показывает содержание схемы до выполнения правила Раскрыть контейнер.
Граф схемы после первого исполнения правила Развернуть контейнер
Граф схемы во внутренней памяти после первой итерации правила Раскрыть контейнер.
Содержание схемы после выполнения правила Раскрыть контейнер
Это изображение показывает содержание схемы после выполнения правила Раскрыть контейнер.

Результат, полученный при выполнении последовательности правил, зависит от расположения каждого правила в этой последовательности

Обработка последовательности правил не является коммутативной операцией. Таким образом, порядок последовательности ввода цепочек правил — rule#1, выполняемое на начальном наборе объектов сети, используемых в качестве входных данных, и rule#N на объектах, полученных в результате выполнения rule#(N-1) — является решающим и определяет конечное содержание схем.

  • Это соблюдается, когда существуют различные типы правил в очереди при выполнении этапа Правила процесса построения – при сочетании правил Сократить соединение, Удалить объект, Раскрыть контейнер, Свернуть контейнер, Добавить соединение связности и Трассировка.

    Например, запуск правила Сократить соединение с последующим запуском правила Развернуть контейнер (Конфигурация правил 1) не дает такого же результат, как при запуске сначала Развернуть контейнер, затем Сократить соединение (Конфигурация правил 2).

    Фрагмент содержания схемы до выполнения конфигурации правил
    График A - пример содержания схемы перед началом выполнения правил: здесь показан пример содержания схемы перед началом выполнения последовательности правил.

    Пример содержания схемы после выполнения Конфигурации правил 1
    График A1 - пример содержания схемы после выполнения Конфигурации правил #1: здесь показано содержание схемы после сокращения соединений с последующим развертыванием контейнеров.
    Пример содержания схемы после выполнения Конфигурации правил 2
    График A2 - пример содержания схемы после выполнения Конфигурации правил #2: здесь показано содержание схемы после развертывания контейнеров с последующим сокращением соединений.

  • Это также соблюдается при постановке в очередь нескольких правил с тем же типом во время этапа Правила построения схемы.

    Например, запуск правила Сократить соединение для сокращения всех соединений синего цвета, подключенных к одному соединению с последующим повторным запуском правила Сократить соединение для сокращения всех соединений зеленого цвета, подключенных к одному соединению (Конфигурация правил#3) не приведет к такому же результату, если правила будут запускаться в обратной последовательности (Конфигурация правил 4).

    Фрагмент содержания схемы до выполнения конфигурации правил
    График B - пример содержания схемы перед началом выполнения правил: здесь показан пример содержания схемы перед началом выполнения правил.

    Фрагмент содержания схемы после выполнения конфигурации правил Rules configuration#3
    График B1 - пример содержания схемы после выполнения Конфигурации правил 3: здесь показано содержание схемы после сокращения синих соединений с последующим сокращением зеленых.
    Фрагмент содержания схемы после выполнения конфигурации правил Rules configuration#4
    График B2 - пример содержания схемы после выполнения Конфигурации правил 4: здесь показано содержание схемы после сокращения зеленых соединений с последующим сокращением синих.

Последовательность правил по умолчанию не итеративная

Последовательность правил по умолчанию не итеративная. Процесс каждого правила в отдельности итеративный, но последовательность правил никогда не итеративная по умолчанию.

Например, на графиках B1 и B2 выше показаны примеры схем после однократного запуска конфигураций 3 и 4. Для этих конкретных примеров выполнение каждой последовательности правил дважды приводит к одному и тому же результату, то есть полному сокращению всех зеленых и синих соединений, подключенных к с одному соединению на двух схемах.

Фрагмент содержания схемы после итерации конфигурации правил Rules configuration#3
График C1 - пример содержания схемы после итерации Конфигурации правил 3: здесь показано содержание схемы после итерации последовательности правил: сначала сокращение синих соединений, затем - зеленых.
Фрагмент содержания схемы после итерации Конфигурации правил #4
График C2 - пример содержания схемы после итерации Конфигурации правил 4: здесь показано содержание схемы после итерации последовательности правил: сокращение зеленых соединений с последующим сокращением синих.

Требуется два специальных правила – итерация Начало и Остановка – чтобы сделать вашу последовательность правил итеративной. Эти применяется в том случае, если вам необходимо настроить множество правил сокращения соединений. Эти соединения подключаются к одному другому соединению и как следствие изменяют число соединений, подключающихся к остающимся целевым соединениям во время их исполнения.

  • Правило итерации Начало используется для указания начала последовательности правил, на котором процесс построения схемы будет выполнять итерацию или цикл.
  • Правило итерации Остановка используется для указания окончания последовательности правил, на котором процесс построения схемы будет выполнять итерацию или новый виток.

Эти два специальных правила особенно полезны при конфигурации последовательности правил, которые содержат в очереди несколько правил сокращения соединения. Так как правила сокращения соединений, подключающихся к одному другому соединению изменяют число подключения остающихся соединений, те остающиеся соединения потенциально становятся новыми кандидатами для правила сокращения, которое выполнялось ранее. Из-за правил Начало и Остановка процесс построения повторяется для указанной последовательности, пока не останется соединений для сокращения.

Чтобы добавить правила итерации Начало и Остановка для шаблона, используйте инструменты Добавить правило итерации Начало и Добавить правило итерации Окончание.

Пример правил итерации Начало и Окончание

Внимание:

Сокращение трех и более соединений занимает много времени, его следует выполнять после завершения всех остальных правил сокращения соединений. Чтобы оптимизировать производительность создания и обновления схемы, избегайте правил сокращения смешанных соединений, которые обрабатывают соединения для максимум двух других соединений и минимум еще трех соединений в пределах одного прохода. Рекомендуемый процесс выглядит так:

  1. Настройте первый проход правил сокращения на обработку соединений между максимум двумя другими соединениями.
  2. Затем, настройте второй проход правил сокращения на обработку соединений между минимум тремя другими соединениями.

Рекомендации и предупреждения для выполнения правил

Учитывайте следующие моменты при настройке правил схемы:

  1. Правила Удаление объектов, настраиваемые с помощью инструментов Добавить правило удаления объектов и Добавить правило удаления объектов по атрибуту, могут выполняться первыми в последовательности правил для систематического удаления определенных объектов схемы перед настройкой графа схемы.

    Например, выполнение инструмента Добавить правило удаления объектов с правилом процесса Исключить классы источника чтобы отказаться от любых сетевых объектов, связанных со всеми классами источников сети и таблицами объектов, за исключением некоторых конкретных классов источников сети и таблиц объектов. Кроме того, поскольку в схемах сети всегда поддерживается целостность графа, исключение линейных классов (например, линий электропередач) при запуске Source Type = EDGES, может помочь удостовериться в том, что ваши схемы, построены на заданной части сети; другими словами, в данном примере на сети электропередачи.

  2. Правила Пространственного запроса – добавляются с помощью инструмента Добавить правило пространственного запроса, эти правила можно настроить в списке правил в любое время, но лучше всего их использовать в начале списка правил, чтобы собрать все объекты интереса.
  3. Правила Трассировка – добавляются с помощью инструмента Добавить правило трассировки – обычно настраиваются первыми в списке правил, если вы хотите настроить шаблон на создание схем по трассировке. В этом случае вы также можете настроить правила Задания начальных точек для указания определенных объектов или терминалов соединений в начальных точках для выполнения правила Трассировки. Правила Начальных точек должны быть установлены перед правилом Трассировки в последовательности правил шаблона схемы инструментом Добавить правило Задать начальную точку по атрибуту.
  4. Правила Развернуть контейнеры – настраиваются с помощью инструментов Добавить правило разворачивания контейнера и Добавить правило разворачивания контейнера по атрибуту – позволяют разворачивать контейнеры в схемах. Они обычно настраиваются перед настройкой любых правил, упрощающих граф схемы.
  5. Правило Добавить связь связности – настраивается с помощью инструмента Добавить правило связь связности, можно настроить для получения связей связности, представленных в схемах и убедиться в завершенности графа, не выполняя сворачивание и разворачивание объектов.
    Внимание:

    Избегайте настройки этого правила, когда оно не нужно, потому что это отнимает много времени. К примеру, добавление связей связности не требуется шаблонам, для которых настроено правило запуска Трассировки, поскольку связи связности автоматически вернутся в ходе работы этого инструмента.

  6. Правило Добавить возможности объекта схемы – добавлено с помощью инструмента Добавить возможность объекта схемы по правилу атрибута; правила Добавить возможность объекта схемы можно настраивать для управления сворачиванием контейнеров с заданной точностью. Их можно использовать для предотвращения сворачивания родительских контейнеров, связанных с определенными ресурсами, при построении всей схемы или ее части.
  7. Правила Свернуть контейнеры – задаются при запуске инструментов Добавить правило сворачивания контейнера и Добавить правило сворачивания контейнера по атрибуту – и выполняются для сворачивания всех контейнеров схем. Они должны выполняться после правил Разворачивания контейнера, если вы хотите продолжить отслеживание всех ресурсов, связанных со свернутыми контейнерами.
  8. Правило запуска итерации – настраивается с помощью инструмента Добавить правило запуска итерации; правило запуска итерации должно находиться в начале итеративной последовательности правил сокращения соединения. Оно заставляет процесс создания схемы выполнять последовательность итераций по правилам Сокращения соединения, пока на схеме есть соединения, которые сокращаются одним из правил этой последовательности.
  9. Правила Сократить соединение – добавляются при запуске инструментов Добавить правило сокращения соединения и Добавить правило сокращения соединения по атрибуту – используются для упрощения графа схемы.
    Внимание:

    Во время этой части настройки не используйте совместно правила Сокращения соединения, которые обрабатывают соединения, соединяющие максимум два других соединения, с правилами Сокращения соединения, которые обрабатывают минимум три других соединения в рамках одной и той же последовательности правил сокращения. Их совместное использование снижает производительность при создании схемы. Для сокращения соединения, подключенного минимум к трем другим соединениям, установите два итеративные последовательности – первую для обработки сокращения соединений, соединяющих максимум два других соединения, и вторую для сокращения соединений, соединяющих минимум три других соединения.

    Подсказка:

    Поскольку связи содержания никогда не могут быть объединены с элементами без содержания, а соединения без содержания никогда не могут быть объединены с элементами содержания, вы можете настроить выполнение правила Удалить объект перед сокращением соединений, чтобы удалить любые полигональные контейнеры и все связи содержание-контейнер в схеме, чтобы запустить сокращения.

  10. Правила остановки итерации – настраиваются с помощью инструмента Добавить правило остановки итерации – должно находиться в конце итеративной последовательности правила Сокращение соединения; другими словами, сразу после последнего правила сокращения соединения в последовательности, в которой вы хотите, чтобы повторялся процесс построения.
  11. Правила Сократить ребра — настраиваются с помощью инструмента Добавить правило сокращения ребра по атрибуту, правила сократить ребра сокращают ребра.
  12. Правила Прикрепление к структуре – настраиваются с помощью инструмента Добавить правило прикрепления к структуре; правила прикрепления к структуре систематически выполняется последним, где бы оно ни находилось в последовательности правил.
    Внимание:

    Избегайте настройки этого правила, когда оно не нужно, потому что это отнимает много времени. Например, не стоит добавлять прикрепления к структуре к шаблону, который настроен для запуска следующего:

    • Правило Трассировки, которое не включает структуры
    • Правила Удаления объектов настроены для обработки структурных соединений, поддерживающих прикрепления

Примечание:

Кроме того, при определенных обстоятельствах вы можете задавать правила Удалить объект:

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

На рисунке ниже показано рекомендованное расположение правил в соответствии с приведенными рекомендациями:

Рекомендованное расположение последовательности правил

Примечание:

Помните, что каждое правило не является обязательным, большинство обычных последовательностей правил, заданных в шаблоне схемы, подходит к различным частям показанной выше последовательности.

Связанные разделы