What's New in the Topology and Network Data Models?

This section describes new and changed features for Oracle Spatial topology and network data models for Oracle Database Release 11.

Release 11.2 Changes

This section describes new and changed features of the Oracle Spatial topology and network data models for Oracle Database 11g Release 2 (11.2).

New Network Analysis Functions in the Java API

The NetworkAnalyst class in oracle.spatial.network.lod contains many new methods. This class is the single entry point to all the network analysis operations supported by the network data model load on demand (LOD) approach to analysis. The new methods include the following:

  • Hierarchical shortest path analysis (NetworkAnalyst.shortestPathHierarchical) supports hierarchical shortest path analysis for networks with multiple link levels.

  • Shortest path A* analysis(NetworkAnalyst.shortestPathAStar) supports the A* shortest path algorithm with a user-defined heuristic cost function. It provides better performance than the Dijkstra algorithm because fewer nodes are explored.

  • Network buffer zones (NetworkAnalyst.networkBuffer), also called zones of influence, operation on networks. Includes coverage and cost information.

  • TSP ("traveling salesman problem" or "traveling salesperson problem") analysis (NetworkAnalyst.tsp) supports the minimum cost tour that includes all given nodes. Supports both closed and open tours (start and/or end are fixed).

  • Minimum cost spanning tree analysis (NetworkAnalyst.mcst) finds the links with the sum of minimum link costs to connect all nodes.

  • Minimum cost polygon generation (NetworkAnalyst.withinCostPolygon) provides a spatial representation (polygon) based on the minimum cost network coverage. For example, the Drive Time polygon is one such representation when travel time is used as link cost.

  • K shortest paths analysis (NetworkAnalyst.kShortestPaths) finds the k shortest paths between two nodes.

Reference information (Javadoc) on all supported packages and classes is in Oracle Spatial Java API Reference. The network data model Java API is introduced in Section 5.11.2.

Power Law (Scale-Free) Network Partitioning

The new SDO_NET.LOGICAL_POWERLAW_PARTITION procedure (documented in Chapter 6) partitions a logical power law (also called scale-free) network, and stores the information in the partition table. (In a power law network, the node degree values contain the power law information.)

New Functions for Spatial Networks

The following new functions are available for use with spatial (including LRS) networks:

  • SDO_NET.GET_PERCENTAGE returns the percentage of the distance along a link's line string geometry of a point geometry.

  • SDO_NET.GET_PT returns the point geometry that is a specified percentage of the distance along a link's line string geometry.

These functions are documented in Chapter 6.

Other New Subprograms

SDO_NET.GENERATE_NODE_LEVELS (documented in Chapter 6) generates node levels for a specified hierarchical (multilevel) network, and stores the information in a table.

Changes to Existing Subprograms

Significant changes to existing subprograms (documented in Chapter 6) include the following:

Network Metadata View Changes

The NODE_LEVEL_TABLE_NAME column is added to the USER_SDO_NETWORK_METADATA and ALL_SDO_NETWORK_METADATA views, which are described in Section 5.10.1.

Release 11.1 Changes

This section describes new and changed features of the Oracle Spatial topology and network data models for Oracle Database 11g Release 1 (11.1).

Load on Demand Analysis and Network Partitioning

To perform network analysis, you now have the option of partitioning the network and having needed partitions automatically loaded on demand during network analysis. This approach supplements the previous in-memory approach for network editing and analysis.


The in-memory approach will be deprecated in the next release of Spatial. Future development will enhance the load on demand approach, which you are encouraged use instead of the in-memory approach.

With the load on demand approach, you first partition the network into partitions of manageable size, and you use the load on demand Java API to perform analysis, which automatically loads and unloads needed partitions during analysis. This approach enables Spatial to perform network analysis on very large networks without memory limitation becoming a significant factor.

Load on demand analysis and network partitioning are described in Section 5.7.


A subpath is a partial path along a path, created either as a result of a network analysis operation or explicitly by a user. The start and end points of a subpath are defined as link indexes and the percentage of the distance to the next node in the path. Subpaths are explained and illustrated in Section 5.3.1.

User Data Support

You can define your own data in the user data metadata view, and Spatial will manage the user data as well as the connectivity information. Each user data entry is stored as a column in node, link, path, and subpath tables. Spatial currently supports simple data types such as VARCHAR2, INTEGER, NUMBER, and SDO_GEOMETRY.

See the information about the include_user_data parameter for the SDO_NET.GENERATE_PARTITION_BLOB, SDO_NET.GENERATE_PARTITION_BLOBS, and SDO_NET.GET_PARTITION_SIZE subprograms.

XML API for Network Analysis

You can use the network data model XML API to perform network analysis. Web service requests are supported through Oracle Spatial Web services, which are described in Oracle Spatial Developer's Guide.

The XML schema of the network data model XML API is described in the following: