Наборы схематических данных в базе геоданных в PostgreSQL
Наборы схематических данных аналогичны наборам классов, но они содержат собрание Шаблонов схематического представления (schematic diagram templates) и Классов объектов схемы (schematic feature classes). Они используются для графической визуализации и управляют сетевыми данными.
Наборы схематических данных в ArcGIS for Desktop
В дереве Каталога наборы схематических данных представлены следующим значком:
При раскрытии набора схематических данных вы можете увидеть содержащиеся в нем схематические представления. Для данных диаграмм используется следующий значок:
Имена набора схематических данных и схематического представления в базе геоданных в СУБД PostgreSQL содержат имя базы данных, имя владельца набора данных, а также имена, собственно, набора данных и представления.
Наборы схематических данных в базе данных PostgreSQL
Для хранения информации о наборах схематических данных используются следующие таблицы.
В таблице 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 не используется.
Имя поля |
Тип поля |
Описание |
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 |
bytea |
Параметры подключения; используются для сохранения и восстановления подключения |
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 |
bytea |
Хранит параметры определения класса диаграммы (свойства компоновщика, пользовательский запрос, свойства слоя по умолчанию, атрибуты, алгоритмы, доступные для диаграмм, основанных на этом типе и их параметрах, класс узлов по умолчанию и пространственную привязку) |
Данная таблица поддерживает список всех классов пространственных объектов для каждого набора данных. Данная таблица создается при создании набора схематических данных. Для каждой строки данной таблицы создается одна таблица 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 |
Хранит параметры определения класса объектов схемы (атрибуты и пользовательский запрос) |
Данная таблица поддерживает список всех папок, созданных в наборе данных. Данная таблица создается при создании набора схематических данных.
Имя поля |
Тип поля |
Описание |
Null? |
---|---|---|---|
id |
integer |
Уникальный идентификатор папки |
NOT NULL |
name |
varchar(255) |
Имя папки |
NOT NULL |
pfid |
integer |
ID родительской папки при вложении |
NOT NULL |
xml |
bytea |
Хранит метаданные папки |
Данная таблица отслеживает связи между классом объекта схемы и объектом ГИС. Используется только при связи элементов с записью схемы в соответствии с правилами, определенными в таблице 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 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) |
Имя последнего пользователя, обновившего схему |
В данной таблице хранится перечень всех объектов схемы, созданных с использованием класса объектов схемы и использованных в ней.
Имя поля |
Тип поля |
Описание |
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 |
Геометрия объекта схемы |
В этой таблице хранится список всех правил схемы, настроенных в шаблоне диаграмме; таблица создается вместе с шаблоном диаграммы, но заполняется записями, только если правила настроены.
Имя поля |
Тип поля |
Описание |
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>