Geocoding software is a type of computer application that combines street addresses with map information to provide a unique location for each address. It essentially converts a list of addresses to points on a map. Most types of Geographic Information Systems (GIS) software will include some basic geocoding functions, but separate geocoding software is also available. Some geocoding software can even perform geocoding operations without a mapping session by linking the addresses in one database to the street attributes in the database for the source map.
The type of map used in geocoding can vary depending on what scale and level of detail is needed; maps may include those of land parcels, postal codes, or districts. Typically, a street-level map is used in order to attain the most precise results. The source map will need a database that includes certain attributes for the features on the map. A street map database, for example, might list the street names and the range of addresses on each street. Having accurate data for the map is essential for reliable address interpolation.
In order for the geocoding software to work, it requires address standardization. A computer program might not recognize that "St." is short for "street" in an address, for example, so the address "123 Main St." would not be found as a match for "123 Main Street." All address records in the database should use the same capitalization and abbreviation rules. Websites that provide directions to addresses typically have a function that allows them to interpret addresses that are not entered in the standard format.
The geocoding software will parse the addresses into individual components. In the United States and many other countries, an address typically can be broken into the following components: prefix or suffix direction, prefix type, address number, street name, street type and postal code. For example, in the address 692 Hwy 31 N, "692" is the address number, "Hwy" is the prefix type, "31" is the street name, and "N" is the suffix direction. The software will break down all addresses in the database in this fashion.
After the map attribute database and the address database are put into the geocoding software, the application processes can attempt to match each address to a location on the map. It joins the two together by matching the entries in each database, and some software will provide a score for how close of a match it finds for each address. The address database will get tagged with the corresponding map coordinate, usually latitude and longitude, from the map database.
There are several methods for how the software determines where to place an address on a street map. One common way is the one-range method, in which each street is assigned a single range of address numbers. The application will then test an address to see if it falls within the given range of numbers for that street. If it does, then the point for the address location is placed on the street proportional to its value between the street range endpoints. For example, if a street has an address range of 500 to 599, then the address number 550 would be located about halfway between the endpoints of the street on the map.