Yesterday, we pushed an update to our geocoding service that extends its capabilities by handling another format of addresses. We’ve received a lot of geojson files containing grid addresses like the following: “W123N404 Main Street”; but the initial design of this service didn’t include ways of properly parsing and geocoding them. With this update they can be treated like the rest of the original set of supported address formats.
One interesting topic relevant to this update is how interpolated addresses are calculated. Here’s a simplified example to illustrate how it works:
Say you need to locate the following address:
202 Main Street
…but the geocoder is unable to find a match in its dataset.
If it extends its search and finds the following neighboring locations (address @ lat/long):
200 Main Street @ 124.0/50.0
204 Main Street @ 124.2/50.0
…Now rather than returning w/ “failure”, we can return an educated guess (the target address is likely in between the two addresses above):
So the interpolated result for 202 Main Street is: 124.1/50.0
And how does this pertains to this latest update? We needed to included the same feature for grid addresses, which was done by adding a dimension to the calculation for these cases. Now instead of finding the two nearest addresses, we will possibly be finding the four “nearest”, one in each cardinal direction (N, E, S, & W) from the unknown address which forms a bounding rectangle. The interpolated result is then located inside this rectangle.
Well that’s an inside look at one of the many algorithms that underlies our services. We are constantly working on a lot of exciting & interesting things here at Active911 and it’s always a pleasure to be able to share them with you.