Наборы схематических данных в базе геоданных в 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 класса для компоновщика схем (пользовательский запрос, набор сетевых данных или стандартный)

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_<element_type_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 подтипа связанного объекта

uguid

integer

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

sch<id>d_<diagram_type_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

Сохраняет текущее положение всех элементов в диаграмме

lockstatus

integer

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

lastmodification

timestamp without time zone

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

modifiedby

varchar(100)

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

sch<id>e_<element_type_name>

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

Имя поля

Тип поля

Описание

Null?

id

integer

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

NOT NULL

diagramclassid

integer

Внешний ключ поля objectclassid таблицы sch<id>_diaclass

NOT NULL

diagramobjectid

integer

Внешний ключ таблицы sch<id>d_<diagram_type_name>

NOT NULL

schematicid

varchar(128)

Уникальный идентификатор элемента; состоит из diagramobjectid, diagramclassid, datasourceid, ucid, uoid и usid

NOT NULL

isinitial

integer

Обозначает, является ли элемент частью начального списка построения

NOT NULL

isdisplayed

integer

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

NOT NULL

relationobjectid

integer

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

relationclassid

integer

Class ID связанного объекта в отношении

datasourceid

integer

Внешний ключ таблицы sch<id>_datasrc

ucid

integer

Class ID соответствующего пространственного объекта

uoid

integer

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

usid

integer

Subtype ID соответствующего пространственного объекта

subtype

integer

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

propertyset

bytea

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

initialx

numeric(32,20)

X положение элемента при создании

initialy

numeric(32,20)

Y положение элемента при создании

updatestatus

integer

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

rotation

numeric(32,20)

Поворот символа

uguid

nvarchar(38)

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

shape

st_geometry

geometry

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

sch<id>r_<diagram_type_name>

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

Имя поля

Тип поля

Описание

Null?

id

integer

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

NOT NULL

ordernumber

integer

Обозначает порядок выполнения правил

NOT NULL

active

integer

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

NOT NULL

clsid

nvarchar(38)

Class ID правила

NOT NULL

propertyset

bytea

Значения страницы свойств

View a diagram of a schematic dataset in 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>

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

9/11/2013