com.esri.arcgis.location
Class IAdvancedGeocodingProxy

java.lang.Object
  extended by com.esri.arcgis.interop.Dispatch
      extended by com.esri.arcgis.location.IAddressGeocodingProxy
          extended by com.esri.arcgis.location.IAdvancedGeocodingProxy
All Implemented Interfaces:
IAddressGeocoding, IAdvancedGeocoding, Externalizable, Serializable
Direct Known Subclasses:
IAdvancedGeocoding2Proxy

public class IAdvancedGeocodingProxy
extends IAddressGeocodingProxy
implements IAdvancedGeocoding, Serializable

Provides access to members for advanced geocoding functions.

Superseded By

IAdvancedGeocoding2

When To Use

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.

Supported Platforms

Windows, Solaris, Linux

See Also:
Serialized Form

Field Summary
 
Fields inherited from class com.esri.arcgis.interop.Dispatch
DISPATCH_METHOD, DISPATCH_PROPERTYGET, DISPATCH_PROPERTYPUT, DISPATCH_PROPERTYPUTREF, E
 
Constructor Summary
  IAdvancedGeocodingProxy()
           
  IAdvancedGeocodingProxy(Object obj)
           
protected IAdvancedGeocodingProxy(Object obj, String iid)
           
 
Method Summary
 void addListener(String iidStr, Object theListener, Object theSource)
           
 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 readExternal(ObjectInput in)
           
 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.
 void removeListener(String iidStr, Object theListener)
           
 IPropertySet standardizeAddress(IPropertySet address, boolean[] isAnIntersection)
          Standardizes an address.
 void writeExternal(ObjectOutput out)
           
 
Methods inherited from class com.esri.arcgis.location.IAddressGeocodingProxy
getMatchFields, matchAddress, matchTable, validate
 
Methods inherited from class com.esri.arcgis.interop.Dispatch
bindUsingMoniker, constructVtblPosTable, convertToNative, cookieForListener, createDispatch, createObjrefMonikerDisplayName, equals, getActiveObject, getActiveObject, getDefaultProperty, getDispatchIdOfName, getLastErrorCode, getMtsObjectContext, getObjRef, getPropertyByName, getPropertyByName, getVtblPos, hashCode, initDispatch, invoke, invokeMethodByName, invokeMethodByName, invokeMethodByName, invokePropertyGetByName, invokePropertyPutByName, invokePropertyPutByRefByName, isNativeMode, isObjRef, queryInterface, release, setNativeMode, setPropertyByName, toString, vtblInvoke
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface com.esri.arcgis.location.IAddressGeocoding
getMatchFields, matchAddress, matchTable, validate
 

Constructor Detail

IAdvancedGeocodingProxy

public IAdvancedGeocodingProxy()

IAdvancedGeocodingProxy

public IAdvancedGeocodingProxy(Object obj)
                        throws IOException
Throws:
IOException

IAdvancedGeocodingProxy

protected IAdvancedGeocodingProxy(Object obj,
                                  String iid)
                           throws IOException
Throws:
IOException
Method Detail

addListener

public void addListener(String iidStr,
                        Object theListener,
                        Object theSource)
                 throws IOException
Overrides:
addListener in class IAddressGeocodingProxy
Throws:
IOException

removeListener

public void removeListener(String iidStr,
                           Object theListener)
                    throws IOException
Overrides:
removeListener in class IAddressGeocodingProxy
Throws:
IOException

getStandardizeFields

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

Remarks

All of the locators provided with ArcGIS standardize addresses before matching them to the reference data. 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.

Remarks

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 standardize addresses before matching them to the reference data. 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 standardize addresses before matching them to the reference data. 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 standardize addresses before matching them to the reference data. 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.

writeExternal

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

readExternal

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