Наборы схематических данных в базе геоданных в DB2
Наборы схематических данных аналогичны наборам классов, но они содержат собрание Шаблонов схематического представления (schematic diagram templates) и Классов объектов схемы (schematic feature classes). Они используются для графической визуализации и управляют сетевыми данными.
Наборы схематических данных в ArcGIS for Desktop
В дереве Каталога наборы схематических данных представлены следующим значком:
При раскрытии набора схематических данных вы можете увидеть содержащиеся в нем схематические представления. Для данных диаграмм используется следующий значок:
Имена набора схематических данных и схематического представления в базе геоданных в СУБД DB2 содержат имя базы данных, имя владельца набора данных, а также имена, собственно, набора данных и представления.
Наборы схематических данных в базе данных IBM DB2
Для хранения информации о наборах схематических данных используются следующие таблицы.
В таблице SCH_DATASET содержится одна запись для каждого набора схематических данных, созданного в базе геоданных. Поле ID данной таблицы используется для идентификации связанного объекта и таблиц диаграммы, а также используется в именах таких таблиц.
Имя поля |
Тип поля |
Описание |
Null? |
---|---|---|---|
ID |
INTEGER |
Уникальный идентификатор набора схематических данных Значение в данном поле представляет собой ID имен всех таблиц наборов схематических данных, за исключением SCH_RELEASE и SCH_UNIQUEID. |
NOT NULL |
MAJOR |
INTEGER |
Номер выпуска версии набора данных. |
NOT NULL |
MINOR |
INTEGER |
Наименьший номер версии набора данных; в настоящее время не используется |
NOT NULL |
BUGFIX |
INTEGER |
Номер патча или пакета обновления версии набора данных; в настоящее время не используется |
NOT NULL |
DBNAME |
VARCHAR(32) |
Имя базы данных, в которой хранится набор схематических данных |
|
OWNER |
VARCHAR(32) |
Пользователь, создавший набор схематических данных |
|
NAME |
VARCHAR(128) |
Имя набора схематических данных |
NOT NULL |
LOCKINFO |
nvarchar(38) |
Используется конфигурацией редактора набора схематических данных для избежания конфликтов при одновременном изменении конфигурации множеством пользователей |
|
BLOBS |
BLOB |
Хранит метаданные набора схематических данных |
В настоящее время таблица SCH_RELEASE не используется.
Имя поля |
Тип поля |
Описание |
Null? |
---|---|---|---|
MAJOR |
INTEGER |
Номер выпуска системных таблиц |
NOT NULL |
MINOR |
INTEGER |
Наименьший номер версии системных таблиц; в настоящее время не используется |
NOT NULL |
BUGFIX |
INTEGER |
Номер патча или пакета обновления системных таблиц; в настоящее время не используется |
NOT NULL |
В таблице SCH_UNIQUEID содержатся уникальные идентификаторы для индексов схематических классов пространственных объектов.
Имя поля |
Тип поля |
Описание |
Null? |
---|---|---|---|
ID |
INTEGER |
Уникальный идентификатор, используемый при создании новых шаблонов схем для класса объекта |
NOT NULL |
DUMMY |
INTEGER |
В настоящее время не используется |
В данной таблице хранятся связи между шаблонами схем и типами объектов в наборе схематических данных. Данная таблица создается при создании набора схематических данных.
Имя поля |
Тип поля |
Описание |
Null? |
---|---|---|---|
ID |
INTEGER |
Уникальным образом идентифицирует отношения между шаблоном схемы и классом объектов |
NOT NULL |
DIAGRAMCLASSID |
INTEGER |
Соответствует полю ID в таблице SCH<ID>_DIACLASS |
NOT NULL |
ELEMENTCLASSID |
INTEGER |
Соответствует полю ID в таблице SCH<ID>_ELTCLASS |
NOT NULL |
Данная таблица содержит перечень всех источников данных, доступных набору схематических данных. Данная таблица создается при создании набора схематических данных.
Имя поля |
Тип поля |
Описание |
Null? |
---|---|---|---|
ID |
INTEGER |
Определяет уникальным образом источник данных |
NOT NULL |
NAME |
VARCHAR(255) |
Имя источника данных |
NOT NULL |
CLSID |
nvarchar(38) |
ID класса компонента источника данных |
NOT NULL |
LABEL |
VARCHAR(255) |
В настоящее время не используется |
|
CONNECTION |
BLOB |
Параметры подключения; используются для сохранения и восстановления подключения |
NOT NULL |
Данная таблица отслеживает все шаблоны схем, присутствующие в наборе схематических данных. Она содержит строку для каждого созданного шаблона схем.
Данная таблица создается при создании набора схематических данных.
Имя поля |
Тип поля |
Описание |
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 |
BLOB |
Хранит параметры определения класса диаграммы (свойства компоновщика, пользовательский запрос, свойства слоя по умолчанию, атрибуты, алгоритмы, доступные для диаграмм, основанных на этом типе и их параметрах, класс узлов по умолчанию и пространственную привязку) |
Данная таблица поддерживает список всех классов пространственных объектов для каждого набора данных. Данная таблица создается при создании набора схематических данных. Для каждой строки данной таблицы создается одна таблица 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 |
RELATIOINCLSID |
nvarchar(38) |
Отношение с классом пространственных объектов |
|
ASSOCIATEDSID |
INTEGER |
ID источника данных соответствующего класса пространственных объектов |
|
ASSOCIATEDOCID |
INTEGER |
ID соответствующих классов пространственных объектов из таблицы GDB_ITEMS |
|
DATASOURCEID |
INTEGER |
Соответствует полю ID в таблице SCH<ID>_DATASRC; используется только в классе объектов схем, основанном на пользовательском запросе |
|
BLOBS |
BLOB |
Хранит параметры определения класса объектов схемы (атрибуты и пользовательский запрос) |
Данная таблица поддерживает список всех папок, созданных в наборе данных. Данная таблица создается при создании набора схематических данных.
Имя поля |
Тип поля |
Описание |
Null? |
---|---|---|---|
ID |
INTEGER |
Уникальный идентификатор папки |
NOT NULL |
NAME |
VARCHAR(255) |
Имя папки |
NOT NULL |
PFID |
INTEGER |
ID родительской папки при вложении |
NOT NULL |
XML |
BLOB |
Хранит метаданные папки |
Данная таблица отслеживает связи между классом объекта схемы и объектом ГИС. Используется только при связи элементов с записью схемы в соответствии с правилами, определенными в таблице 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 связанного объекта (если имеется) |
Данная таблица содержит перечень всех схем, созданных с использованием конкретного шаблона схемы (указанного <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 |
Дата и время последнего обновления пользователя |
|
VERSION |
VARCHAR(255) |
Если создается из версионных данных, то указывается из какой версии |
|
CREATIONDATE |
TIMESTAMP |
Дата и время создания диаграммы |
|
CREATOR |
VARCHAR(100) |
Имя пользователя, создавшего схему |
|
UPDATEDBY |
VARCHAR(100) |
Имя пользователя, выполнявшего последнее обновление схемы |
|
BLOBS |
BLOB |
Хранит параметры схемы (такие как список конечных и корневых узлов и CLASSID последнего алгоритма, выполненного перед сохранением) |
|
LOCKSTATUS |
INTEGER |
Указывает, заблокирована ли схема или редактируется в данный момент пользователем |
|
LASTMODIFICATION |
TIMESTAMP |
Дата и время последнего изменения диаграммы |
|
MODIFIEDBY |
VARCHAR(100) |
Имя последнего пользователя, обновившего схему |
В данной таблице хранится перечень всех объектов схемы, созданных с использованием класса объектов схемы и использованных в ней.
Имя поля |
Тип поля |
Описание |
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 |
Object ID соответствующего пространственного или другого объекта |
|
USID |
INTEGER |
ID элемента в соответствующем пространственном объекте; применяется только для соответствующих объектов типа "сложное ребро". Определяет ID сегмента в соответствующем объекте типа "сложное ребро"; 0 для всех остальных типов соответствующих объектов. |
|
UPDATESTATUS | INTEGER | Обозначает, обновился ли объект при последнем обновлении | |
SUBTYPE |
INTEGER |
Подтип пространственного объекта |
|
PROPERTYSET |
BLOB |
Содержит атрибутивную информацию |
|
INITIALX |
DECIMAL(31) |
X положение объекта при создании; применяется только к узловым схематическим объектам |
|
INITIALY |
DECIMAL(31) |
Y положение объекта при создании; применяется только к узловым схематическим объектам |
|
INITIALPOSITION | DECIMAL(31) | Начальная позиция объекта, связанного ссылкой на схему; применяется только к схематическим объектам типа "узел на связи". | |
REFERENCELINK | VARCHAR(128) | SCHEMATICID ссылочной схематической связи, с которой ассоциирован объект; применяется только к схематическим объектам типа "узел на связи" и "субсвязь". | |
ROTATION |
DECIMAL(31) |
Символ поворота объекта; применяется только к схематическим объектам типа "узел" и "узел на связи" |
|
FROMTID | VARCHAR(128) | SCHEMATICID исходного узла объекта; применяется только к схематическим объектам типа "связь" и "субсвязь" | |
TOTID | VARCHAR(128) | SCHEMATICID конечного узла объекта; применяется только к схематическим объектам типа "связь" и "субсвязь" | |
FROMPORT | INTEGER | Номер порта символа исходного узла объекта, который должен использоваться для соединения объекта; применяется только к схематическим объектам типа "связь" и "субсвязь" | |
TOPORT | INTEGER | Номер порта символа конечного узла объекта, который должен использоваться для соединения объекта; применяется только к схематическим объектам типа "связь" и "субсвязь" | |
FLOWDIRECTION | INTEGER | Указывает направление потока; применяется только к схематическим объектам типа "связь" и "субсвязь" | |
UGUID |
CHARACTER(38) |
GUID связанного объекта (если имеется) |
|
SHAPE |
ST_GEOMETRY |
Геометрия объекта схемы |
В этой таблице хранится список всех правил схемы, настроенных в шаблоне диаграмме; таблица создается вместе с шаблоном диаграммы, но заполняется записями, только если правила настроены.
Имя поля |
Тип поля |
Описание |
Null? |
---|---|---|---|
ID |
INTEGER |
Уникальный идентификатор правила отношения |
NOT NULL |
ORDERNUMBER |
INTEGER |
Указывает порядок выполнения правил |
NOT NULL |
ACTIVE |
INTEGER |
Показывает, активно или нет данное правило |
NOT NULL |
CLSID |
nvarchar(38) |
ID класса (Class id) правила |
NOT NULL |
PROPERTYSET |
BLOB |
Свойства правила |
Просмотреть схему набора схематических данных в DB2.
![Примечание Примечание](rsrc/note.png)
Для открытия файла необходим 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.0" xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:sch="http://www.esri.com/schemas/ArcGIS/10.0/Schematics">
<Diagram DiagramTemplateName="GeoSchematic" DiagramName="Feeder 0801-Rice Creek"
EnforceDiagram TemplateName="false" EnforceDiagramName="false" Version="sde.DEFAULT">
<Features>
<NodeFeature>
<FeatureClassName>TransformerBank</FeatureClassName>
<ExternalUniqueID>96-111-0</ExternalUniqueID>
<DatasourceName>arcsde db2 gdb</DatasourceName>
<UCID>96</UCID>
<UOID>111</UOID>
<SUBTYPE>0</SUBTYPE>
<UPDATESTATUS>1</UPDATESTATUS>
<InitialX>376834.28999999911</InitialX>
<InitialY>1571795.700000003</InitialY>
<ROTATION>0</ROTATION>
</NodeFeature>
<LinkFeature>
<FeatureClassName>PrimaryLine</FeatureClassName>
<ExternalUniqueID>91-114-0</ExternalUniqueID>
<DatasourceName>arcsde db2 gdb</DatasourceName>
<UCID>91</UCID>
<UOID>114</UOID>
<SUBTYPE>0</SUBTYPE>
<UPDATESTATUS>1</UPDATESTATUS>
<FromNode>97-111-0</FromNode>
<ToNode>96-184-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>arcsde db2 gdb</NameString>
<WorkSpaceInfo xsi:type="esri:WorkspaceName">
<PathName>c:\Documents and Settings\gis\
Application Data\ESRI\Desktop10.1\ArcCatalog\sdegdb on db2</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">badwater</Value>
</PropertySetProperty>
<PropertySetProperty xsi:type="esri:PropertySetProperty">
<Key>INSTANCE</Key>
<Value xsi:type="xs:string">sde:db2</Value>
</PropertySetProperty>
<PropertySetProperty xsi:type="esri:PropertySetProperty">
<Key>DATABASE</Key>
<Value xsi:type="xs:string">db2gdb</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">gis</Value>
</PropertySetProperty>
<PropertySetProperty xsi:type="esri:PropertySetProperty">
<Key>PASSWORD</Key>
<Value xsi:type="xs:base64Binary">AgAAAA4AAACwUR6vjWUTw2sRnEhHAA==</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>