Process Reverse Geocode

The ProcessReverseGeocode operation returns a readable address based on the latitude and longitude in the Request.

Schema
<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:ProcessReverseGeocode xmlns:m="http://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:Coords>
                        <m:ReverseGeoCoord>
                            <m:Lat>String</m:Lat>
                            <m:Lon>String</m:Lon>
                            <m:Region>Unknown</m:Region>
                            <m:Timestamp>String</m:Timestamp>
                        </m:ReverseGeoCoord>
                    </m:Coords>
                    <m:MatchNamedRoadsOnly>false</m:MatchNamedRoadsOnly>
                    <m:MaxCleanupMiles>3.14159265358979E0</m:MaxCleanupMiles>
                    <m:IncludePostedSpeedLimit>Boolean</m:IncludePostedSpeedLimit>
                    <m:CountryAbbrevType>Integer</m:CountryAbbrevType>
                </m:Body>
            </m:Request>
        </m:ProcessReverseGeocode>
    </SOAP-ENV:Body>
</SOAP-ENV:Envelope>
                

ReverseGeocode Request

Request Body Members

Represents a request to reverse geocode a set of geographic coordinates into an address location. Gets or sets the request body which contains the collection of coordinates to reverse geocode. See API doc ReverseGeocodeRequestBody.

Element Definition Required
Coords A list <> of ReverseGeocode system object(inherited from Coordinates). Gets or sets the list of coordinates to reverse geocode.
Usage:
List<ReverseGeoCoord> coordsList = new List<ReverseGeoCoord>();
ReverseGeoCoord coords = new ReverseGeoCoord() { Lat = "40.388250", Lon = "-74.654726", Region = DataRegion.NA }; // ALK - decimal formatted coords
coordsList.Add(coords);
coords = new ReverseGeoCoord() { Lat = "40863263", Lon = "-74425648", Region = DataRegion.NA }; // Parsipanny - int formatted coords
coordsList.Add(coords);
Y
MatchNamedRoadsOnly A boolean value. Get or sets when looking up coordinates, force reverse geocoding to match named roads only.
Usage:body.MatchNamedRoadsOnly = true;
N
MaxCleanupMiles A double value. Get or sets when looking up coordinates, this sets maximum radius in which to find the closest matching road.
Usage:body.MaxCleanupMiles = 20;
N
IncludePostedSpeedLimit A boolean value. For users licensed with speed limit, setting to true will include posted speed limit in the response.
Usage:body.IncludePostedSpeedLimit = true;
N
CountryAbbrevType A string value. Abbreviated country code to be returned. Valid values are "FIPS" (default), "ISO2", "ISO3", "GENC2", "GENC3".
Usage:body.CountryAbbrevType = "FIPS";
N
Timestamp A string value. The date/time at the location which will be used to determine whether daylight savings will be applied to the output time zone.
Usage:body.Timestamp = "2017-1-12 17:40";
N
Calling ProcessReverseGeocode
List<ReverseGeoCoord> coordsList = new List<ReverseGeoCoord>();

       ReverseGeoCoord coords = new ReverseGeoCoord() { Lat = "40.388250", Lon = "-74.654726", Region = DataRegion.NA };  // ALK - decimal formatted coords
       coordsList.Add(coords);

       coords = new ReverseGeoCoord() { Lat = "40863263", Lon = "-74425648", Region = DataRegion.NA }; // Parsipanny - int formatted coords
       coordsList.Add(coords);

       // Create request
       ReverseGeocodeRequestBody body = new ReverseGeocodeRequestBody() { Coords = coordsList.ToArray() };
       body.MatchNamedRoadsOnly = true;
       body.MatchNamedRoadsOnlySpecified = true;
       body.MaxCleanupMiles = 20;
       body.MaxCleanupMilesSpecified = true;

       ReverseGeocodeRequest request = new ReverseGeocodeRequest()
       {
            Header = new RequestHeader() { DataVersion =  DataVersion.ToString(), RequestType = "ReverseGeocode" },
            Body = body
       };

       // Create the authentication and authorization header
       AuthHeader soapHeader =  GenerateAuthHeader(APIName);

       // Create the service client
       ServiceClient service = new ServiceClient();
            
       // Call API
       GeocodeResponse response = service.ProcessReverseGeocode(soapHeader, request);
            

Request

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
  <s:Header>    
    <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>Your Key here</Authorization>
      <Date>Tue, 24 Feb 2015 18:11:28 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">
    <ProcessReverseGeocode xmlns="http://pcmiler.alk.com/APIs/v1.0">
      <Request>
        <Header>
          <DataVersion>current</DataVersion>
          <RequestType>ReverseGeocode</RequestType>
        </Header>
        <Body>
          <Coords>
            <ReverseGeoCoord>
              <Lat>40.388250</Lat>
              <Lon>-74.654726</Lon>
              <Timestamp>2017-1-21 5:40PM</Timestamp>
            </ReverseGeoCoord>
            <ReverseGeoCoord>
              <Lat>40863263</Lat>
              <Lon>-74425648</Lon>
              <Timestamp>2017-6-21 5:40PM</Timestamp>
            </ReverseGeoCoord>
          </Coords>
          <IncludePostedSpeedLimit>true</IncludePostedSpeedLimit>
          <MatchNamedRoadsOnly>true</MatchNamedRoadsOnly>
          <MaxCleanupMiles>20</MaxCleanupMiles>
          <CountryAbbrevType>FIPS</CountryAbbrevType>
        </Body>
      </Request>
    </ProcessReverseGeocode>
  </s:Body>
</s:Envelope>
                

Response

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
  <s:Header />
  <s:Body>
    <ProcessReverseGeocodeResponse xmlns="http://pcmiler.alk.com/APIs/v1.0">
      <ProcessReverseGeocodeResult xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
        <Header>
          <Type>ReverseGeocode</Type>
          <Success>true</Success>
          <DataVersion>28.3.26.9224</DataVersion>
          <Errors i:nil="true" />
        </Header>
        <Body>
          <Locations>
            <GeocodeOutputLocation>
              <Address>
                <StreetAddress>1000 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.38825</Lat>
                <Lon>-74.654726</Lon>
              </Coords>
              <Region>NA</Region>
              <Label />
              <PlaceName />
              <TimeZone>EST</TimeZone>
              <Errors />
              <SpeedLimitInfo>
                <Speed>25</Speed>
                <SpeedType>Default</SpeedType>
                <SpeedTypeString>Default</SpeedTypeString>
                <LinkIds i:nil="true" />
                <RoadClass>Local</RoadClass>
                <Units>KPH</Units>
              </SpeedLimitInfo>
              <ConfidenceLevel>Exact</ConfidenceLevel>
              <DistanceFromRoad>0</DistanceFromRoad>
            </GeocodeOutputLocation>
            <GeocodeOutputLocation>
              <Address>
                <StreetAddress>100 Lanidex Plaza</StreetAddress>
                <City>Parsippany</City>
                <State>NJ</State>
                <Zip>07054</Zip>
                <County>Morris</County>
                <Country>United States</Country>
                <SPLC i:nil="true" />
                <CountryPostalFilter>US</CountryPostalFilter>
                <AbbreviationFormat>FIPS</AbbreviationFormat>
                <CountryAbbreviation>US</CountryAbbreviation>
              </Address>
              <Coords>
                <Lat>40.863263</Lat>
                <Lon>-74.425648</Lon>
              </Coords>
              <Region>NA</Region>
              <Label />
              <PlaceName />
              <TimeZone>EDT</TimeZone>
              <Errors />
              <SpeedLimitInfo>
                <Speed>35</Speed>
                <SpeedType>Premium</SpeedType>
                <SpeedTypeString>Premium</SpeedTypeString>
                <LinkIds i:nil="true"/>
                <RoadClass>Primary</RoadClass>
                <Units>KPH</Units>
              </SpeedLimitInfo>
              <ConfidenceLevel>Exact</ConfidenceLevel>
              <DistanceFromRoad>0</DistanceFromRoad>
            </GeocodeOutputLocation>
          </Locations>
        </Body>
      </ProcessReverseGeocodeResult>
    </ProcessReverseGeocodeResponse>
  </s:Body>
</s:Envelope>