Class DynamicLinkLevelSelector

  • All Implemented Interfaces:
    LinkLevelSelector, XMLConfigurable

    public class DynamicLinkLevelSelector
    extends java.lang.Object
    implements LinkLevelSelector, XMLConfigurable
    This implementation of LinkLevelSelector dynamically assigns link level to the next node according to the distance from the next node to the start/end point.
    Since:
    11gR2
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      int getLinkLevelToExpand​(LODAnalysisInfo ai)
      Returns the link level for the next node to expand on.
      int[] getUserDataCategories()
      Returns the required user data categories.
      java.lang.String getXMLSchema()
      Returns the XML schema for the input parameter.
      void init​(org.w3c.dom.Element parameter)
      Initializes the XML configurable object with the input parameter.
      boolean requiresAnalysisInfo()
      Whether analysis info is required.
      void reset​(HeavyPointOnNet[][] points)
      Resets the attributes of this link level selector according to the input points of interest.
      void setNetworkAnalyst​(NetworkAnalyst analyst)
      This method allows caller to pass the network analyst object to this link level selector, so that the link level selector can call the analysis functions provided by the network analyst, or access the network explorer associated with the network analyst.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • DynamicLinkLevelSelector

        public DynamicLinkLevelSelector()
        Default constructor. After this object is created using this default constructor, method init(Element) should be called to initialize it.
      • DynamicLinkLevelSelector

        public DynamicLinkLevelSelector​(NetworkAnalyst analyst,
                                        int maxLinkLevel,
                                        HeuristicCostFunction costFunction,
                                        double[] costThresholds,
                                        int numHighLevelNeighbors,
                                        double costMultiplier,
                                        LODNetworkConstraint constraint)
                                 throws LODNetworkException
        Returns a dynamic link level selector.
        Parameters:
        maxLinkLevel - maximum link level to expand on
        costFunction - heuristic cost function
        costThresholds - cost threshold. If the heuristic cost from the start node to the end node is less than the costThresholds[i], then the link level to expand on is set to the link level i+1.
        numHighLevelNeighbors - number of high level nodes to consider while computing the start and end cost threshold. The higher the value of this parameter, the more low level expansion will be used.
        costMultiplier - cost multiplier used to compute the start and end cost threshold. The higher the value of this parameter, the more low level expansions will be used.
        Throws:
        LODNetworkException
    • Method Detail

      • init

        public void init​(org.w3c.dom.Element parameter)
        Description copied from interface: XMLConfigurable
        Initializes the XML configurable object with the input parameter.
        Specified by:
        init in interface XMLConfigurable
        Parameters:
        parameter - an XML element containing the necessary information to initialize the object.
      • getXMLSchema

        public java.lang.String getXMLSchema()
        Description copied from interface: XMLConfigurable
        Returns the XML schema for the input parameter.
        Specified by:
        getXMLSchema in interface XMLConfigurable
        Returns:
      • reset

        public void reset​(HeavyPointOnNet[][] points)
                   throws LODNetworkException
        Description copied from interface: LinkLevelSelector
        Resets the attributes of this link level selector according to the input points of interest.
        Specified by:
        reset in interface LinkLevelSelector
        Parameters:
        points - points of interest. Each member of the array is an array of equivalent points. For example, in a road network, equivalent points can be the points on either side of a two way road.
        Throws:
        LODNetworkException
      • requiresAnalysisInfo

        public boolean requiresAnalysisInfo()
        Description copied from interface: LinkLevelSelector
        Whether analysis info is required.
        Specified by:
        requiresAnalysisInfo in interface LinkLevelSelector
        Returns:
        true is analysis info cannot be null; false, otherwise.
      • setNetworkAnalyst

        public void setNetworkAnalyst​(NetworkAnalyst analyst)
        Description copied from interface: LinkLevelSelector
        This method allows caller to pass the network analyst object to this link level selector, so that the link level selector can call the analysis functions provided by the network analyst, or access the network explorer associated with the network analyst. If network analyst is not needed by the link level selector, the link level selector can choose to do nothing with this method.
        Specified by:
        setNetworkAnalyst in interface LinkLevelSelector