com.esri.arcgis.location
Class RouteMeasureLocator

java.lang.Object
  extended by com.esri.arcgis.location.RouteMeasureLocator
All Implemented Interfaces:
ILocator, ILocatorDataset, com.esri.arcgis.interop.RemoteObjRef, IRouteLocator, IRouteLocator2, Serializable

public class RouteMeasureLocator
extends Object
implements com.esri.arcgis.interop.RemoteObjRef, ILocator, IRouteLocator, IRouteLocator2, ILocatorDataset

Route measure locator object.

Remarks

A location is a place on the earth. Locators know how to transform a spatial description into a shape that can be placed on a map. Examples of locations include addresses, xy coordinates, place names and route.

A route locator knows how to transform a route location into a shape. A route location can represent either a point along a route or a segment along a route between two points.

A RouteMeasureLocator is one type of route locator where a route location's position is determined by the measure values along a given route.

A RouteMeasureLocator object is created via its name object counterpart, RouteMeasureLocatorName.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

See Also:
Serialized Form

Constructor Summary
RouteMeasureLocator(Object obj)
          Construct a RouteMeasureLocator using a reference to such an object returned from ArcGIS Engine or Server.
 
Method Summary
 boolean equals(Object o)
          Compare this object with another
 String getCategory()
          Category of the locator.
 String getDescription()
          Description of the locator.
 IEnvelope getExtent()
          The route locator's extent (same a route feature class' extent).
 ILocatorName getFullName()
          The Name object for the locator.
 ILocatorWorkspace getLocatorWorkspace()
          The locator workspace that contains the locator.
 int getMeasureUnit()
          The units of the route measures.
 String getName()
          Name of the locator.
 IFeatureClass getRouteFeatureClass()
          The route feature class (Polyline with M feature class).
 void getRouteGeometry(IRouteLocation routeLocation, IGeometry[] routeGeometry, int[] locatingError)
          The route(s) corresponding to the route location.
 int getRouteIDFieldIndex()
          The field index of the route identifier.
 String getRouteIDFieldName()
          The route identifier field from the route feature class.
 String getRouteIDFieldNameDelimited()
          The delimited route identifier field of the route feature class.
 String getRouteWhereClause()
          The where clause that limits the routes events can be located on.
 ISpatialReference getSpatialReference()
          The route locator's spatial reference (same as route feature class' spatial reference).
 ILocatorUI getUserInterface()
          User interface for the locator.
 int hashCode()
          the hashcode for this object
 IEnumRouteIdentifyResult identify(IEnvelope searchEnvelope, String whereClause)
          Identify route locations in an envelope.
 boolean isHasSpatialIndex()
          Indicates if the route feature class has a spatial index.
 boolean isHasZs()
          Indicates whether the route locator is Z-Aware.
 boolean isRouteIDIsIndexed()
          Indicates if the route ID has an index.
 boolean isRouteIDIsString()
          Indicates if the route identifier field type is string.
 boolean isRouteIDIsUnique()
          Indicates whether the route ID is unique (Obsolete).
 void locate(IRouteLocation routeLocation, IGeometry[] result, int[] locatingError)
          Locates a point or line route location.
 void locateRow(IRouteEventProperties eventProperties, IRow row, IGeometry[] result, int[] locatingError)
          Locates an event table row containing a point or line route location.
 void setDescription(String description)
          Description of the locator.
 void setRouteWhereClause(String whereClause)
          The where clause that limits the routes events can be located on.
 
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

RouteMeasureLocator

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

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

Throws:
IOException - if there are interop problems RouteMeasureLocator theRouteMeasureLocator = (RouteMeasureLocator) 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

getName

public String getName()
               throws IOException,
                      AutomationException
Name of the locator.

Remarks

Locators and locator styles stored in an ArcSDE locator workspace are prefixed by the name of the ArcSDE user that owns the locator styles, as in "SDE.US Streets with Zone".

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getName in interface ILocator
Returns:
The name
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getDescription

public String getDescription()
                      throws IOException,
                             AutomationException
Description of the locator.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getDescription in interface ILocator
Returns:
The description
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setDescription

public void setDescription(String description)
                    throws IOException,
                           AutomationException
Description of the locator.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getCategory

public String getCategory()
                   throws IOException,
                          AutomationException
Category of the locator.

Remarks

The Category property returns a string indicating the category to which the locator belongs. There are two categories that are defined for locators provided with ArcGIS:

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getCategory in interface ILocator
Returns:
The category
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getUserInterface

public ILocatorUI getUserInterface()
                            throws IOException,
                                   AutomationException
User interface for the locator.

Description

The UserInterface property returns an object that you can use to display the user interfaces for the locator.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getUserInterface in interface ILocator
Returns:
A reference to a com.esri.arcgis.geodatabase.ILocatorUI
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getRouteFeatureClass

public IFeatureClass getRouteFeatureClass()
                                   throws IOException,
                                          AutomationException
The route feature class (Polyline with M feature class).

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getRouteFeatureClass in interface IRouteLocator
Returns:
A reference to a com.esri.arcgis.geodatabase.IFeatureClass
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getRouteIDFieldName

public String getRouteIDFieldName()
                           throws IOException,
                                  AutomationException
The route identifier field from the route feature class.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getRouteIDFieldName in interface IRouteLocator
Returns:
The rid
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getRouteIDFieldIndex

public int getRouteIDFieldIndex()
                         throws IOException,
                                AutomationException
The field index of the route identifier.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getRouteIDFieldIndex in interface IRouteLocator
Returns:
The routeIDIndex
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getRouteIDFieldNameDelimited

public String getRouteIDFieldNameDelimited()
                                    throws IOException,
                                           AutomationException
The delimited route identifier field of the route feature class.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getRouteIDFieldNameDelimited in interface IRouteLocator
Returns:
The rid
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isRouteIDIsUnique

public boolean isRouteIDIsUnique()
                          throws IOException,
                                 AutomationException
Indicates whether the route ID is unique (Obsolete).

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isRouteIDIsUnique in interface IRouteLocator
Returns:
The routeIDIsUnique
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isRouteIDIsString

public boolean isRouteIDIsString()
                          throws IOException,
                                 AutomationException
Indicates if the route identifier field type is string.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isRouteIDIsString in interface IRouteLocator
Returns:
The routeIDIsString
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setRouteWhereClause

public void setRouteWhereClause(String whereClause)
                         throws IOException,
                                AutomationException
The where clause that limits the routes events can be located on.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getRouteWhereClause

public String getRouteWhereClause()
                           throws IOException,
                                  AutomationException
The where clause that limits the routes events can be located on.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getRouteWhereClause in interface IRouteLocator
Returns:
The whereClause
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getMeasureUnit

public int getMeasureUnit()
                   throws IOException,
                          AutomationException
The units of the route measures.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getMeasureUnit in interface IRouteLocator
Returns:
A com.esri.arcgis.system.esriUnits constant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getExtent

public IEnvelope getExtent()
                    throws IOException,
                           AutomationException
The route locator's extent (same a route feature class' extent).

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getExtent in interface IRouteLocator
Returns:
A reference to a com.esri.arcgis.geometry.IEnvelope
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSpatialReference

public ISpatialReference getSpatialReference()
                                      throws IOException,
                                             AutomationException
The route locator's spatial reference (same as route feature class' spatial reference).

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getSpatialReference in interface IRouteLocator
Returns:
A reference to a com.esri.arcgis.geometry.ISpatialReference
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isHasSpatialIndex

public boolean isHasSpatialIndex()
                          throws IOException,
                                 AutomationException
Indicates if the route feature class has a spatial index.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isHasSpatialIndex in interface IRouteLocator
Returns:
The hasSpatialIndex
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

locate

public void locate(IRouteLocation routeLocation,
                   IGeometry[] result,
                   int[] locatingError)
            throws IOException,
                   AutomationException
Locates a point or line route location.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
locate in interface IRouteLocator
Parameters:
routeLocation - A reference to a com.esri.arcgis.location.IRouteLocation (in)
result - A reference to a com.esri.arcgis.geometry.IGeometry (out: use single element array)
locatingError - A com.esri.arcgis.geodatabase.esriLocatingError constant (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

locateRow

public void locateRow(IRouteEventProperties eventProperties,
                      IRow row,
                      IGeometry[] result,
                      int[] locatingError)
               throws IOException,
                      AutomationException
Locates an event table row containing a point or line route location.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
locateRow in interface IRouteLocator
Parameters:
eventProperties - A reference to a com.esri.arcgis.geodatabase.IRouteEventProperties (in)
row - A reference to a com.esri.arcgis.geodatabase.IRow (in)
result - A reference to a com.esri.arcgis.geometry.IGeometry (out: use single element array)
locatingError - A com.esri.arcgis.geodatabase.esriLocatingError constant (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getRouteGeometry

public void getRouteGeometry(IRouteLocation routeLocation,
                             IGeometry[] routeGeometry,
                             int[] locatingError)
                      throws IOException,
                             AutomationException
The route(s) corresponding to the route location.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getRouteGeometry in interface IRouteLocator
Parameters:
routeLocation - A reference to a com.esri.arcgis.location.IRouteLocation (in)
routeGeometry - A reference to a com.esri.arcgis.geometry.IGeometry (out: use single element array)
locatingError - A com.esri.arcgis.geodatabase.esriLocatingError constant (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

identify

public IEnumRouteIdentifyResult identify(IEnvelope searchEnvelope,
                                         String whereClause)
                                  throws IOException,
                                         AutomationException
Identify route locations in an envelope.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
identify in interface IRouteLocator2
Parameters:
searchEnvelope - A reference to a com.esri.arcgis.geometry.IEnvelope (in)
whereClause - The whereClause (in)
Returns:
A reference to a com.esri.arcgis.location.IEnumRouteIdentifyResult
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isHasZs

public boolean isHasZs()
                throws IOException,
                       AutomationException
Indicates whether the route locator is Z-Aware.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isHasZs in interface IRouteLocator2
Returns:
The hasZs
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isRouteIDIsIndexed

public boolean isRouteIDIsIndexed()
                           throws IOException,
                                  AutomationException
Indicates if the route ID has an index.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isRouteIDIsIndexed in interface IRouteLocator2
Returns:
The routeIDIsIndexed
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getFullName

public ILocatorName getFullName()
                         throws IOException,
                                AutomationException
The Name object for the locator.

Description

Returns a reference to a LocatorName object that represents the locator.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getFullName in interface ILocatorDataset
Returns:
A reference to a com.esri.arcgis.geodatabase.ILocatorName
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
ILocatorName, LocatorName, ILocatorWorkspace.getLocatorName(String)

getLocatorWorkspace

public ILocatorWorkspace getLocatorWorkspace()
                                      throws IOException,
                                             AutomationException
The locator workspace that contains the locator.

Description

Returns a reference to the locator workspace that contains the locator.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getLocatorWorkspace in interface ILocatorDataset
Returns:
A reference to a com.esri.arcgis.geodatabase.ILocatorWorkspace
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
ILocatorWorkspace2, ILocatorManager2, DatabaseLocatorWorkspace, ILocatorWorkspace, ILocatorManager.getLocatorWorkspaceFromPath(String), LocatorEnumerator, ILocatorWorkspaceName2, LocatorWorkspaceName, IDatabaseLocatorWorkspace, LocalLocatorWorkspace, ILocatorManager, LocatorManager, ILocatorWorkspaceName