com.esri.arcgis.datasourcesfile
Class SMFlagCreator

java.lang.Object
  extended by com.esri.arcgis.datasourcesfile.SMFlagCreator
All Implemented Interfaces:
ISMFlagCreator, ISMFlagCreator2, com.esri.arcgis.interop.RemoteObjRef, Serializable

public class SMFlagCreator
extends Object
implements com.esri.arcgis.interop.RemoteObjRef, ISMFlagCreator, ISMFlagCreator2

The object for route flag creation.

Product Availability

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

See Also:
Serialized Form

Constructor Summary
SMFlagCreator(Object obj)
          Construct a SMFlagCreator using a reference to such an object returned from ArcGIS Engine or Server.
 
Method Summary
 ISMFlag createFlag(ISMRouterPoint pPoint)
          Creates the route flag using its geographic location.
 ISMFlag createFlagDirection(ISMRouterPoint pPoint, double dOrientation, double dTolerance, double[] pdAdjustedOrientation)
          Creates the route flag using its geographic location and required direction.
 ISMFlag createFlagDirectionAdv(ISMRouterPoint pPoint, double dOrientation, double dTolerance, double dSpeed, double dLatency, double[] pdAdjustedOrientation)
          Creates the route flag using its geographic location, required direction and latency.
 boolean equals(Object o)
          Compare this object with another
 double getSearchTolerance()
          Defines maximum allowed distance in miles from stop location to closest street segment when creating a flag.
 int hashCode()
          the hashcode for this object
 void setSearchTolerance(double pVal)
          Defines maximum allowed distance in miles from stop location to closest street segment when creating a flag.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.esri.arcgis.interop.RemoteObjRef
getJintegraDispatch, release
 

Constructor Detail

SMFlagCreator

public SMFlagCreator(Object obj)
              throws IOException
Construct a SMFlagCreator using a reference to such an object returned from ArcGIS Engine or Server. This is semantically equivalent to casting obj to SMFlagCreator.
Casting to this class from the return value of a method will not work, as this class represents an abstract class in ArcObjects.
*
SMFlagCreator o = (SMFlagCreator)obj; // will not work

SMFlagCreator o = new SMFlagCreator(obj); // Use this constructor instead
* @param obj an object returned from ArcGIS Engine or Server

Throws:
IOException - if there are interop problems SMFlagCreator theSMFlagCreator = (SMFlagCreator) obj;
Method Detail

equals

public boolean equals(Object o)
Compare this object with another

Overrides:
equals in class Object

hashCode

public int hashCode()
the hashcode for this object

Overrides:
hashCode in class Object

createFlag

public ISMFlag createFlag(ISMRouterPoint pPoint)
                   throws IOException,
                          AutomationException
Creates the route flag using its geographic location.

Description

Creates the route flag using its geographic location.

Product Availability

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

Specified by:
createFlag in interface ISMFlagCreator
Parameters:
pPoint - A reference to a com.esri.arcgis.datasourcesfile.ISMRouterPoint (in)
Returns:
A reference to a com.esri.arcgis.datasourcesfile.ISMFlag
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

createFlagDirection

public ISMFlag createFlagDirection(ISMRouterPoint pPoint,
                                   double dOrientation,
                                   double dTolerance,
                                   double[] pdAdjustedOrientation)
                            throws IOException,
                                   AutomationException
Creates the route flag using its geographic location and required direction.

Description

Creates the route flag using geographic location and required direction.

Remarks

This method may be used if snapped position of route flag is needed.

The dOrientation argument is associated with the input geographic location (pPoint argument). dOrientation indicates the direction of moving at the time the geographic coordinates were determined. The valid values are within the range 0 - 360 degrees (0 inclusive) clockwise starting from north at 0 degrees (i.e. 0 - north, 90 - east, 180 - south, and 270 - west).
The street that the Flag being created is snapped to, will be the closest among those streets that have an orientation within dTolerance degrees of the dOrientation argument.

The pdAdjustedOrientation value represents the orientation of the street segment in the direction of travel at the snapped geographic point. Valid values are within the range 0 - 360 degrees as described above.

Product Availability

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

Specified by:
createFlagDirection in interface ISMFlagCreator
Parameters:
pPoint - A reference to a com.esri.arcgis.datasourcesfile.ISMRouterPoint (in)
dOrientation - The dOrientation (in)
dTolerance - The dTolerance (in)
pdAdjustedOrientation - The pdAdjustedOrientation (out: use single element array)
Returns:
A reference to a com.esri.arcgis.datasourcesfile.ISMFlag
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

createFlagDirectionAdv

public ISMFlag createFlagDirectionAdv(ISMRouterPoint pPoint,
                                      double dOrientation,
                                      double dTolerance,
                                      double dSpeed,
                                      double dLatency,
                                      double[] pdAdjustedOrientation)
                               throws IOException,
                                      AutomationException
Creates the route flag using its geographic location, required direction and latency.

Description

Creates the route flag using geographic location, required location, and latency.

Remarks

This method may be used if exact snapped position of flag is needed.

The dOrientation argument is associated with the input geographic location (pPoint argument). dOrientation indicates the direction of movement at the time the geographic coordinates were determined. The valid values are within the range 0 - 360 degrees (0 inclusive) clockwise starting from north at 0 degrees (i.e. 0 - north, 90 - east, 180 - south, and 270 - west).
The street that the Flag being created is snapped to, will be the closest among those streets that have an orientation within dTolerance degrees of the dOrientation argument.

The pdAdjustedOrientation value represents the orientation of the street segment in the direction of travel at the snapped geographic point. Valid values are within the range 0 - 360 degrees as described above.

The dSpeed argument indicates the speed of the point (in mph) at the time that the input geographic coordinates were determined.

The dLatency argument indicates how many milliseconds old the input geographic coordinates are. These two arguments (dSpeed and dLatency) are used to further adjust the snapped position of the point.
This is accomplished by adjusting the snapped point position along the street segment in the direction of travel. The adjusted distance along the segment is determined by calculating the additional distance of the point. This additional distance is estimated based on the dSpeed value in miles per hour and the dLatency value in milliseconds. The returned value is the adjusted geographic coordinates of the created flag.

Note: When the snapped geographic position is adjusted, it is not allowed to pass through an intersection. For instance, if the next intersection is within 2 seconds of travel (according to current speed and orientation), and the latency value is greater than 2 seconds, the adjusted geographic point will be the intersection's coordinate.

Product Availability

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

Specified by:
createFlagDirectionAdv in interface ISMFlagCreator
Parameters:
pPoint - A reference to a com.esri.arcgis.datasourcesfile.ISMRouterPoint (in)
dOrientation - The dOrientation (in)
dTolerance - The dTolerance (in)
dSpeed - The dSpeed (in)
dLatency - The dLatency (in)
pdAdjustedOrientation - The pdAdjustedOrientation (out: use single element array)
Returns:
A reference to a com.esri.arcgis.datasourcesfile.ISMFlag
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSearchTolerance

public double getSearchTolerance()
                          throws IOException,
                                 AutomationException
Defines maximum allowed distance in miles from stop location to closest street segment when creating a flag.

Description

The default value is 0.1554 (250 meters).

Product Availability

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

Specified by:
getSearchTolerance in interface ISMFlagCreator2
Returns:
The pVal
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setSearchTolerance

public void setSearchTolerance(double pVal)
                        throws IOException,
                               AutomationException
Defines maximum allowed distance in miles from stop location to closest street segment when creating a flag.

Product Availability

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

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