Schematic datasets in a geodatabase in PostgreSQL

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.

Schematic datasets in ArcGIS Desktop

In the Catalog tree, schematic datasets have the following icon:

Schematic dataset icon

When you expand a schematic dataset, you can see the schematic diagrams it contains. These diagrams have the following icon:

Schematic diagram icon

The names of the schematic dataset and schematic diagram in a geodatabase in PostgreSQL contain the database name, the name of the dataset owner, and the names of the dataset and diagram themselves.

Schematic datasets in a PostgreSQL database

The following tables are used to store information on schematic datasets.

sch_dataset

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

bugfix

integer

Patch or service pack number of the dataset version; not used at this time

NOT NULL

dbname

varchar(32)

Name of the database in which the schematic dataset is stored

owner

varchar(32)

The user who created the schematic dataset

name

varchar(128)

The name of the schematic dataset

NOT NULL

lockinfo

varchar(38)

Used by the Schematic Dataset Editor configuration tool to avoid conflicts when multiple users are making configuration changes concurrently

blobs

bytea

Stores the metadata for the schematic dataset

sch_release

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

sch_uniqueid

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

sch<id>_clsentry

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

sch<id>_datasrc

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

varchar(255)

Name of the data source

NOT NULL

clsid

varchar(38)

Class ID of the data source component

NOT NULL

label

varchar(255)

Not currently in use

connection

bytea

Parameters of the connection; used to persist and restore the connection

NOT NULL

sch<id>_diaclass

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

varchar(255)

Name of the diagram class when the table is created

NOT NULL

name

varchar(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 the sch<id>_datasrc table; only used for a diagram template based on a custom query

builderclsid

varchar(38)

Class ID for the schema builder (XML, network dataset, or standard)

linkerclsid

varchar(38)

Component managing feature to element relationship method

algorithmclsid

varchar(38)

Class ID of the algorithm that is automatically applied to diagrams of this type

blobs

bytea

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, spatial reference)

sch<id>_eltclass

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 field in gdb_items table

NOT NULL

creationname

varchar(255)

Name of the schematic feature class when the table is created

NOT NULL

name

varchar(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

relationclsid

varchar(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

bytea

Stores the schematic feature class definition parameters (such as attributes and custom query)

sch<id>_folder

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

varchar(255)

Name of the folder

NOT NULL

pfid

integer

ID of the parent folder if nested

NOT NULL

xml

bytea

Stores the metadata of the folder

sch<id>a_<feature_class_name>

This table tracks the associations between a schematic feature and GIS feature. It is only used when items are associated to 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)

sch<id>d_<diagram_template_name>

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

varchar(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 the objectclassid field in the sch<id>_diaclass table

NOT NULL

lastupdate

timestamp without time zone

Date and time of last user update

version

varchar(255)

If generated from versioned data, lists which version

creationdate

timestamp without time zone

Date and time the diagram was created

creator

varchar(100)

Name of the user who created the diagram

updatedby

varchar(100)

Name of the user who last updated the diagram

blobs

bytea

Stores diagram parameters such as a list of the end and root nodes and the classid of the last algorithm executed before saving

lockstatus

integer

Indicates if the diagram is currently locked or edited by a user

lastmodification

timestamp without time zone

Date and time the diagram was last modified

modifiedby

varchar(100)

User who last modified the diagram

sch<id>e_<feature_class_name>

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 a schematic feature; primary key

NOT NULL

diagramclassid

integer

Corresponds to the objectclassid field in the sch<id>_diaclass table's

NOT NULL

diagramobjectid

integer

Corresponds to the id field in the sch<id>d_<diagram_template_name> table

NOT NULL

schematicid

varchar(128)

Uniquely identifies the schematic feature in the diagram; consists of ucid, uoid, and usid when the schematic feature is created by the standard builder

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 kinds of corresponding features.

updatestatus

integer

Specifies if a feature is new as a result of the last update

subtype

integer

Subtype of feature

propertyset

bytea

Holds attribute information

initialx

numeric(32,20)

X position of feature when created; only applicable to node schematic feature type

initialy

numeric(32,20)

Y position of feature when created; only applicable to node schematic feature type

initialposition

numeric(32,20)

Initial position of feature on its related reference schematic link; only applicable to node-on-link schematic feature type

referencelink

varchar(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

varchar(128)

Schematicid of the feature's origin node; only applicable to link or sublink schematic feature types

totid

varchar(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

varchar(38)

GUID of th e related feature (if one exists)

shape

st_geometry

geometry

Geometry of the schematic feature class

sch<id>r_<diagram_template_name>

This table stores a list of all the schematic rules configured on a diagram template. This table 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

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

varchar(38)

Class id of the rule

NOT NULL

propertyset

bytea

Rule properties

View a diagram of a schematic dataset in PostgreSQL.

NoteNote:

You need Adobe Acrobat Reader to open the file.

Dashed lines indicate implicit relationships between columns.

Schematic datasets in an XML workspace document

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.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>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>

Related Topics


8/19/2013