oracle.spatial.network.lod
Class NetworkExplorer

java.lang.Objectoracle.spatial.network.lod.NetworkExplorer

public class NetworkExplorer

extends java.lang.Object

This class provides methods to navigate a network. The network may contain dynamic network update information superimposed on the static network information.
The following summarizes the basic steps in network navigation starting from a node:
1. From the input node ID, get the network node object (LogicalNetNode) by calling

networkExplorer.getNetNode(nodeId)

The returned LogicalNetNode object contains reference to its adjacent network links, which in turn contains references to the next nodes, and so on.
2. From the returned LogicalNetNode object, get the next node IDs or adjacent network link objects (LogicalNetLink), e.g.,

netNode.getNextNodeIds(...), or
netNode.getOutLinks(...)

3. From the returned LogicalNetLink objects, get the adjacent network node objects (LogicalNetNode), e.g.,

netLink.getStartNode(), or
netLink.getEndNode().

4. At this point, you may be tempted to navigate further directly from these adjacent nodes. However, the network node objects returned from step 3 might be external node objects in the containing partition, thus, may not have all the references to their adjacent links. If you plan to navigate further from these adjacent nodes, you should always call the following method to ensure that you have the corresponding internal node object that contains all the references to its adjacent links.

networkExplorer.getNetNode(adjacentNode.getId())

5. From the adjacent network node objects returned from step 4, you can continue navigating the network by repeating step 2 and 3.
6. Since the network node and link objects contain strong references to their adjacent objects, it is important to release any strong references to these objects as soon as you have finished investigating the corresponding part of the network, so that java VM can effectively garbage collect the network of objects that are interconnected to each other. If you have to keep some information from a network object for later, you should manage that information yourself without referencing the network object, or create a standalone object from the network object, and reference the standalone object instead. A standalone object does not contain any reference to other nodes or links.
To create a standalone object from a network object use:

setNetworkUpdates

Sets the network update objects and re-initialize the dynamic cache. These network update objects will be super imposed to the static network information while the user navigates the network during network analysis.

Parameters:

networkUpdates - network update objects for different link levels

setNetworkUpdate

Sets the network update object and initialize the dynamic cache. These network update objects will be super imposed to the static network information while navigating the network during network analysis.