Using the HERE geocoding API (version 6.2) to get LinkID
s from a given location(lat,long)
.
Example: same coordinates with different radius
- base-URL used for queries:
https://reverse.geocoder.api.here.com/6.2/
- location: lat =
37.399643
, long =-121.953085
- proximity: radius =
50
meters;
Request 1: 50m radius
With this radius the response returns the appropriate LinkID
s at location.
- query-param is
prox=37.399643,-121.953085,50
:
/reversegeocode.json?prox=37.399643,-121.953085,50&mode=retrieveAddresses&locationAttributes=linkInfo&gen=9&app_id={AppID}&app_code={AppCode}
The above query works as expected. See below:
Request 2: 5m radius
Now, if we decrease the proximity radius to 5m
then HERE API's response jumps to a completely different location.
- query-param is
prox=37.399643,-121.953085,5
:
/reversegeocode.json?prox=37.399643,-121.953085,5&mode=retrieveAddresses&locationAttributes=linkInfo&gen=9&app_id={AppID}&app_code={AppCode}
The above query shows a different, unexpected location.
It's completely wrong. The spot highlighted is actually 5-6 miles away from the correct location.
Inconsistency suspected
From observation after a few tests, this (unexpected) inconsistent location seems to be returned for proximity radius values < 30
meters.
Can anyone explain this behavior (is it a bug)?
Reverse Geocoder returns street results or addresses on a street only if the street geometry is within the given radius. Otherwise it falls back to area level results and returns the center of the area, where central point of proximity is located.
Example: (37.399643,-121.953085); Proximity distance = 22m
With radius 22 the proximity still contains a street geometry. Reverse Geocoder returns one street result which is "ReferenceId": "1121660494".
Example: (37.399643,-121.953085); Proximity distance = 21m;
With radius 21 – no one street is within the radius. Therefore the Geocoder returns the link that central point of city – Santa Clara is on it.