Настройка XML-компоновщика
XML-компоновщик работает с данными XML, основанными на файле определения XML-схемы XMLBuilderDiagram. Эти XML-данные, могут браться из файлов ввода, указанных при создании или обновлении схем, однако они также могут автоматически создаваться в памяти с помощью внешнего компонента. Содержание схемы, созданной на основе тех же XML-данных, может отличаться в зависимости от свойств, настроенных на странице свойств XML.
Приведенные ниже действия посвящены конфигурации страницы свойств XML-компоновщика.
- Дополнительные сведения об отображении схематической страницы Свойства компоновщика (Builder Properties) см. в документе Редактирование свойств компоновщика схем.
- Дополнительные сведения о создании шаблона схематического представления и определении соответствующего компоновщика схемы см. в документе Создание шаблона схематического представления
При первом отображении страницы свойств XML-компоновщика открывается диалоговое окно Свойства компоновщика (Builder Properties).
- В разделе Внешние компоненты (External components) сгруппированы параметры, которые должны определяться только при построении XML-данных внешним компонентом.
- Опции геометрии (Geometry options) — управление вершинами вдоль создаваемых схематических связей объектов.
- Разное (Miscellaneous) — создание новых классов объектов схемы во время создания или обновления схемы.
- Раздел Сопоставление класса объектов схемы (Schematic feature class mapping) предназначен для определения правил сопоставления, если элементы FeatureClassName во входных XML-данных не совпадают с именами классов объектов схемы, связанных с шаблоном схемы.
-
Если входные XML-данные, на основе которых будет создаваться содержимое схематических представлений, автоматически строятся внешним компонентом, введите идентификатор ProgID класса COM, который будет использоваться для создания этих XML-данных, в поле Создать (Generate).
Идентификатор ProgID — это строка, состоящая из имени проекта и имени вспомогательного класса.
Внимание:Указанный класс должен реализовать интерфейс ISchematicXMLGenerate компонента esriSchematicUI.olb.
Примечание:Если параметр Создать (Generate) не указан, пользователи должны найти и выбрать нужный входной XML-файл в самом начале создания схемы.
-
Если входные XML-данные, на основе которых будет обновляться содержимое схематических представлений, автоматически строятся внешним компонентом, введите идентификатор ProgID класса COM, который будет использоваться для обновления этих XML-данных, в поле Обновить (Update).
Идентификатор ProgID — это строка, состоящая из имени проекта и имени вспомогательного класса.
Внимание:Указанный класс должен реализовать интерфейс ISchematicXMLUpdate компонента esriSchematicUI.olb.
Примечание:Если параметр Обновить (Update) не указан, пользователи должны найти и выбрать нужный входной XML-файл в самом начале обновления схемы.
-
Установите флажок Исходные вершины связей (Initialize links vertices) в разделе Опции геометрии (Geometry options), если необходимо, чтобы XML-компоновщик строил схематические представления, в которых схематические связи будут отображаться вместе с вершинами при наличии элементов вершин во входных XML-данных.
Если этот флажок не установлен (состояние по умолчанию), схематические связи будут отображаться как расстояния по прямой между конечными точками. даже если элементы вершин включены во входные XML-данные.
Внимание:Некоторые алгоритмы компоновки схемы выполняются на основе фактической ориентации сегментов схемы, например: Гео — Частично перекрывающиеся связи (Geo — Partial Overlapping Links), Относительно главной линии (Relative Main Line). Чтобы применение алгоритмов к содержимому схем дало хорошие результаты, установите флажок Исходные вершины связей (Initialize links vertices).
- Установите флажок Упростить линии (Simplify lines), если необходимо, чтобы XML-компоновщик автоматически упрощал формы схематических связей при наличии во входных XML-данных очень большого количества вершин. Затем следует настроить способ выполнения этого упрощения.
- Укажите значение Максимально допустимый сдвиг (Maximum allowable offset), в рамках которого можно будет удалять вершины.
- В ниспадающем списке справа выберите единицу измерения сдвига.Примечание:
- Флажок Упрощать линии (Simplify lines) установлен только в том случае, если установлен флажок Исходные вершины связей (Initialize links vertices).
- Текстовое поле Максимально допустимый сдвиг (Maximum allowable offset) и ниспадающий список единиц измерения сдвига справа включены только в том случае, если установлен флажок Упрощать линии (Simplify lines).
Упрощение схематических линий задействует тот же алгоритм Дугласа-Пекера, который реализован в инструменте геообработки Упрощение линий (Simplify Line) при настройке последнего для работы с оператором удаления точек. Это упрощение удаляет лишние изгибы и незначительные участки схематической связи, сохраняя при этом основные особенности ее формы. Он сохраняет критические точки, которые образуют главную форму схематической линии и удаляет все остальные точки.
Примечание:Как правило, упрощение схематических линий не является обязательным для XML-компоновщика, так как можно управлять элементами вершин во входных XML-данных, используемых для создания и обновления схем.
-
Установите флажок Автоматическое создание класса объектов схемы (Automatic schematic feature class creation) в разделе Разное (Miscellaneous), если необходимо, чтобы XML-компоновщик автоматически создавал класс объектов для управления различными элементами SchematicFeatureClass, расположенными во входных XML-данных, при условии, что класс объектов схемы еще не существует для шаблона схематического представления.
Если этот флажок не установлен (состояние по умолчанию), новый класс объектов схемы создается при работе XML-компоновщика. Например, если во входных XML-данных присутствуют элементы SchematicFeatureClass, значением которых является Stations (Станции), и в шаблоне схематического представления отсутствует класс объектов схемы для управления этими элементами SchematicFeatureClass, никакие объекты схемы не будут включены в создаваемую схему для этих XML-элементов.
Примечание:Установка этого флажка также позволяет XML-компоновщику автоматически создавать атрибуты PropertySet при обнаружении элементов PropertySetProperty во входных XML-данных для любых элементов LinkFeature или NodeFeature, управляемых классом объектов схемы, и при отсутствии этих атрибутов у данного класса объектов схемы. Если флажок не установлен и обнаружены элементы PropertySetProperty без соответствующих атрибутов PropertySet, эта информация учитываться не будет.
-
Если элементы FeatureClassName во входных XML-данных не соответствуют именам классов объектов схемы, связанных с шаблоном схемы, необходимо указать правила соответствия в разделе Сопоставление класса объектов схемы (Schematic feature class mapping).
Если все элементы FeatureClassName, значением которых является FeatureClassNameN_InXMLFile, во входном XML-файле должны автоматически сопоставляться классу объектов схемы, связанному с шаблоном схематического представления, именем которого является SchematicFeatureClassNameN_ForSchDiagTemp, необходимо указать значения в разделе Сопоставление класса объектов схемы (Schematic feature class mapping) следующим образом.
FeatureClassNameN_InXMLFile=SchematicFeatureClassNameN_ForSchDiagTemp
FeatureClassName1_InXMLFile=SchematicFeatureClassName1_ForSchDiagTemp FeatureClassName2_InXMLFile=SchematicFeatureClassName2_ForSchDiagTemp FeatureClassNameN_InXMLFile=SchematicFeatureClassNameN_ForSchDiagTemp
Кроме того, в этом разделе можно указать скрипт, который будет отправлять элементы во входящих XML-данных, связанных с определенным элементом FeatureClassNameK_InXMLFile FeatureClass, в несколько классов объектов схемы SchematicFeatureClassNameN_ForSchDiagTemp. Например, при указании следующего скрипта:
Stations=StationsFeeder1 (Feeder="1") Stations=StationsFeeder2 (Feeder="2") Stations=StationsFeeder3 (Feeder="3")