Наборы схематических данных в базе геоданных в SQL Server
Наборы схематических данных аналогичны наборам классов, но они содержат собрание Шаблонов схематического представления (schematic diagram templates) и Классов объектов схемы (schematic feature classes). Они используются для графической визуализации и управляют сетевыми данными.
Если вы используете для SQL Server модель нескольких пространственных баз данных, то для создания набора схематических данных необходимо подключение к базе данных sde.
Наборы схематических данных в ArcGIS for Desktop
В дереве каталога наборы схематических данных представлены следующим значком:
При растяжении набора схематических данных вы можете увидеть содержащиеся в нем схематические представления. Для данных диаграмм используется следующий значок:
Имена набора схематических данных и схематического представления в базе геоданных в SQL Server содержат имя базы данных, имя владельца набора данных, а также имена, собственно, набора данных и представления.
Наборы схематических данных в базе данных Microsoft SQL Server
Для хранения информации о наборах схематических данных используются следующие таблицы.
В таблице 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 |
nvarchar(32) |
Имя базы данных, в которой хранится набор схематических данных |
|
OWNER |
nvarchar(32) |
Пользователь, создавший набор схематических данных |
|
NAME |
nvarchar(128) |
Имя набора схематических данных |
NOT NULL |
LOCKINFO |
nvarchar(38) |
Используется конфигурацией редактора набора схематических данных для избежания конфликтов при одновременно изменении конфигурации множеством пользователей |
|
BLOBS |
varbinary(max) |
Хранит параметры по умолчанию для наборов данных, например, символ узла по умолчанию, разделитель текста и символ |
В настоящее время таблица 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 |
nvarchar(255) |
Имя источника данных |
NOT NULL |
CLSID |
nvarchar(38) |
ID класса компонента источника данных |
NOT NULL |
LABEL |
nvarchar(255) |
В настоящее время не используется |
NOT NULL |
CONNECTION |
varbinary(max) |
Параметры подключения; используются для сохранения и восстановления подключения |
NOT NULL |
Данная таблица отслеживает все шаблоны схем, присутствующие в наборе схематических данных. Она содержит строку для каждого созданного шаблона схем.
Данная таблица создается при создании набора схематических данных.
Имя поля |
Тип поля |
Описание |
Null? |
---|---|---|---|
ID |
integer |
Определяет уникальным образом шаблон схемы |
NOT NULL |
OBJECTCLASSID |
integer |
Соответствует полю ID в таблице SCH_UNIQUEID |
NOT NULL |
CREATIONNAME |
nvarchar(255) |
Имя класса схемы при создании таблицы |
NOT NULL |
NAME |
nvarchar(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 |
varbinary(max) |
Хранит всю информацию об атрибуте и символах |
Данная таблица поддерживает список всех классов пространственных объектов для каждого набора данных. Данная таблица создается при создании набора схематических данных. Для каждой строки данной таблицы создается одна таблица 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 |
nvarchar(255) |
Имя класса объектов схемы при создании таблицы |
NOT NULL |
NAME |
nvarchar(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 |
varbinary(max) |
Хранит атрибут и символы |
Данная таблица поддерживает список всех папок, созданных в наборе данных. Данная таблица создается при создании набора схематических данных.
Имя поля |
Тип поля |
Описание |
Null? |
---|---|---|---|
ID |
integer |
Уникальный идентификатор папки |
NOT NULL |
NAME |
nvarchar(255) |
Имя папки |
NOT NULL |
PFID |
integer |
ID родительской папки при вложении |
NOT NULL |
XML |
varbinary(max) |
Хранит метаданные папки |
Данная таблица отслеживает связи между классом объекта схемы и объектом ГИС. Используется только при связи элементов с записью схемы в соответствии с правилами, определенными в таблице 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 |
nvarchar(255) |
Имя схемы |
NOT NULL |
FOLDERID |
integer |
Соответствует полю ID в таблице SCH<ID>_FOLDER |
NOT NULL |
DIAGRAMCLASSID |
integer |
Соответствует полю OBJECTCLASSID в таблице SCH<ID>_DIACLASS |
NOT NULL |
LASTUPDATE |
datetime2 |
Дата и время последнего обновления пользователя |
|
VERSION |
nvarchar(255) |
Создается из версионных данных, содержит версию |
|
CREATIONDATE |
datetime2 |
Дата и время создания схемы |
|
CREATOR |
nvarchar(100) |
Имя пользователя, создавшего схему |
|
UPDATEDBY |
nvarchar(100) |
Имя пользователя, обновившего схему последним |
|
BLOBS |
varbinary(max) |
Хранит текущее положение всех элементов схемы |
|
LOCKSTATUS |
integer |
Указывает, заблокирована ли диаграмма или редактируется в данный момент пользователем |
|
LASTMODIFICATION |
datetime2 |
Дата и время последнего изменения диаграммы |
|
MODIFIEDBY |
nvarchar(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 |
nvarchar(128) |
Уникально идентифицирует элемент; состоит из DIAGRAMOBJECTID, DIAGRAMCLASSID, DATASOURCEID, UCID, UOID и USID |
NOT NULL |
ISINITIAL |
integer |
Указывает, являлся ли данный элемент частью списка начального построения |
NOT NULL |
ISDISPLAYED |
integer |
Показывает, отображается ли данный элемент |
NOT NULL |
RELATIONOBJECTID |
integer |
ID объекта соответствующего класса пространственных объектов, находящегося в отношениях |
|
RELATIONCLASSID |
integer |
ID класса объекта соответствующего класса пространственных объектов, находящегося в отношениях |
|
DATASOURCEID |
integer |
Внешний ключ таблицы SCH<ID>_DATASRC |
|
UCID |
integer |
ID класса соответствующего объекта |
|
UOID |
integer |
ID объекта класса соответствующего объекта |
|
USID |
integer |
ID подтипа соответствующего объекта |
|
SUBTYPE |
integer |
Подтип объекта |
|
PROPERTYSET |
varbinary(max) |
Содержит информацию об атрибуте |
|
INITIALX |
numeric |
X положение элемента при создании |
|
INITIALY |
numeric |
Y положение элемента при создании |
|
UPDATESTATUS |
nvarchar(38) |
Указывает, является ли объект новым в результате последнего обновления |
|
ROTATION |
numeric(32,20) |
Поворот символа |
|
UGUID |
uniqueidentifier |
GUID связанного объекта (если имеется) |
|
SHAPE |
geometry geography varbinary(max) |
Геометрия пространственного объекта |
Данная таблица содержит перечень всех правил отношений для шаблона схемы. Данная таблица создается при создании связанного шаблона схемы, но заполняется только при условии конфигурирования правил.
Имя поля |
Тип поля |
Описание |
Null? |
---|---|---|---|
ID |
integer |
Уникально идентифицирует правило отношения Первичный ключ |
NOT NULL |
ORDERNUMBER |
integer |
Указывает порядок выполнения правил |
NOT NULL |
ACTIVE |
integer |
Указывает, активно ли правило |
NOT NULL |
CLSID |
nvarchar(38) |
ID класса правила |
NOT NULL |
PROPERTYSET |
varbinary(max) |
Нулевые значения страницы свойств допустимы |
NOT NULL |
View a diagram of a schematic dataset in SQL Server.
Для открытия файла необходим 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="dbo.DEFAULT">
<Features>
<NodeFeature>
<FeatureClassName>TransformerBank</FeatureClassName>
<ExternalUniqueID>36-1585-0</ExternalUniqueID>
<DatasourceName>sql 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>sql 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>sql gdb</NameString>
<WorkSpaceInfo xsi:type="esri:WorkspaceName">
<PathName>c:\Documents and Settings\gis\
Application Data\ESRI\Desktop10.1\ArcCatalog\sdegdb on sqlserver</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">blackrock</Value>
</PropertySetProperty>
<PropertySetProperty xsi:type="esri:PropertySetProperty">
<Key>INSTANCE</Key>
<Value xsi:type="xs:string">sde:sqlserver:blackrock\ssspatial</Value>
</PropertySetProperty>
<PropertySetProperty xsi:type="esri:PropertySetProperty">
<Key>DATABASE</Key>
<Value xsi:type="xs:string">spatialdb</Value>
</PropertySetProperty>
<PropertySetProperty xsi:type="esri:PropertySetProperty">
<Key>AUTHENTICATION_MODE</Key>
<Value xsi:type="xs:string">OS</Value>
</PropertySetProperty>
<PropertySetProperty xsi:type="esri:PropertySetProperty">
<Key>VERSION</Key>
<Value xsi:type="xs:string">dbo.DEFAULT</Value>
</PropertySetProperty>
</PropertyArray>
</ConnectionProperties>
</WorkSpaceInfo>
</Datasource>
</Datasources>
</Diagram>
</sch:Diagrams>