5.13 Network Data Model Tables

The connectivity information for a spatial network is stored in two tables: a node table and a link table. In addition, path information can be stored in a path table and a path-link table.

You can have Spatial create these tables automatically when you create the network using a CREATE_<network-type>_NETWORK procedure; or you can create these tables using the SDO_NET.CREATE_NODE_TABLE, SDO_NET.CREATE_LINK_TABLE, SDO_NET.CREATE_PATH_TABLE, and SDO_NET.CREATE_PATH_LINK_TABLE procedures.

These tables contain columns with predefined names, and you must not change any of the predefined column names; however, you can add columns to the tables by using the ALTER TABLE statement with the ADD COLUMN clause. For example, although each link and path table is created with a single COST column, you can create additional columns and associate them with other comparable attributes. Thus, to assign a driving time, scenic appeal rating, and a danger rating to each link, you could use the COST column for driving time, add columns for SCENIC_APPEAL and DANGER to the link table, and populate all three columns with values to be interpreted by applications.

The following considerations apply to schema, table, and column names that are stored in any Oracle Spatial metadata views. For example, these considerations apply to the names of node, link, path, and path-link tables, and to the names of any columns in these tables that are stored in the network metadata views described in Network Data Model and Network Feature Editing (NFE) Model Metadata Views.

  • The name must contain only letters, numbers, and underscores. For example, the name cannot contain a space ( ), an apostrophe ('), a quotation mark ("), or a comma (,).

  • All letters in the names are converted to uppercase before the names are stored in metadata views or before the tables are accessed. This conversion also applies to any schema name specified with the table name.

5.13.1 Network Layer Tables

The metadata tables in this section are not related to feature modeling.

5.13.1.1 Node Table

Each network has a node table that can contain the columns described in Table 5-6. (The specific columns depend on the network type and whether the network is hierarchical or not.)

Table 5-6 Node Table Columns

Column Name Data Type Description

NODE_ID

NUMBER

ID number that uniquely identifies this node within the network

NODE_NAME

VARCHAR2(32)

Name of the node

NODE_TYPE

VARCHAR2(24)

User-defined string to identify the node type

ACTIVE

VARCHAR2(1)

Contains Y if the node is active (visible in the network), or N if the node is not active.

PARTITION_ID

NUMBER

(Not used. Instead, node and partition relationships are stored in the partition table, which is described in Partition Table.)

<node_geometry_column>, or GEOM_ID and MEASURE

SDO_GEOMETRY, or SDO_TOPO_GEOMETRY, or NUMBER

For a spatial (SDO, non-LRS) network, the SDO_GEOMETRY object associated with the node

For a spatial topology network, the SDO_TOPO_GEOMETRY object associated with the node

For a spatial LRS network, GEOM_ID and MEASURE column values (both of type NUMBER) for the geometry objects associated with the node

For a logical network, this column is not used.

For a spatial SDO or topology network, the actual column name is either a default name or what you specified as the geom_column parameter value in the call to the SDO_NET.CREATE_NODE_TABLE procedure.

<node_cost_column>

NUMBER

Cost value to be associated with the node, for use by applications that use the network. The actual column name is either a default name or what you specified as the cost_column parameter value in the call to the SDO_NET.CREATE_NODE_TABLE procedure. The cost value can represent anything you want, for example, the toll to be paid at a toll booth.

HIERARCHY_LEVEL

NUMBER

For hierarchical networks only: number indicating the level in the network hierarchy for this node. (Network Hierarchy explains network hierarchy.)

PARENT_NODE_ID

NUMBER

For hierarchical networks only: node ID of the parent node of this node. (Network Hierarchy explains network hierarchy.)

5.13.1.2 Link Table

Each network has a link table that contains the columns described in Table 5-7.

Table 5-7 Link Table Columns

Column Name Data Type Description

LINK_ID

NUMBER

ID number that uniquely identifies this link within the network

LINK_NAME

VARCHAR2(32)

Name of the link

START_NODE_ID

NUMBER

Node ID of the node that starts the link

END_NODE_ID

NUMBER

Node ID of the node that ends the link

LINK_TYPE

VARCHAR2(24)

User-defined string to identify the link type

ACTIVE

VARCHAR2(1)

Contains Y if the link is active (visible in the network), or N if the link is not active.

LINK_LEVEL

NUMBER

Priority level for the link; used for network analysis, so that links with higher priority levels can be considered first in computing a path

<link_geometry_column>; or GEOM_ID, START_MEASURE, and END_MEASURE

SDO_GEOMETRY, or SDO_TOPO_GEOMETRY, or NUMBER

For a spatial (SDO, non-LRS) network, the SDO_GEOMETRY object associated with the link

For a spatial topology network, the SDO_TOPO_GEOMETRY object associated with the link

For a spatial LRS network, GEOM_ID, START_MEASURE, and END_MEASURE column values (all of type NUMBER) for the geometry objects associated with the link

For a logical network, this column is not used.

For a spatial SDO or topology network, the actual column name is either a default name or what you specified as the geom_column parameter value in the call to the SDO_NET.CREATE_LINK_TABLE procedure.

<link_cost_column>

NUMBER

Cost value to be associated with the link, for use by applications that use the network. The actual column name is either a default name or what you specified as the cost_column parameter value in the call to the SDO_NET.CREATE_LINK_TABLE procedure. The cost value can represent anything you want, for example, the estimated driving time for the link.

PARENT_LINK_ID

NUMBER

For hierarchical networks only: link ID of the parent link of this link. (Network Hierarchy explains parent-child relationships in a network hierarchy.)

BIDIRECTED

VARCHAR2(1)

For directed networks only: contains Y if the link is undirected (that is, can be traversed either from the start node to the end node or from the end node to the start node), or N if the link is directed (in one direction only, from the start node to the end node).

5.13.1.3 Path Table

Each network can have a path table. A path is an ordered sequence of links, and is usually created as a result of network analysis. A path table provides a way to store the result of this analysis. For each path table, you must create an associated path-link table (described in Path-Link Table). Each path table contains the columns described in Table 5-8.

Table 5-8 Path Table Columns

Column Name Data Type Description

PATH_ID

NUMBER

ID number that uniquely identifies this path within the network

PATH_NAME

VARCHAR2(32)

Name of the path

PATH_TYPE

VARCHAR2(24)

User-defined string to identify the path type

START_NODE_ID

NUMBER

Node ID of the node that starts the first link in the path

END_NODE_ID

NUMBER

Node ID of the node that ends the last link in the path

COST

NUMBER

Cost value to be associated with the path, for use by applications that use the network. The cost value can represent anything you want, for example, the estimated driving time for the path.

SIMPLE

VARCHAR2(1)

Contains Y if the path is a simple path, or N if the path is a complex path. In a simple path, the links form an ordered list that can be traversed from the start node to the end node with each link visited once. In a complex path, there are multiple options for going from the start node to the end node.

<path_geometry_column>

SDO_GEOMETRY

For all network types except logical, the geometry object associated with the path. The actual column name is either a default name or what you specified as the geom_column parameter value in the call to the SDO_NET.CREATE_PATH_TABLE procedure.

For a logical network, this column is not used.

5.13.1.4 Path-Link Table

For each path table (described in Path Table), you must create a path-link table. Each row in the path-link table uniquely identifies a link within a path in a network; that is, each combination of PATH_ID, LINK_ID, and SEQ_NO values must be unique within the network. The order of rows in the path-link table is not significant. Each path-link table contains the columns described in Table 5-9.

Table 5-9 Path-Link Table Columns

Column Name Data Type Description

PATH_ID

NUMBER

ID number of the path in the network

LINK_ID

NUMBER

ID number of the link in the network

SEQ_NO

NUMBER

Unique sequence number of the link in the path. (The sequence numbers start at 1.) Sequence numbers allow paths to contain repeating nodes and links.

5.13.1.5 Subpath Table

Each path can have one or more associated subpaths, and information about all subpaths in a network is stored in the subpath table. A subpath is a partial path along a path, as explained in Network Data Model Concepts. The subpath table contains the columns described in Table 5-10.

Table 5-10 Subpath Table Columns

Column Name Data Type Description

SUBPATH_ID

NUMBER

ID number that uniquely identifies this subpath within the reference path

SUBPATH_NAME

VARCHAR2(32)

Name of the subpath

SUBPATH_TYPE

VARCHAR2(24)

User-defined string to identify the subpath type

REFERENCE_PATH_ID

NUMBER

Path ID number of the path that contains this subpath

START_LINK_INDEX

NUMBER

Link ID of the link used to define the start of the subpath. For example, in Figure 5-2 in Network Data Model Concepts, the START_LINK_INDEX is 0, and the START_PERCENTAGE is 0.65.

END_LINK_INDEX

NUMBER

Link ID of the link used to define the end of the subpath. For example, in Figure 5-2 in Network Data Model Concepts, the END_LINK_INDEX is 6, and the END_PERCENTAGE is 0.5.

START_PERCENTAGE

NUMBER

Percentage of the distance between START_LINK_INDEX and the next link in the path, representing the start point of the subpath. Can be a positive or negative number. For example, in Figure 5-2 in Network Data Model Concepts, the START_LINK_INDEX is 0, and the START_PERCENTAGE is 0.65. ("Percentage" values in this case are expressed as between 0 and 1.0, so 0.65 is 65 percent.)

END_PERCENTAGE

NUMBER

Percentage of the distance between END_LINK_INDEX and the next link in the path, representing the end point of the subpath. Can be a positive or negative number. For example, in Figure 5-2 in Network Data Model Concepts, the END_LINK_INDEX is 6, and the END_PERCENTAGE is 0.5. ("Percentage" values in this case are expressed as between 0 and 1.0, so 0.5 is 50 percent.)

COST

NUMBER

Cost value to be associated with the subpath, for use by applications that use the network. The cost value can represent anything you want, for example, the estimated driving time for the path.

GEOM

SDO_GEOMETRY

For all network types except logical, the geometry object associated with the subpath. The actual column name is either a default name or what you specified as the geom_column parameter value in the call to the SDO_NET.CREATE_SUBPATH_TABLE procedure.

For a logical network, this column is not used.

5.13.1.6 Partition Table

Each partitioned network has a partition table. For information about partitioned networks, see Network Analysis Using Load on Demand. Each partition table contains the columns described in Table 5-11.

Table 5-11 Partition Table Columns

Column Name Data Type Description

NODE_ID

NUMBER

ID number of the node

PARTITION_ID

NUMBER

ID number of the partition. Must be unique within the network.

LINK_LEVEL

NUMBER

Link level (Link level reflects the priority level for the link, and is used for network analysis, so that links with higher priority levels can be considered first in computing a path.)

5.13.1.7 Partition BLOB Table

Each partitioned network can have a partition BLOB table, which stores binary large object (BLOB) representations for each combination of link level and partition ID in the network. Having BLOB representations of partitions enables better performance for network load on demand analysis operations. To create the partition BLOB table, use the SDO_NET.GENERATE_PARTITION_BLOBS procedure, where you specify the partition BLOB table name as one of the parameters. For information about partitioned networks, see Network Analysis Using Load on Demand.

Note:

You should never directly modify the partition BLOB table. This table is automatically updated as a result of calls to the SDO_NET.GENERATE_PARTITION_BLOBS and SDO_NET.GENERATE_PARTITION_BLOB procedures.

Each partition table contains the columns described in Table 5-12.

Table 5-12 Partition BLOB Table Columns

Column Name Data Type Description

LINK_LEVEL

VARCHAR2(32)

Link level (Link level reflects the priority level for the link, and is used for network analysis, so that links with higher priority levels can be considered first in computing a path.)

PARTITION_ID

NUMBER

ID number of the partition

BLOB

BLOB

Binary large object (BLOB) representing the specified link level within the specified partition

NUM_INODES

NUMBER

Number of internal nodes in the BLOB (that is, total number of nodes in the BLOB)

NUM_ENODES

NUMBER

Number of external nodes. An external node is a node that is outside the BLOB, but is one end of a link in which the other node is inside the BLOB.

NUM_ILINKS

NUMBER

Number of internal links in the BLOB (that is, links completely inside the BLOB)

NUM_ELINKS

NUMBER

Number of external links. An external link is a link in which one node is internal (inside the BLOB) and one node is external (outside the BLOB).

NUM_INLINKS

NUMBER

Number of incoming links. An incoming link is an external link in which the start node is outside the BLOB and the end node is inside the BLOB.

NUM_OUTLINKS

NUMBER

Number of outgoing links. An outgoing link is an external link in which the start node is inside the BLOB and the end node is outside the BLOB.

USER_DATA_INCLUDED

VARCHAR2(1)

Contains Y if the BLOB can include user data, or N if the BLOB cannot include user data.

5.13.1.8 Connected Component Table

Each network can have a connected component table, which stores the component ID for each node. Nodes of the same connected component have the same component ID. Having this information in the table enables better performance for many network analysis operations. To create the connected component table, and to update the contents of the table at any time afterwards, use the SDO_NET.FIND_CONNECTED_COMPONENTS procedure, where you specify the connected component table name as one of the parameters. For more information about using the precomputed information about connected components, see Precomputed Analysis Results.

Each connected component table contains the columns described in Table 5-13.

Table 5-13 Connected Component Table Columns

Column Name Data Type Description

LINK_LEVEL

NUMBER

Link level of the component assignment. (Link level reflects the priority level for the link, and is used for network analysis, so that links with higher priority levels can be considered first in computing a path.)

NODE_ID

NUMBER

ID number of the node from which to compute all other components that are reachable.

COMPONENT_ID

NUMBER

ID number of a component that is reachable from the specified node.

5.13.1.9 Node Hierarchy Table (Optional)

Each network can have a node hierarchy table, which stores parent-child relationships if the network has a hierarchy (explained in Network Hierarchy).

If the node hierarchy table exists, it contains the columns described in Table 5-14.

Table 5-14 Node Hierarchy Table Columns

Column Name Data Type Description

PARENT_ID

NUMBER

Parent node ID, that is, the node ID in the parent network, or the group, cluster, or partition ID in the child network.

CHILD_ID

NUMBER

Child ID, that is, the node ID in the child network.

LINK_LEVEL

NUMBER

Link level on which the parent-child relationship is defined. A network on a higher link level is a subnetwork of that on a lower link level. A network on link level n consists of only links with link level greater than or equal to n.

5.13.1.10 Node Level Table (Optional)

Each network can have a node level table, which stores information on the maximum link level for each higher level node (that is, a node whose maximum link level is greater than 1). The node level table is only useful for multilevel networks; it makes loading partitions from node and link tables faster.

If the node level table exists, it contains the columns described in Table 5-15.

Table 5-15 Node Level Table Columns

Column Name Data Type Description

NODE_ID

NUMBER

ID of a node whose maximum link level is greater than 1

LINK_LEVEL

NUMBER

Maximum link level to which the node is connected.

5.13.1.11 Network Buffer Schema

Each network buffer consists of user tables that describe its metadata, cost, and coverage information. These network buffer tables have a table prefix which is user provided. They also contain a set of predefined postfixes.

When you write a network buffer to the database for the first time, the writeNetworkBuffer() function will automatically create the following tables. Note, you can also append additional network buffers to the existing network buffer tables.

5.13.1.11.1 <prefix>_NBR$

The <prefix>_NBR$ table provides information of a network buffer and its buffer cost and direction.

Table 5-16 <prefix>_NBR$ Table Columns

Column Name Data Type Description
BUFFER_ID NUMBER Network buffer ID
RADIUS NUMBER Maximum cost the network buffer covers
DIRECTION VARCHAR2(1) Direction of the network buffer. The supported values are:
  • F: Forward
  • B: Backward
5.13.1.11.2 <prefix>_NBCL$

The <prefix>_NBCL$ table provides information of a network buffer and its buffer center location on a link.

Table 5-17 <prefix>_NBCL$ Table Columns

Column Name Data Type Description
BUFFER_ID NUMBER Network buffer ID
LINK_ID NUMBER Link ID located by the buffer center
PERCENTAGE NUMBER Link percentage located by the buffer center
5.13.1.11.3 <prefix>_NBCN$

The <prefix>_NBCN$ table provides information of a network buffer and its buffer center location on a node.

Table 5-18 <prefix>_NBCN$ Table Columns

Column Name Data Type Description
BUFFER_ID NUMBER Network buffer ID
NODE_ID NUMBER Node ID located by the buffer center
5.13.1.11.4 <prefix>_NBN$

The <prefix>_NBN$ table provides information of a network buffer and the nodes it covers.

Table 5-19 <prefix>_NBN$ Table Columns

Column Name Data Type Description
BUFFER_ID NUMBER Network buffer ID
NODE_ID NUMBER Node ID covered by the network buffer
COST NUMBER Minimum cost between the buffer center and the covered node
5.13.1.11.5 <prefix>_NBL$

The <prefix>_NBL$ table provides information of a network buffer and the links it covers.

Table 5-20 <prefix>_NBL$ Table Columns

Column Name Data Type Description
BUFFER_ID NUMBER Network buffer ID
LINK_ID NUMBER Link ID covered by the network buffer
PREV_LINK_ID NUMBER Previous shortest path link ID of the covered link
START_PERCENTAGE NUMBER Start percentage of the covered link
END_PERCENTAGE NUMBER End percentage of the covered link
START_COST NUMBER Minimum cost between the buffer center and the start of the covered link
END_COST NUMBER Minimum cost between the buffer center and the end of the covered link

5.13.2 Feature Layer Tables

The tables in this section are related to feature modeling (see Feature Modeling). These tables are used to describe each registered feature layer.

In most applications, the tables containing feature entity information, feature to network relationships, or feature hierarchy relationships already exist, although the table schema may be different from that of the NDM tables. In such cases, you can create views to map the existing table schema to the NDM table schema.

5.13.2.1 Feature Table

A feature table contains feature entity information. Each feature table must contain a FEATURE_ID column. Other feature attributes that are potentially useful during feature analysis can be registered as user data.

Each feature table contains the columns described in Table 5-21.

Table 5-21 Feature Table Columns

Column Name Data Type Description

FEATURE_ID

NUMBER

ID of the feature.

(Additional columns as needed)

(As appropriate)

(Other feature attributes that are potentially useful during feature analysis)

5.13.2.2 Feature Element Relationships Table

The feature element relationships table contains information about the relationships between feature elements and network elements (nodes and links).

The feature element relationships table contains the columns described in Table 5-22.

Table 5-22 Feature Element Relationships Table Columns

Column Name Data Type Description

FEATURE_ID

NUMBER

ID of the feature.

FEAT_ELEM_TYPE

NUMBER

Feature element type. One of the following: 1 for SDO_NET. FEAT_ELEM_TYPE_PON (point on node) ; 2 for SDO_NET. FEAT_ELEM_TYPE_POL (point on link); 3 for SDO_NET. FEAT_ELEM_TYPE_LINE (line).

NET_ELEM_ID

NUMBER

ID of the network element (node or link) associated with this feature element.

START_PERCENTAGE

NUMBER

Start percentage along NET_ELEM_ID for this feature element (ignored for point on node feature elements).

END_PERCENTAGE

NUMBER

End percentage along NET_ELEM_ID for this feature element (ignored for point on node and point on line feature elements).

SEQUENCE

NUMBER

Sequence number of the feature element.

5.13.2.3 Feature Hierarchy Table

The feature hierarchy table contains feature hierarchy information. Child features can belong to different feature layers.

The feature hierarchy table contains the columns described in Table 5-23.

Table 5-23 Feature Hierarchy Table Columns

Column Name Data Type Description

PARENT_ID

NUMBER

ID of the parent feature.

CHILD_LAYER_ID

NUMBER

Feature layer ID of the child feature.

CHILD_ID

NUMBER

ID of the child feature.

SEQUENCE

NUMBER

Sequence number of the child feature.

5.13.3 Network Feature Editing (NFE) Model Tables

The tables in this section are related to feature manipulation using Network Feature Editing (NFE) (see Feature Modeling Using Network Feature Editing (NFE)). These tables are used to describe each NFE model.

In most cases, these tables are created or updated automatically when a new NFE Model is created using the PL/SQL function SDO_NFE.CREATE_MODEL_STRUCTURE or the Java API; but you can also manually create the tables or views and register them to the desired model.

5.13.3.1 Automatically Created Points Default Attributes Table

The automatically created points default attributes table contains information about the default values for the attributes of automatically created points as the result of the execution of a connectivity line-line rule.

. The following table describes the columns of the automatically created points default attributes table. When an NFE model is created, the name by default given to this kind of table is POINT_ATTR_DEF_[model_id]$.

Table 5-24 Automatically Created Points Default Attributes Table Columns

Column Name Data Type Description

ID

NUMBER

Primary key. Default value identifier.

LINE_LINE_RULE_ID

NUMBER

Foreign key. An existing line-line rule identifier. Refers to the ID column in the line-line rules table.

ATTRIBUTE_NAME

VARCHAR(50)

A point feature class attribute name. Refers to the DATA_NAME column in the xxx_SDO_NETWORK_USER_DATA view.

DEFAULT_VALUE

VARCHAR(100)

Default value for the point's attribute.

5.13.3.2 Connectivity Line-Line Rules Table

The connectivity line-line rules table contains the information about the definition of connectivity line-line rules applicable to features involved in an NFE model.

This definition depicts how two line features (described in a line-point rule) must interact in order to be connected each other.

The following table describes the columns of a connectivity line-line rules table When an NFE model is created, the name by default given to this kind of table is LINE_LINE_RULE_[model_id]$.

Table 5-25 Connectivity Line-Line Rules Table Columns

Column Name Data Type Description

ID

NUMBER

Primary key. Line-line rule identifier.

LINE_POINT_1_ID

NUMBER

Foreign key. An existing line-point rule identifier. Refers to the ID column from a line point rules table.

LINE_POINT_2_ID

NUMBER

Foreign key. An existing line-point rule identifier. Refers to the ID column from a line point rules table.

INTERACTION

NUMBER

Interaction type between the two lines. Posible values: 1 = Crosses, 2 = Touches end points, 3 = Touches middle points, 4 = Touches any point, 5 = Any interact

DECISION_HANDLER_ID

NUMBER

Foreign key. The ID of the decision handler (if any) associated with the rule. Refrs to the ID column in the rules decision handler table.

CREATE_POINT

VARCHAR2(1)

Specifies whether the connection point should be created automatically or not when the interaction among feature lines occurs. Possible values: ‘Y’, ‘N’.

5.13.3.3 Connectivity Line-Point Rules Table

The connectivity line-point rules table contains the information about the definition of connectivity line-point rules applicable to features involved in an NFE model.

This definition includes specifications of feature layer, feature class, and feature attributes conditions for both line and point interacting features that can be connected.

The following table describes the columns of a connectivity line-point rules table When an NFE model is created, the name by default given to this kind of table is LINE_POINT_RULE_[model_id]$.

Table 5-26 Connectivity Line-Point Rules Table Columns

Column Name Data Type Description

ID

NUMBER

Primary key. Line-point rule identifier.

LINE_FEATURE_LAYER_ID

NUMBER

Feature layer identifier to which the line belongs. Refers to the xxx_SDO_NETWORK_FEATURE table. A value of -1 means all feature layers.

LINE_FEATURE_CLASS_ID

NUMBER

Feature class identifier for the line to which the rule will be applied. A value of -1 means all feature classes.

LINE_ATTRIBUTE_CONDITION

VARCHAR2(200)

Condition to be evaluated in the rule over the feature line attributes. Example: MATERIAL = 'IRON'

POINT_FEATURE_LAYER_ID

NUMBER

Feature layer identifier to which allowed connection point belongs. Refers to the xxx_SDO_NETWORK_FEATURE table.

POINT_FEATURE_CLASS_ID

NUMBER

Feature class identifier for the allowed connection point. A value of -1 means all feature classes.

DECISION_HANDLER_ID

NUMBER

Foreign key. The ID of the decision handler (if any) associated with the rule. Refers to the ID column from the rule decision handler table.

MAX_IN_CONN

NUMBER

Maximum number of incoming lines that can be connected to the point.

MAX_OUT_CONN

NUMBER

Maximum number of outgoing lines that can be connected to the point.

MIN_IN_CONN

NUMBER

Minimum number of incoming lines that must be connected to the point

MIN_OUT_CONN

NUMBER

Minimum number of outgoing lines that must be connected to the point

SOURCE

NUMBER

Indicates whether the rule was created by the user or by a line-line rule. Possible values are: 1 = User, 2=Line-Line Rule. The default value is 1.

ID

NUMBER

Primary key. Line-line rule identifier.

5.13.3.4 Feature Class Table

A feature class is related to a feature. A feature class table contains the records of all feature classes from a feature layer, and must contain the columns described in the following table.

When an NFE model is created, the name by default given to this kind of table is FT_CLASS_[model_id]$.

Table 5-27 Feature Class Table Columns

Column Name Data Type Description

ID

NUMBER

Primary key. Feature class identifier

NAME

VARCHAR2(50)

Feature class name

FEATURE_LAYER_ID

NUMBER

Feature layer identifier. Reference to xxx_SDO_NETWORK_FEATURE table.

SHAPE

NUMBER

Feature class shape type. Possible values: SDO_NFE.FT_CLASS_POINT (1), SDO_NFE.FT_CLASS_SIMPLE_LINE (2), SDO_NFE.FT_CLASS_COMPLEX_LINE (3), SDO_NFE.FT_CLASS_PATH (4).

STYLE

VARCHAR2(50)

Feature class style. Reference to xxx_SDO_STYLES table.

5.13.3.5 Feature Class Attributes Constraints Table

The feature class attributes constraints table contains information about user restrictions over feature class attributes, which are the same attributes defined for the feature layer that the feature class belongs to.

This table must contain the columns described in the following table. When an NFE model is created, the name by default given to this kind of table is FT_CLASS_ATTR_CSTR_[model_id]$.

Table 5-28 Feature Class Attributes Constraints Table Columns

Column Name Data Type Description

ID

NUMBER

Primary key. Constraint identifier.

FEATURE_CLASS_ID

NUMBER

Foreign key. Feature class identifier. Reference to feature class table.

ATTRIBUTE_NAME

VARCHAR2(50)

Name of the attribute to be restricted. Reference to DATA_NAME column from the xxx_SDO_NETWORK_USER_DATA view.

DEFAULT_VALUE

VARCHAR2(100)

Default value for the specified attribute (attribute_name).

VISIBLE

VARCHAR2(1)

Specifies whether the attribute must be visible or not.

EDITABLE

VARCHAR2(1)

Specifies whether the attribute must be editable or not.

5.13.3.6 Feature Class Default Predefined Connected Points Table

The feature class default predefined connected points table contains the information about such default connected point features along a line feature described by a feature class.

A Line Feature Class can be defined with points connected by default. The following table describes the columns of a feature class default predefined connected points table. When an NFE model is created, the name by default given to this kind of table is FT_CLASS_DEF_CON_PT_[model_id]$.

Table 5-29 Feature Class Default Predefined Connected Points Table Columns

Column Name Data Type Description

ID

NUMBER

Primary key. Default connected point identifier.

LINE_FEATURE_CLASS_ID

NUMBER

Foreign key. Line feature class identifier. Refers to the ID column in the feature class table.

POINT_FEATURE_CLASS_ID

NUMBER

Foreign key. Point feature class identifier. Refers to the ID column in the feature class table.

POSITION_PERCENTAGE

DECIMAL

Percentage of point's location along the line.

5.13.3.7 Feature Class Relationship Table

The feature class relationship table contains information about the relationship between features and feature classes, that is, which feature belongs to which feature class.

The feature class relationship table contains the columns described in the following table. When an NFE model is created, the name by default given to this kind of table is FT_CLASS_REL_[model_id]$.

Table 5-30 Feature Class Relationship Table Columns

Column Name Data Type Description

FEATURE_ID

NUMBER

Primary key. Feature identifier. Reference to feature table.

FEATURE_CLASS_ID

NUMBER

Foreign key. Feature class identifier. Reference to feature class table.

5.13.3.8 Feature Rule Relationship Table

The feature rule relationship table contains information that relates each feature element involved in a rule, with the rule that caused its generation or connection.

The feature rule relationship table contains the columns described in the following table. When an NFE model is created, the name by default given to this kind of table is FT_RULE_REL_[model_id]$.

Table 5-31 Feature Rule Relationship Table Columns

Column Name Data Type Description

RULE_INSTANCE_ID

NUMBER

Primary key. Rule instance identifier.

FEATURE_LAYER_ID

NUMBER

Primary key. Feature layer identifier. Refers to the xxx_SDO_NETWORK_FEATURE table.

FEATURE_ID

NUMBER

Primary key. Feature identifier. Refers to the FEATURE_ID column from the feature table.

NET_ELEM_ID

NUMBER

Primary key. Network element identifier. Refers to the NET_ELEM_ID column from the feature element relationships table.

FEAT_ELEM_TYPE

NUMBER

Primary key. Feature element type. Refers to the FEAT_ELEM_TYPE column from the feature element relationships table.

5.13.3.9 Feature User Data Table

The feature user data table contains the information of feature class attributes of a catalog type.

The feature user data table is an extension of xxx_SDO_NETWORK_USER_DATA view. The following table describes the columns of a feature user data table. When an NFE model is created, the name by default given to this kind of table is FT_USR_DATA_[model_id]$.

Table 5-32 Feature User Data Table Columns

Column Name Data Type Description

ID

NUMBER

Primary key. Feature class attribute identifier.

FEATURE_LAYER_ID

NUMBER

Feature layer identifier to which the feature class attribute belongs.

ATTRIBUTE_NAME

VARCHAR2(50)

Attribute name. Refers to the DATA_NAME column of the xxx_SDO_NETWORK_USER_DATA view.

CATALOG_ID

NUMBER

Foreign key. Catalog identifier. Refers to the ID column from the feature user data catalog table.

5.13.3.10 Feature User Data Catalog Table

You can assign a value to a feature class attribute from a catalog; this is, that the attribute type from a feature class can be a catalog type. The feature user data catalog table keeps a register of the catalogs that can be used for that purpose.

The following table describes the columns that a feature user data catalog table must contain. When an NFE model is created, the name by default given to this kind of table is FT_USR_DATA_CATLG_[model_id]$.

Table 5-33 Feature User Data Catalog Table Columns

Column Name Data Type Description

ID

NUMBER

Primary key. Catalog identifier.

NAME

VARCHAR2(200)

Catalog name.

DATA_TYPE

VARCHAR2(12)

Catalog data type (for example, Number or Varchar2).

5.13.3.11 Feature User Data Catalog Values Table

The feature user data catalog values table contains the list of values held by catalogs defined in feature user data catalog table.

The following table describes the columns that a feature user data catalog values table must contain. When an NFE model is created, the name by default given to this kind of table is FT_USR_DATA_CVAL_[model_id]$.

Table 5-34 Feature User Data Catalog Values Table Columns

Column Name Data Type Description

ID

NUMBER

Primary key. Catalog entry identifier.

CATALOG_ID

NUMBER

Foreign key. Catalog identifier. Reference to the feature user data catalog table.

VALUE

VARCHAR2(12)

Catalog entry.

5.13.3.12 Point Cardinality Rules Table

The point cardinality rules table contains the configuration of the maximum and minimum inbound and outbound connections that a specific point feature must support in an NFE model.

The point cardinality rules table contains the columns described in the following table. When an NFE model is created, the name by default given to this kind of table is POINT_CARD_RULE_[model_id]$.

Table 5-35 Point Cardinality Rules Table Columns

Column Name Data Type Description

ID

NUMBER

Primary key. Cardinality rule identifier

FEATURE_LAYER_ID

NUMBER

Feature layer of the point

FEATURE_CLASS_ID

NUMBER

Feature class of the point. The shape of the class must be of type POINT

MAX_IN_CONN

NUMBER

Maximum number of incoming lines that can be connected to the point

MAX_OUT_CONN

NUMBER

Maximum number of outgoing lines that can be connected to the point

5.13.3.13 Rule Decision Handlers Table

The rule decision handlers table contains information about the names of the Java class and/or PL/SQL procedures to be executed as decision handlers when a connectivity rule (line-line or line-point) is executed.

The rule decision handlers table contains the columns described in the following table. When an NFE model is created, the name by default given to this kind of table is RULE_DEC_HANDLER_[model_id]$.

Table 5-36 Rule Decision Handlers Table Columns

Column Name Data Type Description

ID

NUMBER

Primary key. Decision handler identifier.

TYPE

VARCHAR2(1)

SDO_NFE.RULE_TYPE_LINE_LINE for line-line rule handler, or SDO_NFE.RULE_TYPE_LINE_POINT for line-point rule handler.

CLASS_FQNAME

VARCHAR(100)

Handler class fully qualified name. This class must be an implementation of oracle.spatial.network.nfe.model.rule.DecisionHandler. The implementation class must be accessible from the classpath of the application that is running the rule engine in the Java API.

PLSQL_SP_GET_CONN_GROUPS

VARCHAR2(50)

Name of the PL/SQL stored procedure used to obtain the different groups of elements participating in an intersection that can be connected through a rule. The name must include the package name. For a handler of type 'L', the default value is SDO_NFE.get_ll_conn_intersections, and the parameters must be:

model_id IN NUMBER - Model identifier ll_rule_id IN NUMBER - Line-Line rule identifier

interaction_grp IN OUT SDO_INTERACTION - Group of lines and points that are interacting

rule_lhs_lines_indexes IN dbms_sql.NUMBER_TABLE - Among the line features in the interacting group, indexes of the lines that specifically match the LEFT hand side of the line-line rule.

rule_rhs_lines_indexes IN dbms_sql.NUMBER_TABLE - Among the line features in the interacting group, indexes of the lines that specifically match the RIGHT hand side of the line-line rule.

rule_points_indexes IN dbms_sql.NUMBER_TABLE - Among the point features in the interacting group, indexes of the points that specifically match the point feature specification in the line-line rule. These points are the ones to be considered in the conformation of connectable groups.

Refer to SDO_NFE.GET_LL_CONN_INTERSECTIONS function documentation in Section 7 for more details.

For a handler of type 'P', the default value is SDO_NFE.get_lp_conn_intersections, and the parameters must be:

model_id IN NUMBER - Model identifier

lp_rule_id IN NUMBER - Line-point rule identifier

interaction_grp IN OUT SDO_INTERACTION - Group of lines and points that are interacting.

rule_lines_indexes IN dbms_sql.NUMBER_TABLE - Among the line features in the interacting group, indexes of the LINES that specifically match the line-point rule. These lines will be considered in the conformation of connectable groups.

rule_points_indexes IN dbms_sql.NUMBER_TABLE - Among the point features in the interacting group, indexes of the POINTS that specifically match the point feature specification in the line-point rule. These points are the ones to be considered in the conformation of connectable groups.

Refer to SDO_NFE.GET_LP_CONN_INTERSECTIONSfunction documentation in Section 7 for more details.

PLSQL_SP_GET_CONN_POINT

VARCHAR2(50)

Name of the PL/SQL stored procedure used to determine the geometry of the connection point between the participating elements in an intersection. The name must include the package name. Default value is SDO_NFE.get_connection_point_geom. It must accept only one parameter as an object of type SDO_INTERACTION which is the group of interacting features. Refer to SDO_NFE.GET_CONNECTION_POINT_GEOM function documentation for more details.

For using customized rule decision handlers in the Java API, the decision handler Java class to be used must be specified in CLASS_FQNAME. For using customized rule decision handlers in PL/SQL, the subprogram for calculating the connectable groups of features must be specified in PLSQL_SP_GET_CONN_GROUPS, and the subprogram for calculating the geometry of the connection point among the features to be connected must be specified in PLSQL_SP_GET_CONN_POINT.

5.13.3.14 Rule Instance Table

The rule instance table contains information about rule instances generated by the application of either line-line or line-point connectivity rules in an NFE model.

This definition includes the identifier for the rule instance, the identifier of the rule that generated the instance, and the type of the rule.

The following table describes the columns of a rule instance table When an NFE model is created, the name by default given to this kind of table is RULE_INSTANCE_[model_id]$.

Table 5-37 Rule Instance Table Columns

Column Name Data Type Description

ID

NUMBER

Primary key. Rule instance identifier

RULE_ID

NUMBER

Rule identifier. Refers to ID column in either the line-line rules table or line-point rules table.

RULE_TYPE

VARCHAR(1)

Must be SDO_NFE.RULE_TYPE_LINE_LINE or SDO_NFE.RULE_TYPE_LINE_POINT.