ArcGIS Server Banner

Geometric networks and network datasets in a geodatabase in SQL Server

Geometric networks and network datasets in a geodatabase in SQL Server

Release 9.3 E-mail This TopicPrintable VersionGive Us feedback

Geometric networks are collections of line (edge) and point (junction) feature classes in a feature dataset that possess a connectivity relationship. Geometric networks are used to model infrastructure, such as electirc utility lines and sewer systems.

Network datasets are also collections of feature classes that possess a connectivity relationship, but network datasets are created using three types of sources—edge feature sources, such as street centerlines, junction feature sources, such as point feature classes containing railroad crossings, and turn feature sources. They are used to model transportation. To use network datasets, you must have the Network Analyst extension installed.

The tables that get created with a network depend on whether you create a geometric network or a network dataset and also whether or not there are turns present in the network.

Networks in ArcCatalog

In the Catalog tree, feature datasets in a SQL Server database management system (DBMS) that contain geometric networks and network datasets look the same until you expand the dataset. Once the dataset is expanded, you will see either a geometric network or network dataset. For example, for a geometric network, you would see a layer similar to the following:

Geometric network in ArcCatalog (SQL Server)

In this example, hydro2_gNet is the geometric network in the dataset.

For a network dataset, you would see something similar to the following:

Network dataset in ArcCatalog (SQL Server)

Roads_ND is the network dataset. Roads_ND_Junctions are the junctions for the Roads network dataset.

Top of page

Networks in a SQL Server DBMS

Networks are tracked in system tables and network tables. The following are the system tables used for a geometric network:

Network datasets are maintained in these system tables:

See System tables of a geodatabase in SQL Server for descriptions of these tables.

In addition to these tables the network is a set of variably sized tables. The size of these tables depends on the size of the network—for example, number of junctions #J and number of edges #E.

There are 10 fixed tables per network, and they are identified by the following naming convention N_<ID>_<table_descriptor>, where the ID is the ID of the network in the GDB_Networks table; for example, N_1_<table descriptor>, N_2_<table descriptor>. The actual number of tables varies depending on what type of network you create—geometric network or network dataset—and what elements the network contains. A maximum of 21 tables could get created for a network dataset with turns and weights.

All of these tables are versioned when the network itself is versioned.

The 10 tables that are always created are the N_<ID>_Desc, N_<ID>_E<#>, N_<ID>_ESTATUS, N_<ID>_ETOPO, N_<ID>_FLODIR, N_<ID>_JDESC, N_<ID>_JSTATUS, N_<ID>_JTOPO, N_<ID>_JTOPO2, and N_<ID>_PROPS tables. (See below for descriptions.)

N_<ID>_<>

Tables in the geodatabase that begin with N_ store information about networks.

N_<ID>_DESC

The N_<ID>_Desc table describes the elements of a network. This is a normalized table whose row count is equal to the number of junctions and the number of edges in a geometric network.


Field name Field type Description
OID int The unique ID of an element in a geometric network
UserClassID smallint The ID of the feature class to which the element belongs
UserID int The object ID of the feature
UserSubID int The ID of an element in a feature; only applicable to complex edge features
ElementType smallint A code indicating the type of network element

1 = junction

2 = edge
EID int The unique element ID of the network element; the element ID is only unique for the type of network element

N_<ID>_PROPS

The N_<ID>_PROPS table contains a summary description of a a network's properties, such as element counts and maximum EID values.


Field name Field type Description
PropertyID int The unique ID of the network property
PropertyName nvarchar(32) The name of the property
PropertyValue int The value of the property

NOTE: The N_<ID>_DESC and N_<ID>_PROPS tables can be viewed in the DBMS but should not be altered using SQL/third-party applications; doing so can corrupt the network.

All of the remaining network tables contain the same field names and types. The table names and what they track are described below the table definition. Those tables that track turns are not be used in a geometric network dataset.


Field name Field type Description
OID int The unique ID of the BLOB page in the table
PageNumber int The number of the BLOB page in the table
PageBlob image The desciription for the element the table is describing, such as edge, edge status, etc.

Nulls allowed

N_<ID>_E<#>—Describe network edge weights; # = 2, 3, 4, or 5

N_<ID>_EDESC—Describes the edges in a network

N_<ID>_ESTATUS—Describes the status of each edge including its deleted and disabled states

N_<ID>_ETOPO—Describes the network edge topology or connectivity

N_<ID>_ETURN*—Indicates whether each edge participates in a turn

N_<ID>_ETURN2*—Lists which turns pass through each edge in the network

N_<ID>_FLODIR—Describes the network flow direction

N_<ID>_J<#>—Describe network junction weights; # = 0 or 1

N_<ID>_JDESC—Describes the network junctions

N_<ID>_JSTATUS—Describes the status of each network junction including its deleted and disabled states

N_<ID>_JTOPO—Describes the connectivity of junction elements with edge elements.

N_<ID>_JTOPO2—Describes the connectivity of junction elements with edge elements when there are multiple edges connected to a single junction.

N_<ID>_JTURN*—Indicates whether each junction participates in a turn

N_<ID>_JTURN2*—Lists which turns pass through each junction in the network

N_<ID>_T<#>*—Describes the weight values of each turn element

N_<ID>_TDEFN*—Defines each turn element by listing the edges and junctions that make up the turn.

N_<ID>_TDEFN2*—Overflow table for the turn element definition; for example, if multiple edges make up a turn.

N_<ID>_TDESC*—Describes the turns in a network

N_<ID>_TSTATUS*—Describes the status of each network turn, including its deleted and disabled states.

*Would not be present in a geometric network or network dataset without turns.

The following link will open a PDF diagrm of the tables involved in the hydro2_gNet geometric network shown above. The N_<ID>_* tables are related to the GDB_Networks table by way of the ID number in their names.

SQL Server geometric network diagram

You can view the tables that participate in the Roads_ND network dataset by clicking the following link:

SQL Server network dataset diagram

The N_<ID> tables are related to the GDB_NETWORKS table by way of the ID field in the GDB_NETWORKS table. (There are additional N_<ID>_E, N_<ID>_J, and N_<ID>_T tables, but due to space constraints only one of each is shown.)

Top of page

Networks in an XML document

The following is an excerpt from an XML document created by exporting from a network dataset. The edge and junction elements' properties are listed below:

<EdgeFeatureSources xsi:type="esri:ArrayOfEdgeFeatureSource">
   <EdgeFeatureSource xsi:type="esri:EdgeFeatureSource">
   <ID>1</ID> 
   <ClassID>99</ClassID> 
   <Name>sde.RJP.Road_cl</Name> 
   <ElementType>esriNETEdge</ElementType> 
   <Properties xsi:nil="true" /> 
   <FromElevationFieldName /> 
   <ToElevationFieldName /> 
   <Connectivity xsi:type="esri:PropertySet">
   <PropertyArray xsi:type="esri:ArrayOfPropertySetProperty">
   <PropertySetProperty xsi:type="esri:PropertySetProperty">
   <Key>Version</Key> 
   <Value xsi:type="xs:short">1</Value> 
     </PropertySetProperty>
   <PropertySetProperty xsi:type="esri:PropertySetProperty">
   <Key>UsesSubtypes</Key> 
     <Value xsi:type="xs:short">0</Value> 
   </PropertySetProperty>
   <PropertySetProperty xsi:type="esri:PropertySetProperty">
   <Key>ClassConnectivity</Key> 
   <Value xsi:type="xs:short">1</Value> 
     </PropertySetProperty>
   <PropertySetProperty xsi:type="esri:PropertySetProperty">
   <Key>SubtypeConnCount</Key> 
   <Value xsi:type="xs:int">0</Value> 
     </PropertySetProperty>
   <PropertySetProperty xsi:type="esri:PropertySetProperty">
   <Key>DefaultGroup</Key> 
   <Value xsi:type="xs:int">1</Value> 
     </PropertySetProperty>
   <PropertySetProperty xsi:type="esri:PropertySetProperty">
   <Key>GroupCount</Key> 
   <Value xsi:type="xs:int">0</Value> 
     </PropertySetProperty>
     </PropertyArray>
     </Connectivity>
     </EdgeFeatureSource>
     </EdgeFeatureSources>
   <JunctionFeatureSources xsi:type="esri:ArrayOfJunctionFeatureSource" /> 
   <SystemJunctionSources xsi:type="esri:ArrayOfSystemJunctionSource">
   <SystemJunctionSource xsi:type="esri:SystemJunctionSource">
   <ID>2</ID> 
   <ClassID>1683</ClassID> 
   <Name>sde.RJP.Roads_ND_Junctions</Name> 
   <ElementType>esriNETJunction</ElementType> 
   <Properties xsi:nil="true" /> 
   <ElevationFieldName /> 
     </SystemJunctionSource>
     </SystemJunctionSources>
   <TurnFeatureSources xsi:type="esri:ArrayOfTurnFeatureSource" /> 
   <EvaluatedNetworkAttributes xsi:type="esri:ArrayOfEvaluatedNetworkAttribute">
   <EvaluatedNetworkAttribute xsi:type="esri:EvaluatedNetworkAttribute">
   <ID>1</ID> 
   <Name>speed</Name> 
   <Units>Unknown</Units> 
   <DataType>esriNADTBoolean</DataType> 
   <UsageType>esriNAUTRestriction</UsageType> 
   <UserData xsi:nil="true" /> 
   <UseByDefault>true</UseByDefault> 
   <AttributeParameters xsi:type="esri:ArrayOfNetworkAttributeParameter" /> 
     </EvaluatedNetworkAttribute>
   <EvaluatedNetworkAttribute xsi:type="esri:EvaluatedNetworkAttribute">
   <ID>2</ID> 
   <Name>oneway</Name> 
   <Units>Unknown</Units> 
   <DataType>esriNADTBoolean</DataType> 
   <UsageType>esriNAUTRestriction</UsageType> 
   <UserData xsi:nil="true" /> 
   <UseByDefault>true</UseByDefault> 
   <AttributeParameters xsi:type="esri:ArrayOfNetworkAttributeParameter" /> 
     </EvaluatedNetworkAttribute>
   <EvaluatedNetworkAttribute xsi:type="esri:EvaluatedNetworkAttribute">
   <ID>3</ID> 
   <Name>timeofday</Name> 
   <Units>Unknown</Units> 
   <DataType>esriNADTInteger</DataType> 
   <UsageType>esriNAUTCost</UsageType> 
   <UserData xsi:nil="true" /> 
   <UseByDefault>true</UseByDefault> 
   <AttributeParameters xsi:type="esri:ArrayOfNetworkAttributeParameter" /> 
     </EvaluatedNetworkAttribute>
   </EvaluatedNetworkAttributes>
   <NetworkAssignments xsi:type="esri:ArrayOfNetworkAssignment">
   <NetworkAssignment xsi:type="esri:NetworkAssignment">
   <IsDefault>true</IsDefault> 
   <ID>-1</ID> 
   <NetworkAttributeName>speed</NetworkAttributeName> 
   <NetworkElementType>esriNETJunction</NetworkElementType> 
   <NetworkEvaluatorCLSID>{318C4B91-F5D2-467A-996C-0AB51B0D8FF2}</NetworkEvaluatorCLSID> 
   <NetworkEdgeDirection>esriNEDNone</NetworkEdgeDirection> 
   <NetworkEvaluatorData xsi:type="esri:PropertySet">
   <PropertyArray xsi:type="esri:ArrayOfPropertySetProperty">
     <PropertySetProperty xsi:type="esri:PropertySetProperty">
   <Key>Version</Key> 
   <Value xsi:type="xs:short">1</Value> 
   </PropertySetProperty>
   <PropertySetProperty xsi:type="esri:PropertySetProperty">
   <Key>ConstantValue</Key> 
   <Value xsi:type="xs:boolean">false</Value> 
     </PropertySetProperty>
     </PropertyArray>
     </NetworkEvaluatorData>
     </NetworkAssignment>
   <NetworkAssignment xsi:type="esri:NetworkAssignment">
   <IsDefault>true</IsDefault> 
   <ID>-1</ID> 
   <NetworkAttributeName>speed</NetworkAttributeName> 
   <NetworkElementType>esriNETEdge</NetworkElementType> 
   <NetworkEvaluatorCLSID>{318C4B91-F5D2-467A-996C-0AB51B0D8FF2}</NetworkEvaluatorCLSID> 
   <NetworkEdgeDirection>esriNEDNone</NetworkEdgeDirection> 
   <NetworkEvaluatorData xsi:type="esri:PropertySet">
   <PropertyArray xsi:type="esri:ArrayOfPropertySetProperty">
   <PropertySetProperty xsi:type="esri:PropertySetProperty">
   <Key>Version</Key> 
   <Value xsi:type="xs:short">1</Value> 
     </PropertySetProperty>
   <PropertySetProperty xsi:type="esri:PropertySetProperty">
   <Key>ConstantValue</Key> 
   <Value xsi:type="xs:boolean">false</Value> 
     </PropertySetProperty>
     </PropertyArray>
     </NetworkEvaluatorData>
     </NetworkAssignment>
   <NetworkAssignment xsi:type="esri:NetworkAssignment">
   <IsDefault>true</IsDefault> 
   <ID>-1</ID> 
   <NetworkAttributeName>speed</NetworkAttributeName> 
   <NetworkElementType>esriNETTurn</NetworkElementType> 
   <NetworkEvaluatorCLSID>{318C4B91-F5D2-467A-996C-0AB51B0D8FF2}</NetworkEvaluatorCLSID> 
   <NetworkEdgeDirection>esriNEDNone</NetworkEdgeDirection> 
   <NetworkEvaluatorData xsi:type="esri:PropertySet">
   <PropertyArray xsi:type="esri:ArrayOfPropertySetProperty">
   <PropertySetProperty xsi:type="esri:PropertySetProperty">
   <Key>Version</Key> 
   <Value xsi:type="xs:short">1</Value> 
     </PropertySetProperty>
   <PropertySetProperty xsi:type="esri:PropertySetProperty">
   <Key>ConstantValue</Key> 
   <Value xsi:type="xs:boolean">false</Value> 
     </PropertySetProperty>
     </PropertyArray>
     </NetworkEvaluatorData>
     </NetworkAssignment>
   <NetworkAssignment xsi:type="esri:NetworkAssignment">
   <IsDefault>true</IsDefault> 
   <ID>-1</ID> 
   <NetworkAttributeName>oneway</NetworkAttributeName> 
   <NetworkElementType>esriNETJunction</NetworkElementType> 
   <NetworkEvaluatorCLSID>{318C4B91-F5D2-467A-996C-0AB51B0D8FF2}</NetworkEvaluatorCLSID> 
   <NetworkEdgeDirection>esriNEDNone</NetworkEdgeDirection> 
   <NetworkEvaluatorData xsi:type="esri:PropertySet">
   <PropertyArray xsi:type="esri:ArrayOfPropertySetProperty">
   <PropertySetProperty xsi:type="esri:PropertySetProperty">
   <Key>Version</Key> 
   <Value xsi:type="xs:short">1</Value> 
     </PropertySetProperty>
   <PropertySetProperty xsi:type="esri:PropertySetProperty">
   <Key>ConstantValue</Key> 
   <Value xsi:type="xs:boolean">false</Value> 
     </PropertySetProperty>
     </PropertyArray>
     </NetworkEvaluatorData>
     </NetworkAssignment>
   <NetworkAssignment xsi:type="esri:NetworkAssignment">
   <IsDefault>true</IsDefault> 
   <ID>-1</ID> 
   <NetworkAttributeName>oneway</NetworkAttributeName> 
   <NetworkElementType>esriNETEdge</NetworkElementType> 
   <NetworkEvaluatorCLSID>{318C4B91-F5D2-467A-996C-0AB51B0D8FF2}</NetworkEvaluatorCLSID> 
   <NetworkEdgeDirection>esriNEDNone</NetworkEdgeDirection> 
   <NetworkEvaluatorData xsi:type="esri:PropertySet">
   <PropertyArray xsi:type="esri:ArrayOfPropertySetProperty">
   <PropertySetProperty xsi:type="esri:PropertySetProperty">
   <Key>Version</Key> 
   <Value xsi:type="xs:short">1</Value> 
     </PropertySetProperty>
   <PropertySetProperty xsi:type="esri:PropertySetProperty">
   <Key>ConstantValue</Key> 
   <Value xsi:type="xs:boolean">false</Value> 
     </PropertySetProperty>
     </PropertyArray>
     </NetworkEvaluatorData>
     </NetworkAssignment>
   <NetworkAssignment xsi:type="esri:NetworkAssignment">
   <IsDefault>true</IsDefault> 
   <ID>-1</ID> 
   <NetworkAttributeName>oneway</NetworkAttributeName> 
   <NetworkElementType>esriNETTurn</NetworkElementType> 
   <NetworkEvaluatorCLSID>{318C4B91-F5D2-467A-996C-0AB51B0D8FF2}</NetworkEvaluatorCLSID> 
   <NetworkEdgeDirection>esriNEDNone</NetworkEdgeDirection> 
   <NetworkEvaluatorData xsi:type="esri:PropertySet">
   <PropertyArray xsi:type="esri:ArrayOfPropertySetProperty">
   <PropertySetProperty xsi:type="esri:PropertySetProperty">
   <Key>Version</Key> 
   <Value xsi:type="xs:short">1</Value> 
     </PropertySetProperty>
   <PropertySetProperty xsi:type="esri:PropertySetProperty">
   <Key>ConstantValue</Key> 
   <Value xsi:type="xs:boolean">false</Value> 
     </PropertySetProperty>
     </PropertyArray>
     </NetworkEvaluatorData>
     </NetworkAssignment>
   <NetworkAssignment xsi:type="esri:NetworkAssignment">
   <IsDefault>true</IsDefault> 
   <ID>-1</ID> 
   <NetworkAttributeName>timeofday</NetworkAttributeName> 
   <NetworkElementType>esriNETJunction</NetworkElementType> 
   <NetworkEvaluatorCLSID>{318C4B91-F5D2-467A-996C-0AB51B0D8FF2}</NetworkEvaluatorCLSID> 
   <NetworkEdgeDirection>esriNEDNone</NetworkEdgeDirection> 
   <NetworkEvaluatorData xsi:type="esri:PropertySet">
   <PropertyArray xsi:type="esri:ArrayOfPropertySetProperty">
   <PropertySetProperty xsi:type="esri:PropertySetProperty">
   <Key>Version</Key> 
   <Value xsi:type="xs:short">1</Value> 
     </PropertySetProperty>
   <PropertySetProperty xsi:type="esri:PropertySetProperty">
   <Key>ConstantValue</Key> 
   <Value xsi:type="xs:int">0</Value> 
     </PropertySetProperty>
     </PropertyArray>
     </NetworkEvaluatorData>
     </NetworkAssignment>
   <NetworkAssignment xsi:type="esri:NetworkAssignment">
   <IsDefault>true</IsDefault> 
   <ID>-1</ID> 
   <NetworkAttributeName>timeofday</NetworkAttributeName> 
   <NetworkElementType>esriNETEdge</NetworkElementType> 
   <NetworkEvaluatorCLSID>{318C4B91-F5D2-467A-996C-0AB51B0D8FF2}</NetworkEvaluatorCLSID> 
   <NetworkEdgeDirection>esriNEDNone</NetworkEdgeDirection> 
   <NetworkEvaluatorData xsi:type="esri:PropertySet">
   <PropertyArray xsi:type="esri:ArrayOfPropertySetProperty">
   <PropertySetProperty xsi:type="esri:PropertySetProperty">
   <Key>Version</Key> 
   <Value xsi:type="xs:short">1</Value> 
     </PropertySetProperty>
   <PropertySetProperty xsi:type="esri:PropertySetProperty">
   <Key>ConstantValue</Key> 
   <Value xsi:type="xs:int">0</Value> 
     </PropertySetProperty>
     </PropertyArray>
     </NetworkEvaluatorData>
     </NetworkAssignment>
   <NetworkAssignment xsi:type="esri:NetworkAssignment">
   <IsDefault>true</IsDefault> 
   <ID>-1</ID> 
   <NetworkAttributeName>timeofday</NetworkAttributeName> 
   <NetworkElementType>esriNETTurn</NetworkElementType> 
   <NetworkEvaluatorCLSID>{318C4B91-F5D2-467A-996C-0AB51B0D8FF2}</NetworkEvaluatorCLSID> 
   <NetworkEdgeDirection>esriNEDNone</NetworkEdgeDirection> 
   <NetworkEvaluatorData xsi:type="esri:PropertySet">
   <PropertyArray xsi:type="esri:ArrayOfPropertySetProperty">
   <PropertySetProperty xsi:type="esri:PropertySetProperty">
   <Key>Version</Key> 
   <Value xsi:type="xs:short">1</Value> 
     </PropertySetProperty>
   <PropertySetProperty xsi:type="esri:PropertySetProperty">
   <Key>ConstantValue</Key> 
   <Value xsi:type="xs:int">0</Value> 
     </PropertySetProperty>
     </PropertyArray>
     </NetworkEvaluatorData>
     </NetworkAssignment>
   </NetworkAssignments>
 <ConfigurationKeyword>NETWORK_DEFAULTS</ConfigurationKeyword> 
  </DataElement>

For a geometric network, the data element in an XML document is listed as type GeometricNetwork. The following is a portion of the XML document exported from the hydro2 dataset.

<DataElement xsi:type="esri:DEGeometricNetwork">
     <CatalogPath>/V=sde.DEFAULT/FD=sde.RJP.hydro2/GN=sde.RJP.hydro2_gNet</CatalogPath> 
  <Name>sde.RJP.hydro2_gNet</Name> 
  <MetadataRetrieved>true</MetadataRetrieved> 
  <Metadata xsi:type="esri:XmlPropertySet">
  <XmlDoc><?xml version="1.0"?> <metadata xml:lang="en"><Esri><MetaID>{A4750260-72E0-4B84-9E59-A28ED020FBCF}</MetaID><CreaDate>20060530</CreaDate><CreaTime>14011400</CreaTime><SyncOnce>TRUE</SyncOnce></Esri></metadata></XmlDoc> 
     </Metadata>
  <DatasetType>esriDTGeometricNetwork</DatasetType> 
  <DSID>-1</DSID> 
  <Versioned>false</Versioned> 
  <CanVersion>true</CanVersion> 
  <Extent xsi:type="esri:EnvelopeN" /> 
  <SpatialReference xsi:type="esri:ProjectedCoordinateSystem">
     <WKT>PROJCS["World_Mercator",GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Mercator"],PARAMETER["False_Easting",0.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",0.0],PARAMETER["Standard_Parallel_1",0.0],UNIT["Meter",1.0]]</WKT> 
  <XOrigin>-147.84354555</XOrigin> 
  <YOrigin>-0.843545550000002</YOrigin> 
  <XYScale>160000000</XYScale> 
  <ZOrigin>0</ZOrigin> 
  <ZScale>1</ZScale> 
  <MOrigin>0</MOrigin> 
  <MScale>1</MScale> 
  <XYTolerance>0.0002</XYTolerance> 
  <ZTolerance>4.7683715798108E-03</ZTolerance> 
  <MTolerance>2</MTolerance> 
  <HighPrecision>true</HighPrecision> 
     </SpatialReference>
  <NetworkType>esriNTUtilityNetwork</NetworkType> 
  <OrphanJunctionFeatureClassName /> 
  <FeatureClassNames xsi:type="esri:Names" /> 
  <ConnectivityRules xsi:type="esri:ArrayOfConnectivityRule" /> 
  <NetworkWeights xsi:type="esri:ArrayOfNetWeight" /> 
  <WeightAssociations xsi:type="esri:ArrayOfNetWeightAssociation" /> 
     </DataElement>

Top of page

See Also

  • Feature datasets in a geodatabase in SQL Server