Is there a way to restrict the returned address results by a minimum score value when calling a request from the World Geocoding Service? I know that I can use the category filtering to restrict the results by category which is really useful. I don't see anything in the documentation about further refining the results by score and I just want to make sure that I'm not missing something. For one-off findAddressCandidates requests it's easy enough to handle this through filtering the results on our side; however we also use the service for batch geocoding which requires more automation.
Solved! Go to Solution.
Hi
There isn't a score filter, but you can limit the candidate count (for example to 1 for a 'best' candidate).
For findAddressCandidates the maxLocations parameter does this. (the maxCandidates parameter isn't supported, its a doc bug).
For batch work you should use the geocodeAddresses endpoint and not repeated calls to findAddressCandidates or find, then you'll get a single best candidate per record.
regards
Hi
There isn't a score filter, but you can limit the candidate count (for example to 1 for a 'best' candidate).
For findAddressCandidates the maxLocations parameter does this. (the maxCandidates parameter isn't supported, its a doc bug).
For batch work you should use the geocodeAddresses endpoint and not repeated calls to findAddressCandidates or find, then you'll get a single best candidate per record.
regards
Related followup:
- If I run the findAddressCandidates and set the maxLocations to 1 is there a way to still determine if the candidate was a tie?
- Will the result candidate rank order always be based on the best candidate having an array position of zero? Is there another option for identifying the 'best' candidate? I don't see any indicator attribute for the ranking and I'm always paranoid of using array sequence as the sole indicator just in case something gets accidentally jumbled up along the way.
Hi
findAddressCandidates does not return the Status field which would contain a value 'T' if an address was a tie, but geocodeAddresses does, which is another reason to use that call.
Score is not a reliable metric on its own; even within a single category there can be multiple locators that supply candidates, and a 100% match to a street name is still worse than a 99% match to a rooftop because of a small typo.
You can safely go with the candidate order returned by geocodeAddresses. Rank is a loaded word because there is a returned field 'Rank' used to boost place names by population (think Paris, France versus Paris, TX). The candidates are ordered by positional quality.
Regards