Geocode service GetIntersectionCandidateFields method

Fields contained in a list of candidates returned from geocoding an intersection with the FindAddressCandidates() method.

GetIntersectionCandidateFields(PropertySet PropMods)




Modifications to the geocode service (locator) properties. Use GetLocatorProperties() to return default locator properties.

Return Value

A Fields object containing one of more Field objects, each representing information about a match candidate.


The common fields returned from the GetCandidateFields() method will also be returned by this method - this includes Shape, Status, and Score.

The address style specific match fields will differ. If geocoding a street address, the input address will include a house number. As a result, a match candidate for the address will return the house number in a candidate field for the match (match fields returned from GetCandidateFields()). When an intersection address is geocoded, a house number is not included. Instead, two streets are specified. As a result, the match fields for both streets are included are included in the recordset of match candidates. The match field names for the first street are appended with a "1", for example "StreetName1". The match field names for the second street are appended with a "2", for example "StreetName2".



GeocodeService_GeocodeServer geocodeservice = new GeocodeService_GeocodeServer();

geocodeservice.Url = "http://localhost:6080/arcgis/services/GeocodeService/GeocodeServer";


PropertySet propertymods = geocodeservice.GetLocatorProperties();


Fields candidatefields = geocodeservice.GetIntersectionCandidateFields(propertymods);


foreach (Field candidatefield in candidatefields.FieldArray)


      // Descriptive name

      System.Diagnostics.Debug.WriteLine("Alias Name: " + candidatefield.AliasName);

      // Input field name

      System.Diagnostics.Debug.WriteLine("Name: " + candidatefield.Name);

      // Is required?

      System.Diagnostics.Debug.WriteLine("Required: " + candidatefield.Required.ToString());

      // Data type

      System.Diagnostics.Debug.WriteLine("Type: " + candidatefield.Type.ToString());



Dim geocodeservice As GeocodeService_GeocodeServer = New GeocodeService_GeocodeServer()

geocodeservice.Url = "http://localhost:6080/arcgis/services/GeocodeService/GeocodeServer"


Dim propertymods As PropertySet = geocodeservice.GetLocatorProperties()

Dim candidatefields As Fields = geocodeservice.GetIntersectionCandidateFields(propertymods)

Dim candidatefield As Field


For Each candidatefield In candidatefields.FieldArray

      ' Descriptive name

      System.Diagnostics.Debug.WriteLine("Alias Name: " + candidatefield.AliasName)

      ' Input field name

      System.Diagnostics.Debug.WriteLine("Name: " + candidatefield.Name)

      ' Is required?

      System.Diagnostics.Debug.WriteLine("Required: " + candidatefield.Required.ToString())

      ' Data type

      System.Diagnostics.Debug.WriteLine("Type: " + candidatefield.Type.ToString())



String serviceURL = "http://localhost:6080/arcgis/services/GeocodeService/GeocodeServer";

GeocodeServerBindingStub geocodeService = new GeocodeServerBindingStub(serviceURL);


//Test GetIntersectionCandidateFields

PropertySet propertyMods2 = geocodeService.getLocatorProperties();

Fields candidateFields2 = geocodeService.getIntersectionCandidateFields(propertyMods2);

Set<String> setOfInterCandiFields = new HashSet<String>();


System.out.println("Intersection Candidate Fields...");


for (Field candidateField : candidateFields2.getFieldArray()) {