com.esri.arcgis.datasourcesfile
Interface ISMRouter

All Superinterfaces:
Serializable
All Known Implementing Classes:
ISMRouterProxy, SMRouter

public interface ISMRouter
extends Serializable

Provides access to the main functionality for route finding.

Description

Provides main functionality for finding routes. Contains a number of properties that allow to query and change different settings of the route solver.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.


Method Summary
 ISMNetBarriersCollection getBarriers()
          The network barriers collection of the router object.
 ISMFlagCreator getFlagCreator()
          The flag creator used by the router object.
 String getNetAttributeName()
          The network attribute that the router object currently uses.
 ISMNetAttributesCollection getNetAttributes()
          The network attributes collection of the router object.
 ISMNetAttributesAccess getNetAttributesAccess()
          The network attributes access of the router object.
 ISMRoadPreferences getPreferences()
          The road preferences used by the router object.
 String getProjectionString()
          The spatial reference of the source data used by the router object.
 ISMSpeedGroups getSpeedGroups()
          The speed groups used by the router object.
 ISMTripPlanSettings getTripPlanSettings()
          The trip planning settings used by the router object.
 ISMStopsCollection reorderStops(ISMStopsCollection pISrcStops)
          Reorders the stops collection to minimize total driving time or distance.
 void setNetAttributeName(String pVal)
          The network attribute that the router object currently uses.
 ISMDirections solve(ISMStopsCollection pIStops, ISMBreakTracker pITracker)
          Calculates the route using the current settings of the router object.
 

Method Detail

getBarriers

ISMNetBarriersCollection getBarriers()
                                     throws IOException,
                                            AutomationException
The network barriers collection of the router object.

Description

Returns the network barriers collection interface of the router object.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Returns:
A reference to a com.esri.arcgis.datasourcesfile.ISMNetBarriersCollection
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getNetAttributes

ISMNetAttributesCollection getNetAttributes()
                                            throws IOException,
                                                   AutomationException
The network attributes collection of the router object.

Description

Returns the network attributes collection interface of the router object.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Returns:
A reference to a com.esri.arcgis.datasourcesfile.ISMNetAttributesCollection
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getPreferences

ISMRoadPreferences getPreferences()
                                  throws IOException,
                                         AutomationException
The road preferences used by the router object.

Description

Returns the road preferences interface of the router.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Returns:
A reference to a com.esri.arcgis.datasourcesfile.ISMRoadPreferences
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSpeedGroups

ISMSpeedGroups getSpeedGroups()
                              throws IOException,
                                     AutomationException
The speed groups used by the router object.

Description

Returns the speed groups interface of the router object.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Returns:
A reference to a com.esri.arcgis.datasourcesfile.ISMSpeedGroups
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getTripPlanSettings

ISMTripPlanSettings getTripPlanSettings()
                                        throws IOException,
                                               AutomationException
The trip planning settings used by the router object.

Description

Returns the trip planning settings interface of the router object.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Returns:
A reference to a com.esri.arcgis.datasourcesfile.ISMTripPlanSettings
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getNetAttributeName

String getNetAttributeName()
                           throws IOException,
                                  AutomationException
The network attribute that the router object currently uses.

Description

Returns the network attribute that the router object currently uses.

Remarks

Currently SMRouter supports two network attributes: "Time" and "Length". Assign the NetAttributeName value "Time" if you want to find the quickest route. Assign the NetAttributeName value "Length" if you want to find the shortest route.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Returns:
The pVal
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setNetAttributeName

void setNetAttributeName(String pVal)
                         throws IOException,
                                AutomationException
The network attribute that the router object currently uses.

Description

Sets the network attribute that the router will use.

Remarks

Currently SMRouter supports two network attributes: "Time" and "Length". Assign the NetAttributeName value "Time" if you want to find quickest route. Assign the NetAttributeName value "Length" if you want to find shortest route.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
pVal - The pVal (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

reorderStops

ISMStopsCollection reorderStops(ISMStopsCollection pISrcStops)
                                throws IOException,
                                       AutomationException
Reorders the stops collection to minimize total driving time or distance.

Description

Solves the TSP and repositions the stops collection, that is passed in, according to task solution.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
pISrcStops - A reference to a com.esri.arcgis.datasourcesfile.ISMStopsCollection (in)
Returns:
A reference to a com.esri.arcgis.datasourcesfile.ISMStopsCollection
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

solve

ISMDirections solve(ISMStopsCollection pIStops,
                    ISMBreakTracker pITracker)
                    throws IOException,
                           AutomationException
Calculates the route using the current settings of the router object.

Description

Builds the route using all the current settings of the router object.

Remarks

The method returns the SMDirections object that contains the resulting path and driving directions texts. If no route is found then the method returns Nothing.


You need to pass an implementation of ISMBreakTracker interface as pBreakTracker parameter's value if you want to break route finding process according to some condition. If you don't need such functionality you can pass Nothing as the parameter's value.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
pIStops - A reference to a com.esri.arcgis.datasourcesfile.ISMStopsCollection (in)
pITracker - A reference to a com.esri.arcgis.datasourcesfile.ISMBreakTracker (in)
Returns:
A reference to a com.esri.arcgis.datasourcesfile.ISMDirections
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getNetAttributesAccess

ISMNetAttributesAccess getNetAttributesAccess()
                                              throws IOException,
                                                     AutomationException
The network attributes access of the router object.

Description

Returns the network attributes access interface of the router object.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Returns:
A reference to a com.esri.arcgis.datasourcesfile.ISMNetAttributesAccess
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getProjectionString

String getProjectionString()
                           throws IOException,
                                  AutomationException
The spatial reference of the source data used by the router object.

Description

Returns the projection string that corresponds to projection information of the routing data which the router object was created on.

Remarks

Projection string is returned in the same format as the CreateESRISpatialReferenceFromPRJ() method of the ISpatialReferenceFactory.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Returns:
The pVal
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getFlagCreator

ISMFlagCreator getFlagCreator()
                              throws IOException,
                                     AutomationException
The flag creator used by the router object.

Description

Returns the flag creator interface of the router object.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Returns:
A reference to a com.esri.arcgis.datasourcesfile.ISMFlagCreator
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.