Process Geocode
Contents
The ProcessGeocode operation allows you to find the find the closest latitude and longitude for a given street/city/state/ZIP address location supplied in the Request object.
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<SOAP-ENV:Header>
<m:AuthHeader xmlns:m="http://www.alk.com">
<m:Authorization>String</m:Authorization>
<m:Date>String</m:Date>
</m:AuthHeader>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
<m:ProcessGeocode xmlns:m="https://pcmiler.alk.com/APIs/v1.0">
<m:Request>
<m:Header>
<m:DataVersion>String</m:DataVersion>
<m:RequestType>String</m:RequestType>
</m:Header>
<m:Body>
<m:Locations>
<m:GeocodeLocation>
<m:Address>
<m:StreetAddress>String</m:StreetAddress>
<m:City>String</m:City>
<m:State>String</m:State>
<m:Zip>String</m:Zip>
<m:County>String</m:County>
<m:Country>String</m:Country>
<m:SPLC>String</m:SPLC>
<m:CountryPostalFilter>US</m:CountryPostalFilter>
<m:AbbreviationFormat>FIPS</m:AbbreviationFormat>
</m:Address>
<m:Region>Unknown</m:Region>
<m:GeoList>true</m:GeoList>
<m:MaxResults>0</m:MaxResults>
<m:CitySearchFilter>CitiesWithZips</m:Region>
</m:GeocodeLocation>
</m:Locations>
</m:Body>
</m:Request>
</m:ProcessGeocode>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Geocode Request
Request Body Members
Represents a request to geocode one or more locations. Request body contains the locations to geocode.
Element | Definition | Required |
---|---|---|
Location
|
A list <> of
GeocodeLocation object. Gets or sets the
collection of locations to geocode.
Usage:
GeocodeLocation[] geocodeLocs = new GeocodeLocation[1];
| Y |
GeocodeLocation Members
Represents a location to geocode.
Element | Definition | Required |
---|---|---|
Address
| An Address object. Gets or sets the address that needs to be geocoded. Usage: Address = new Address() { Zip = “08540” }; | Y |
GeoList
| A Boolean value. Gets or sets a value indicating whether to return a single match for the geocoded result or multiple matches (if they exist). Usage: GeoList = true; | N |
MaxResults
| An Integer value. Gets or sets the value indicating the maximum number of results to be returned from a search (by default is null: indicates that all results are wanted). Usage: MaxResults = 5; | N |
DataRegion
| An enumeration of DataRegion. Gets or sets the Region that the location is in. Usage: Region = DataRegion.NA; | Y |
CitySearchFilter
| An enumeration of CitySearchFilter. Gets or sets a value that dictates whether city searches return city centers or cities with all their corresponding zips (default). Usage: CitySearchFilter = GeocodeCitySearchFilter.CitiesWithZips; | N |
Calling ProcessGeocode
GeocodeRequest geoListRequest = new GeocodeRequest();
geoListRequest.Header = new RequestHeader() { DataVersion = DataVersion.ToString(), RequestType = "GeoCode" };
geoListRequest.Body = new GeocodeRequestBody();
// Specify the location(s)
GeocodeLocation[] geocodeLocs = new GeocodeLocation[1];
geocodeLocs[0] = new GeocodeLocation()
{
Address = new Address() { Zip = "08540" },
Region = DataRegion.NA
GeoList = true
MaxResults = 5
};
geocodeLocs[0].Address.StreetAddress = "Herrontown Rd";
geoListRequest.Body.Locations = geocodeLocs;
// Create the authentication and authorization header
AuthHeader soapHeader = GenerateAuthHeader(APIName);
// Create the service client
ServiceClient service = new ServiceClient();
// Call API
GeocodeResponse response = service.ProcessGeocode(soapHeader, geoListRequest);
Geocode Response
GeocodeOutputLocation Members
Request
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Header>
<Action s:mustUnderstand="1" xmlns="http://schemas.microsoft.com/ws/2005/05/addressing/none">https://pcmiler.alk.com/APIs/v1.0/IService/ProcessGeocode</Action>
<h:AuthHeader xmlns="http://www.alk.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:h="http://www.alk.com">
<Authorization>A77097D2D202A743BB1660E15794D7CA </Authorization>
<Date>Thu, 21 Aug 2014 16:23:26 GMT</Date>
</h:AuthHeader>
</s:Header>
<s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<ProcessGeocode xmlns="https://pcmiler.alk.com/APIs/v1.0">
<Request>
<Header>
<DataVersion>current</DataVersion>
<RequestType>GeoCode</RequestType>
</Header>
<Body>
<Locations>
<GeocodeLocation>
<Address>
<StreetAddress>Herrontown Rd</StreetAddress>
<City xsi:nil="true" />
<State xsi:nil="true" />
<Zip>08540</Zip>
<County xsi:nil="true" />
<Country xsi:nil="true" />
<SPLC xsi:nil="true" />
</Address>
<Region>NA</Region>
<GeoList>true</GeoList>
<MaxResults>2</MaxResults>
</GeocodeLocation>
</Locations>
</Body>
</Request>
</ProcessGeocode>
</s:Body>
</s:Envelope>
Response
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body>
<ProcessGeocodeResponse xmlns="https://pcmiler.alk.com/APIs/v1.0">
<ProcessGeocodeResult xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<Header>
<Type>GeoCode</Type>
<Success>true</Success>
<DataVersion>28.2.26.3681</DataVersion>
<Errors i:nil="true" />
</Header>
<Body>
<Locations>
<GeocodeOutputLocation>
<Address>
<StreetAddress>1-64 Herrontown Road</StreetAddress>
<City>Princeton</City>
<State>NJ</State>
<Zip>08540</Zip>
<County>Mercer</County>
<Country>United States</Country>
<SPLC i:nil="true" />
<CountryPostalFilter>US</CountryPostalFilter>
<AbbreviationFormat>FIPS</AbbreviationFormat>
<CountryAbbreviation>US</CountryAbbreviation>
</Address>
<Coords>
<Lat>40.376874</Lat>
<Lon>-74.624109</Lon>
</Coords>
<Region>NA</Region>
<Label />
<PlaceName />
<TimeZone>EST</TimeZone>
<Errors>
<Error>
<Type>Warning</Type>
<Code>GEOCODE_WARN</Code>
<LegacyErrorCode>1000</LegacyErrorCode>
<Description>No street number input; Multiple matches; Address uncertain</Description>
</Error>
</Errors>
<ConfidenceLevel>Uncertain</ConfidenceLevel>
<DistanceFromRoad i:nil="true" />
</GeocodeOutputLocation>
</Locations>
</Body>
</ProcessGeocodeResult>
</ProcessGeocodeResponse>
</s:Body>
</s:Envelope>