Предварительное условие:
Прежде чем настраивать правило Удаление объекта (Feature Removal), следует убедиться, что класс пространственных объектов, обязательный для выполнения правила, существует в наборе схематических данных и связан с шаблоном схематических представлений, для которого будет задано правило.
Правило Удаление объектов (Feature Removal) позволяет удалять все или определенные пространственные объекты схемы, реализованные определенным классом пространственных объектов схемы в схематических представлениях. Правило не сохраняет топологию сети во время выполнения. Например, если узлы схемы настроены для удаления, правило попытается восстановить соединение их соединенных связей к любому целевому узлу, также как это делают правила сокращения. Удаление узла приводит к удалению его соединенных связей из результирующей схемы.
Для удаления можно выбирать либо все пространственные объекты схемы, принадлежащие данному классу объектов схемы, либо только некоторые из них с помощью следующих фильтров:
- SQL фильтр, который работает на существующем классе пространственных объектов/таблице объектов, относящихся к классу пространственных объектов
- Любой выбранный атрибут схемы на пространственных объектах схемы, соединенных с объектами, подготовленными для удаления, или любое поле класса реальных пространственных объектов схемы или таблиц объектов, связанных с классами пространственных объектов схемы, реализующих пространственные объекты, которые соединены с объектами, подготовленными для удаления
- Пользовательские расширенные критерии, разработанные специально для того, чтобы определить, какие пространственные объекты схемы должны быть удалены
Ниже описывается настройка страницы Свойства правила Удаления объектов (Feature Removal Rule Properties), которая отображается при нажатии кнопки Свойства правила (Rule Properties) на панели инструментов вкладки Правила (Rules) при условии, что такое правило Удаления объектов (Feature Removal) уже добавлено к этой вкладке. Более подробную информацию о способах добавления новых элементов правил в диалоговом окне Правила (Rules) и отображения страницы Свойства правила (Rule Properties) см. в разделе Задание правил схемы в шаблоне схематического представления.
Для правила Удаление объектов (Feature Removal), только что добавленного на вкладке Правила (Rules), при нажатии кнопки Свойства правила (Rule Properties) на панели инструментов вкладки Правила (Rules) открывается диалоговое окно Свойства правила (Rule Properties).
- Введите описание для правила в текстовое поле Описание (Description).
Эта строка описания будет отображаться на вкладке Правила (Rules) для связанного элемента правила. Также она будет отображаться при создании и обновлении схематических представлений для уведомления пользователя о выполнении правила.
- Выберите имя класса пространственных объектов для удаления в раскрывающемся списке Выбрать класс пространственных объектов для удаления (Select the node schematic feature class to remove).
Этот список содержит все классы пространственных объектов схемы, относящиеся к шаблону схематического представления.
На первом шаге настройки правила предполагается удалить все пространственные объекты схемы, реализованные выбранным классом пространственных объектов схемы.
- Установите флажок напротив параметра Удалять одиночные узлы, связанные с удаляемой связью (Remove orphan nodes caused by a link being removed), если нужно, чтобы узлы, которые станут одиночными после удаления связей, также автоматически удалялись из результирующей схемы.
- Чтобы указать SQL фильтр для определенного класса пространственных объектов схемы, чтобы удалить только определенные узлы, надо:
- Нажмите кнопку Редактировать (Edit) в правой части панели SQL-фильтр класса связанных объектов (SQL Filter on associated feature/object class).
Откроется диалоговое окно SQL-запрос (SQL Query).
- Постройте нужный SQL-запрос.
Фильтр работает с полями класса пространственных объектов, которые относятся к указанному классу пространственных объектов.
- Нажмите кнопку ОК.
Диалоговое окно SQL запрос (SQL Query) закроется, и введенный SQL-фильтр автоматически появится на панели SQL фильтр класса связанных объектов (SQL Filter on associated feature/object class).
Указанный SQL-фильтр определит подмножество пространственных объектов схемы, которые необходимо удалить. Не соответствующие SQL-фильтру объекты при выполнении правила удалены не будут.
- Нажмите кнопку Редактировать (Edit) в правой части панели SQL-фильтр класса связанных объектов (SQL Filter on associated feature/object class).
- Если нужно, чтобы пространственные объекты схемы, подготовленные для удаления, зависели от атрибута схемы на пространственных объектах, которые их соединяют, или на поле, хранимом в классе ГИС-объектов, связанных с классами пространственных объектов, реализующих объекты пространственных объектов, выполните следующие действия.
- Установите флажок напротив параметра Атрибут соединенных объектов (Connected features attribute).
- Введите имя атрибута схемы или поля.
- Если выбранный класс пространственных объектов для удаления реализует узлы, то правило работает со связями, подсоединенными к узлам, подготовленным к удалению.
В первую очередь правило осуществляет поиск атрибута схемы с этим именем в каждой связи схемы, присоединенной к удаленному узлу. Если атрибут схемы с этим именем не найден, правило выполнит поиск поля с этим именем в ГИС-объекте, относящемся к связи схемы.
- Если выбранный класс пространственных объектов для удаления реализует связи, то правило работает с исходными и конечными узлами связи, подготовленной для удаления.
Для каждого узла схемы, соединенного со связью, подготовленной к удалению, правило в первую очередь выполняет поиск атрибута схемы с этим именем на узле схемы. Если атрибут схемы с этим именем не найден, правило выполнит поиск поля с этим именем в ГИС-объекте, относящемся к узлу схемы.
- Если выбранный класс пространственных объектов для удаления реализует узлы, то правило работает со связями, подсоединенными к узлам, подготовленным к удалению.
- Выберите пункт Не равно (Not equal) или Равно (Equal), если значение этого атрибута/поля должно быть равным или неравным всем соединенным объектам схемы, чтобы в конечном итоге был удален пространственный объект схемы, подготовленный к удалению.
- Если выбранный класс пространственных объектов схемы реализует узлы, то при выборе параметра Не равно (Not equal) узел схемы, подготовленный к удалению, будет удален, только если указанный атрибут схемы или поле не существует для некоторых соединенных связей, или если он существует для всех соединенных связей, но с разными значениями. При выборе параметра Равно (Equal) узел схемы, подготовленный к удалению, будет удален только, если указанный атрибут или поле схемы существует с одним значением для всех его соединенных узлов.
- Если выбранный класс пространственных объектов схемы реализует связи, то при выборе параметра Не равно (Not equal) связь схемы, подготовленная к удалению, будет удалена только, если указанный атрибут или поле схемы не существует для одного из исходных или конечных узлов, или если он существует и для исходного и для конечного узлов, но с разными значениями поля. При выборе параметра Равно (Equal) связь схемы, подготовленная к удалению, будет удалена только, если указанный атрибут или поле схемы существует с одним значением как для исходного, так и для конечного узлов.
- При фильтрации удаляемых узлов схемы также можно задать расширенный критерий. Чтобы использовать такой критерий, выполните следующие действия.
- Включите опцию Использовать расширенный критерий (Use extended criteria).
- Выберите желаемый расширенный критерий из раскрывающегося списка.
Пользовательский расширенный критерий для правила Удаление объектов (Feature Removal) представляет собой компонент, реализующий интерфейс esriSchematic.ISchematicFeatureRemovalExtended.
Расширенный критерий применяется к удаляемым пространственным объектам схемы вместе другими указанными опциями удаления. Критерий определяет, будет ли узел действительно удален после выполнения правила.
- Нажмите кнопку OK, чтобы закрыть диалоговое окно Свойства правила (Rule Properties).