Наборы схематических данных в базе геоданных в 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 класса для компоновщика схем (пользовательский запрос, набор сетевых данных или стандартный) |
|
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 подтипа связанного объекта |
|
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 |
Сохраняет текущее положение всех элементов в диаграмме |
|
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 |
Внешний ключ таблицы 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 |
Геометрия класса пространственных объектов |
Данная таблица содержит перечень всех правил отношений для шаблона схемы. Данная таблица создается при создании связанного шаблона схемы, но заполняется только при условии конфигурирования правил.
Имя поля |
Тип поля |
Описание |
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>