bcgov / bcgov/ols-geocoder

Add support for a matchPrecision of SUB_LOCALITY

Open
#128 12 comments 0 reactions 2 assignees Claimed by @cmhodgson View on GitHub
api enhancement geocoder parser low priority priority review needed silver snapshot
Dominant language
Java
Stars
17
Forks
7
Avg merge
10h 2m
Merged PRs (30d)
15

Description

We are planning to treat all BCGNIS localityNames that aren't DRA localities as sites within a DRA locality. In the case of a bianym such as Mill Bay there are two matches:

fullAddress|score|matchPrecision|faults
|----|----|----|----
Mill Bay -- Kwinamss River, BC|88|SITE:100|locality.missing:10
Mill Bay, BC |68|LOCALITY:68|none

We want the second result to score highest since it is the best choice for most users but it is a locality-level match and the second result is a site-level match. So how might we flip the scores around?

If we introduce a SITE_LOCALITY matchPrecision level with a value of 94, we can assign the second result to this matchPrecision and add a siteLocality.missing fault with a penalty of 30 to get a net score of 64 which is lower than a locality-level match.

fullAddress|score|matchPrecision|faults
|----|----|----|----
Mill Bay, BC |68|LOCALITY:68|none
Mill Bay -- Kwinamss River, BC|64|SITE_LOCALITY:94|siteLocality.missing:30

Similarly, a SITE_BLOCK matchPrecision helps keep interpolated civic address matches rank higher than site block matches.

The matchPrecisionValues.csv file contains values for SITE_BLOCK and SITE_LOCALITY.

matchPrecision|value|Example
|----|----|----
SITE|100|Robson Arms -- 1324 Robson St, Vancouver, BC
SITE_BLOCK|97|Centennial Candle -- Laurel Lane, Victoria, BC
SITE_LOCALITY|94|Mill Bay -- Kwinamss River, BC

The SITE matchPrecision now represents just the siteName of a civic address, not a non-civic address, and is still tied with CIVIC_NUMBER as the highest level of precision.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.