com.esri.arcgis.location
Class IAddressGeocodingProxy

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

public class IAddressGeocodingProxy
extends com.esri.arcgis.interop.Dispatch
implements IAddressGeocoding, Serializable

Provides access to members for geocoding addresses.

When To Use

Use the IAddressGeocoding interface to geocode single addresses and tables of addresses.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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, Serialized Form

Field Summary
 
Fields inherited from class com.esri.arcgis.interop.Dispatch
DISPATCH_METHOD, DISPATCH_PROPERTYGET, DISPATCH_PROPERTYPUT, DISPATCH_PROPERTYPUTREF, E
 
Constructor Summary
  IAddressGeocodingProxy()
           
  IAddressGeocodingProxy(Object obj)
           
protected IAddressGeocodingProxy(Object obj, String iid)
           
 
Method Summary
 void addListener(String iidStr, Object theListener, Object theSource)
           
 IFields getMatchFields()
          Fields contained in the geocoding result.
 IPropertySet matchAddress(IPropertySet address)
          Geocodes a single address.
 void matchTable(ITable addressTable, String addressFieldNames, String whereClause, IFeatureClass outputFeatureClass, String outputFieldNames, IPropertySet fieldsToCopy, ITrackCancel cancelTracker)
          Geocodes a table of addresses.
 void readExternal(ObjectInput in)
           
 void removeListener(String iidStr, Object theListener)
           
 void validate()
          Checks that the locator properties and locator dataset are present and valid.
 void writeExternal(ObjectOutput out)
           
 
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
 

Constructor Detail

IAddressGeocodingProxy

public IAddressGeocodingProxy()

IAddressGeocodingProxy

public IAddressGeocodingProxy(Object obj)
                       throws IOException
Throws:
IOException

IAddressGeocodingProxy

protected IAddressGeocodingProxy(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 com.esri.arcgis.interop.Dispatch
Throws:
IOException

removeListener

public void removeListener(String iidStr,
                           Object theListener)
                    throws IOException
Overrides:
removeListener in class com.esri.arcgis.interop.Dispatch
Throws:
IOException

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

writeExternal

public void writeExternal(ObjectOutput out)
                   throws IOException
Specified by:
writeExternal in interface Externalizable
Overrides:
writeExternal in class com.esri.arcgis.interop.Dispatch
Throws:
IOException

readExternal

public void readExternal(ObjectInput in)
                  throws IOException,
                         ClassNotFoundException
Specified by:
readExternal in interface Externalizable
Overrides:
readExternal in class com.esri.arcgis.interop.Dispatch
Throws:
IOException
ClassNotFoundException