Let’s start with the question, what is geocoding? A geocoder translates address information into latitude and longitude coordinates, which can be used for spatial and other geographic analysis. Generally, the quality of a geocoding solution is measured by its precision and accuracy. These are influenced directly by the completeness and resolution of a geocoder’s underlying source data and its ability to interpret input address information.
What are my geocoding options?
You can either geocode in SpatialKey using one of our geocoding options, or geocode outside of SpatialKey using your preferred geocoding solution and import data that contains latitude and longitude coordinates.
If you geocoded outside and SpatialKey, you may want to import latitude and longitude coordinates instead of geocoding again with SpatialKey. When you import latitude and longitude coordinates into SpatialKey, you can optionally define the geocoding resolution of those coordinates – see below for details on resolution levels.
Geocoding in SpatialKey
Let’s look at the different options for geocoding within SpatialKey.
- The SpatialKey Free Geocoder is our own custom-built geocoding solution, which is complementary with any SpatialKey license. This geocoder uses U.S. Census TIGER data. Because TIGER data is public, we have flexibility in how SpatialKey can use geocodes and can also allow for the export of geocoding results. Since this is a custom SpatialKey solution, our clients can influence its evolution over time.
- We provide premium geocoding offerings from MapQuest and Bing. Here is a table that breaks down these options:
|SpatialKey Free||MapQuest Premium||Bing|
|Street vs. Parcel Precision||Interpolated Street||Street and Limited Parcel||Street and Limited Parcel|
|Supported Countries||US Only||US & CA Only||Global|
|Is the export of Geocodes Allowed?||Yes||Yes||No|
|Price||Free||Based on the number of geocodes||Based on the number of geocodes|
|Supported Basemaps||All||All||Bing Only|
Note that Premium geocodes are cached so if you geocode the same dataset twice, you only pay for those geocodes once. The cache is cleared on an annual basis.
It is possible that your organization has multiple geocoders available and it will be up to you to decide which to use for your dataset.
Street level geocoding means that the geocoder knows that there’s a particular segment of a street that begins and ends with certain addresses. So the geocoder might know that a certain block of Main St begins with 1200 and ends with 1300. If we’re geocoding the address 1250 Main St then the geocoder will put that address exactly in the middle. If you geocode 1210 Main St then it will be about 10% from the beginning of the block. Parcel geocoding, on the other hand, knows the exact lat/lng for that particular address. Street level geocoding can be quite accurate for city streets that follow logical numbering schemes, where the buildings are equally spaced along the block. But in the case of rural locations that can get tricky, since you might have a long road segment that’s nearly all empty except for sporadic buildings. In that case it might not be accurate to say that an address in the middle of the number range should fall in the middle of the street segment. There’s also the case where the street numbers might not follow a logical ordering. Not all streets have addresses that are in order, you can find streets throughout the world with incredibly strange ordering schemes. So in general, parcel-level is always going to be the most accurate, but for urban, logically-numbered streets the street-level match might be extremely close as well.
Skip previously geocoded locations
It’s possible that you have both latitude/longitude coordinates in your data as well as address information. If some of your records have latitude/longitude coordinates of 0,0 or null, SpatialKey can attempt to geocode those records with provided address information in order to get better latitude/longitude coordinates.
Note that geocoding accuracy cannot be specified for latitude/longitude coordinates in this geocoding mode.
How can I access geocoding results?
When you have multiple geocoding options, it is important to be able to recall which geocoder was used for a dataset. Within the details tab for a dataset, you can view the geocoder used or whether existing lat/lng coordinates were included in the original dataset.
It is also important to understand how well your locations geocoded. When you import records and geocode with SpatialKey, a column is added to your data describing the resolution of geocoding results for each record.
For a nice summary of how well your locations geocoded, you can add a Unique Value List pod using the “Geocoding Accuracy” field.
Using this pod, you can apply filters to remove poorly geocoded locations. Let’s say for example, that I want to view all records within 1/2 mile of the coast (as shown in the above image). You’ll notice that there are a lot of records that geocoded to the postal code, city and even unknown levels that are still appearing on the map. This is because the geocoded latitude and longitude coordinates that were returned happen to fall within 1/2 mile of the coast. So what happens in the situation when all locations within a postal code are located over 1/2 mile away from the coast, but the postal code centroid (where lat/longs from geocoding resolution of Postal Code are located) is within 1/2 mile of the coast? You will end up overstating your risk near the coast. Similarly, think about how much the different an exact street address vs. block resolution could make for evaluation of flood risk – even just being 100 ft away can make all the difference. Situations like these are why it is important to have control over your data and be able to exclude records that didn’t geocode well enough for the type of analysis you are performing.
When exporting a file that had been geocoded in SpatialKey, a column containing the geocoding accuracy will be included. Depending on your geocoding license, you may also have access to export the geocoded latitude and longitude coordinates. Either way, having the geocoding resolution upon export can help you manage your data for your additional downstream analytics.
What else do I need to know?
Understanding inputs and geocoding
- Complete and accurate input address data results in more accurate geocodes. Each geocoder applies assumptions and methods of interpretation on the input data, which results in discrepancies when comparing results of multiple geocoding solutions.
- Precision in underlying source data differs. Some geocoding solutions provide parcel and building level geocodes, which results in differences when comparing to interpolated street address geocodes.
- For street addresses, interpolation logic may be different between different geocoding providers. Interpolation determines where to place a geocode within a street segment as well as the side of the street where it’s placed.
- Input address requirements differ between geocoding providers. Some geocoders require street address and postcode to obtain high resolution geocodes; others may require street address, city, state, and postcode. For low resolution geocoding, some support all geo‐political administrative units (like state, county, district, postcode); others may only support the most common geo‐political units (like state, postcode).
When you import latitude and longitude coordinates into SpatialKey, you can optionally define the geocoding resolution of those coordinates. This will help you better understand the quality of geocoding results when working with the data in SpatialKey. In order for SpatialKey to understand the geocoding resolutions, you must use the following resolution levels.
|Geocoding resolution||SpatialKey resolution code|
|Address – Parcel||-10|
|Address – Street||1|
|Postal Code – High Res||31|
|Postal Code – Medium Res||35|
|Very Poor Geocoding||10|
Feel free to contact us to discuss which geocoding option best suits your organizations needs.