Geocode service GetStandardizedFields method

Fields contained in an standardized address returned from the StandardizeAddress() method.

NoteNote:

This method is only supported for pre-ArcGIS 10 address locators.

GetStandardizedFields()

Return Value

A Fields object containing one of more Field objects. Each field is a match key for the geocode service.

Remarks

The fields returned from this method define the match keys of a standardized non-intersection address. The match keys map to one or more match fields in the reference layer. The match keys are dependent on the address style used by the geocode service.

Each match key name is a two letter sequence prefixed by the address type. The prefix letter is "A" for a non-intersection address type. The prefix letter is "I" for an intersection address type. For example, a match key field that stores the standardized house number may be named "AHN". The alias for the same field may be more intuitive, such as "House Number". Within the geocode service, the match key "AHN" maps to four match fields (e.g. "LeftFrom", "LeftTo", "RightFrom", "RightTo") which represent fields in the reference data that contain the house numbers for both sides of a street segment.

Use this method when constructing a PropertySet that represents a standardized address to pass to the GeocodeAddress() or FindAddressCandidates() methods or when inspecting an address that has been standardized using the StandardizeAddress() method. This may be applicable if modifying the standardized output of the geocode service or if using another means to standardize input (e.g. third-party standardizer).

Examples

C#

GeocodeService_GeocodeServer geocodeservice = new GeocodeService_GeocodeServer();

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

 

Fields standardizedfields = geocodeservice.GetStandardizedFields();

foreach (Field standardfield in standardizedfields.FieldArray)

{

      // Descriptive name

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

      // Input field name

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

      // Is required?

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

      // Data type

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

}

 

// Define address inputs

PropertySet stnGeocodePropSet = new PropertySet();

PropertySetProperty[] stnPropArray = new PropertySetProperty[5];

 

PropertySetProperty stngeocodeProp = new PropertySetProperty();

stngeocodeProp.Key = "AHN";

stngeocodeProp.Value = "5950";

stnPropArray[0] = stngeocodeProp;

 

PropertySetProperty stngeocodeProp1 = new PropertySetProperty();

stngeocodeProp1.Key = "ASN";

stngeocodeProp1.Value = "Magnolia";

stnPropArray[1] = stngeocodeProp1;

 

PropertySetProperty stngeocodeProp2 = new PropertySetProperty();

stngeocodeProp2.Key = "AST";

stngeocodeProp2.Value = "AVE";

stnPropArray[2] = stngeocodeProp2;

 

PropertySetProperty stngeocodeProp3 = new PropertySetProperty();

stngeocodeProp3.Key = "AZN";

stngeocodeProp3.Value = "92506";

stnPropArray[3] = stngeocodeProp3;

 

PropertySetProperty stngeocodeProp4 = new PropertySetProperty();

stngeocodeProp4.Key = "Addr_type";

stngeocodeProp4.Value = "A";

stnPropArray[4] = stngeocodeProp4;

 

stnGeocodePropSet.PropertyArray = stnPropArray;

PropertySet stnpropertyset = geocodeservice.GeocodeAddress(stnGeocodePropSet, null);

VB.NET

Dim geocodeservice As GeocodeService_GeocodeServer = New GeocodeService_GeocodeServer()

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

 

Dim standardizedfields As Fields = geocodeservice.GetStandardizedFields()

Dim standardfield As Field

For Each standardfield In standardizedfields.FieldArray

      ' Descriptive name

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

      ' Input field name

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

      ' Is required?

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

      ' Data type

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

Next

 

' Define address inputs

Dim stnGeocodePropSet As PropertySet = New PropertySet()

Dim stnPropArray(4) As PropertySetProperty

Dim stngeocodeProp As PropertySetProperty = New PropertySetProperty()

stngeocodeProp.Key = "AHN"

stngeocodeProp.Value = "5950"

stnPropArray(0) = stngeocodeProp

 

Dim stngeocodeProp1 As PropertySetProperty = New PropertySetProperty()

stngeocodeProp1.Key = "ASN"

stngeocodeProp1.Value = "Magnolia"

stnPropArray(1) = stngeocodeProp1

 

Dim stngeocodeProp2 As PropertySetProperty = New PropertySetProperty()

stngeocodeProp2.Key = "AST"

stngeocodeProp2.Value = "AVE"

stnPropArray(2) = stngeocodeProp2

 

Dim stngeocodeProp3 As PropertySetProperty = New PropertySetProperty()

stngeocodeProp3.Key = "AZN"

stngeocodeProp3.Value = "92506"

stnPropArray(3) = stngeocodeProp3

 

Dim stngeocodeProp4 As PropertySetProperty = New PropertySetProperty()

stngeocodeProp4.Key = "Addr_type"

stngeocodeProp4.Value = "A"

stnPropArray(4) = stngeocodeProp4

 

stnGeocodePropSet.PropertyArray = stnPropArray

Dim stnpropertyset As PropertySet = geocodeservice.GeocodeAddress(stnGeocodePropSet, Nothing)

Java

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

GeocodeServerBindingStub geocodeService = new GeocodeServerBindingStub(serviceURL);

 

//Test GetStandardizedFields

Fields standardizedFields = geocodeService.getStandardizedFields();

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

 

System.out.println("Standardized Fields...");

 

for (Field stdField : standardizedFields.getFieldArray()) {

      System.out.println(stdField.getName());

      setOfStdFields.add(stdField.getName());

}

10/23/2013