com.esri.arcgis.location
Interface IAdvancedGeocoding

All Superinterfaces:
IAddressGeocoding, Serializable
All Known Subinterfaces:
IAdvancedGeocoding2
All Known Implementing Classes:
AGSAddressLocator, CompositeLocator, ESRIFDOAddressLocator, IAdvancedGeocoding2Proxy, IAdvancedGeocodingProxy, StreetMapAddressLocator

public interface IAdvancedGeocoding
extends IAddressGeocoding, Serializable

Provides access to members for advanced geocoding functions.

Superseded By

IAdvancedGeocoding2

When To Use

Locators that use the second generation ESRI geocoding engine do not support IAdvancedGeocoding.

Use the IAdvancedGeocoding interface when using geocoding functionality specific to locators that use the ESRI geocoding engine, such as address standardization and rematching.

Product Availability

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


Method Summary
 IArray findStandardizedAddressCandidates(IPropertySet standardizedAddress)
          Generates candidates for a standardized address.
 IFields getStandardizeFields()
          Fields contained in a standardized address.
 IPropertySet matchStandardizedAddress(IPropertySet standardizedAddress)
          Geocodes a single standardized address.
 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 standardizeAddress(IPropertySet address, boolean[] isAnIntersection)
          Standardizes an address.
 
Methods inherited from interface com.esri.arcgis.location.IAddressGeocoding
getMatchFields, matchAddress, matchTable, validate
 

Method Detail

getStandardizeFields

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

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

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

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

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

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

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

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

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

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.