Hands On

Improve Your Address Data with HERE Geocoding - Part 2

By Sayna Parsi | 15 July 2020

[Writer’s note: This post is part of a series on data management. You’ll learn how to improve existing ambiguous or incomplete location data as well as new data you collect.]

Delivering packages efficiently and reducing the number of undeliverable mail has become even more important as more people turn to online shopping to avoid public places in the fight against COVID-19.

In part one of this blog series, we laid the groundwork to start with collecting better data using Autosuggest. Now, we’ll learn how to improve the quality of address data by validating and standardizing addresses.

Address Standardization

We all use addresses to navigate our way through the city and find our way to our destination (theoretically even without a map). For example, in San Francisco and Vancouver, BC, streets are numbered sequentially across the grid. In other places, streets are named after famous people, historically important dates, and even bird and flower species. Navigating the city using flowers may not be as intuitive as following sequential numbers, but at least it’s memorable for the locals.

As much as addresses help us get around, they can also result in undeliverable mail, inefficient routes, or even cluttered databases and poor user experience when the input address is displayed on a page. For example, say you are meeting a friend for coffee. You text your friend saying “What’s the address of the Starbucks we’re meeting?” They could respond by saying “2200 NW Market St, Seattle, WA 98107,” or “2200 NorthWest Market St, Seattle, WA 98107,” or even “2200 north west market street, Seattle.” These are all different sides of the same coin - if you plug any of them into a map, you’ll be led to the right location.

With HERE Geocoder, you can validate and standardize both US and international addresses. Try it here with JSFiddle:

Here’s what an example call to HERE Geocoder looks like:

https://geocode.search.hereapi.com/v1/geocode?q=2200 north west market street, Seattle&apiKey=YOUR_API_KEY&limit=1

You can see below how returned address is broken down into country, state, city,... and you can use this information to customize how the address is displayed, save the individual components in the database, or fill a custom form:


 
{

   "items": [

       {

           "title": "2200 NW Market St, Seattle, WA 98107-4024, United States",

           "id": "here:af:streetsection:m8pFYU9PQ3F2fV-WhPo14C:CgcIBCDJlbUKEAEaBDIyMDAoZA",

           "resultType": "houseNumber",

           "houseNumberType": "PA",

           "address": {

               "label": "2200 NW Market St, Seattle, WA 98107-4024, United States",

               "countryCode": "USA",

               "countryName": "United States",

               "state": "Washington",

               "county": "King",

               "city": "Seattle",

               "district": "Ballard",

               "street": "NW Market St",

               "postalCode": "98107-4024",

               "houseNumber": "2200"

           },

           "position": {

               "lat": 47.66884,

               "lng": -122.38491

           },

           "access": [

               {

                   "lat": 47.66867,

                   "lng": -122.38491

               }

           ],

           "mapView": {

               "west": -122.38625,

               "south": 47.66794,

               "east": -122.38357,

               "north": 47.66974

           },

           "scoring": {

               "queryScore": 1.0,

               "fieldScore": {

                   "city": 1.0,

                   "streets": [

                       1.0

                   ],

                   "houseNumber": 1.0

               }

           }

       }

   ]

}

With this, you can ask your user to confirm the standardized address to make sure that the recommended standardized address matches their intended location.

Screen Shot 2020-07-09 at 11.41.03 AM

Asking a customer to validate input address (Photo from Backerkit)

If you have large amounts of data that you need to process asynchronously, Batch Geocoder is a great option for processing hundreds of thousands of addresses at a time. If you are interested in using Batch Geocoder to update data that you have in your database and save the standardized results, you can contact us for a plan that supports storing results from geocodes. 

 

Next steps

So far in this series we’ve learned how to collect better data and standardize existing data. One problem that we haven’t covered yet though, is the case of ambiguous or incomplete address data. For example, an address may contain a typo or it could be incomplete and therefore have multiple possible locations it could be representing. We want to help you identify the address that you need. If that’s what you are looking for, stay tuned for the last part in this series!

You can sign up for a free account and try geocoding today. We hope you have enjoyed this series. and we look forward to hearing about what you build with HERE. Follow us on Twitter @heredev for team updates, and share what you’re working on with us. We can’t wait to see what you build!