Schematic datasets in a geodatabase in SQL Server
Schematic datasets are similar to feature datasets, but they contain a collection of schematic diagram templates and schematic feature classes. They are used to graphically visualize and manipulate network data.
If you are using the multiple spatial database model for SQL Server, be sure you are connected to the sde database when you create your schematic dataset.
Schematic datasets in ArcGIS for Desktop
In the Catalog tree, schematic datasets have the following icon:
When you expand a schematic dataset, you can see the schematic diagrams it contains. These diagrams have the following icon:
The names of the schematic dataset and schematic diagram in a geodatabase in SQL Server contain the database name, the name of the dataset owner, and the names of the dataset and diagram themselves.
Schematic datasets in a Microsoft SQL Server database
The following tables are used to store information on schematic datasets.
The SCH_DATASET table contains one record for each schematic dataset created in the geodatabase. The ID field in this table is used to identify the associated feature and diagram tables and appears in those table names.
Field name |
Field type |
Description |
Null? |
---|---|---|---|
ID |
integer |
Unique identifier of the schematic dataset The value in this field is the ID in the names of all the other schematic dataset tables except SCH_RELEASE and SCH_UNIQUEID. |
NOT NULL |
MAJOR |
integer |
Release number of the dataset version |
NOT NULL |
MINOR |
integer |
Minor release number of the dataset version; not used at this time |
NOT NULL |
BUGFIX |
integer |
Patch or service pack number of the dataset version; not used at this time |
NOT NULL |
DBNAME |
nvarchar(32) |
Name of the database in which the schematic dataset is stored |
|
OWNER |
nvarchar(32) |
The user who created the schematic dataset |
|
NAME |
nvarchar(128) |
The name of the schematic dataset |
NOT NULL |
LOCKINFO |
nvarchar(38) |
Used by the Schematic Dataset Editor configuration tool to avoid conflicts when multiple users are making configuration changes concurrently |
|
BLOBS |
varbinary(max) |
Stores the metadata for the schematic dataset |
The SCH_RELEASE table is not currently in use.
Field name |
Field type |
Description |
Null? |
---|---|---|---|
MAJOR |
integer |
Release number of the system tables |
NOT NULL |
MINOR |
integer |
Minor release number of the system tables; not used at this time |
NOT NULL |
BUGFIX |
integer |
Patch or service pack number of the system tables; not used at this time |
NOT NULL |
The SCH_UNIQUEID table provides unique identifiers for the indexes of schematic feature classes.
Field name |
Field type |
Description |
Null? |
---|---|---|---|
ID |
integer |
The unique identifier used when creating new diagram templates for the object class |
NOT NULL |
DUMMY |
integer |
Not currently in use |
This table stores the associations between the diagram templates and the feature types in a schematic dataset. This table is created when the schematic dataset is created.
Field name |
Field type |
Description |
Null? |
---|---|---|---|
ID |
integer |
Uniquely identifies the relationship between a diagram template and feature class |
NOT NULL |
DIAGRAMCLASSID |
integer |
Corresponds to the ID field in the SCH<ID>_DIACLASS table |
NOT NULL |
ELEMENTCLASSID |
integer |
Corresponds to the ID field in the SCH<ID>_ELTCLASS table |
NOT NULL |
This table contains a list of all the data sources accessed by the schematic dataset. This table is created when the schematic dataset is created.
Field name |
Field type |
Description |
Null? |
---|---|---|---|
ID |
integer |
Uniquely identifies a data source |
NOT NULL |
NAME |
nvarchar(255) |
Name of the data source |
NOT NULL |
CLSID |
nvarchar(38) |
Class ID of the data source component |
NOT NULL |
LABEL |
nvarchar(255) |
Not currently in use |
NOT NULL |
CONNECTION |
varbinary(max) |
Parameters of the connection; used to persist and restore the connection |
NOT NULL |
This table tracks all the diagram templates present in a schematic dataset. It contains a row for each diagram template created.
This table is created when the schematic dataset is created.
Field name |
Field type |
Description |
Null? |
---|---|---|---|
ID |
integer |
Uniquely identifies a diagram template |
NOT NULL |
OBJECTCLASSID |
integer |
Corresponds to the ID field in the SCH_UNIQUEID table |
NOT NULL |
CREATIONNAME |
nvarchar(255) |
Name of the diagram class when the table is created |
NOT NULL |
NAME |
nvarchar(255) |
Current name of the diagram class (if it was changed from the original name) Corresponds to the diagram template name in the SCH<ID>D_<DIAGRAM_TEMPLATE_NAME> table name |
NOT NULL |
PARENTID |
integer |
ID of the parent diagram class entry |
NOT NULL |
DATASOURCEID |
integer |
Corresponds to the ID field of SCH<ID>_DATASRC; only used for a diagram template based on a custom query |
|
BUILDERCLSID |
nvarchar(38) |
Class ID for the schema builder (XML, network dataset, or standard) |
|
LINKERCLSID |
nvarchar(38) |
Component managing feature to element relationship method |
|
ALGORITHMCLSID |
nvarchar(38) |
Class ID of the algorithm that is automatically applied to diagrams of this type |
|
BLOBS |
varbinary(max) |
Stores the diagram class definition parameters (builder properties, custom query, default layer properties, attributes, algorithms that are available for diagrams based on this type and their parameters, default node class, and spatial reference) |
This table maintains a list of all the feature classes for each dataset. This table is created when the schematic dataset is created. For every row in this table, one SCH<ID>E_<FEATURE_CLASS_NAME> and one SCH<ID>A_<FEATURE_CLASS_NAME> table are created.
Field name |
Field type |
Description |
Null? |
---|---|---|---|
ID |
integer |
Uniquely identifies a schematic feature class |
NOT NULL |
OBJECTCLASSID |
integer |
Corresponds to the ID in the GDB_ITEMS table |
NOT NULL |
CREATIONNAME |
nvarchar(255) |
Name of the schematic feature class when the table is created |
NOT NULL |
NAME |
nvarchar(255) |
Current name of the schematic feature class (if it changed) Corresponds to the feature class name in the SCH<ID>E_<FEATURE_CLASS_NAME> and SCH<ID>A_<FEATURE_CLASS_NAME> table names |
NOT NULL |
PARENTID |
integer |
ID of the parent element class entry |
NOT NULL |
ELEMENTTYPE |
integer |
Value specifying the type of element (such as node, link, node-on-link, or sublink) |
NOT NULL |
RELATIOINCLSID |
nvarchar(38) |
Relationship to a feature class |
|
ASSOCIATEDSID |
integer |
Data source ID of related feature class |
|
ASSOCIATEDOCID |
integer |
ID of the related feature classes from the GDB_ITEMS table |
|
DATASOURCEID |
integer |
Corresponds to the ID field in the SCH<ID>_DATASRC table; only used for a schematic feature class based on a custom query |
|
BLOBS |
varbinary(max) |
Stores the schematic feature class definition parameters (such as attributes and custom query) |
This table maintains a list of all the folders created in a dataset. This table is created when the schematic dataset is created.
Field name |
Field type |
Description |
Null? |
---|---|---|---|
ID |
integer |
Unique identifier for the folder |
NOT NULL |
NAME |
nvarchar(255) |
Name of the folder |
NOT NULL |
PFID |
integer |
ID of the parent folder if nested |
NOT NULL |
XML |
varbinary(max) |
Stores the metadata of the folder |
This table tracks the associations between a schematic feature and GIS feature. It is only used when items are associated with a schematic record in compliance with rules defined in the SCH<ID>R_<DIAGRAM_TEMPLATE_NAME> table.
Field name |
Field type |
Description |
Null? |
---|---|---|---|
ID |
integer |
Uniquely identifies the association between a schematic feature and a GIS feature |
NOT NULL |
SCHEMATICID |
integer |
Unique ID for a schematic feature |
NOT NULL |
DATASOURCEID |
integer |
Corresponds to the ID field in the SCH<ID>_DATASRC table |
|
UCID |
integer |
Class ID of the related feature |
|
UOID |
integer |
ObjectID of the related feature |
|
USID |
integer |
ID of the element in the related feature; only applicable to related features that are complex edges Identifies the segment ID on the related complex edge feature; 0 for all other kinds of related features |
|
UGUID |
integer |
GUID of the related feature (if one exists) |
This table stores a list of all diagrams created using a particular diagram template (the one indicated by the <DIAGRAM_TEMPLATE_NAME>). This table is created when its associated diagram template is created and contains one row per diagram.
Field name |
Field type |
Description |
Null? |
---|---|---|---|
ID |
integer |
Uniquely identifies a diagram |
NOT NULL |
NAME |
nvarchar(255) |
Name of the diagram |
NOT NULL |
FOLDERID |
integer |
Corresponds to the ID field in the SCH<ID>_FOLDER table |
NOT NULL |
DIAGRAMCLASSID |
integer |
Corresponds to SCH<ID>_DIACLASS table's OBJECTCLASSID field |
NOT NULL |
LASTUPDATE |
datetime2 |
Date and time of last user update |
|
VERSION |
nvarchar(255) |
If generated from versioned data, lists which version |
|
CREATIONDATE |
datetime2 |
Date and time the diagram was created |
|
CREATOR |
nvarchar(100) |
Name of the user who created the diagram |
|
UPDATEDBY |
nvarchar(100) |
Name of the user who last updated the diagram |
|
BLOBS |
varbinary(max) |
Stores the diagram parameters (such as a list of the end and root nodes and CLASSID of the last algorithm executed before saving) |
|
LOCKSTATUS |
integer |
Indicates if the diagram is currently locked or edited by a user |
|
LASTMODIFICATION |
datetime2 |
Date and time of the last time the diagram was modified |
|
MODIFIEDBY |
nvarchar(100) |
The user who last modified the diagram |
This table stores a list of all the schematic features created using a schematic feature class and used in a diagram.
Field name |
Field type |
Description |
Null? |
---|---|---|---|
ID |
integer |
Uniquely identifies an element; primary key |
NOT NULL |
DIAGRAMCLASSID |
integer |
Corresponds to the OBJECTCLASSID field in the SCH<ID>_DIACLASS table |
NOT NULL |
DIAGRAMOBJECTID |
integer |
Corresponds to the ID field in the SCH<ID>D_<Diagram_Template_Name> table |
NOT NULL |
SCHEMATICID |
nvarchar(128) |
Uniquely identifies a the schematic feature in the diagram; consists of UCID, UOID, and USID |
NOT NULL |
ISINITIAL |
integer |
Indicates whether this schematic feature was part of the initial creation list |
NOT NULL |
ISDISPLAYED |
integer |
Indicates whether this schematic feature is currently displayed |
NOT NULL |
RELATIONOBJECTID |
integer |
ObjectID of related standard feature or object in relationship |
|
RELATIONCLASSID |
integer |
Class ID of related standard feature or object in relationship |
|
DATASOURCEID |
integer |
Corresponds to the ID field in the SCH<ID>_DATASRC table |
|
UCID |
integer |
Class ID of corresponding feature or object |
|
UOID |
integer |
ObjectID of corresponding feature or object |
|
USID |
integer |
The ID of the element in the corresponding feature; only applicable to corresponding features that are complex edges. Identifies the segment ID on the corresponding complex edge feature. 0 for all other types of corresponding features. |
|
UPDATESTATUS | nvarchar(38) | Specifies if a feature is new as a result of the last update | |
SUBTYPE |
integer |
Subtype of feature |
|
PROPERTYSET |
varbinary(max) |
Holds attribute information |
|
INITIALX |
numeric |
X position of feature when created; only applicable to node schematic feature type |
|
INITIALY |
numeric |
Y position of feature when created; only applicable to node schematic feature type |
|
INITIALPOSITION |
numeric |
Initial position of feature on its related reference schematic link; only applicable to node-on-link schematic feature type |
|
REFERENCELINK | nvarchar(128) | SCHEMATICID of the reference schematic link with which the feature is associated; only applicable to node-on-link or sublink schematic feature types | |
ROTATION |
numeric(32,20) |
Symbol rotation of feature; only applicable to node or node-on-link schematic feature types |
|
FROMTID | nvarchar(128) | SCHEMATICID of the feature's origin node; only applicable to link or sublink schematic feature types | |
TOTID | nvarchar(128) | SCHEMATICID of the feature's end node; only applicable to link or sublink schematic feature types | |
FROMPORT | integer | Port number on the feature's origin node symbol that must be used to connect the feature; only applicable to link or sublink schematic feature types | |
TOPORT | integer | Port number on the feature's end node symbol that must be used to connect the feature; only applicable to link or sublink schematic feature types | |
FLOWDIRECTION | integer | Indicates the flow direction; only applicable to link or sublink schematic feature types | |
UGUID |
uniqueidentifier |
GUID of the related feature (if one exists) |
|
SHAPE |
geometry geography varbinary(max) |
Geometry of the schematic feature |
This table stores a list of all the schematic rules configured on a diagram template and is created when its associated diagram template is created but is only populated if rules are configured.
Field name |
Field type |
Description |
Null? |
---|---|---|---|
ID |
integer |
Uniquely identifies relationship rule; primary key |
NOT NULL |
ORDERNUMBER |
integer |
Indicates in which order rules will be run |
NOT NULL |
ACTIVE |
integer |
Indicates whether or not the rule is active |
NOT NULL |
CLSID |
nvarchar(38) |
Class ID of the rule |
NOT NULL |
PROPERTYSET |
varbinary(max) |
Rule properties |
NOT NULL |
View a diagram of a schematic dataset in SQL Server.
You need Adobe Acrobat Reader to open the file.
Dashed lines indicate implicit relationships between columns.
Schematic datasets in XML
Though you cannot export an entire schematic dataset to XML at once, you can export individual schematic diagrams to an XML document. The following is a partial example of such a file:
<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>