Наборы схематических данных в базе геоданных в PostgreSQL

Наборы схематических данных аналогичны наборам классов, но они содержат собрание Шаблонов схематического представления (schematic diagram templates) и Классов объектов схемы (schematic feature classes). Они используются для графической визуализации и управляют сетевыми данными.

Наборы схематических данных в ArcGIS for Desktop

В дереве Каталога наборы схематических данных представлены следующим значком:

Значок схематического набора данных

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

Значок схематическая диаграмма

Имена набора схематических данных и схематического представления в базе геоданных в СУБД PostgreSQL содержат имя базы данных, имя владельца набора данных, а также имена, собственно, набора данных и представления.

Наборы схематических данных в базе данных PostgreSQL

Для хранения информации о наборах схематических данных используются следующие таблицы.

sch_dataset

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

Имя поля

Тип поля

Описание

Null?

id

integer

Уникальный идентификатор набора схематических данных

Значение в данном поле представляет собой ID имен всех таблиц наборов схематических данных, за исключением sch_release и sch_uniqueid.

NOT NULL

major

integer

Номер выпуска версии набора данных.

NOT NULL

minor

integer

Наименьший номер версии набора данных; в настоящее время не используется

bugfix

integer

Номер патча или пакета обновления версии набора данных; в настоящее время не используется

NOT NULL

dbname

varchar(32)

Имя базы данных, в которой хранится набор схематических данных

owner

varchar(32)

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

name

varchar(128)

Имя набора схематических данных

NOT NULL

lockinfo

nvarchar(38)

Используется конфигурацией редактора набора схематических данных для избежания конфликтов при одновременном изменении конфигурации множеством пользователей

blobs

bytea

Хранит метаданные набора схематических данных

sch_release

В настоящее время таблица sch_release не используется.

Имя поля

Тип поля

Описание

Null?

major

integer

Номер выпуска системных таблиц

NOT NULL

minor

integer

Наименьший номер версии системных таблиц; в настоящее время не используется

NOT NULL

bugfix

integer

Номер патча или пакета обновления системных таблиц; в настоящее время не используется

NOT NULL

sch_uniqueid

В таблице sch_uniqueid содержатся уникальные идентификаторы для индексов схематических классов пространственных объектов.

Имя поля

Тип поля

Описание

Null?

id

integer

Уникальный идентификатор, используемый при создании новых шаблонов схем для класса объекта

NOT NULL

dummy

integer

В настоящее время не используется

sch<id>_clsentry

В данной таблице хранятся связи между шаблонами схем и типами объектов в наборе схематических данных. Данная таблица создается при создании набора схематических данных.

Имя поля

Тип поля

Описание

Null?

id

integer

Уникальным образом идентифицирует отношения между шаблоном схемы и классом объектов

NOT NULL

diagramclassid

integer

Соответствует полю ID в таблице sch<id>_diaclass

NOT NULL

elementclassid

integer

Соответствует полю ID в таблице sch<id>_eltclass

NOT NULL

sch<id>_datasrc

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

Имя поля

Тип поля

Описание

Null?

id

integer

Определяет уникальным образом источник данных

NOT NULL

name

varchar(255)

Имя источника данных

NOT NULL

clsid

nvarchar(38)

ID класса компонента источника данных

NOT NULL

label

varchar(255)

В настоящее время не используется

connection

bytea

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

NOT NULL

sch<id>_diaclass

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

Данная таблица создается при создании набора схематических данных.

Имя поля

Тип поля

Описание

Null?

id

integer

Определяет уникальным образом шаблон схемы

NOT NULL

objectclassid

integer

Соответствует полю ID в таблице sch_uniqueid

NOT NULL

creationname

varchar(255)

Имя класса схемы при создании таблицы

NOT NULL

name

varchar(255)

Текущее имя класса схемы (если оно отличается от исходного имени)

Соответствует имени шаблона диаграммы в имени таблицы sch<id>d_<diagram_template_name>

NOT NULL

parentid

integer

ID записи родительского класса схемы

NOT NULL

datasourceid

integer

Соответствует полю ID в таблице sch<id>_datasrc; используется только в шаблоне диаграммы, основанном на пользовательском запросе

builderclsid

nvarchar(38)

ID класса для компоновщика схем (XML, набор сетевых данных или стандартный)

linkerclsid

nvarchar(38)

Объект управления компонентом для метода отношений элемента

algorithmclsid

nvarchar(38)

ID класса для алгоритма, который применяется автоматически к схемам данного типа

blobs

bytea

Хранит параметры определения класса диаграммы (свойства компоновщика, пользовательский запрос, свойства слоя по умолчанию, атрибуты, алгоритмы, доступные для диаграмм, основанных на этом типе и их параметрах, класс узлов по умолчанию и пространственную привязку)

sch<id>_eltclass

Данная таблица поддерживает список всех классов пространственных объектов для каждого набора данных. Данная таблица создается при создании набора схематических данных. Для каждой строки данной таблицы создается одна таблица sch<id>e_<feature_class_name> и одна таблица sch<id>a_<feature_class_name>.

Имя поля

Тип поля

Описание

Null?

id

integer

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

NOT NULL

objectclassid

integer

Соответствует полю ID в таблице gdb_items

NOT NULL

creationname

varchar(255)

Имя класса объектов схемы при создании таблицы

NOT NULL

name

varchar(255)

Текущее имя класса объектов схемы (если изменено)

Соответствует имени класса объектов в именах таблиц sch<id>e_<feature_class_name> и sch<id>a_<feature_class_name>

NOT NULL

parentid

integer

ID записи класса родительского элемента

NOT NULL

elementtype

integer

Значение задает тип элемента (например, узел, связь, узел на связи или субсвязь)

NOT NULL

relationclsid

nvarchar(38)

Отношение с классом пространственных объектов

associatedsid

integer

ID источника данных соответствующего класса пространственных объектов

associatedocid

integer

ID связанных классов пространственных объектов из таблицы gdb_items

datasourceid

integer

Соответствует полю ID в таблице sch<id>_datasrc; используется только в классе объектов схем, основанном на пользовательском запросе

blobs

bytea

Хранит параметры определения класса объектов схемы (атрибуты и пользовательский запрос)

sch<id>_folder

Данная таблица поддерживает список всех папок, созданных в наборе данных. Данная таблица создается при создании набора схематических данных.

Имя поля

Тип поля

Описание

Null?

id

integer

Уникальный идентификатор папки

NOT NULL

name

varchar(255)

Имя папки

NOT NULL

pfid

integer

ID родительской папки при вложении

NOT NULL

xml

bytea

Хранит метаданные папки

sch<id>a_<feature_class_name>

Данная таблица отслеживает связи между классом объекта схемы и объектом ГИС. Используется только при связи элементов с записью схемы в соответствии с правилами, определенными в таблице sch<id>r_<diagram_template_name>.

Имя поля

Тип поля

Описание

Null?

id

integer

Уникальным образом идентифицирует связи между классом объекта схемы и объектом ГИС

NOT NULL

schematicid

integer

Уникальный ID объекта схемы

NOT NULL

datasourceid

integer

Соответствует полю ID в таблице sch<id>_datasrc

ucid

integer

ID класса связанного объекта

uoid

integer

ObjectID связанного объекта

usid

integer

Идентификатор элемента в связанном объекте; применяется только к связанным объектам типа "сложное ребро"

Определят ID сегмента в связанном объекте типа "сложное ребро"; 0 для всех остальных типов связанных объектов

uguid

integer

GUID связанного объекта (если имеется)

sch<id>d_<diagram_template_name>

Данная таблица содержит перечень всех схем, созданных с использованием конкретного шаблона схемы (указанного <DIAGRAM_TEMPLATE_NAME>). Данная таблица создается при создании связанного шаблона схемы и содержит одну строку на схему.

Имя поля

Тип поля

Описание

Null?

id

integer

Определяет уникальным образом схему

NOT NULL

name

varchar(255)

Имя схемы

NOT NULL

folderid

integer

Соответствует полю ID в таблице sch<id>_folder

NOT NULL

diagramclassid

integer

Соответствует полю objectclassid в таблице sch<id>_diaclass

NOT NULL

lastupdate

timestamp without time zone

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

version

varchar(255)

Если создается из версионных данных, то указывается из какой версии

creationdate

timestamp without time zone

Дата и время создания диаграммы

creator

varchar(100)

Имя пользователя, создавшего схему

updatedby

varchar(100)

Имя пользователя, выполнявшего последнее обновление схемы

blobs

bytea

Хранит параметры диаграммы, такие как список конечных и корневых узлов и classid последнего алгоритма, выполненного перед сохранением

lockstatus

integer

Указывает, заблокирована ли схема или редактируется в данный момент пользователем

lastmodification

timestamp without time zone

Дата и время последнего изменения диаграммы

modifiedby

varchar(100)

Имя последнего пользователя, обновившего схему

sch<id>a_<feature_class_name>

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

Имя поля

Тип поля

Описание

Null?

id

integer

Уникальным образом определяет класс объектов схемы; первичный ключ

NOT NULL

diagramclassid

integer

Соответствует полю objectclassid в таблице sch<id>_diaclass

NOT NULL

diagramobjectid

integer

Соответствует полю id в таблице sch<id>d_<diagram_template_name>

NOT NULL

schematicid

varchar(128)

Уникально определяет схематический объект в схеме, состоит из ucid, uoid и usid, когда схематический объект создается стандартным компоновщиком.

NOT NULL

isinitial

integer

Указывает, входил ли этот схематический объект в начальный список построения

NOT NULL

isdisplayed

integer

Указывает, отображается ли этот схематический объект в данный момент

NOT NULL

relationobjectid

integer

ObjectID связанного стандартного объекта или объекта в отношении

relationclassid

integer

ID класса (Class id) связанного стандартного объекта или объекта в отношении

datasourceid

integer

Соответствует полю ID в таблице sch<id>_datasrc

ucid

integer

ID класса (Class id) соответствующего пространственного или другого объекта

uoid

integer

ObjectID соответствующего пространственного или другого объекта

usid

integer

ID элемента в соответствующем пространственном объекте; применяется только для соответствующих объектов типа "сложное ребро".

Определяет ID сегмента в соответствующем объекте типа "сложное ребро". Для всех остальных типов соответствующих объектов используется 0.

updatestatus

integer

Обозначает, обновился ли объект при последнем обновлении

subtype

integer

Подтип пространственного объекта

propertyset

bytea

Содержит атрибутивную информацию

initialx

numeric(32,20)

X положение объекта при создании; применяется только к узловым схематическим объектам

initialy

numeric(32,20)

Y положение объекта при создании; применяется только к узловым схематическим объектам

initialposition

numeric(32,20)

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

referencelink

varchar(128)

Schematicid ссылочной схематической связи, с которой ассоциирован объект; применяется только к схематическим объектам типа "узел на связи" и "субсвязь".

rotation

numeric(32,20)

Символ поворота объекта; применяется только к схематическим объектам типа "узел" и "узел на связи"

fromtid

varchar(128)

Schematicid исходного узла объекта; применяется только к схематическим объектам типа "связь" и "субсвязь"

totid

varchar(128)

Schematicid конечного узла объекта; применяется только к схематическим объектам типа "связь" и "субсвязь"

fromport

integer

Номер порта символа исходного узла объекта, который должен использоваться для соединения объекта; применяется только к схематическим объектам типа "связь" и "субсвязь"

toport

integer

Номер порта символа конечного узла объекта, который должен использоваться для соединения объекта; применяется только к схематическим объектам типа "связь" и "субсвязь"

flowdirection

integer

Указывает направление потока; применяется только к схематическим объектам типа "связь" и "субсвязь"

uguid

nvarchar(38)

GUID связанного объекта (если имеется)

shape

st_geometry

geometry

Геометрия объекта схемы

sch<id>r_<diagram_template_name>

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

Имя поля

Тип поля

Описание

Null?

id

integer

Уникальный идентификатор правила отношения

NOT NULL

ordernumber

integer

Указывает порядок выполнения правил

NOT NULL

active

integer

Показывает, активно или нет данное правило

NOT NULL

clsid

nvarchar(38)

ID класса (Class id) правила

NOT NULL

propertyset

bytea

Свойства правила

Просмотреть схему набора схематических данных в PostgreSQL.

ПримечаниеПримечание:

Для открытия файла необходим Adobe Acrobat Reader.

Штриховые линии определяют неявные отношения между столбцами.

Наборы схематических данных в XML-документе рабочей области

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

<sch:Diagrams xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xmlns:esri="http://www.esri.com/schemas/ArcGIS/10.1" xmlns:xs="http://www.w3.org/2001/XMLSchema"
 xmlns:sch="http://www.esri.com/schemas/ArcGIS/10.1/Schematics">
 <Diagram DiagramTemplateName="GeoSchematic" DiagramName="Feeder 0801-Rice Creek"
  EnforceDiagram TemplateName="false" EnforceDiagramName="false" Version="sde.DEFAULT">
  <Features>
    <NodeFeature>
      <FeatureClassName>TransformerBank</FeatureClassName>
      <ExternalUniqueID>36-1585-0</ExternalUniqueID>

        <DatasourceName>postgres gdb</DatasourceName>
      <UCID>36</UCID>
      <UOID>1585</UOID>
      <SUBTYPE>0</SUBTYPE>
      <UPDATESTATUS>1</UPDATESTATUS>
      <InitialX>376834.28999999911</InitialX>
      <InitialY>1571795.700000003</InitialY>
      <ROTATION>0</ROTATION>
    </NodeFeature>
    <LinkFeature>
       <FeatureClassName>PrimaryLine</FeatureClassName>
       <ExternalUniqueID>16-1083-0</ExternalUniqueID>
         
         <DatasourceName>postgres gdb</DatasourceName>
       <UCID>16</UCID>
       <UOID>1083</UOID>
       <SUBTYPE>1</SUBTYPE>
       <UPDATESTATUS>1</UPDATESTATUS>
       <FromNode>21-8-0</FromNode>
       <ToNode>36-250-0</ToNode>
       <PropertySet xsi:type="esri:PropertySet">
         <PropertyArray xsi:type="esri:ArrayOfPropertySetProperty">
           <PropertySetProperty xsi:type="esri:PropertySetProperty">
             <Key>placement</Key>
             <Value xsi:type="xs:int">0</Value>
           </PropertySetProperty>
         <PropertyArray>
        </PropertySet>
       <Vertices />
     </LinkFeature>
    </Features>
    <Datasources>
      <Datasource>
        <NameString>postgres gdb</NameString>
        <WorkSpaceInfo xsi:type="esri:WorkspaceName">
          <PathName>c:\Documents and Settings\gis\
           Application Data\ESRI\Desktop10.0\ArcCatalog\sdegdb on pgsql</PathName>
          <BrowseName>ArcSDE Data</BrowseName>
          <WorkspaceFactoryProgID>esriDataSourcesGDB.SdeWorkspaceFactory.1</WorkspaceFactoryProgID>
          <WorkspaceType>esriRemoteDatabaseWorkspace</WorkspaceType>
          <Connection Properties xsi:type="esri:PropertySet">
            <PropertyArray xsi:type="esri:ArrayOfPropertySetProperty">
              <PropertySetProperty xsi:type="esri:PropertySetProperty">
                <Key>SERVER</Key>
                <Value xsi:type="xs:string">barnacles</Value>
              </PropertySetProperty>
              <PropertySetProperty xsi:type="esri:PropertySetProperty">
                <Key>INSTANCE</Key>
                <Value xsi:type="xs:string">sde:postgresql:barnacles</Value>
              </PropertySetProperty>
              <PropertySetProperty xsi:type="esri:PropertySetProperty">
                <Key>DATABASE</Key>
                <Value xsi:type="xs:string">spdata</Value>
              </PropertySetProperty>
              <PropertySetProperty xsi:type="esri:PropertySetProperty">
                <Key>AUTHENTICATION_MODE</Key>
                <Value xsi:type="xs:string">DBMS</Value>
              </PropertySetProperty>
              <PropertySetProperty xsi:type="esri:PropertySetProperty">
                <Key>USER</Key>
                <Value xsi:type="xs:string">editor</Value>
              </PropertySetProperty>
              <PropertySetProperty xsi:type="esri:PropertySetProperty">
                <Key>PASSWORD</Key>
                <Value xsi:type="xs:base64Binary">QgRGAA9PPOCwUR3vjWUTw2sRnEhHAA==</Value>
              </PropertySetProperty>
              <PropertySetProperty xsi:type="esri:PropertySetProperty">
                <Key>VERSION</Key>
                <Value xsi:type="xs:string">sde.DEFAULT</Value>
              </PropertySetProperty>
            </PropertyArray>
          </ConnectionProperties>
        </WorkSpaceInfo>
      </Datasource>
    </Datasources>
  </Diagram>
</sch:Diagrams>

Связанные темы

7/16/2014