The MDSYS.SDO_NET package contains subprograms (functions and procedures) for managing networks. To use the subprograms in this chapter, you must understand the conceptual information in Chapter 5.
For a listing of the subprograms grouped in logical categories, see Section 5.10.1. The rest of this chapter provides reference information about the subprograms, listed in alphabetical order.
SDO_NET.COPY_NETWORK(
source_network IN VARCHAR2,
target_network IN VARCHAR2);
Creates a copy of a network, including its metadata tables.
Name of the network to be copied.
Name of the network to be created as a copy of source_network
.
This procedure creates an entry in the xxx_SDO_NETWORK_METADATA views (described in Section 5.9.1) for target_network
that has the same information as for source_network
, except for the new network name.
This procedure also creates a new node table, link table, and path table (if a path table exists for source_network
) for target_network
based on the metadata and data in these tables for source_network
. These tables have names in the form <target-network>_NODE$, <target-network>_LINK$, and <target-network>_PATH$. For example, if target_network
has the value ROADS_NETWORK2
and if source_network
has a path table, the names of the created metadata tables are ROADS_NETWORK2_NODE$, ROADS_NETWORK2_LINK$, and ROADS_NETWORK2_PATH$.
The following example creates a new network named ROADS_NETWORK2
that is a copy of the network named ROADS_NETWORK
.
EXECUTE SDO_NET.COPY_NETWORK('ROADS_NETWORK', 'ROADS_NETWORK2');
SDO_NET.CREATE_LINK_TABLE(
table_name IN VARCHAR2,
geom_type IN VARCHAR2,
geom_column IN VARCHAR2,
cost_column IN VARCHAR2,
no_of_hierarchy_levels IN NUMBER);
Creates a link table for a network.
Name of the link table.
For a spatial network, specify a value indicating the geometry type of links: SDO_GEOMETRY
for non-LRS SDO_GEOMETRY objects, LRS_GEOMETRY
for LRS SDO_GEOMETRY objects, or TOPO_GEOMETRY
for SDO_TOPO_GEOMETRY objects.
For a spatial network, the name of the column containing the geometry objects associated with the links.
Name of the column containing the cost values to be associated with the links.
Number of hierarchy levels for links in the network. (For an explanation of network hierarchy, see Section 5.5.)
The link table is described in Section 5.8.2.
The following example creates a link table named ROADS_LINKS, with a geometry column named LINK_GEOMETRY that will contain LRS geometries, a cost column named COST, and a single hierarchy level.
EXECUTE SDO_NET.CREATE_LINK_TABLE('ROADS_LINKS', 'LRS_GEOMETRY', 'LINK_GEOMETRY', 'COST', 1);
SDO_NET.CREATE_LOGICAL_NETWORK(
network IN VARCHAR2,
no_of_hierarchy_levels IN NUMBER,
is_directed IN BOOLEAN,
node_with_cost IN BOOLEAN DEFAULT FALSE);
or
SDO_NET.CREATE_LOGICAL_NETWORK(
network IN VARCHAR2,
no_of_hierarchy_levels IN NUMBER,
is_directed IN BOOLEAN,
node_table_name IN VARCHAR2,
node_cost_column IN VARCHAR2,
link_table_name IN VARCHAR2,
link_cost_column IN VARCHAR2,
path_table_name IN VARCHAR2,
path_link_table_name IN VARCHAR2);
Creates a logical network, creates all necessary tables, and updates the network metadata.
Network name.
Number of hierarchy levels for links in the network. (For an explanation of network hierarchy, see Section 5.5.)
A Boolean value. TRUE
indicates that the links are directed; FALSE
indicates that the links are undirected (not directed).
A Boolean value. TRUE
causes a column named COST to be included in the <network-name>_NODE$ table; FALSE
(the default) causes a column named COST not to be included in the <network-name>_NODE$ table.
Name of the node table to be created. (The node table is explained in Section 5.8.1.) If you use the format that does not specify this parameter, a node table named <network-name>_NODE$ is created.
Name of the cost column in the node table. (The node table is explained in Section 5.8.1.) If you use the format that does not specify this parameter, the geometry column is named COST.
Name of the link table to be created. (The link table is explained in Section 5.8.2.) If you use the format that does not specify this parameter, a link table named <network-name>_LINK$ is created.
Name of the cost column in the link table. (The link table is explained in Section 5.8.2.) If you use the format that does not specify this parameter, the geometry column is named COST.
Name of the path table to be created. (The path table is explained in Section 5.8.3.) If you use the format that does not specify this parameter, a path table named <network-name>_PATH$ is created.
Name of the path-link table to be created. (The path-link table is explained in Section 5.8.4.) If you use the format that does not specify this parameter, a path-link table named <network-name>_PLINK$ is created.
This procedure provides a convenient way to create a logical network when the node, link, and optional related tables do not already exist. The procedure creates the network; creates the node, link, path, and path-link tables for the network; and inserts the appropriate information in the xxx_SDO_NETWORK_METADATA views (described in Section 5.9.1).
An exception is generated if any of the tables to be created already exists.
The procedure has two formats. The simpler format creates the tables using default values for the table name and the cost column name. The other format lets you specify names for the tables and the cost column.
As an alternative to using this procedure, you can create the network using the SDO_NET.CREATE_LOGICAL_NETWORK procedure; create the 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; and insert the appropriate row in the USER_SDO_NETWORK_METADATA view.
The following example creates a directed logical network named LOG_NET1
. The example creates the LOG_NET1_NODE$, LOG_NET1_LINK$,LOG_NET1_PATH$, and LOG_NET1_PLINK$ tables, and updates the xxx_SDO_NETWORK_METADATA views. Both the node and link tables contain a cost column named COST.
EXECUTE SDO_NET.CREATE_LOGICAL_NETWORK('LOG_NET1', 1, TRUE, TRUE);
SDO_NET.CREATE_LRS_NETWORK(
network IN VARCHAR2,
lrs_table_name IN VARCHAR2,
lrs_geom_column IN VARCHAR2,
no_of_hierarchy_levels IN NUMBER,
is_directed IN BOOLEAN,
node_with_cost IN BOOLEAN DEFAULT FALSE,
is_complex IN BOOLEAN DEFAULT FALSE);
or
SDO_NET.CREATE_LRS_NETWORK(
network IN VARCHAR2,
no_of_hierarchy_levels IN NUMBER,
is_directed IN BOOLEAN,
node_table_name IN VARCHAR2,
node_cost_column IN VARCHAR2,
link_table_name IN VARCHAR2,
link_cost_column IN VARCHAR2,
lrs_table_name IN VARCHAR2,
lrs_geom_column IN VARCHAR2,
path_table_name IN VARCHAR2,
path_geom_column IN VARCHAR2,
path_link_table_name IN VARCHAR2,
is_complex IN BOOLEAN DEFAULT FALSE);
Creates a spatial network containing LRS SDO_GEOMETRY objects, creates all necessary tables, and updates the network metadata.
Network name.
Name of the table containing the LRS geometry column.
Name of the column in lrs_table_name
that contains LRS geometries (that is, SDO_GEOMETRY objects that include measure information for linear referencing).
A Boolean value. TRUE
indicates that the links are directed; FALSE
indicates that the links are undirected (not directed).
Number of hierarchy levels for links in the network. (For an explanation of network hierarchy, see Section 5.5.)
A Boolean value. TRUE
causes a column named COST to be included in the <network-name>_NODE$ table; FALSE
(the default) causes a column named COST not to be included in the <network-name>_NODE$ table.
Reserved for future use. Ignored for the current release.
Name of the node table to be created. (The node table is explained in Section 5.8.1.) If you use the format that does not specify this parameter, a node table named <network-name>_NODE$ is created.
Name of the cost column in the node table. (The node table is explained in Section 5.8.1.) If you use the format that does not specify this parameter, the geometry column is named COST.
Name of the link table to be created. (The link table is explained in Section 5.8.2.) If you use the format that does not specify this parameter, a link table named <network-name>_LINK$ is created.
Name of the cost column in the link table. (The link table is explained in Section 5.8.2.) If you use the format that does not specify this parameter, the geometry column is named COST.
Name of the path table to be created. (The path table is explained in Section 5.8.3.) If you use the format that does not specify this parameter, a path table named <network-name>_PATH$ is created.
Name of the geometry column in the path table. (The path table is explained in Section 5.8.3.) If you use the format that does not specify this parameter, the geometry column is named GEOMETRY.
Name of the path-link table to be created. (The path-link table is explained in Section 5.8.4.) If you use the format that does not specify this parameter, a path-link table named <network-name>_PLINK$ is created.
This procedure provides a convenient way to create a spatial network of LRS geometries when the node, link, and optional related tables do not already exist. The procedure creates the network; creates the node, link, path, and path-link tables for the network; and inserts the appropriate information in the xxx_SDO_NETWORK_METADATA views (described in Section 5.9.1).
An exception is generated if any of the tables to be created already exists.
The procedure has two formats. The simpler format creates the tables using default values for the table name and the geometry and cost column names. The other format lets you specify names for the tables and the geometry and cost columns.
As an alternative to using this procedure, you can create the network using the SDO_NET.CREATE_LRS_NETWORK procedure; create the 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; and insert the appropriate row in the USER_SDO_NETWORK_METADATA view.
The following example creates a directed spatial network named LRS_NET1
. The LRS geometries are in the column named LRS_GEOM in the table named LRS_TAB. The example creates the LRS_NET1_NODE$, LRS_NET1_LINK$, LRS_NET1_PATH$, and LRS_NET1_PLINK$ tables, and updates the xxx_SDO_NETWORK_METADATA views. All geometry columns are named GEOMETRY. Both the node and link tables contain a cost column named COST.
EXECUTE SDO_NET.CREATE_LRS_NETWORK('LRS_NET1', 'LRS_TAB', 'LRS_GEOM', 1, TRUE, TRUE);
SDO_NET.CREATE_LRS_TABLE(
table_name IN VARCHAR2,
geom_column IN VARCHAR2);
Creates a table for storing Oracle Spatial linear referencing system (LRS) geometries.
Name of the table containing the geometry column specified in geom_column
.
Name of the column (of type SDO_GEOMETRY) to contain geometry objects.
This procedure creates a table named table_name
with two columns: GEOM_ID of type NUMBER and geom_column
of type SDO_GEOMETRY.
Although the created table does not need to be used to store LRS geometries, the procedure is intended as a convenient method for creating a table to store such geometries. You will probably want to modify the table to add other columns before you store data in the table.
The following example creates a table named HIGHWAYS with a geometry column named GEOM.
EXECUTE SDO_NET.CREATE_LRS_TABLE('HIGHWAYS', 'GEOM'); PL/SQL procedure successfully completed. DESCRIBE highways Name Null? Type ----------------------------------------- -------- ---------------------------- GEOM_ID NOT NULL NUMBER GEOM MDSYS.SDO_GEOMETRY
SDO_NET.CREATE_NODE_TABLE(
table_name IN VARCHAR2,
geom_type IN VARCHAR2,
geom_column IN VARCHAR2,
cost_column IN VARCHAR2,
no_of_hierarchy_levels IN NUMBER);
Creates a node table.
Name of the node table.
For a spatial network, specify a value indicating the geometry type of nodes: SDO_GEOMETRY
for non-LRS SDO_GEOMETRY objects, LRS_GEOMETRY
for LRS SDO_GEOMETRY objects, or TOPO_GEOMETRY
for SDO_TOPO_GEOMETRY objects.
For a spatial network, the name of the column containing the geometry objects associated with the nodes.
Name of the column containing the cost values to be associated with the nodes.
Number of hierarchy levels for nodes in the network. (For an explanation of network hierarchy, see Section 5.5.)
The node table is described in Section 5.8.1.
The following example creates a node table named ROADS_NODES with a geometry column named NODE_GEOMETRY that will contain LRS geometries, no cost column, and a single hierarchy level.
EXECUTE SDO_NET.CREATE_NODE_TABLE('ROADS_NODES', 'LRS_GEOMETRY', 'NODE_GEOMETRY', NULL, 1);
SDO_NET.CREATE_PATH_LINK_TABLE(
table_name IN VARCHAR2);
Creates a path-link table, that is, a table with a row for each link in each path in the path table.
Name of the path-link table.
The path-link table is described in Section 5.8.4.
To use paths with a network, you must populate the path-link table.
The following example creates a path-link table named ROADS_PATHS_LINKS.
EXECUTE SDO_NET.CREATE_PATH_LINK_TABLE('ROADS_PATHS_LINKS');
SDO_NET.CREATE_PATH_TABLE(
table_name IN VARCHAR2,
geom_column IN VARCHAR2);
Creates a path table.
Name of the path table.
For a spatial network, name of the column containing the geometry objects associated with the paths.
The path table is described in Section 5.8.3.
To use paths with a network, after you create the path table, you must create the path-link table using the SDO_NET.CREATE_PATH_LINK_TABLE procedure, and populate the path-link table.
The following example creates a path table named ROADS_PATHS that contains a geometry column named PATH_GEOMETRY.
EXECUTE SDO_NET.CREATE_PATH_TABLE('ROADS_PATHS', 'PATH_GEOMETRY');
SDO_NET.CREATE_SDO_NETWORK(
network IN VARCHAR2,
no_of_hierarchy_levels IN NUMBER,
is_directed IN BOOLEAN,
node_with_cost IN BOOLEAN DEFAULT FALSE);
or
SDO_NET.CREATE_SDO_NETWORK(
network IN VARCHAR2,
no_of_hierarchy_levels IN NUMBER,
is_directed IN BOOLEAN,
node_table_name IN VARCHAR2,
node_geom_column IN VARCHAR2,
node_cost_column IN VARCHAR2,
link_table_name IN VARCHAR2,
link_geom_column IN VARCHAR2,
link_cost_column IN VARCHAR2,
path_table_name IN VARCHAR2,
path_geom_column IN VARCHAR2,
path_link_table_name IN VARCHAR2);
Creates a spatial network containing non-LRS SDO_GEOMETRY objects, creates all necessary tables, and updates the network metadata.
Network name.
Number of hierarchy levels for links in the network. (For an explanation of network hierarchy, see Section 5.5.)
A Boolean value. TRUE
indicates that the links are directed; FALSE
indicates that the links are undirected (not directed).
A Boolean value. TRUE
causes a column named COST to be included in the <network-name>_NODE$ table; FALSE
(the default) causes a column named COST not to be included in the <network-name>_NODE$ table.
Name of the node table to be created. (The node table is explained in Section 5.8.1.) If you use the format that does not specify this parameter, a node table named <network-name>_NODE$ is created.
Name of the geometry column in the node table. (The node table is explained in Section 5.8.1.) If you use the format that does not specify this parameter, the geometry column is named GEOMETRY.
Name of the cost column in the node table. (The node table is explained in Section 5.8.1.) If you use the format that does not specify this parameter, the geometry column is named COST.
Name of the link table to be created. (The link table is explained in Section 5.8.2.) If you use the format that does not specify this parameter, a link table named <network-name>_LINK$ is created.
Name of the geometry column in the link table. (The link table is explained in Section 5.8.2.) If you use the format that does not specify this parameter, the geometry column is named GEOMETRY.
Name of the cost column in the link table. (The link table is explained in Section 5.8.2.) If you use the format that does not specify this parameter, the geometry column is named COST.
Name of the path table to be created. (The path table is explained in Section 5.8.3.) If you use the format that does not specify this parameter, a path table named <network-name>_PATH$ is created.
Name of the geometry column in the path table. (The path table is explained in Section 5.8.3.) If you use the format that does not specify this parameter, the geometry column is named GEOMETRY.
Name of the path-link table to be created. (The path-link table is explained in Section 5.8.4.) If you use the format that does not specify this parameter, a path-link table named <network-name>_PLINK$ is created.
This procedure provides a convenient way to create a spatial network when the node, link, and optional related tables do not already exist. The procedure creates the network; creates the node, link, path, and path-link tables for the network; and inserts the appropriate information in the xxx_SDO_NETWORK_METADATA views (described in Section 5.9.1).
An exception is generated if any of the tables to be created already exists.
The procedure has two formats. The simpler format creates the tables using default values for the table name and the geometry and cost column names. The other format lets you specify names for the tables and the geometry and cost columns.
As an alternative to using this procedure, you can create the network using the SDO_NET.CREATE_SDO_NETWORK procedure; create the 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; and insert the appropriate row in the USER_SDO_NETWORK_METADATA view.
The following example creates a directed spatial network named SDO_NET1
. The example creates the SDO_NET1_NODE$, SDO_NET1_LINK$, SDO_NET1_PATH$, and SDO_NET1_PLINK$ tables, and updates the xxx_SDO_NETWORK_METADATA views. All geometry columns are named GEOMETRY. Both the node and link tables contain a cost column named COST.
EXECUTE SDO_NET.CREATE_SDO_NETWORK('SDO_NET1', 1, TRUE, TRUE);
SDO_NET.CREATE_TOPO_NETWORK(
network IN VARCHAR2,
no_of_hierarchy_levels IN NUMBER,
is_directed IN BOOLEAN,
node_with_cost IN BOOLEAN DEFAULT FALSE);
or
SDO_NET.CREATE_TOPO_NETWORK(
network IN VARCHAR2,
no_of_hierarchy_levels IN NUMBER,
is_directed IN BOOLEAN,
node_table_name IN VARCHAR2,
node_cost_column IN VARCHAR2,
link_table_name IN VARCHAR2,
link_cost_column IN VARCHAR2,
path_table_name IN VARCHAR2,
path_geom_column IN VARCHAR2,
path_link_table_name IN VARCHAR2);
Creates a spatial topology network containing SDO_TOPO_GEOMETRY objects, creates all necessary tables, and updates the network metadata.
Network name.
Number of hierarchy levels for links in the network. (For an explanation of network hierarchy, see Section 5.5.)
A Boolean value. TRUE
indicates that the links are directed; FALSE
indicates that the links are undirected (not directed).
A Boolean value. TRUE
causes a column named COST to be included in the <network-name>_NODE$ table; FALSE
(the default) causes a column named COST not to be included in the <network-name>_NODE$ table.
Name of the node table to be created. (The node table is explained in Section 5.8.1.) If you use the format that does not specify this parameter, a node table named <network-name>_NODE$ is created.
Name of the cost column in the node table. (The node table is explained in Section 5.8.1.) If you use the format that does not specify this parameter, the geometry column is named COST.
Name of the link table to be created. (The link table is explained in Section 5.8.2.) If you use the format that does not specify this parameter, a link table named <network-name>_LINK$ is created.
Name of the cost column in the link table. (The link table is explained in Section 5.8.2.) If you use the format that does not specify this parameter, the geometry column is named COST.
Name of the path table to be created. (The path table is explained in Section 5.8.3.) If you use the format that does not specify this parameter, a path table named <network-name>_PATH$ is created.
Name of the geometry column in the path table. (The path table is explained in Section 5.8.3.) If you use the format that does not specify this parameter, the geometry column is named GEOMETRY.
Name of the path-link table to be created. (The path-link table is explained in Section 5.8.4.) If you use the format that does not specify this parameter, a path-link table named <network-name>_PLINK$ is created.
This procedure provides a convenient way to create a spatial network when the node, link, and optional related tables do not already exist. The procedure creates the network; creates the node, link, path, and path-link tables for the network; and inserts the appropriate information in the xxx_SDO_NETWORK_METADATA views (described in Section 5.9.1). The node and link tables contain a topology geometry column named TOPO_GEOMETRY of type SDO_TOPO_GEOMETRY.
An exception is generated if any of the tables to be created already exists.
The procedure has two formats. The simpler format creates the tables using default values for the table name and the geometry and cost column names. The other format lets you specify names for the tables and the geometry and cost columns.
As an alternative to using this procedure, you can create the network using the SDO_NET.CREATE_TOPO_NETWORK procedure; create the 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; and insert the appropriate row in the USER_SDO_NETWORK_METADATA view.
The following example creates a directed spatial topology geometry network named TOPO_NET1
. The example creates the TOPO_NET1_NODE$, TOPO_NET1_LINK$, TOPO_NET1_PATH$, and TOPO_NET1_PLINK$ tables, and updates the xxx_SDO_NETWORK_METADATA views. The topology geometry columns are named TOPO_GEOMETRY. Both the node and link tables contain a cost column named COST.
EXECUTE SDO_NET.CREATE_TOPO_NETWORK('TOPO_NET1', 1, TRUE, TRUE);
SDO_NET.DROP_NETWORK(
network IN VARCHAR2);
Drops (deletes) a network.
Name of the network to be dropped.
This procedure also deletes the node, link, and path tables associated with the network, and the network metadata for the network.
The following example drops the network named ROADS_NETWORK
.
EXECUTE SDO_NET.DROP_NETWORK('ROADS_NETWORK');
SDO_NET.GET_CHILD_LINKS(
network IN VARCHAR2,
link_id IN NUMBER
) RETURN SDO_NUMBER_ARRAY;
Returns the child links of a link.
Network name.
ID of the link for which to return the child links.
For information about parent and child nodes and links in a network hierarchy, see Section 5.5.
The following example returns the child links of the link in the XYZ_NETWORK
network whose link ID is 1001.
SELECT SDO_NET.GET_CHILD_LINKS('XYZ_NETWORK', 1001) FROM DUAL; SDO_NET.GET_CHILD_LINKS('XYZ_NETWORK',1001) -------------------------------------------------------------------------------- SDO_NUMBER_ARRAY(1108, 1109)
SDO_NET.GET_CHILD_NODES(
network IN VARCHAR2,
node_id IN NUMBER
) RETURN SDO_NUMBER_ARRAY;
Returns the child nodes of a node.
Network name.
ID of the node for which to return the child nodes.
For information about parent and child nodes and links in a network hierarchy, see Section 5.5.
The following example returns the child nodes of the node in the XYZ_NETWORK
network whose node ID is 1.
SELECT SDO_NET.GET_CHILD_NODES('XYZ_NETWORK', 1) FROM DUAL; SDO_NET.GET_CHILD_NODES('XYZ_NETWORK',1) -------------------------------------------------------------------------------- SDO_NUMBER_ARRAY(101, 102, 103, 104, 105, 106)
SDO_NET.GET_GEOMETRY_TYPE(
network IN VARCHAR2
) RETURN VARCHAR2;
Returns the geometry type for a spatial network.
Network name.
This function returns the value of the GEOMETRY_TYPE column for the network in the USER_SDO_NETWORK_METADATA view (see Table 5-5 in Section 5.9.1).
The following example returns the geometry type for the network named ROADS_NETWORK
.
SELECT SDO_NET.GET_GEOMETRY_TYPE('ROADS_NETWORK') FROM DUAL; SDO_NET.GET_GEOMETRY_TYPE('ROADS_NETWORK') -------------------------------------------------------------------------------- LRS_GEOMETRY
SDO_NET.GET_IN_LINKS(
network IN VARCHAR2,
node_id IN NUMBER
) RETURN SDO_NUMBER_ARRAY;
Returns an array of link ID numbers of the inbound links to a node.
Network name.
ID of the node for which to return the array of inbound links.
For information about inbound links and related network data model concepts, see Section 5.3.
The following example returns an array of link ID numbers of the inbound links into the node whose node ID is 3 in the network named ROADS_NETWORK
.
SELECT SDO_NET.GET_IN_LINKS('ROADS_NETWORK', 3) FROM DUAL; SDO_NET.GET_IN_LINKS('ROADS_NETWORK',3) -------------------------------------------------------------------------------- SDO_NUMBER_ARRAY(102)
SDO_NET.GET_LINK_COST_COLUMN(
network IN VARCHAR2
) RETURN VARCHAR2;
Returns the name of the link cost column for a network.
Network name.
This function returns the value of the LINK_COST_COLUMN column for the network in the USER_SDO_NETWORK_METADATA view (see Table 5-5 in Section 5.9.1).
The following example returns the name of the link cost column for the network named ROADS_NETWORK
.
SELECT SDO_NET.GET_LINK_COST_COLUMN('ROADS_NETWORK') FROM DUAL; SDO_NET.GET_LINK_COST_COLUMN('ROADS_NETWORK') -------------------------------------------------------------------------------- COST
SDO_NET.GET_LINK_DIRECTION(
network IN VARCHAR2
) RETURN VARCHAR2;
Returns the link direction for a network.
Network name.
This function returns the value of the LINK_DIRECTION column for the network in the USER_SDO_NETWORK_METADATA view (see Table 5-5 in Section 5.9.1).
The following example returns the link direction for the network named ROADS_NETWORK
.
SELECT SDO_NET.GET_LINK_DIRECTION('ROADS_NETWORK') FROM DUAL; SDO_NET.GET_LINK_DIRECTION('ROADS_NETWORK') -------------------------------------------------------------------------------- DIRECTED
SDO_NET.GET_LINK_GEOM_COLUMN(
network IN VARCHAR2
) RETURN VARCHAR2;
Returns the name of the link geometry column for a spatial network.
Network name.
This function returns the value of the LINK_GEOM_COLUMN column for the network in the USER_SDO_NETWORK_METADATA view (see Table 5-5 in Section 5.9.1).
The following example returns the name of the link geometry column for the network named ROADS_NETWORK
.
SELECT SDO_NET.GET_LINK_GEOM_COLUMN('ROADS_NETWORK') FROM DUAL; SDO_NET.GET_LINK_GEOM_COLUMN('ROADS_NETWORK') -------------------------------------------------------------------------------- LINK_GEOMETRY
SDO_NET.GET_LINK_GEOMETRY(
network IN VARCHAR2,
link_id IN NUMBER
) RETURN SDO_GEOMETRY;
Returns the geometry associated with a link in a spatial network.
Network name.
ID number of the link for which to return the geometry.
None.
The following example returns the geometry associated with the link whose link ID is 103 in the network named ROADS_NETWORK
.
SELECT SDO_NET.GET_LINK_GEOMETRY('ROADS_NETWORK', 103) FROM DUAL; SDO_NET.GET_LINK_GEOMETRY('ROADS_NETWORK',103)(SDO_GTYPE, SDO_SRID, SDO_POINT(X, -------------------------------------------------------------------------------- SDO_GEOMETRY(2002, NULL, NULL, SDO_ELEM_INFO_ARRAY(1, 2, 1), SDO_ORDINATE_ARRAY( 8, 4, 12, 4))
SDO_NET.GET_LINK_TABLE_NAME(
network IN VARCHAR2
) RETURN VARCHAR2;
Returns the name of the link table for a network.
Network name.
This function returns the value of the LINK_TABLE_NAME column for the network in the USER_SDO_NETWORK_METADATA view (see Table 5-5 in Section 5.9.1).
The following example returns the name of the link table for the network named ROADS_NETWORK
.
SELECT SDO_NET.GET_LINK_TABLE_NAME('ROADS_NETWORK') FROM DUAL; SDO_NET.GET_LINK_TABLE_NAME('ROADS_NETWORK') -------------------------------------------------------------------------------- ROADS_LINKS
SDO_NET.GET_LRS_GEOM_COLUMN(
network IN VARCHAR2
) RETURN VARCHAR2;
Returns the name of the LRS geometry column for a spatial network.
Network name.
This function returns the value of the LRS_GEOM_COLUMN column for the network in the USER_SDO_NETWORK_METADATA view (see Table 5-5 in Section 5.9.1).
The following example returns the name of the LRS geometry column for the network named ROADS_NETWORK
.
SELECT SDO_NET.GET_LRS_GEOM_COLUMN('ROADS_NETWORK') FROM DUAL; SDO_NET.GET_LRS_GEOM_COLUMN('ROADS_NETWORK') -------------------------------------------------------------------------------- ROAD_GEOM
SDO_NET.GET_LRS_LINK_GEOMETRY(
network IN VARCHAR2,
link_id IN NUMBER
) RETURN SDO_GEOMETRY;
Returns the LRS geometry associated with a link in a spatial LRS network.
Network name.
ID number of the link for which to return the geometry.
None.
The following example returns the LRS geometry associated with the link whose link ID is 103 in the network named ROADS_NETWORK
.
SELECT SDO_NET.GET_LRS_LINK_GEOMETRY('ROADS_NETWORK', 103) FROM DUAL; SDO_NET.GET_LRS_LINK_GEOMETRY('ROADS_NETWORK',103)(SDO_GTYPE, SDO_SRID, SDO_POIN -------------------------------------------------------------------------------- SDO_GEOMETRY(2002, NULL, NULL, SDO_ELEM_INFO_ARRAY(1, 2, 1), SDO_ORDINATE_ARRAY( 8, 4, 12, 4))
SDO_NET.GET_LRS_NODE_GEOMETRY(
network IN VARCHAR2,
node_id IN NUMBER
) RETURN SDO_GEOMETRY;
Returns the LRS geometry associated with a node in a spatial LRS network.
Network name.
ID number of the node for which to return the geometry.
None.
The following example returns the LRS geometry associated with the node whose node ID is 3 in the network named ROADS_NETWORK
.
SELECT SDO_NET.GET_LRS_NODE_GEOMETRY('ROADS_NETWORK', 3) FROM DUAL; SDO_NET.GET_LRS_NODE_GEOMETRY('ROADS_NETWORK',3)(SDO_GTYPE, SDO_SRID, SDO_POINT( -------------------------------------------------------------------------------- SDO_GEOMETRY(2001, NULL, SDO_POINT_TYPE(8, 4, NULL), NULL, NULL)
SDO_NET.GET_LRS_TABLE_NAME(
network IN VARCHAR2
) RETURN VARCHAR2;
Returns the name of the table containing LRS geometries in a spatial LRS network.
Network name.
This function returns the value of the LRS_TABLE_NAME column for the network in the USER_SDO_NETWORK_METADATA view (see Table 5-5 in Section 5.9.1).
The following example returns the name of the table that contains LRS geometries for the network named ROADS_NETWORK
.
SELECT SDO_NET.GET_LRS_TABLE_NAME('ROADS_NETWORK') FROM DUAL; SDO_NET.GET_LRS_TABLE_NAME('ROADS_NETWORK') -------------------------------------------------------------------------------- ROADS
SDO_NET.GET_NETWORK_TYPE(
network IN VARCHAR2
) RETURN VARCHAR2;
Returns the network type.
Network name.
This function returns the value of the NETWORK_TYPE column for the network in the USER_SDO_NETWORK_METADATA view (see Table 5-5 in Section 5.9.1).
The following example returns the network type for the network named ROADS_NETWORK
.
SELECT SDO_NET.GET_NETWORK_TYPE('ROADS_NETWORK') FROM DUAL; SDO_NET.GET_NETWORK_TYPE('ROADS_NETWORK') -------------------------------------------------------------------------------- Roadways
SDO_NET.GET_NO_OF_HIERARCHY_LEVELS(
network IN VARCHAR2
) RETURN NUMBER;
Returns the number of hierarchy levels for a network.
Network name.
This function returns the value of the NO_OF_HIERARCHY_LEVELS column for the network in the USER_SDO_NETWORK_METADATA view (see Table 5-5 in Section 5.9.1).
For an explanation of network hierarchy, see Section 5.5.
The following example returns the number of hierarchy levels for the network named ROADS_NETWORK
.
SELECT SDO_NET.GET_NO_OF_HIERARCHY_LEVELS('ROADS_NETWORK') FROM DUAL; SDO_NET.GET_NO_OF_HIERARCHY_LEVELS('ROADS_NETWORK') --------------------------------------------------- 1
SDO_NET.GET_NO_OF_LINKS(
network IN VARCHAR2
) RETURN NUMBER;
or
SDO_NET.GET_NO_OF_LINKS(
network IN VARCHAR2,
hierarchy_id IN NUMBER
) RETURN NUMBER;
Returns the number of links for a network or a hierarchy level in a network.
Network name.
Hierarchy level number for which to return the number of links.
None.
The following example returns the number of links in the network named ROADS_NETWORK
.
SELECT SDO_NET.GET_NO_OF_LINKS('ROADS_NETWORK') FROM DUAL; SDO_NET.GET_NO_OF_LINKS('ROADS_NETWORK') ---------------------------------------- 10
SDO_NET.GET_NO_OF_NODES(
network IN VARCHAR2
) RETURN NUMBER;
or
SDO_NET.GET_NO_OF_NODES(
network IN VARCHAR2,
hierarchy_id IN NUMBER
) RETURN NUMBER;
Returns the number of nodes for a network or a hierarchy level in a network.
Network name.
Hierarchy level number for which to return the number of nodes.
For information about nodes and related concepts, see Section 5.3.
The following example returns the number of nodes in the network named ROADS_NETWORK
.
SELECT SDO_NET.GET_NO_OF_NODES('ROADS_NETWORK') FROM DUAL; SDO_NET.GET_NO_OF_NODES('ROADS_NETWORK') ---------------------------------------- 8
SDO_NET.GET_NODE_DEGREE(
network IN VARCHAR2,
node_id IN NUMBER
) RETURN NUMBER;
Returns the number of links to a node.
Network name.
Node ID of the node for which to return the number of links.
For information about node degree and related network data model concepts, see Section 5.3.
The following example returns the number of links to the node whose node ID is 3 in the network named ROADS_NETWORK
.
SELECT SDO_NET.GET_NODE_DEGREE('ROADS_NETWORK', 3) FROM DUAL; SDO_NET.GET_NODE_DEGREE('ROADS_NETWORK',3) ------------------------------------------ 3
SDO_NET.GET_NODE_GEOM_COLUMN(
network IN VARCHAR2
) RETURN VARCHAR2;
Returns the name of the geometry column for nodes in a spatial network.
Network name.
This function returns the value of the NODE_GEOM_COLUMN column for the network in the USER_SDO_NETWORK_METADATA view (see Table 5-5 in Section 5.9.1).
The following example returns the name of the geometry column for nodes in the network named ROADS_NETWORK
.
SELECT SDO_NET.GET_NODE_GEOM_COLUMN('ROADS_NETWORK') FROM DUAL; SDO_NET.GET_NODE_GEOM_COLUMN('ROADS_NETWORK') -------------------------------------------------------------------------------- NODE_GEOMETRY
SDO_NET.GET_NODE_GEOMETRY(
network IN VARCHAR2,
node_id IN NUMBER
) RETURN SDO_GEOMETRY;
Returns the LRS geometry associated with a node in a spatial network.
Network name.
ID number of the node for which to return the geometry.
None.
The following example returns the geometry associated with the node whose node ID is 3 in the network named ROADS_NETWORK
.
SELECT SDO_NET.GET_NODE_GEOMETRY('ROADS_NETWORK', 3) FROM DUAL; SDO_NET.GET_NODE_GEOMETRY('ROADS_NETWORK',3)(SDO_GTYPE, SDO_SRID, SDO_POINT(X, Y -------------------------------------------------------------------------------- SDO_GEOMETRY(2001, NULL, SDO_POINT_TYPE(8, 4, NULL), NULL, NULL)
SDO_NET.GET_NODE_IN_DEGREE(
network IN VARCHAR2,
node_id IN NUMBER
) RETURN NUMBER;
Returns the number of inbound links to a node.
Network name.
Node ID of the node for which to return the number of inbound links.
For information about node degree and related network data model concepts, see Section 5.3.
The following example returns the number of inbound links to the node whose node ID is 3 in the network named ROADS_NETWORK
.
SELECT SDO_NET.GET_NODE_IN_DEGREE('ROADS_NETWORK', 3) FROM DUAL; SDO_NET.GET_NODE_IN_DEGREE('ROADS_NETWORK',3) --------------------------------------------- 1
SDO_NET.GET_NODE_OUT_DEGREE(
network IN VARCHAR2,
node_id IN NUMBER
) RETURN NUMBER;
Returns the number of outbound links from a node.
Network name.
Node ID of the node for which to return the number of outbound links.
For information about node degree and related network data model concepts, see Section 5.3.
The following example returns the number of outbound links from the node whose node ID is 3 in the network named ROADS_NETWORK
.
SELECT SDO_NET.GET_NODE_OUT_DEGREE('ROADS_NETWORK', 3) FROM DUAL; SDO_NET.GET_NODE_OUT_DEGREE('ROADS_NETWORK',3) ---------------------------------------------- 2
SDO_NET.GET_NODE_TABLE_NAME(
network IN VARCHAR2
) RETURN VARCHAR2;
Returns the name of the table that contains the nodes in a spatial network.
Network name.
This function returns the value of the NODE_TABLE_NAME column for the network in the USER_SDO_NETWORK_METADATA view (see Table 5-5 in Section 5.9.1).
The following example returns the name of the table that contains the nodes in the network named ROADS_NETWORK
.
SELECT SDO_NET.GET_NODE_TABLE_NAME('ROADS_NETWORK') FROM DUAL; SDO_NET.GET_NODE_TABLE_NAME('ROADS_NETWORK') -------------------------------------------------------------------------------- ROADS_NODES
SDO_NET.GET_OUT_LINKS(
network IN VARCHAR2,
node_id IN NUMBER
) RETURN SDO_NUMBER_ARRAY;
Returns an array of link ID numbers of the outbound links from a node.
Network name.
ID of the node for which to return the array of outbound links.
For information about outbound links and related network data model concepts, see Section 5.3.
The following example returns an array of link ID numbers of the outbound links from the node whose node ID is 3 in the network named ROADS_NETWORK
.
SELECT SDO_NET.GET_OUT_LINKS('ROADS_NETWORK', 3) FROM DUAL; SDO_NET.GET_OUT_LINKS('ROADS_NETWORK',3) -------------------------------------------------------------------------------- SDO_NUMBER_ARRAY(103, 201)
SDO_NET.GET_PATH_GEOM_COLUMN(
network IN VARCHAR2
) RETURN VARCHAR2;
Returns the name of the geometry column for paths in a spatial network.
Network name.
This function returns the value of the PATH_GEOM_COLUMN column for the network in the USER_SDO_NETWORK_METADATA view (see Table 5-5 in Section 5.9.1).
The following example returns the name of the geometry column for paths in the network named ROADS_NETWORK
.
SELECT SDO_NET.GET_PATH_GEOM_COLUMN('ROADS_NETWORK') FROM DUAL; SDO_NET.GET_PATH_GEOM_COLUMN('ROADS_NETWORK') -------------------------------------------------------------------------------- PATH_GEOMETRY
SDO_NET.GET_PATH_TABLE_NAME(
network IN VARCHAR2
) RETURN VARCHAR2;
Returns the name of the table that contains the paths in a spatial network.
Network name.
This function returns the value of the PATH_TABLE_NAME column for the network in the USER_SDO_NETWORK_METADATA view (see Table 5-5 in Section 5.9.1).
The following example returns the name of the table that contains the paths in the network named ROADS_NETWORK
.
SELECT SDO_NET.GET_PATH_TABLE_NAME('ROADS_NETWORK') FROM DUAL; SDO_NET.GET_PATH_TABLE_NAME('ROADS_NETWORK') -------------------------------------------------------------------------------- ROADS_PATHS
SDO_NET.IS_HIERARCHICAL(
network IN VARCHAR2
) RETURN VARCHAR2;
Returns TRUE
if the network has more than one level of hierarchy; returns FALSE
if the network does not have more than one level of hierarchy.
Network name.
For an explanation of network hierarchy, see Section 5.5.
The following example checks if the network named ROADS_NETWORK
has more than one level of hierarchy.
SELECT SDO_NET.IS_HIERARCHICAL('ROADS_NETWORK') FROM DUAL; SDO_NET.IS_HIERARCHICAL('ROADS_NETWORK') -------------------------------------------------------------------------------- TRUE
SDO_NET.IS_LOGICAL(
network IN VARCHAR2
) RETURN VARCHAR2;
Returns TRUE
if the network is a logical network; returns FALSE
if the network is not a logical network.
Network name.
A network can be a spatial network or a logical network, as explained in Section 5.3.
The following example checks if the network named ROADS_NETWORK
is a logical network.
SELECT SDO_NET.IS_LOGICAL('ROADS_NETWORK') FROM DUAL; SDO_NET.IS_LOGICAL('ROADS_NETWORK') -------------------------------------------------------------------------------- FALSE
SDO_NET.IS_SPATIAL(
network IN VARCHAR2
) RETURN VARCHAR2;
Returns TRUE
if the network is a spatial network; returns FALSE
if the network is not a spatial network.
Network name.
A network can be a spatial network or a logical network, as explained in Section 5.3.
You can further check for the geometry type of a spatial network by using the following functions: SDO_NET.LRS_GEOMETRY_NETWORK, SDO_NET.SDO_GEOMETRY_NETWORK, and SDO_NET.TOPO_GEOMETRY_NETWORK.
The following example checks if the network named ROADS_NETWORK
is a spatial network.
SELECT SDO_NET.IS_SPATIAL('ROADS_NETWORK') FROM DUAL; SDO_NET.IS_SPATIAL('ROADS_NETWORK') -------------------------------------------------------------------------------- TRUE
SDO_NET.LRS_GEOMETRY_NETWORK(
network IN VARCHAR2
) RETURN VARCHAR2;
Returns TRUE
if the network is a spatial network containing LRS geometries; returns FALSE
if the network is not a spatial network containing LRS geometries.
Network name.
A network contains LRS geometries if the GEOMETRY_TYPE column in its entry in the USER_SDO_NETWORK_METADATA view contains the value LRS_GEOMETRY
. (The USER_SDO_NETWORK_METADATA view is explained in Section 5.9.1.)
The following example checks if the network named ROADS_NETWORK
is a spatial network containing LRS geometries.
SELECT SDO_NET.LRS_GEOMETRY_NETWORK('ROADS_NETWORK') FROM DUAL; SDO_NET.LRS_GEOMETRY_NETWORK('ROADS_NETWORK') -------------------------------------------------------------------------------- TRUE
SDO_NET.NETWORK_EXISTS(
network IN VARCHAR2
) RETURN VARCHAR2;
Returns TRUE
if the network exists; returns FALSE
if the network does not exist.
Network name.
If you drop a network (using the SDO_NET.DROP_NETWORK procedure), the network no longer exists.
The following example checks if the network named ROADS_NETWORK
exists.
SELECT SDO_NET.NETWORK_EXISTS('ROADS_NETWORK') FROM DUAL; SDO_NET.NETWORK_EXISTS('ROADS_NETWORK') -------------------------------------------------------------------------------- TRUE
SDO_NET.SDO_GEOMETRY_NETWORK(
network IN VARCHAR2
) RETURN VARCHAR2;
Returns TRUE
if the network is a spatial network containing SDO geometries (spatial geometries without measure information); returns FALSE
if the network is not a spatial network containing SDO geometries.
Network name.
A network contains SDO geometries if the GEOMETRY_TYPE column in its entry in the USER_SDO_NETWORK_METADATA view contains the value SDO_GEOMETRY
. (The USER_SDO_NETWORK_METADATA view is explained in Section 5.9.1.)
The following example checks if the network named ROADS_NETWORK
is a spatial network containing SDO geometries.
SELECT SDO_NET.SDO_GEOMETRY_NETWORK('ROADS_NETWORK') FROM DUAL; SDO_NET.SDO_GEOMETRY_NETWORK('ROADS_NETWORK') -------------------------------------------------------------------------------- FALSE
SDO_NET.TOPO_GEOMETRY_NETWORK(
network IN VARCHAR2
) RETURN VARCHAR2;
Returns TRUE
if the network is a spatial network containing SDO_TOPO_GEOMETRY (topology geometry) objects; returns FALSE
if the network is not a spatial network containing SDO_TOPO_GEOMETRY objects.
Network name.
A network contains SDO_TOPO_GEOMETRY objects if the GEOMETRY_TYPE column in its entry in the USER_SDO_NETWORK_METADATA view contains the value TOPO_GEOMETRY
. (The USER_SDO_NETWORK_METADATA view is explained in Section 5.9.1.)
The following example checks if the network named ROADS_NETWORK
is a spatial network containing SDO_TOPO_GEOMETRY objects.
SELECT SDO_NET.TOPO_GEOMETRY_NETWORK('ROADS_NETWORK') FROM DUAL; SDO_NET.TOPO_GEOMETRY_NETWORK('ROADS_NETWORK') -------------------------------------------------------------------------------- FALSE
SDO_NET.VALIDATE_LINK_SCHEMA(
network IN VARCHAR2
) RETURN VARCHAR2;
Returns TRUE
if the metadata relating to links in a network is valid; returns FALSE
if the metadata relating to links in a network is not valid.
Network name.
This function checks the following for validity: table name, geometry column, and cost column for spatial networks; measure-related information for LRS networks; topology-related information for topology networks; and hierarchy-related information for hierarchical networks.
The following example checks the validity of the metadata related to links in the network named ROADS_NETWORK
.
SELECT SDO_NET.VALIDATE_LINK_SCHEMA('ROADS_NETWORK') FROM DUAL; SDO_NET.VALIDATE_LINK_SCHEMA('ROADS_NETWORK') -------------------------------------------------------------------------------- TRUE
SDO_NET.VALIDATE_LRS_SCHEMA(
network IN VARCHAR2
) RETURN VARCHAR2;
Returns TRUE
if the metadata relating to LRS information in a network is valid; returns FALSE
if the metadata relating to LRS information in a network is not valid.
Network name.
None.
The following example checks the validity of the metadata related to LRS information in the network named ROADS_NETWORK
.
SELECT SDO_NET.VALIDATE_LRS_SCHEMA('ROADS_NETWORK') FROM DUAL; SDO_NET.VALIDATE_LRS_SCHEMA('ROADS_NETWORK') -------------------------------------------------------------------------------- TRUE
SDO_NET.VALIDATE_NETWORK(
network IN VARCHAR2
) RETURN VARCHAR2;
Returns TRUE
if the network is valid; returns FALSE
if the network is not valid.
Network name.
This function checks for the following, and returns FALSE
if one or more are not true:
The network exists.
The node and link tables for the network exist, and they contain the required columns.
For an LRS geometry network, the LRS table exists and contains the required columns.
For a spatial network, columns for the node and path geometries exist and have spatial indexes defined on them.
The following example validates the network named LOG_NET1
.
SELECT SDO_NET.VALIDATE_NETWORK('LOG_NET1') FROM DUAL; SDO_NET.VALIDATE_NETWORK('LOG_NET1') -------------------------------------------------------------------------------- TRUE
SDO_NET.VALIDATE_NODE_SCHEMA(
network IN VARCHAR2
) RETURN VARCHAR2;
Returns TRUE
if the metadata relating to nodes in a network is valid; returns FALSE
if the metadata relating to nodes in a network is not valid.
Network name.
This function checks the following for validity: table name, geometry column, and cost column for spatial networks; measure-related information for LRS networks; topology-related information for topology networks; and hierarchy-related information for hierarchical networks.
The following example checks the validity of the metadata related to nodes in the network named LOG_NET1
.
SELECT SDO_NET.VALIDATE_NODE_SCHEMA('LOG_NET1') FROM DUAL; SDO_NET.VALIDATE_NODE_SCHEMA('LOG_NET1') -------------------------------------------------------------------------------- TRUE
SDO_NET.VALIDATE_PATH_SCHEMA(
network IN VARCHAR2
) RETURN VARCHAR2;
Returns TRUE
if the metadata relating to paths in a network is valid; returns FALSE
if the metadata relating to paths in a network is not valid.
Network name.
This function checks the following for validity: table name, geometry column, and cost column for spatial networks; measure-related information for LRS networks; topology-related information for topology networks; and hierarchy-related information for hierarchical networks.
The following example checks the validity of the metadata related to paths in the network named ROADS_NETWORK
.
SELECT SDO_NET.VALIDATE_PATH_SCHEMA('ROADS_NETWORK') FROM DUAL; SDO_NET.VALIDATE_PATH_SCHEMA('ROADS_NETWORK') -------------------------------------------------------------------------------- TRUE