Select to view content in your preferred language

World Geocoding Service - Minimum Score

3238
3
Jump to solution
12-24-2015 07:19 AM
JustinShepard
Occasional Contributor II

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.

0 Kudos
1 Solution

Accepted Solutions
BruceHarold
Esri Regular Contributor

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

View solution in original post

0 Kudos
3 Replies
BruceHarold
Esri Regular Contributor

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

0 Kudos
JustinShepard
Occasional Contributor II

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.

0 Kudos
BruceHarold
Esri Regular Contributor

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

0 Kudos