com.esri.arcgis.networkanalyst
Class NALocatorLocationFieldsAgent

java.lang.Object
  extended by com.esri.arcgis.networkanalyst.NALocatorLocationFieldsAgent
All Implemented Interfaces:
com.esri.arcgis.interop.RemoteObjRef, INALocatorAgent, INALocatorAgent2, INALocatorLocationFieldsAgent, IClone, IPersist, IPersistStream, Externalizable, Serializable

public class NALocatorLocationFieldsAgent
extends Object
implements com.esri.arcgis.interop.RemoteObjRef, INALocatorLocationFieldsAgent, INALocatorAgent, INALocatorAgent2, IPersistStream, IClone, Externalizable

Defines the network location fields to be used by a locator.

Remarks

The NALocatorLocationFieldsAgent object uses existing source ID, OID and position information to find network locations. This is much faster than the spatial searching that the NALocatorFeatureAgent uses.

When you solve a network analysis problem, you can export, for example, the stops with this information. If your network locations are not changing often (e.g., your restaurants don't move around), then using network location fields and this locator agent is the most efficient way to store and restore network locations.

Product Availability

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

See Also:
Serialized Form

Constructor Summary
NALocatorLocationFieldsAgent()
          Constructs a NALocatorLocationFieldsAgent using ArcGIS Engine.
NALocatorLocationFieldsAgent(Object obj)
          Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.
NALocatorLocationFieldsAgent theNALocatorLocationFieldsAgent = (NALocatorLocationFieldsAgent) obj;
 
Method Summary
 void assign(IClone src)
          Assigns the properties of src to the receiver.
 void bind(INetworkDataset pNetworkDataset, IGPMessages pGPMessages)
          Re-associate the locator with the given network dataset and its schema.
 boolean equals(Object o)
          Compare this object with another
 IClone esri_clone()
          Clones the receiver and assigns the result to *clone.
 void getClassID(GUID[] pClassID)
          getClassID
static String getClsid()
          getClsid.
 String getName()
          The name of the locator agent.
 String getOIDFieldName()
          The OID field name.
 String getPositionFieldName()
          The position field name.
 String getSideFieldName()
          The side field name.
 void getSizeMax(_ULARGE_INTEGER[] pcbSize)
          getSizeMax
 String getSourceIDFieldName()
          The source ID field name.
 int hashCode()
          the hashcode for this object
 void isDirty()
          isDirty
 boolean isEqual(IClone other)
          Returns TRUE when the receiver and other have the same properties.
 boolean isIdentical(IClone other)
          Returns TRUE when the receiver and other are the same object.
 void load(IStream pstm)
          load
 void queryGeometry(INALocation location, IGeometry[] geometry)
          The geometry for the given network location.
 void queryLocationByPoint(IPoint point, double tolerance, INALocation[] location, IPoint[] outPoint, double[] distanceFromPoint)
          Find a network location from a point.
 void queryLocationByRow(IRow row, double tolerance, INALocation[] location, double[] distanceFromPoint)
          Find a network location from a row.
 void queryPoint(INALocation location, IPoint[] point)
          The point for the given network location.
 void readExternal(ObjectInput in)
           
 void save(IStream pstm, int fClearDirty)
          save
 void setOIDFieldName(String fieldName)
          The OID field name.
 void setPositionFieldName(String fieldName)
          The position field name.
 void setSideFieldName(String fieldName)
          The side field name.
 void setSourceIDFieldName(String fieldName)
          The source ID field name.
 void writeExternal(ObjectOutput out)
           
 
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

NALocatorLocationFieldsAgent

public NALocatorLocationFieldsAgent()
                             throws IOException,
                                    UnknownHostException
Constructs a NALocatorLocationFieldsAgent using ArcGIS Engine.

Throws:
IOException - if there are interop problems
UnknownHostException - if there are interop problems

NALocatorLocationFieldsAgent

public NALocatorLocationFieldsAgent(Object obj)
                             throws IOException
Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.
NALocatorLocationFieldsAgent theNALocatorLocationFieldsAgent = (NALocatorLocationFieldsAgent) obj;

Construct a NALocatorLocationFieldsAgent using a reference to such an object returned from ArcGIS Engine or Server. This is semantically equivalent to casting obj to NALocatorLocationFieldsAgent.

Parameters:
obj - an object returned from ArcGIS Engine or Server
Throws:
IOException - if there are interop problems
Method Detail

getClsid

public static String getClsid()
getClsid.


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

setSourceIDFieldName

public void setSourceIDFieldName(String fieldName)
                          throws IOException,
                                 AutomationException
The source ID field name.

Remarks

SourceIDFieldName specifies the field which contains the Source ID values. Each feature class added to a network dataset gets assinged a unique Source ID.

Product Availability

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

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

getSourceIDFieldName

public String getSourceIDFieldName()
                            throws IOException,
                                   AutomationException
The source ID field name.

Remarks

SourceIDFieldName specifies the field which contains the Source ID values. Each feature class added to a network dataset gets assinged a unique Source ID.

Product Availability

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

Specified by:
getSourceIDFieldName in interface INALocatorLocationFieldsAgent
Returns:
The fieldName
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setOIDFieldName

public void setOIDFieldName(String fieldName)
                     throws IOException,
                            AutomationException
The OID field name.

Remarks

OIDFieldName specifies the field which contains the OID values.

Product Availability

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

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

getOIDFieldName

public String getOIDFieldName()
                       throws IOException,
                              AutomationException
The OID field name.

Remarks

OIDFieldName specifies the field which contains the OID values.

Product Availability

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

Specified by:
getOIDFieldName in interface INALocatorLocationFieldsAgent
Returns:
The fieldName
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setPositionFieldName

public void setPositionFieldName(String fieldName)
                          throws IOException,
                                 AutomationException
The position field name.

Remarks

PositionFieldName specifies the field which contains the position values. Position values range from 0.0 to 1.0 along the feature.

Product Availability

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

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

getPositionFieldName

public String getPositionFieldName()
                            throws IOException,
                                   AutomationException
The position field name.

Remarks

PositionFieldName specifies the field which contains the position values. Position values range from 0.0 to 1.0 along the feature.

Product Availability

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

Specified by:
getPositionFieldName in interface INALocatorLocationFieldsAgent
Returns:
The fieldName
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setSideFieldName

public void setSideFieldName(String fieldName)
                      throws IOException,
                             AutomationException
The side field name.

Remarks

SideFieldName specifies the field which contains the side of street values.

Product Availability

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

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

getSideFieldName

public String getSideFieldName()
                        throws IOException,
                               AutomationException
The side field name.

Remarks

SideFieldName specifies the field which contains the side of street values.

Product Availability

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

Specified by:
getSideFieldName in interface INALocatorLocationFieldsAgent
Returns:
The fieldName
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getName

public String getName()
               throws IOException,
                      AutomationException
The name of the locator agent.

Remarks

The Name of the locator agent.

Product Availability

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

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

queryLocationByPoint

public void queryLocationByPoint(IPoint point,
                                 double tolerance,
                                 INALocation[] location,
                                 IPoint[] outPoint,
                                 double[] distanceFromPoint)
                          throws IOException,
                                 AutomationException
Find a network location from a point.

Remarks

QueryLocationByPoint searches for network locations based upon an input point. The corresponding NALocation, the point where the location was found, and the distance from the input point to the source feature found are all returned.

When the NALocatorFeatureAgent is used, the distance returned is from the point to the feature, not from the point to the actual network location on the feature. It is important to know the distance to the feature as a whole because this is the feature on which you want to locate the endpoint/midpoint. If you need to determine the distance from the input point to the actual network location point, use IProximityOperator::ReturnDistance between the input point and the output point.

The NALocatorLocationFieldsAgent should not be used with this method.

Product Availability

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

Specified by:
queryLocationByPoint in interface INALocatorAgent
Parameters:
point - A reference to a com.esri.arcgis.geometry.IPoint (in)
tolerance - The tolerance (in)
location - A reference to a com.esri.arcgis.networkanalyst.INALocation (in/out: use single element array)
outPoint - A reference to a com.esri.arcgis.geometry.IPoint (in/out: use single element array)
distanceFromPoint - The distanceFromPoint (in/out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

queryLocationByRow

public void queryLocationByRow(IRow row,
                               double tolerance,
                               INALocation[] location,
                               double[] distanceFromPoint)
                        throws IOException,
                               AutomationException
Find a network location from a row.

Remarks

QueryLocationByRow searches for network locations based upon the inbound Row. The result is returned as an INALocation.

For a NALocatorFeatureAgent, if the row is a feature, QueryLocationByRow uses the feature geometry to populate the INALocation.

For a NALocatorLocationFieldsAgent, QueryLocationByRow uses the field names specified on INALocatorLocationFieldsAgent to populate the INALocation.

Product Availability

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

Specified by:
queryLocationByRow in interface INALocatorAgent
Parameters:
row - A reference to a com.esri.arcgis.geodatabase.IRow (in)
tolerance - The tolerance (in)
location - A reference to a com.esri.arcgis.networkanalyst.INALocation (in/out: use single element array)
distanceFromPoint - The distanceFromPoint (in/out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

queryPoint

public void queryPoint(INALocation location,
                       IPoint[] point)
                throws IOException,
                       AutomationException
The point for the given network location.

Remarks

The result of calling QueryLocationByPoint or QueryLocationByRow is an INALocation. Use QueryPoint to get the Point that represents this location.

Product Availability

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

Specified by:
queryPoint in interface INALocatorAgent
Parameters:
location - A reference to a com.esri.arcgis.networkanalyst.INALocation (in)
point - A reference to a com.esri.arcgis.geometry.IPoint (in/out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

bind

public void bind(INetworkDataset pNetworkDataset,
                 IGPMessages pGPMessages)
          throws IOException,
                 AutomationException
Re-associate the locator with the given network dataset and its schema.

Remarks

Bind re-associates the NALocator with a network dataset. This method must be called before calling any of the Query functions.

Product Availability

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

Specified by:
bind in interface INALocatorAgent
Parameters:
pNetworkDataset - A reference to a com.esri.arcgis.geodatabase.INetworkDataset (in)
pGPMessages - A reference to a com.esri.arcgis.geodatabase.IGPMessages (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

queryGeometry

public void queryGeometry(INALocation location,
                          IGeometry[] geometry)
                   throws IOException,
                          AutomationException
The geometry for the given network location.

Remarks

QueryGeometry is used to get the source feature geometry of the network location. For example, if a network location is referencing a position along a line feature, the line feature's Polyline geometry will be returned by this method.

The INALocation must already be located, in which case INALocation::IsLocated returns true.

When QueryGeometry is called from a NALocatorFeatureAgent class, the INALocation::SourceID must match the SourceID of the NALocatorFeatureAgent.

Product Availability

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

Specified by:
queryGeometry in interface INALocatorAgent2
Parameters:
location - A reference to a com.esri.arcgis.networkanalyst.INALocation (in)
geometry - A reference to a com.esri.arcgis.geometry.IGeometry (in/out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isDirty

public void isDirty()
             throws IOException,
                    AutomationException
isDirty

Description

IPersistStream is a Microsoft interface. Please refer to MSDN for information about this interface.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isDirty in interface IPersistStream
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

load

public void load(IStream pstm)
          throws IOException,
                 AutomationException
load

Description

IPersistStream is a Microsoft interface. Please refer to MSDN for information about this interface.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
load in interface IPersistStream
Parameters:
pstm - A reference to a com.esri.arcgis.system.IStream (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

save

public void save(IStream pstm,
                 int fClearDirty)
          throws IOException,
                 AutomationException
save

Description

IPersistStream is a Microsoft interface. Please refer to MSDN for information about this interface.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
save in interface IPersistStream
Parameters:
pstm - A reference to a com.esri.arcgis.system.IStream (in)
fClearDirty - The fClearDirty (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSizeMax

public void getSizeMax(_ULARGE_INTEGER[] pcbSize)
                throws IOException,
                       AutomationException
getSizeMax

Description

IPersistStream is a Microsoft interface. Please refer to MSDN for information about this interface.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getSizeMax in interface IPersistStream
Parameters:
pcbSize - A Structure: com.esri.arcgis.system._ULARGE_INTEGER (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getClassID

public void getClassID(GUID[] pClassID)
                throws IOException,
                       AutomationException
getClassID

Description

IPersist is a Microsoft interface. Please refer to MSDN for information about this interface.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getClassID in interface IPersist
Parameters:
pClassID - A Structure: com.esri.arcgis.support.ms.stdole.GUID (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

esri_clone

public IClone esri_clone()
                  throws IOException,
                         AutomationException
Clones the receiver and assigns the result to *clone.

Product Availability

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

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

assign

public void assign(IClone src)
            throws IOException,
                   AutomationException
Assigns the properties of src to the receiver.

Description

Use Assign method to assign the properties of source object to receiver object. Both objects need to have the same CLSIDs. Both source and receiver objects need to be instantiated.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
assign in interface IClone
Parameters:
src - A reference to a com.esri.arcgis.system.IClone (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isEqual

public boolean isEqual(IClone other)
                throws IOException,
                       AutomationException
Returns TRUE when the receiver and other have the same properties.

Description

IsEqual returns True if the receiver and the source have the same properties. Note, this does not imply that the receiver and the source reference the same object.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isEqual in interface IClone
Parameters:
other - A reference to a com.esri.arcgis.system.IClone (in)
Returns:
The equal
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isIdentical

public boolean isIdentical(IClone other)
                    throws IOException,
                           AutomationException
Returns TRUE when the receiver and other are the same object.

Description

IsIdentical returns true if the receiver and the source reference the same object.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isIdentical in interface IClone
Parameters:
other - A reference to a com.esri.arcgis.system.IClone (in)
Returns:
The identical
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

writeExternal

public void writeExternal(ObjectOutput out)
                   throws IOException
Specified by:
writeExternal in interface Externalizable
Throws:
IOException

readExternal

public void readExternal(ObjectInput in)
                  throws IOException,
                         ClassNotFoundException
Specified by:
readExternal in interface Externalizable
Throws:
IOException
ClassNotFoundException