What is geocoding - A comprehensive guide
What you can find on this page:
What you can find on this page:
Geocoding transforms the description of a location, such as an address or place name, into corresponding geographic coordinates that indicate the place's location on the earth's surface. These resulting lat long coordinates are referred to as a geocode.
Geocoding fundamentals
There are a variety of companies that offer address geocoding. Here are a few ways you can start geocoding right now.
Enter one US or international address at a time to find the corresponding geocode.
Upload or copy & paste a batch list of US or international addresses to find corresponding geocodes.
Integrate geocoding directly into your application with an application programming interface to geocode automatically based on your specifications.
Add reverse geocoding into your application to turn latitude & longitude coordinates into addresses.
Users of QGIS can download a plugin to geocode addresses one at a time or by uploading a list of addresses for batch geocoding.
Basic geocoding definitions
A set of latitude and longitude coordinates that represents a specific geographic place, such as a landmark, street address, place name, or location.
Geocoding
(or forward geocoding) The process of transforming the description of a location, such as an address or place name, into corresponding geographic coordinates.
Reverse geocoding
The process of converting a set of coordinates, like latitude & longitude coordinates, into the nearest street address and sometimes into the nearest place name or landmark.
Decimal degrees are a simplified way to express latitude and longitude coordinates, offering an alternative to Degrees Minutes Seconds (DMS) notation. They are useful for calculations and digital systems due to their convenience and precision.
Rooftop, parcel centroid, interpolated, ZIP9 - What types of geocoding accuracy are available, and what do they mean?
A higher resolution of geocoding accuracy than rooftop geocoding. These are geocodes for individual apartments, townhomes, and other secondary address types.
International geocoding is when you match a mailing or street address to the lat-long coordinates of a place anywhere in the world.
The steps of address geocoding
When you submit an address to a high-accuracy geocoding service, these steps should happen behind the scenes.
Parsing divides a street address into individual or grouped components such as building number, predirectional, street name, postdirectional, street suffix, city, state, and ZIP Code.
Address Standardization Standardizing corrects casing, abbreviations, and spelling errors. The process reformats the address to match the local postal authority's standard format. Standardization also adds missing components like city, state, and postal codes as appropriate.
Address Validation Validating matches the parsed, standardized, corrected version of the address to an authoritative database of known addresses to find a match. The validation step ensures that the address represents a real, shippable place.
Address geocoding
Address Geocoding Using a validated address for geocoding increases match rates, minimizes the risks of false positives, and filters locations that don't exist. The most accurate lat/long coordinates are then returned.
Useful geocoding articles & videos
When you submit an address to a high-accuracy geocoding service, these steps should happen behind the scenes.
Geocoding requires precise address data. Learn why performing address validation and address standardization before geocoding improves match rates and prevents false positives.
For organizations needing to comply with HMDA and CRA reporting requirements, the FFIEC Geocoding tool is essential. However, for a more integrated and automated approach, consider using Smarty's US GeoReference data.
We're glad you asked. This article covers how to look up latitude and longitude coordinates in the US and internationally.
See how services like Google Maps, OpenCage, Melissa, and Smarty compare for geocoding accuracy, speed, price, and more.
False positives are bad data disguised as good data, which can infiltrate your system through errant geocoding processes.
A no-match response from a geocoder is an excellent defense against a great evil–false positives.
Mapping providers may provide geocodes even if they don't represent real places. Learn why it happens and how to prevent it.
Learn why it happens and how to get them.
How would it impact your business if your rooftop geocodes are nowhere near rooftop accurate? How does "parcel" compare with "property" or "streetfront," and how is it related to interpolation? Resident geocoding expert Adam Charlton clears up the confusion about geocoding accuracy.
Learn how Smarty's US Rooftop Geocoding helps you to create advantages over your competitors.
What can geocoding be used for?
Geocoding is essential for mapping and navigation, location-based services, logistics and supply chain management, real estate and property management, emergency services, market analysis, urban planning, and business intelligence, to name a few. Review our case studies for a deep dive into how companies are using Smarty's rooftop geocoding:
Kibage uses apartment geocoding to aid home care services.
Rooftop geocodes are essential for P&C risk management for this insurance data analytics company.
SalesRabbit use rooftop geocoding to create the most accurate sales mapping & routing software to optimize sales productivity.
The American Red Cross uses geocoding to create accurate maps to create predictive models and home fire risk maps.
P&C insurance, telecom 5g coverage, and other high-accuracy geocoding use cases are covered in this webinar recording.
General geocoding tutorials
Learn what it is and how to look one up using Smarty's single address verification tool.
Use Smarty's QGIS Geocoding Plugin in the popular QGIS application to geocode addresses one at a time or by batch.
Geocoding APIs
A Geocoding API is an Application Programming Interface (API) that performs forward or reverse geocoding requests. Geocoding data can then be used for routing, mapping, insurance risk analytics, geospatial meta-analysis, and location-based advertising.
As a household name, some people wonder how Google's geocoding API stacks up. Here, we'll cover capabilities, limitations, and alternatives.
Head-to-head comparison of top providers, ArcGIS, Smarty, & and Google Maps geocoding speed, pricing, validation, accuracy, and more.
Should you host your geocoding installation locally or in the cloud? Learn the pros and cons of each.
Cloud APIs have come a long way in the last several years. Learn about the capabilities of cutting-edge geocoding APIs.
This comprehensive ebook covers everything from accuracy, speed, capacity, and 3rd party compatibility to validation and sub-address geocodes. You can also check out the (video 25:05) webinar recording.
Smarty® offers two geocoding APIs, one for US addresses and the other for international addresses. Both APIs are fully documented, backed by a suite of SDKs, have enough sample code to take down an AT-AT, and are backed by our legendary customer support.
US Rooftop Geocoding
US Rooftop Geocoding is an optional data point available through our US Street Address API.
Learn the key benefits of our US Rooftop Geocoding product.
Use this Live API to create sample GET, POST, or RAW API requests and returns a sample API response in JSON.
What do Rooftop, Parcel, ZIP9, ZIP9, etc., mean for geocoding US addresses with Smarty?
Geek out on all the configuration options, including levels of precision, technical requirements, and our Best Practices page.
Sample GET request
By subscribing to a US Rooftop Geocoding license, you can include us-rooftop-geocoding-cloud in your call, and receive rooftop geocodes in the response.
curl -v
"https://us-street.api.smarty.com/street-address?key=YOUR-API-
KEY&candidates=10&street=1052%20Canyon%20Meadow%20Dr%20Apt%205&city=provo&state=ut&zipcode=84606&ma
tch=enhanced&license=us-rooftop-geocoding-cloud"
Sample API response in JSON
The precision value in the response indicates that the latitude and longitude values are rooftop accurate (the highest available accuracy level) for this address. If a rooftop geocode isn't available, the application automatically cascades to the next accuracy level until a match is found. The precision level achieved always prints in the response.
[
{
"input_index": 0,
"candidate_index": 0,
"delivery_line_1": "1052 Canyon Meadow Dr Apt 5",
"last_line": "Provo UT 84606-3630",
"delivery_point_barcode": "846063630059",
"components": { "primary_number": "1052",
"street_name": "Canyon Meadow",
"street_suffix": "Dr",
"secondary_number": "5",
"secondary_designator": "Apt",
"city_name": "Provo",
"default_city_name": "Provo",
"state_abbreviation": "UT",
"zipcode": "84606",
"plus4_code": "3630",
"delivery_point": "05",
"delivery_point_check_digit": "9"
}, "metadata": {
"record_type": "H",
"zip_type": "Standard",
"county_fips": "49049",
"county_name": "Utah",
"carrier_route": "C019",
"congressional_district": "03",
"rdi": "Residential",
"elot_sequence": "0107",
"elot_sort": "A",
"latitude": 40.220009,
"longitude": -111.629074,
"coordinate_license": 1,
"precision": "Rooftop",
"time_zone": "Mountain",
"utc_offset": -7,
"dst": true },
"analysis": {
"dpv_match_code": "Y",
"dpv_footnotes": "AABB",
"dpv_cmra": "N",
"dpv_vacant": "N",
"dpv_no_stat": "N",
"active": "Y",
"enhanced_match": "postal-match"
}
}
]
Read the full HTTP response output field definitions for US addresses here.
International Geocoding API
International geocoding is available through our International Street Address API.
Learn the key benefits of our International Address Validation API and the geocodes we provide.
request Use this Live API to create sample GET, POST, or RAW API requests. The tool also returns the HTTP status and API response in JSON.
What do DeliveryPoint, Premise, Thoroughfare, Locality, & Administrative Area mean when discussing geocoding precision? Before clicking the link in the next bullet point, learn what each means first.
Got a handle on the levels of geocode precision? Good. Now, see the available level of precision for the 250 countries and territories we cover.
Working with addresses in multiple character sets like Kanji, Russian, Latin, and Cyrillic is challenging. Transliterating address data makes it easier to store, analyze, & maintain addresses across character sets while improving accuracy.
Geek out on all the configuration options including levels of precision, technical requirements, and our Do Not Read This Page (but seriously, do)
Sample GET request
Example from a Japanese address with Kanji transliterated to latin characters
curl -v
"https://international-street.api.smarty.com/verify?
key=21102174564513388&country=Japan&address1=%E4%B8%AD%E4%B9%8B%E5%B3%B6%EF%BC%94%E4%B8%81%E7%9B%AE
%EF%BC%92%E2%88%9255&address2=%E5%8C%97%E5%8C%BA&locality=%E5%A4%A7%E9%98%AA%E5%B8%82&administrativ
e_area=%20%E5%A4%A7%E9%98%AA%E5%BA%9C&postal_code=5300005&geocode=true"
Sample API response in JSON
`{[
{
"address1": "530-0005",
"address2": "大阪府 中之島 4丁目 2 55",
"components": {
"administrative_area": "大阪府",
"administrative_area_long": "大阪府",
"administrative_area_short": "大阪府",
"sub_administrative_area": "大阪市北区",
"country_iso_3": "JPN",
"locality": "中之島",
"dependent_locality": "4丁目",
"dependent_locality_name": "4丁目",
"postal_code": "530-0005",
"postal_code_short": "530-0005",
"premise": "55",
"premise_number": "55",
"thoroughfare": "2",
"thoroughfare_name": "2"
},
"metadata": {
"latitude": 34.694443,
"longitude": 135.487961,
"geocode_precision": "Thoroughfare",
"max_geocode_precision": "DeliveryPoint",
"address_format": "postal_code|administrative_area locality dependent_locality thoroughfare premise|"
},
"analysis": {
"verification_status": "Partial",
"address_precision": "Thoroughfare",
"max_address_precision": "DeliveryPoint",
"changes": {
"components": {}
}
}
}
]
}
Next, try this address yourself in the Live API or add the "language" input field, and enter the value "Latin" to transliterate the Kanji characters to Latin characters.
Read the full HTTP response output field definitions for international addresses here.
Supported geocoding libraries & software developer kits (SDK)
Calling Smarty's APIs for geocoding is easy with our suite of well-tested, supported, actively developed, open-source SDKs and include example code for geocoding, reverse geocoding, validation & more. All are available to use at no charge, including:
- NET - C#, F#, Visual Basic, .NET, or any other .NET/CLI language
- Go
- iOS - Objective-C Swift
- JavaScript
- Java - Android development, Clojure, Groovy, Scala, Kotlin, or any other JVM language
- PHP
- Python
- Ruby
Geocoding API tutorials
Calling Smarty's APIs for geocoding is easy with our suite of well-tested, supported, actively developed, open-source SDKs and include example code for geocoding, reverse geocoding, validation & more. All are available to use at no charge, including:
Node JS SDK Example
Python 3.7 SDK Example
Javascript SDK Example for Geocoding
Python SDK Example for Geocoding
Batch geocoding
To Batch Geocode - (or perform batch geocoding) is the process of uploading a spreadsheet or copying/pasting a list of addresses to a software provider and receiving back the corresponding latitude and longitude geographic coordinates for each address in the list at once. Here's how to get started:
See different methods for turning a spreadsheet into geocodes via web interface and command-line interface. See the Geocoding API section above to batch geocode via API.
A detailed explanation of geocode batch processing and the best available options.
Webinar recording demonstrating how to batch geocode at speeds of up to 600-700 records per second in the QGIS application.
Batch geocoding tools
US & International Geocoding is built into our bulk address validation tool. Here are complete instructions for using the tool.
US Geocoding is built into our Bulk Address Validation: Command Line Interface tool. Works with Windows, MacOS X, Linux (i386), and Linus (amd64).
Download QGIS and install Smarty's QGIS plugin. Then refer to the QGIS guide below.
Easily validate and geocode US addresses directly in Google Sheets with our add-on.
Seamlessly validate and geocode US addresses right in Excel with our address verification add-on.
Batch geocoding tutorials
Geocode a spreadsheet or CSV file of addresses. Process up to 25,000 addresses at a time using our bulk address tool.
How to use Smarty's QGIS Geocoding Plugin to batch geocode US addresses.
Reverse geocoding
Reverse Geocoding - is the process of converting a set of coordinates, like latitude & longitude coordinates, into the nearest street address and sometimes into the nearest place name or landmark.
Reverse geocoding is great for spatial analysis and understanding user travel behavior and can be used for predictive modeling and location-enabled advertising.
What's the difference, and why does it matter.
How reverse geocoding helped when Hurricane Katrina hit.
Reverse Geocoding API
Enter a set of latitude and longitude coordinates and see an API response in JSON with the 10 nearest addresses sorted by distance. Did you leave your coordinates at home? No worries, we have sample lat/long data available.
Implementation is easy with complete documentation and sample code. Learn about URL composition, request methods, status codes, and output field definitions.
Monthly and yearly plans available with up to unlimited lookups at unlimited records per second.