ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • Справка
  • Sign Out
ArcGIS Desktop

ArcGIS Online

Картографическая платформа вашей организации

ArcGIS Desktop

Полноценная профессиональная ГИС

ArcGIS Enterprise

ГИС предприятия

ArcGIS Developers

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

ArcGIS Solutions

Бесплатные шаблоны карт и приложений для отрасли

ArcGIS Marketplace

Получение приложения и данных для вашей организации.

  • Документация
  • Поддержка
Esri
  • Войти
user
  • Мой профиль
  • Выход

ArcMap

  • На главную
  • Начало работы
  • Карта
  • Анализ
  • Управление данными
  • Инструменты
  • Дополнительные модули

XMLBuilderDiagram XML Schema Definition

  • О файлах XML и XSD
  • В деталях о файле XMLBuilderDiagram XSD
  • модель данных XMLBuilderDiagram
  • Образцы XML-файла на основе XSD-файла XMLBuilderDiagram

XML компоновщик работает от XML-файлов. Задачей данного топика является описание, как должны быть построены XML-файлы, чтобы XML компоновщик мог их корректно декодировать.

О файлах XML и XSD

Расширяемый язык разметки (Extensible Markup Language - XML) похож на язык разметки гипертекста ( Hypertext Markup Language - HTML). Файл HTML содержит и данные, и информацию об их представлении. Файл XML содержит только данные.

Данные XML заключены в поясняющие значения теги. Например, <price>24</price> сообщает, что число "24" - это цена (price). В терминах XML, эта цена называется элементом. Другие элементы могут быть названиями продуктов, количеством или долями. Человек может посмотреть на тег XML и понять, что "24" - это цена; еще более важно, что программное обеспечение может извлечь элементы цены из этого файла; это невозможно сделать с файлом HTML.

В основе файла XML лежит определение схемы XML (XML Schema Definition - XSD). Файл XSD обеспечивает синтаксис и определяет способ, которым элементы и атрибуты могут быть представлены в XML-документе.

В деталях о файле XMLBuilderDiagram XSD

Определение XML-схемы XMLBuilderDiagram :это XML-схема, обеспечивающая синтаксис для XML-файлов, которая может быть раскодирована XML компоновщиком схем ArcGIS. Этот XSD-файл по умолчанию установлен в \ArcGIS\Schematics\XMLSchema.

Любой файл XML, совместимый с XML компоновщиком, начинается и заканчивается тегом Diagrams:

Элементы в пределах тегов <Diagrams>

<?xml version="1.0" encoding="utf-8"?>
<sch:Diagrams xmlns:sch = 'http://www.esri.com/schemas/ArcGIS/10/Schematics'
              xmlns:xsi = 'http://www.w3.org/2001/XMLSchema-instance'
              xsi:schemaLocation='http://www.esri.com/schemas/ArcGIS/10/Schematics XMLBuilderDiagram.xsd'>
...
 </Diagrams>

В файле XML могут храниться несколько diagrams; определение каждого начинается с тега Diagram:

Элементы в тегах <Diagram>

<?xml version="1.0" encoding="utf-8"?>
<sch:Diagrams xmlns:sch = 'http://www.esri.com/schemas/ArcGIS/10/Schematics'
              xmlns:xsi = 'http://www.w3.org/2001/XMLSchema-instance'
              xsi:schemaLocation='http://www.esri.com/schemas/ArcGIS/10/Schematics XMLBuilderDiagram.xsd'>
  <Diagram DiagramTemplateName="All" DiagramName="All" EnforceDiagramTemplateName="false" EnforceDiagramName="false">
   ...
  </Diagram>                
 </Diagrams>

DiagramTemplateName и DiagramName являются опциональными параметрами. Когда параметры EnforceDiagramTemplateName или EnforceDiagramName являются False, имя шаблона схемы и имя схемы (diagram) должны быть переопределены в диалоговом окне Новое схематическое представление (New Schematic Diagram).

Следующие секции посвящены каждой схеме:

  • Первым возможным тегом для схемы (diagram) является PropertySet, который может использоваться для определения значений свойств, относящихся к данной схеме. Этот раздел является факультативным:

    Элементы внутри тегов <PropertySet>

    <Diagram EnforceDiagramTemplateName="false" EnforceDiagramName="false">
      <PropertySet>
        <PropertyArray>
          ...
        </PropertyArray>
      </PropertySet>      
      ...
    </Diagram>
    
    Каждое значение свойств, относящееся к PropertySet, начинается с тега PropertySetProperty, внутри которого взвешены элементы Key (ключ) и Value (значение). Может быть указано несколько элементов PropertySetProperty:

    Элементы внутри тегов <PropertySetProperty>

    <PropertySet>
      <PropertyArray>
        <PropertySetProperty>
          <Key>Country</Key>
          <Value>CALIFORNIA</Value>
        </PropertySetProperty>
        <PropertySetProperty>
          ...
        </PropertySetProperty>
      </PropertyArray>  
    </PropertySet>
    
    Тег Key определяет имя свойства , тег Value является его значением.
  • Вторым возможным тегом для схемы (diagram) является тег Datasources,, который детализирует источники данных, которые могут иметь отношение к схеме (diagram) и ее содержимому.

    Элементы внутри тегов <Datasources>

    <Diagram EnforceDiagramTemplateName="false" EnforceDiagramName="false">
      ...
      <Datasources>
         ...
      </Datasources>
      ...
    </Diagram>
    

    Каждое определение Datasource основано на двух необходимых элементах: NameString и WorkSpaceInfo; где NameString является именем источника данных, а WorkSpaceInfo является параметрами, определяющими тип источника данных и свойства подключения (PathName, BrowseName, WorkspaceFactoryProgID, WorkspaceType, ConnectionProperties).

    Элементы в тегах <Datasource>

    <Datasources>
      ...
      <Datasource>
        <NameString>XMLDataSource</NameString>
        <WorkSpaceInfo>
          <WorkspaceFactoryProgID>esriDataSourcesGDB.AccessWorkspaceFactory</WorkspaceFactoryProgID>
          <PathName>C:\ArcGIS\ArcTutor\Schematics\DatasetEditor\XMLDataAssociatedFeatureClasses.mdb</PathName>
        </WorkSpaceInfo>          
      </Datasource>
      ...
    </Datasources>
    

  • И, наконец, последний тег - Features (объекты), который детализирует все объекты схемы, содержащиеся в схеме (diagram).

    Поскольку в схематических представлениях может быть отображено четыре вида объектов схемы (узел (node), связь (link), узел-на-связи (node on link) и под-связь (sublink), то можно определить и четыре вида тегов: NodeFeature, LinkFeature, NodeOnLinkFeature и SubLinkFeature:

    Элементы внутри тегов <Features>

    <Diagram EnforceDiagramTemplateName="false" EnforceDiagramName="false">
      ...
      <Features>
        <NodeFeature>
          ...
        </NodeFeature>
        ...
        <LinkFeature>
          ...
        </LinkFeature>
        ...
            <NodeOnLinkFeature>
          ...
        </NodeOnLinkFeature>
        ...
        <SubLinkFeature>
          ...
        </SubLinkFeature>
        ...
      </Features>
    </Diagram>
    
    • Два специальных атрибута являются обязательными для элемента объекта, вне зависимости от его типа: FeatureClassName, который дает ссылку на имя класса объектов схемы, обеспечивающего реализацию этого объекта схемы в схематическом представлении, и ExternalUniqueID, который соответствует идентификатору объекта схемы.
    • Далее, имеются несколько дополнительных параметров для элемента объекта, такие как: DatasourceName, UCID, UOID, и USID (the ClassID, ObjectID, и подтип ID связанного объекта ГИС в базе данных DatasourceName, когда объект ГИС связан с объектом схемы); RelatedContainerID (ID контейнера объекта схемы); и PropertySet (с информацией о значениях свойств, связанных с объектом схемы).
    • Специальные атрибуты могут или должны быть определены для объектов схемы, в зависимости от их типа:
      • Для типа NodeFeature, могут быть установлены дополнительные атрибуты InitialX и InitialY для указания x- и y-координат объекта схемы:

        Ниже приводится образец элемента NodeFeature:

        Элементы внутри тегов <NodeFeature>

        <NodeFeature>
                <FeatureClassName>Stations</FeatureClassName>
                <ExternalUniqueID>Station-1</ExternalUniqueID>
                <DatasourceName>XMLDataSource</DatasourceName>
                <UCID>1</UCID>
                <UOID>1</UOID>
                <RelatedContainerID>Container-1</RelatedContainerID>
                <InitialX>-4462</InitialX>
                <InitialY>2828</InitialY>
                <PropertySet>
                  <PropertyArray>
                    <PropertySetProperty>
                      <Key>Feeder</Key>
                      <Value>1</Value>
                    </PropertySetProperty>
                    <PropertySetProperty>
                      <Key>Name</Key>
                      <Value>WABY</Value>
                    </PropertySetProperty>
                    <PropertySetProperty>
                      <Key>Capacity</Key>
                      <Value>1</Value>
                    </PropertySetProperty>
                  <PropertySetProperty>
                    <Key>Type</Key>
                    <Value>A</Value>
                  </PropertySetProperty>
                  </PropertyArray>  
                </PropertySet>      
              </NodeFeature>
        

      • Для типа LinkFeature атрибуты FromNode и ToNode являются обязательными. Они должны иметь ссылку на идентификаторы NodeFeature, связанные с начальным и крайним узлами. Могут иметься теги Vertices (вершины) для обозначения вершин, которые могут отображаться вдоль связи, каждая вершина при этом будет иметь координаты x и y.

        Ниже приводится образец элемента LinkFeature:

        Элементы в тегах <LinkFeature>

        <LinkFeature>
                <FeatureClassName>LV_Lines</FeatureClassName>
                <ExternalUniqueID>LVLine-52</ExternalUniqueID>
                <DatasourceName>XMLDataSource</DatasourceName>
                <UCID>5</UCID>
                <UOID>52</UOID>
                <FromNode>Station-33</FromNode>
                <ToNode>Station-45</ToNode>
                <PropertySet>
                  <PropertyArray>
                    <PropertySetProperty>
                      <Key>Rate</Key>
                      <Value>452456</Value>
                    </PropertySetProperty>
                    <PropertySetProperty>
                      <Key>Category</Key>
                      <Value>S</Value>
                    </PropertySetProperty>
                  </PropertyArray>
                </PropertySet>
                <Vertices>
                  <Vertex>
                    <X>-562.37451</X>
                    <Y>-2935.90906</Y>
                  </Vertex>
                  <Vertex>
                    <X>-192.067429999999</X>
                    <Y>-3254.90854</Y>
                  </Vertex>
                  <Vertex>
                    <X>509.88013</X>
                    <Y>-3298.78026</Y>
                  </Vertex>
                </Vertices>
              </LinkFeature>
        

      • Для типа NodeOnLinkFeature атрибуты ReferenceLink и InitialPosition являются обязательными. ReferenceLink определяет взаимосвязь идентификатора LinkFeature с Узлом-на-Связи (node on link), и InitialPosition применяется для указания на связанной с ним ссылке абсолютной или относительной позиции Узла-на-Связи (node on link) .

        Ниже приводится образец элемента NodeOnLinkFeature:

        Элементы внутри тегов <NodeOnLinkFeature>

        <NodeOnLinkFeature>
                <FeatureClassName>NOL</FeatureClassName>
                <ExternalUniqueID>N1</ExternalUniqueID>
                <DatasourceName>myDS</DatasourceName>
                <InitialPosition>0.5</InitialPosition>
                <ReferenceLink>L1</ReferenceLink>
              </NodeOnLinkFeature>
        

      • для типа SubLinkFeature атрибуты ReferenceLink,FromNode, и ToNode являются обязательными. ReferenceLink определяет взаимосвязь идентификатора LinkFeature с Под-Связь (sublink), и FromNode и ToNode содержат ссылку на идентификаторы NodeFeature, которые связаны с начальным и крайним узлами Под-Связи (sublink).

        Ниже приводится образец элемента SubLinkFeature:

        Элементы внутри тегов <NodeOnLinkFeature>

        <SubLinkFeature>
                <FeatureClassName>LOL</FeatureClassName>
                <ExternalUniqueID>S1</ExternalUniqueID>
                <DatasourceName>myDS</DatasourceName>
                <FromNode>N1</FromNode>
                <ToNode>R2</ToNode>
                <ReferenceLink>L1</ReferenceLink>
              </SubLinkFeature>
        

модель данных XMLBuilderDiagram

На следующем рисунке показано определение XML-схемы файла XMLBuilderDiagram:

Модель XML часть 1

Модель XML часть 2

Образцы XML-файла на основе XSD-файла XMLBuilderDiagram

На рисунке ниже показан образец базисного XML-файла, содержащего описание схемы (diagram), в которой имеется объект схемы с уникальным узлом:

XML-данные - извлечение образца FeatureNode

На рисунке ниже показан пример извлечения XML-файла, включающего описание схемы (diagram), в которой содержится ссылка на объект схемы:

XML-данные - извлечение FeatureLink

Более подробно об образце XML-файла на основе файла XMLBuilderDiagram XML Schema Description file, см. файл SampleNetworkData.xml, имеющийся в Учебнике. Он должен быть установлен в C:\ArcGIS\ArcTutor\Schematics\Schematics_Configuration\XML_Data.

ArcGIS Desktop

  • На главную
  • Документация
  • Поддержка

ArcGIS

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS
  • ArcGIS Developer
  • ArcGIS Solutions
  • ArcGIS Marketplace

Об Esri

  • О нас
  • Карьера
  • Блог Esri
  • Конференция пользователей
  • Саммит разработчиков
Esri
Расскажите нам, что вы думаете.
Copyright © 2021 Esri. | Конфиденциальность | Правовая информация