com.esri.arcgis.location
Class CompositeLocator

java.lang.Object
  extended by com.esri.arcgis.location.CompositeLocator
All Implemented Interfaces:
ILocator, ILocatorDataset, com.esri.arcgis.interop.RemoteObjRef, IAddressGeocoding, IAddressInputs, IAdvancedGeocoding, IAdvancedGeocoding2, IAdvancedIntersectionGeocoding, ICompositeLocator, IGeocodingProperties, IIntersectionGeocoding, IReverseGeocoding, IReverseGeocodingProperties, ISingleLineAddressInput, IClone, ISupportErrorInfo, Serializable

public class CompositeLocator
extends Object
implements com.esri.arcgis.interop.RemoteObjRef, IClone, ILocatorDataset, ILocator, IAddressInputs, IGeocodingProperties, IAddressGeocoding, IAdvancedGeocoding2, IIntersectionGeocoding, IAdvancedIntersectionGeocoding, ISupportErrorInfo, IReverseGeocodingProperties, IReverseGeocoding, ICompositeLocator, ISingleLineAddressInput

A locator that contains collection of other locators.

Product Availability

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

See Also:
Serialized Form

Constructor Summary
CompositeLocator()
          Constructs a CompositeLocator using ArcGIS Engine.
CompositeLocator(Object obj)
          Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.
CompositeLocator theCompositeLocator = (CompositeLocator) obj;
 
Method Summary
 void assign(IClone src)
          Assigns the properties of src to the receiver.
 boolean equals(Object o)
          Compare this object with another
 IClone esri_clone()
          Clones the receiver and assigns the result to *clone.
 IArray findStandardizedAddressCandidates(IPropertySet standardizedAddress)
          Generates candidates for a standardized address.
 IArray findStandardizedIntersectionCandidates(IPropertySet standardizedIntersection)
          Generates candidates for a standardized intersection.
 IFields getAddressFields()
          Fields needed to geocode a table of addresses.
 String getCategory()
          Category of the locator.
static String getClsid()
          getClsid.
 Object getDefaultInputFieldNames()
          Recognized names for the single line input field.
 Object getDefaultInputFieldNames(String addressField)
          Recognized names for an input field.
 String getDescription()
          Description of the locator.
 int getEndOffset()
          End offset percentage.
 ILocatorName getFullName()
          The Name object for the locator.
 IFields getIntersectionCandidateFields()
          Fields contained by intersection candidates.
 String getIntersectionConnectors()
          Connector strings used to designate intersections.
 ILocator getLocator(String name)
          Participating locator.
 Object getLocatorNames()
          Names of participating locators.
 ILocatorWorkspace getLocatorWorkspace()
          The locator workspace that contains the locator.
 IFields getMatchFields()
          Fields contained in the geocoding result.
 int getMinimumCandidateScore()
          Minimum candidate score setting.
 int getMinimumMatchScore()
          Minimum match score setting.
 String getName()
          Name of the locator.
 double getSearchDistance()
          Search distance.
 int getSearchDistanceUnits()
          Units used for the search distance.
 double getSideOffset()
          Side offset distance.
 int getSideOffsetUnits()
          Units used for the side offset.
 IField getSingleLineAddressField()
          Field needed to geocode a single line address.
 int getSpellingSensitivity()
          Spelling sensitivity setting.
 IFields getStandardizeFields()
          Fields contained in a standardized address.
 IFields getStandardizeIntersectionFields()
          Fields contained in a standardized intersection.
 ILocatorUI getUserInterface()
          User interface for the locator.
 int hashCode()
          the hashcode for this object
 void interfaceSupportsErrorInfo(GUID riid)
          interfaceSupportsErrorInfo
 boolean isAddPercentAlongToMatchFields()
          Indicates if the percentage along the reference feature at which the address is located is included in the geocoding result.
 boolean isAddReferenceIDToMatchFields()
          Indicates if the feature ID of the matched feature is included in the geocoding result.
 boolean isAddStandardizeStringToMatchFields()
          Indicates if the standardized address is included in the geocoding result.
 boolean isAddXYCoordsToMatchFields()
          Indicates if the x and y coordinates of the address location are included in the geocoding result.
 boolean isEqual(IClone other)
          Indicates if the receiver and other have the same properties.
 boolean isIdentical(IClone other)
          Indicates if the receiver and other are the same object.
 boolean isIntersection(IPropertySet address)
          Indicates if an address is an intersection.
 boolean isMatchIfScoresTie()
          Indicates whether addresses should be arbitrarily matched to a feature when two or more features have the same best score.
 boolean isUseRelativePaths()
          Indicates if the paths to the reference data should be stored relative to the locator.
 IPropertySet matchAddress(IPropertySet address)
          Geocodes a single address.
 void matchRecordSet(ICursor addressCursor, String addressFieldNames, IRecordSetInit outputRecordSet, String outputFieldNames, IPropertySet fieldsToCopy, ITrackCancel cancelTracker)
          Geocodes a cursor of addresses to a RecordSet.
 IPropertySet matchStandardizedAddress(IPropertySet standardizedAddress)
          Geocodes a single standardized address.
 IPropertySet matchStandardizedIntersection(IPropertySet standardizedIntersection)
          Geocodes a single standardized intersection.
 void matchTable(ITable addressTable, String addressFieldNames, String whereClause, IFeatureClass outputFeatureClass, String outputFieldNames, IPropertySet fieldsToCopy, ITrackCancel cancelTracker)
          Geocodes a table of addresses.
 void rematchTable(ITable pInputTable, String inputFieldNames, String inputJoinFieldName, IFeatureClass resultTable, String outputFieldNames, String outputJoinFieldName, String whereClause, ITrackCancel cancelTracker)
          Rematches a geocoded feature class or shapefile.
 IPropertySet reverseGeocode(IPoint location, boolean bReturnIntersection)
          Generate an address based on a point.
 void setAddPercentAlongToMatchFields(boolean bAddPercentAlongToMatchFields)
          Indicates if the percentage along the reference feature at which the address is located is included in the geocoding result.
 void setAddReferenceIDToMatchFields(boolean bAddReferenceIDToMatchFields)
          Indicates if the feature ID of the matched feature is included in the geocoding result.
 void setAddStandardizeStringToMatchFields(boolean bAddStandardizeStringToMatchFields)
          Indicates if the standardized address is included in the geocoding result.
 void setAddXYCoordsToMatchFields(boolean bAddXYCoordsToMatchFields)
          Indicates if the x and y coordinates of the address location are included in the geocoding result.
 void setDefaultInputFieldNames(String addressField, Object rhs2)
          Recognized names for a required input field.
 void setDescription(String description)
          Description of the locator.
 void setEndOffset(int endOffset)
          End offset percentage.
 void setIntersectionConnectors(String intersectionConnectors)
          Connector strings used to designate intersections.
 void setMatchIfScoresTie(boolean bMatchIfScoresTie)
          Indicates whether addresses should be arbitrarily matched to a feature when two or more features have the same best score.
 void setMinimumCandidateScore(int minimumCandidateScore)
          Minimum candidate score setting.
 void setMinimumMatchScore(int minimumMatchScore)
          Minimum match score setting.
 void setSearchDistance(double searchDistance)
          Search distance.
 void setSearchDistanceUnits(int searchDistanceUnits)
          Units used for the search distance.
 void setSideOffset(double sideOffset)
          Side offset distance.
 void setSideOffsetUnits(int sideOffsetUnits)
          Units used for the side offset.
 void setSpellingSensitivity(int spellingSensitivity)
          Spelling sensitivity setting.
 void setUseRelativePaths(boolean bUseRelativePaths)
          Indicates if the paths to the reference data should be stored relative to the locator.
 IPropertySet standardizeAddress(IPropertySet address, boolean[] isAnIntersection)
          Standardizes an address.
 void validate()
          Checks that the locator properties and locator dataset are present and valid.
 
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

CompositeLocator

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

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

CompositeLocator

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

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

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

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
Indicates if 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
Indicates if 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.

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

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.

getAddressFields

public IFields getAddressFields()
                         throws IOException,
                                AutomationException
Fields needed to geocode a table of addresses.

Remarks

The AddressFields property returns a Fields object that specifies the fields that the locator uses to geocode addresses. The IField::Name property of each Field object in the collection is the internal field name used by the locator.

The IField::Required property of each Field indicates whether or not the locator requires this field to geocode addresses. Fields with a Required value of False are not required by the Locator, but may improve the match scores of the addresses.

You can use the Fields returned by this property to determine which fields in a table contain address information using the DefaultInputFieldNames property.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getDefaultInputFieldNames

public Object getDefaultInputFieldNames(String addressField)
                                 throws IOException,
                                        AutomationException
Recognized names for an input field.

Product Availability

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

Specified by:
getDefaultInputFieldNames in interface IAddressInputs
Parameters:
addressField - The addressField (in)
Returns:
A Variant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getMinimumMatchScore

public int getMinimumMatchScore()
                         throws IOException,
                                AutomationException
Minimum match score setting.

Remarks

The MinimumMatchScore property specifies how well addresses have to match their most likely candidate in the reference data in order to be considered matched. A perfect match yields a score of 100. A match score between 75 and 100 can generally be considered a good match, depending upon the quality of your reference and address data. An address with no candidates with scores euqal to or greater than the minimum match score will not be matched.

The MinimumMatchScore property can have values between 0 and 100. If your application demands that addresses be located with a high level of confidence, you should specify a high value. If you want to maximize the number of addresses that can be matched and don’t mind if some addresses are potentially matched incorrectly, you can use a lower value.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getMinimumMatchScore in interface IGeocodingProperties
Returns:
The minimumMatchScore
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setMinimumMatchScore

public void setMinimumMatchScore(int minimumMatchScore)
                          throws IOException,
                                 AutomationException
Minimum match score setting.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getMinimumCandidateScore

public int getMinimumCandidateScore()
                             throws IOException,
                                    AutomationException
Minimum candidate score setting.

Remarks

Locators use the MinimumCandidateScore setting to filter the set of candidates that are returned by the IAddressCandidates::FindAddressCandidates, IAdvancedGeocoding::FindStandardizedAddressCandidates, and IAdvancedIntersectionGeocoding::FindStandardizedIntersectionCandidates methods. Only candidates with a score greater than the minimum candidate score will be returned by these methods.

The minimum candidate score for a locator can have values between 0 and 100. If the Locator is unable to come up with any likely candidates for an address that you want to geocode, you can specify a lower value so that candidates with very low scores are considered.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getMinimumCandidateScore in interface IGeocodingProperties
Returns:
The minimumCandidateScore
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setMinimumCandidateScore

public void setMinimumCandidateScore(int minimumCandidateScore)
                              throws IOException,
                                     AutomationException
Minimum candidate score setting.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getSpellingSensitivity

public int getSpellingSensitivity()
                           throws IOException,
                                  AutomationException
Spelling sensitivity setting.

Remarks

The SpellingSensitivity property controls how much variation the locator will allow when it searches for likely candidates in the reference data. A low value for spelling sensitivity will allow “Mane”, “Maine”, and “Man” to be treated as match candidates for “Main”. A higher value will restrict candidates to exact matches. The spelling sensitivity does not affect the match score of each candidate; it only controls how many candidates the locator considers. The locator then computes the match score of each candidate and ranks the candidates by score.

The SpellingSensitivity property can have values between 0 and 100. If you are sure that your addresses are spelled correctly, you can specify a higher value for the SpellingSensitivity. However, if you think that your addresses may contain spelling errors, then you should specify a lower value.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getSpellingSensitivity in interface IGeocodingProperties
Returns:
The spellingSensitivity
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setSpellingSensitivity

public void setSpellingSensitivity(int spellingSensitivity)
                            throws IOException,
                                   AutomationException
Spelling sensitivity setting.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getEndOffset

public int getEndOffset()
                 throws IOException,
                        AutomationException
End offset percentage.

Remarks

Locators that use polyline features as reference data interpolate positions along reference data features for geocoded addresses. In order to prevent features that are located at the end of a reference data feature from falling on top of other features (for example, a cross street), the locator can apply a “squeeze factor”, or end offset, to the location of a geocoded address.

The EndOffset property specifies by what amount to offset geocoded locations from the end of reference data features, and is expressed as a percentage of the length of the reference feature, between 0 percent and 50 percent. An EndOffset value of 0 will not offset features from the end of the reference feature. An EndOffset value of 50 percent will locate all geocoded addresses at the middle of the reference feature.

Warning: Do not use EndOffset in combination with EndOffsetDistanceUnits from IGeocodingProperties2 because it may produce some unexpected results. Use EndOffsetDistance in combination with EndOffsetDistanceUnits instead.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getEndOffset in interface IGeocodingProperties
Returns:
The endOffset
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setEndOffset

public void setEndOffset(int endOffset)
                  throws IOException,
                         AutomationException
End offset percentage.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getSideOffset

public double getSideOffset()
                     throws IOException,
                            AutomationException
Side offset distance.

Remarks

Some locators support geocoding addresses to a particular side of a street. For those locators, you can specify a side offset using the SideOffset property, which specifies how far from the correct side of the street geocoded addresses should be offset. The SideOffsetUnits property specifies the units for the side offset.

You can use these properties to improve the cartographic appearance of your geocoded feature classes. By default, the value of the SideOffsetUnits property is esriUnknownUnits, which indicates to use the reference data’s units.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getSideOffset in interface IGeocodingProperties
Returns:
The sideOffset
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setSideOffset

public void setSideOffset(double sideOffset)
                   throws IOException,
                          AutomationException
Side offset distance.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getSideOffsetUnits

public int getSideOffsetUnits()
                       throws IOException,
                              AutomationException
Units used for the side offset.

Remarks

Some locators support geocoding addresses to a particular side of a street. For those locators, you can specify a side offset using the SideOffset property, which specifies how far from the correct side of the street geocoded addresses should be offset. The SideOffsetUnits property specifies the units for the side offset.

You can use these properties to improve the cartographic appearance of your geocoded feature classes. By default, the value of the SideOffsetUnits property is esriUnknownUnits, which indicates to use the reference data’s units.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setSideOffsetUnits

public void setSideOffsetUnits(int sideOffsetUnits)
                        throws IOException,
                               AutomationException
Units used for the side offset.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setSideOffsetUnits in interface IGeocodingProperties
Parameters:
sideOffsetUnits - A com.esri.arcgis.system.esriUnits constant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isAddXYCoordsToMatchFields

public boolean isAddXYCoordsToMatchFields()
                                   throws IOException,
                                          AutomationException
Indicates if the x and y coordinates of the address location are included in the geocoding result.

Remarks

The AddXYCoordsToMatchFields property indicates if the matches returned by the locator have attributes representing the x and y coordinates of the geocoded locations. If this property has a value of True, then the locator will return two additional attributes for matches — one each for the x and y coordinates of the geocoded features. These attributes will be included in the match fields for the locator.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isAddXYCoordsToMatchFields in interface IGeocodingProperties
Returns:
The bAddXYCoordsToMatchFields
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setAddXYCoordsToMatchFields

public void setAddXYCoordsToMatchFields(boolean bAddXYCoordsToMatchFields)
                                 throws IOException,
                                        AutomationException
Indicates if the x and y coordinates of the address location are included in the geocoding result.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

isAddStandardizeStringToMatchFields

public boolean isAddStandardizeStringToMatchFields()
                                            throws IOException,
                                                   AutomationException
Indicates if the standardized address is included in the geocoding result.

Remarks

The AddStandardizeStringToMatchFields property indicates if the matches returned by the locator have an attribute containing a string representing the standardization of the address. The standardization string is a string with each component of the standardized address separated by pipe ("|") characters. If this property has a value of True, then this attribute will be included in the match fields for the locator.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isAddStandardizeStringToMatchFields in interface IGeocodingProperties
Returns:
The bAddStandardizeStringToMatchFields
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setAddStandardizeStringToMatchFields

public void setAddStandardizeStringToMatchFields(boolean bAddStandardizeStringToMatchFields)
                                          throws IOException,
                                                 AutomationException
Indicates if the standardized address is included in the geocoding result.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

isAddReferenceIDToMatchFields

public boolean isAddReferenceIDToMatchFields()
                                      throws IOException,
                                             AutomationException
Indicates if the feature ID of the matched feature is included in the geocoding result.

Remarks

The AddReferenceIDToMatchFields property indicates if the matches returned by the locator have an attribute containing the FeatureID of the reference data feature to which the address was matched. If this property has a value of True, then this attribute will be included in the match fields for the locator.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isAddReferenceIDToMatchFields in interface IGeocodingProperties
Returns:
The bAddReferenceIDToMatchFields
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setAddReferenceIDToMatchFields

public void setAddReferenceIDToMatchFields(boolean bAddReferenceIDToMatchFields)
                                    throws IOException,
                                           AutomationException
Indicates if the feature ID of the matched feature is included in the geocoding result.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

isAddPercentAlongToMatchFields

public boolean isAddPercentAlongToMatchFields()
                                       throws IOException,
                                              AutomationException
Indicates if the percentage along the reference feature at which the address is located is included in the geocoding result.

Remarks

For locators that interpolate geocoded locations along polyline reference data features, the AddPercentAlongToMatchFields property indicates if the matches returned by the locator have an attribute containing the percentage along the reference data feature at which the address was located, with values between 0 and 100. If this property has a value of True, then this attribute will be included in the match fields for the locator.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isAddPercentAlongToMatchFields in interface IGeocodingProperties
Returns:
The bAddPercentAlongToMatchFields
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setAddPercentAlongToMatchFields

public void setAddPercentAlongToMatchFields(boolean bAddPercentAlongToMatchFields)
                                     throws IOException,
                                            AutomationException
Indicates if the percentage along the reference feature at which the address is located is included in the geocoding result.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

isMatchIfScoresTie

public boolean isMatchIfScoresTie()
                           throws IOException,
                                  AutomationException
Indicates whether addresses should be arbitrarily matched to a feature when two or more features have the same best score.

Remarks

If the locator finds two or more candidates with the same best candidate score, and that score is greater than the minimum match score, then you can use the MatchIfCandidatesTie property to specify whether or not the locator should arbitrarily match the address to one of those candidates. If so, the locator will match the address to the first of these candidates that
it encounters.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isMatchIfScoresTie in interface IGeocodingProperties
Returns:
The bMatchIfScoresTie
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setMatchIfScoresTie

public void setMatchIfScoresTie(boolean bMatchIfScoresTie)
                         throws IOException,
                                AutomationException
Indicates whether addresses should be arbitrarily matched to a feature when two or more features have the same best score.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setDefaultInputFieldNames

public void setDefaultInputFieldNames(String addressField,
                                      Object rhs2)
                               throws IOException,
                                      AutomationException
Recognized names for a required input field.

Product Availability

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

Specified by:
setDefaultInputFieldNames in interface IGeocodingProperties
Parameters:
addressField - The addressField (in)
rhs2 - A Variant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getIntersectionConnectors

public String getIntersectionConnectors()
                                 throws IOException,
                                        AutomationException
Connector strings used to designate intersections.

Remarks

The IntersectionConnectors property lets you specify strings that are used to delimit intersection addresses. Some address locators can geocode intersection addresses such as "New York St. & W. Redlands Blvd.". This property is a string containing all of the strings that can be used to delimit intersections (such as "&", "AND", or "AT"). Each intersection connector is separated by a space in this string.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getIntersectionConnectors in interface IGeocodingProperties
Returns:
The intersectionConnectors
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setIntersectionConnectors

public void setIntersectionConnectors(String intersectionConnectors)
                               throws IOException,
                                      AutomationException
Connector strings used to designate intersections.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

isUseRelativePaths

public boolean isUseRelativePaths()
                           throws IOException,
                                  AutomationException
Indicates if the paths to the reference data should be stored relative to the locator.

Remarks

The UseRelativePaths property indicates if the locator stores paths to reference data sources as relative path names. Storing paths to reference data sources as relative paths names allows users to copy a locator and its reference data between folders in ArcCatalog without invalidating the locator. It also allows users to access the same locator from a shared network directory.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isUseRelativePaths in interface IGeocodingProperties
Returns:
The bUseRelativePaths
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setUseRelativePaths

public void setUseRelativePaths(boolean bUseRelativePaths)
                         throws IOException,
                                AutomationException
Indicates if the paths to the reference data should be stored relative to the locator.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getMatchFields

public IFields getMatchFields()
                       throws IOException,
                              AutomationException
Fields contained in the geocoding result.

Description

The MatchFields property returns the fields that are created by the address locator for matched addresses.

Remarks

The MatchFields that can be returned by geocoding services included with ArcGIS are:

All address locators based on the address locator styles provided with ArcGIS return the Shape, Status , Score and Match_addr fields.

You can use the fields returned by this property to inspect the match returned by the MatchAddress method, or to define the feature class that is created using the MatchTable method. See the MatchTable method for more information on fields written to the result feature class.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getMatchFields in interface IAddressGeocoding
Returns:
A reference to a com.esri.arcgis.geodatabase.IFields
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IAddressGeocoding.matchTable(com.esri.arcgis.geodatabase.ITable, String, String, com.esri.arcgis.geodatabase.IFeatureClass, String, com.esri.arcgis.system.IPropertySet, com.esri.arcgis.system.ITrackCancel), IAdvancedGeocoding.rematchTable(com.esri.arcgis.geodatabase.ITable, String, String, com.esri.arcgis.geodatabase.IFeatureClass, String, String, String, com.esri.arcgis.system.ITrackCancel), IAddressGeocoding.matchAddress(com.esri.arcgis.system.IPropertySet), IAddressGeocoding

matchAddress

public IPropertySet matchAddress(IPropertySet address)
                          throws IOException,
                                 AutomationException
Geocodes a single address.

Remarks

The address parameter is a PropertySet that contains the components of the address that you want to match. The property names in this PropertySet are defined by the IAddressInputs::AddressFields property.

The PropertySet returned by this method contains properties defined by the MatchFields property.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
matchAddress in interface IAddressGeocoding
Parameters:
address - A reference to a com.esri.arcgis.system.IPropertySet (in)
Returns:
A reference to a com.esri.arcgis.system.IPropertySet
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IAddressGeocoding.matchTable(com.esri.arcgis.geodatabase.ITable, String, String, com.esri.arcgis.geodatabase.IFeatureClass, String, com.esri.arcgis.system.IPropertySet, com.esri.arcgis.system.ITrackCancel), IAdvancedGeocoding.rematchTable(com.esri.arcgis.geodatabase.ITable, String, String, com.esri.arcgis.geodatabase.IFeatureClass, String, String, String, com.esri.arcgis.system.ITrackCancel), IAddressGeocoding.matchAddress(com.esri.arcgis.system.IPropertySet), IAddressGeocoding

matchTable

public void matchTable(ITable addressTable,
                       String addressFieldNames,
                       String whereClause,
                       IFeatureClass outputFeatureClass,
                       String outputFieldNames,
                       IPropertySet fieldsToCopy,
                       ITrackCancel cancelTracker)
                throws IOException,
                       AutomationException
Geocodes a table of addresses.

Description

The MatchTable method geocodes a table of addresses to a feature class.

Remarks

Before you geocode a table of addresses, you must first create the feature class that will contain the geocoded features. In addition to having an ObjectID and the match fields created by the locator, you can also specify fields from the address table to copy to the geocoded feature class. When you geocode a table of addresses using ArcGIS Desktop, the output feature class contains two copies of the address fields from the address table. One copy is a static copy that contains the original values of the address components from the address table. The second copy is an editable copy that you can use to modify the address when rematching the geocoded feature class. The names of the latter set of address fields are prefixed with "ARC_". In general, it is a good idea to follow this pattern when programatically geocoding a table of addresses, since the locator that you attach to the geocoded feature class will then only need to refer to the geocoded feature class itself (and not the original address table) in order to be able to rematch the addresses in the geocoded feature class.

The addressFieldNames parameter is used to specify the names of the fields in the addressTable that contain address information. The field names are contained in a comma-delimited string, in the order required by the address locator. You can get the set of address fields for the geocoding service using IAddressInputs::AddressFields. Use the IField::Required property to determine which address fields are required by the address locator. You must specify the names of the required fields in the address table. If your address table does not contain an optional address field, then do not specify a name in the this property.

The WhereClause parameter is used to restrict which addresses in the table are geocoded using a query.

The outputFeatureClass parameter is the feature class which will contain the geocoded addresses. This feature class must have an ObjectID field, and the match fields for the address locator. Use the MatchFields property to get the match fields for the address locator. In addition to the fields returned from MatchFields property, the result feature class also contains the Match_type field indicating how an adddress was matched. The field may contain the following values assigned by IAddressGeocoding::MatchTable or IAddressUI::RematchTable

If you want to copy any additional fields from the address table, or create new fields in the feature class, you must also add them to the feature class before geocoding the table.

The outputFieldNames parameter is a string containing a comma-delimited list of the names of the match fields in the feature class. The names of the fields must be specified in the same order as defined by the address locator. Use the MatchFields property to get the match fields for the address locator.

The fieldsToCopy parameter allows you to copy values from fields in the address table to the feature class. To copy a field, add a property to the PropertySet with the name of the destination field in the feature class, and with a value of the name of the field in the address table. You must add the the field to the feature class when you create it in order to copy values from the address table.

The CancelTracker parameter allows you to optionally display the progress while the geocoding service geocodes the table of addresses.

In order to be able to rematch a geocoded feature class, you must attach a locator to the geocoded feature class.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
matchTable in interface IAddressGeocoding
Parameters:
addressTable - A reference to a com.esri.arcgis.geodatabase.ITable (in)
addressFieldNames - The addressFieldNames (in)
whereClause - The whereClause (in)
outputFeatureClass - A reference to a com.esri.arcgis.geodatabase.IFeatureClass (in)
outputFieldNames - The outputFieldNames (in)
fieldsToCopy - A reference to a com.esri.arcgis.system.IPropertySet (in)
cancelTracker - A reference to a com.esri.arcgis.system.ITrackCancel (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
ILocatorManager2, IAddressGeocoding.matchTable(com.esri.arcgis.geodatabase.ITable, String, String, com.esri.arcgis.geodatabase.IFeatureClass, String, com.esri.arcgis.system.IPropertySet, com.esri.arcgis.system.ITrackCancel), AttachedLocator, ILocatorAttach2, IAttachedLocator, IAdvancedGeocoding.rematchTable(com.esri.arcgis.geodatabase.ITable, String, String, com.esri.arcgis.geodatabase.IFeatureClass, String, String, String, com.esri.arcgis.system.ITrackCancel), ILocatorManager, LocatorManager, IAddressGeocoding.matchAddress(com.esri.arcgis.system.IPropertySet), IAddressGeocoding, ILocatorAttach2.attachLocator(com.esri.arcgis.geodatabase.ILocator, com.esri.arcgis.geodatabase.ITable, String, String)

validate

public void validate()
              throws IOException,
                     AutomationException
Checks that the locator properties and locator dataset are present and valid.

Remarks

The Validate method allows you to check that the locator is ready to be used. This method checks if the locator properties and locator dataset are present and valid.

This method preloads all locators referenced by a composite locator. Use this method to optimize performance as locators are loaded on application startup, so that the first geocoding operation will run quickly.

This method returns a value of True if the locator is valid, and returns an error if it is not.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
validate in interface IAddressGeocoding
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
GeocodingIndexObject, GeocodingIndexClassExtension, IReferenceDataTable.getGeocodingIndexes(), ReferenceDataIndex, IReferenceDataFieldEdit, ReferenceDataFieldsEnumerator, IGeocodingIndexCompute, ReferenceDataTableEnumerator, IReferenceDataField, IReferenceDataTableEdit, ESRIFDOAddressLocator, IReferenceDataFile.getPathName(), StreetMapAddressLocator, IEnumReferenceDataField, IReferenceDataFile, IReferenceDataTable, IReferenceDataTables, IReferenceDataTables.getTables(), ReferenceDataField, IReferenceDataFile.getFilters(), IEnumReferenceDataTable, IReferenceDataIndex, IReferenceDataIndexEdit, ReferenceDataTable, IAddressGeocoding.validate(), ReferenceDataIndexEnumerator, IEnumReferenceDataIndex

matchRecordSet

public void matchRecordSet(ICursor addressCursor,
                           String addressFieldNames,
                           IRecordSetInit outputRecordSet,
                           String outputFieldNames,
                           IPropertySet fieldsToCopy,
                           ITrackCancel cancelTracker)
                    throws IOException,
                           AutomationException
Geocodes a cursor of addresses to a RecordSet.

Description

The MatchRecordSet method is similar to the IAddressGeocoding::MatchTable method, in that the locator geocodes a set of input address records to a set of output features. Unlike the IAddressGeocoding::MatchTable method, the output features are not stored in a feature class. Using this method is useful when geocoding multiple addresses and the geocoding results do not need to be persisted in a feature class.

The addressCursor parameter is a Cursor that contains the set of addresses to geocode. As a minimum, the cursor must contain all of the address fields required by the locator, and should contain as many address fields that can be used by the locator as are available. The cursor can contain additional fields, and these fields can be copied to the resulting RecordSet.

The addressFieldNames parameter is a comma-delimited string containing the field names in the cursor that correspond to the address fields used by the locator. The names of the fields given in this parameter must be specified in the same order as the order of the address fields returned by the IAddressInputs::AddressFields property.

The outputRecordSet parameter is a reference to the RecordSet object to which the locator will add the geocoded features. The Recordset must be co-created before passing it as a parameter to the MatchRecordSet method, and as a minimum, should contain the match fields generated by the locator. Use the IAddressGeocoding::MatchFields property to get the set of match fields generated by the locator. The RecordSet can optionally contain any fields for attributes that you want to copy from the addressCursor, as specified by the fieldsToCopy parameter. Use the IRecordSetInit::CreateTable method to initialize the RecordSet with the desired set of fields.

The outputFieldNames parameter is a comma-delimited string containing the names of the fields in the outputRecordSet corresponding to the match fields generated by the locator. The names ofthe fields given in this parameter must be specified in the same order and the order of the match fields returned by the IAddressGeocoding::MatchFields property.

The fieldsToCopy parameter is a PropertySet containing the mapping of fields in the addressCursor that you wish to copy to the outputRecordSet. The names of the properties in the PropertySet are the names of the fields in the outputRecordSet that will contain the copied values, and the value of the properties are the names of the fields in the addressCursor that contain the values to copy. If you do not wish to copy attributes from the addressCursor to the ouputRecordSet, you must still co-create an empty PropertySet and pass it to the MatchRecordSet method using this parameter.

The cancelTracker parameter is an optional reference to a CancelTracker object that allows you to display the progress while the locator geocodes the addressCursor.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
matchRecordSet in interface IAdvancedGeocoding2
Parameters:
addressCursor - A reference to a com.esri.arcgis.geodatabase.ICursor (in)
addressFieldNames - The addressFieldNames (in)
outputRecordSet - A reference to a com.esri.arcgis.geodatabase.IRecordSetInit (in)
outputFieldNames - The outputFieldNames (in)
fieldsToCopy - A reference to a com.esri.arcgis.system.IPropertySet (in)
cancelTracker - A reference to a com.esri.arcgis.system.ITrackCancel (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getStandardizeFields

public IFields getStandardizeFields()
                             throws IOException,
                                    AutomationException
Fields contained in a standardized address.

Remarks

All of the locators provided with ArcGIS, prior to 9.4, standardize addresses before matching them to the reference data. 9.4 locators do not use standardization for matching and therefore do not support IAdvancedGeocoding.

Sometimes, locators are not able to standardize addresses properly and thus cannot match them. If you find addresses that a locator cannot match, examining how they are standardized may help you determine why they cannot be matched. You may even be able to modify the standardization so that the addresses are standardized properly and thus improve the likelihood that the locator can match them.

The StandardizeFields property returns a Fields collection that specifies the fields that are contained by standardized addresses. The IField::Name property of each Field object in the collection is the internal field name used by the locator.

You can use fields returned by the StandardizeFields property to inspect the results of the StandardizeAddress method.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

rematchTable

public void rematchTable(ITable pInputTable,
                         String inputFieldNames,
                         String inputJoinFieldName,
                         IFeatureClass resultTable,
                         String outputFieldNames,
                         String outputJoinFieldName,
                         String whereClause,
                         ITrackCancel cancelTracker)
                  throws IOException,
                         AutomationException
Rematches a geocoded feature class or shapefile.

Description

The RematchTable method rematches a geocoded feature class or shapefile. In general, you will use the RematchTable method on a locator that you retreived from an AttachedLocator on a geocoded feature class. You can get most of the parameters required by this function from the AttachedLocator.

The pInputTable parameter is a reference to the table that contains the address information, which is usually the geocoded feature class.

The pInputFieldNames parameter is a comma-delimited string containing the names of the fields in pInputTable that contain the address information. Usually, these fields are copied from the original address table to the geocoded feature class when the geocoded feature class is first created, and are prefixed with "ARC_". The field names in the string must be given in the same order as specified by the IAddressInputs::AddressFields property.

The InputJoinFieldName parameter is the name of the field in pInputTable that relates records in this table to records in resultTable. Usually, this parameter is not used because pInputTable and resultTable refer to the same feature class.

The resultTable parameter is the feature class that contains the geocoded addresses.

The outputFieldNames parameter is a comma-delimited string containing the names of the fields in resultTable that contain match information. You can use the IAddressGeocoding::MatchFields property to determine which fields contain the match information. The field names in the string must be given in the same order as specified by the IAddressGeocoding::MatchFields property.

The OuputJoinFieldName parameter is the name of the field in resultTable that relates records in this feature class to records in pInputTable. Usually, this parameter is not used because pInputTable and resultTable refer to the same feature class.

The WhereClause parameter is a string that contains a SQL clause specifying which records in pInputTable to rematch. To rematch all of the records, specify a blank string for this parameter.

The CancelTracker parameter is an optional parameter that you can use to specify a CancelTracker to display the progress of the rematch operation.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
rematchTable in interface IAdvancedGeocoding
Parameters:
pInputTable - A reference to a com.esri.arcgis.geodatabase.ITable (in)
inputFieldNames - The inputFieldNames (in)
inputJoinFieldName - The inputJoinFieldName (in)
resultTable - A reference to a com.esri.arcgis.geodatabase.IFeatureClass (in)
outputFieldNames - The outputFieldNames (in)
outputJoinFieldName - The outputJoinFieldName (in)
whereClause - The whereClause (in)
cancelTracker - A reference to a com.esri.arcgis.system.ITrackCancel (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
com.esri.arcgis.locationui.IAddressUI, IAdvancedGeocoding.rematchTable(com.esri.arcgis.geodatabase.ITable, String, String, com.esri.arcgis.geodatabase.IFeatureClass, String, String, String, com.esri.arcgis.system.ITrackCancel), ILocatorUI.matchTable(int, com.esri.arcgis.geodatabase.ITable, com.esri.arcgis.geodatabase.ILocator, String[])

matchStandardizedAddress

public IPropertySet matchStandardizedAddress(IPropertySet standardizedAddress)
                                      throws IOException,
                                             AutomationException
Geocodes a single standardized address.

Remarks

All of the locators provided with ArcGIS, prior to 9.4, standardize addresses before matching them to the reference data. 9.4 locators do not use standardization for matching and therefore do not support IAdvancedGeocoding.

Sometimes, locators are not able to standardize addresses properly and thus cannot match them. If you find addresses that a locator cannot match, examining how they are standardized may help you determine why they cannot be matched. You may even be able to modify the standardization so that the addresses are standardized properly and thus improve the likelihood that the locator can match them.

The standardizedAddress parameter is a PropertySet containing a standardized address. Use the StandardizeAddress method to obtain a PropertySet containing a standardized address. Alternatively, you can construct a standardized address by creating a PropertySet whose values are defined by the names of the fields returned by the StandardizeFields property.

The PropertySet returned by this method has properties whose names are defined by the names of the fields returned by the IAddressGeocoding::MatchFields property.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
matchStandardizedAddress in interface IAdvancedGeocoding
Parameters:
standardizedAddress - A reference to a com.esri.arcgis.system.IPropertySet (in)
Returns:
A reference to a com.esri.arcgis.system.IPropertySet
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IPropertySet.getCount(), com.esri.arcgis.system.propertySet, com.esri.arcgis.locationui.ILocatorExtension, com.esri.arcgis.locationui.FindAddresses, IAdvancedGeocoding.matchStandardizedAddress(com.esri.arcgis.system.IPropertySet), com.esri.arcgis.locationui.AddressFindData, IPropertySet.removeProperty(String), com.esri.arcgis.locationui.LocatorExtension, com.esri.arcgis.locationui.IAddressFindData, IPropertySet.isEqual(com.esri.arcgis.system.IPropertySet)

findStandardizedAddressCandidates

public IArray findStandardizedAddressCandidates(IPropertySet standardizedAddress)
                                         throws IOException,
                                                AutomationException
Generates candidates for a standardized address.

Remarks

All of the locators provided with ArcGIS, prior to 9.4, standardize addresses before matching them to the reference data. 9.4 locators do not use standardization for matching and therefore do not support IAdvancedGeocoding.

Sometimes, locators are not able to standardize addresses properly and thus cannot match them. If you find addresses that a locator cannot match, examining how they are standardized may help you determine why they cannot be matched. You may even be able to modify the standardization so that the addresses are standardized properly and thus improve the likelihood that the locator can match them.

The standardizedAddress parameter is a PropertySet containing a standardized address. Use the StandardizeAddress method to obtain a PropertySet containing a standardized address. Alternatively, you can construct a standardized address by creating a PropertySet whose values are defined by the names of the fields returned by the StandardizeFields property.

The Array returned by this method contains PropertySets, each of which contains a candidate for the standardized address. The properties in these PropertySets names are defined by the names of the fields returned by the IAddressGeocoding::MatchFields property.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
findStandardizedAddressCandidates in interface IAdvancedGeocoding
Parameters:
standardizedAddress - A reference to a com.esri.arcgis.system.IPropertySet (in)
Returns:
A reference to a com.esri.arcgis.system.IArray
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

standardizeAddress

public IPropertySet standardizeAddress(IPropertySet address,
                                       boolean[] isAnIntersection)
                                throws IOException,
                                       AutomationException
Standardizes an address.

Remarks

All of the locators provided with ArcGIS, prior to 9.4, standardize addresses before matching them to the reference data. 9.4 locators do not use standardization for matching and therefore do not support IAdvancedGeocoding.

Sometimes, locators are not able to standardize addresses properly and thus cannot match them. If you find addresses that a locator cannot match, examining how they are standardized may help you determine why they cannot be matched. You may even be able to modify the standardization so that the addresses are standardized properly and thus improve the likelihood that the locator can match them.

The StandardizeAddress method returns a PropertySet containing the address contained in the address parameter standardized by the geocoding engine. Use the IAddressInputs::AddressFields property to determine the properties that the address parameter should contain. Use the StandardizeFields property to determine the names of the properties that the returned PropertySet contains.

The isAnIntersection is an output parameter whose value is set by the StandardizeAddresses method. If the value of the variable is set to True, then the locator interpreted the address as an intersection. If the address is an intersection, then you can use the IAdvancedIntersectionGeocoding::StandardizeIntersectionFields property to inspect the properties in the PropertySet returned by this method. Otherwise, you can use the StandardizeFields property to inspect the properties.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
standardizeAddress in interface IAdvancedGeocoding
Parameters:
address - A reference to a com.esri.arcgis.system.IPropertySet (in)
isAnIntersection - The isAnIntersection (in/out: use single element array)
Returns:
A reference to a com.esri.arcgis.system.IPropertySet
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getIntersectionCandidateFields

public IFields getIntersectionCandidateFields()
                                       throws IOException,
                                              AutomationException
Fields contained by intersection candidates.

Remarks

The IntersectionCandidateFields property returns a Fields object that specifies the fields that are contained by candidates for intersection addresses. You can use these fields to inspect the candidates that the locator generates for an address.

Use the IsIntersection method to determine if an address is an intersection address.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

isIntersection

public boolean isIntersection(IPropertySet address)
                       throws IOException,
                              AutomationException
Indicates if an address is an intersection.

Remarks

Use the IsIntersection property to determine if an address specifies an intersection. If an address does specify an intersection, use the fields returned by the IntersectionCandidateFields property to inspect the candidates that the locator returns for the address.

Use the IAddressInputs::AddressFields property to determine what properties the address parameter should contain.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isIntersection in interface IIntersectionGeocoding
Parameters:
address - A reference to a com.esri.arcgis.system.IPropertySet (in)
Returns:
The isAnIntersection
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getStandardizeIntersectionFields

public IFields getStandardizeIntersectionFields()
                                         throws IOException,
                                                AutomationException
Fields contained in a standardized intersection.

Remarks

The StandardizeIntersectionFields property returns a Fields object that you can use to inspect a standardized intersection address. To determine if an address is an intersection, use the IIntersectionGeocoding::IsIntersection method. You can then standardize the address using the IAdvancedGeocoding::StandardizeAddress method. The name of each Field in the Fields object corresponds to a property name in the PropertySet for the standardized address.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

matchStandardizedIntersection

public IPropertySet matchStandardizedIntersection(IPropertySet standardizedIntersection)
                                           throws IOException,
                                                  AutomationException
Geocodes a single standardized intersection.

Remarks

Use the MatchStandardizedIntersection method to match a standardized intersection address.

The standardizedIntersection parameter is a PropertySet containing the components of the standardized intersection address. You can obtain a standardized address using the IAdvancedGeocoding::StandardizeAddress method.

This method returns a PropertySet containing the match for the address. The names of its properties are determined by the names of the fields returned by the IAddressGeocoding::MatchFields property.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

findStandardizedIntersectionCandidates

public IArray findStandardizedIntersectionCandidates(IPropertySet standardizedIntersection)
                                              throws IOException,
                                                     AutomationException
Generates candidates for a standardized intersection.

Remarks

The FindStandardizedIntersectionCandidates method returns a set of candidates for a standardized intersection address.

The standardizedIntersection parameter is a PropertySet that contains a standardized address. You can create a standardized address using the IAdvancedGeocoding::StandardizeAddress method.

This method returns an Array of PropertySets containing candidates for the standardized intersection address. The names of the properties are defined by the names of the fields returned by the IIntersectionGeocoding::IntersectionCandidateFields property.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
findStandardizedIntersectionCandidates in interface IAdvancedIntersectionGeocoding
Parameters:
standardizedIntersection - A reference to a com.esri.arcgis.system.IPropertySet (in)
Returns:
A reference to a com.esri.arcgis.system.IArray
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

interfaceSupportsErrorInfo

public void interfaceSupportsErrorInfo(GUID riid)
                                throws IOException,
                                       AutomationException
interfaceSupportsErrorInfo

Description

Indicates whether the interface supports IErrorInfo.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
interfaceSupportsErrorInfo in interface ISupportErrorInfo
Parameters:
riid - A Structure: com.esri.arcgis.support.ms.stdole.GUID (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSearchDistance

public double getSearchDistance()
                         throws IOException,
                                AutomationException
Search distance.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getSearchDistance in interface IReverseGeocodingProperties
Returns:
The searchDistance
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setSearchDistance

public void setSearchDistance(double searchDistance)
                       throws IOException,
                              AutomationException
Search distance.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getSearchDistanceUnits

public int getSearchDistanceUnits()
                           throws IOException,
                                  AutomationException
Units used for the search distance.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setSearchDistanceUnits

public void setSearchDistanceUnits(int searchDistanceUnits)
                            throws IOException,
                                   AutomationException
Units used for the search distance.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setSearchDistanceUnits in interface IReverseGeocodingProperties
Parameters:
searchDistanceUnits - A com.esri.arcgis.system.esriUnits constant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

reverseGeocode

public IPropertySet reverseGeocode(IPoint location,
                                   boolean bReturnIntersection)
                            throws IOException,
                                   AutomationException
Generate an address based on a point.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
reverseGeocode in interface IReverseGeocoding
Parameters:
location - A reference to a com.esri.arcgis.geometry.IPoint (in)
bReturnIntersection - The bReturnIntersection (in)
Returns:
A reference to a com.esri.arcgis.system.IPropertySet
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getLocatorNames

public Object getLocatorNames()
                       throws IOException,
                              AutomationException
Names of participating locators.

Remarks

The LocatorNames method returns a string that contains a list of names of the participating locators.

Product Availability

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

Specified by:
getLocatorNames in interface ICompositeLocator
Returns:
A Variant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getLocator

public ILocator getLocator(String name)
                    throws IOException,
                           AutomationException
Participating locator.

Product Availability

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

Specified by:
getLocator in interface ICompositeLocator
Parameters:
name - The name (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.ILocator
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSingleLineAddressField

public IField getSingleLineAddressField()
                                 throws IOException,
                                        AutomationException
Field needed to geocode a single line address.

Remarks

The SingleLineAddressField property returns a Field object that specifies the field that the locator uses to geocode addresses in a single line format. The IField::Name property is the internal field name used by the locator.

You can use the Field returned by this property to determine which field in a table contains address information using the DefaultInputFieldNames property.

Product Availability

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

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

getDefaultInputFieldNames

public Object getDefaultInputFieldNames()
                                 throws IOException,
                                        AutomationException
Recognized names for the single line input field.

Remarks

The DefaultInputFieldNames property returns an Array of field names that you can use to determine which field in an address table contains the full address for single line geocoding.

Product Availability

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

Specified by:
getDefaultInputFieldNames in interface ISingleLineAddressInput
Returns:
A Variant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.