Geocoding refers to the conversion of a physical address, such as a street address, to geographical coordinates, commonly longitude and latitude, to display the location on a map. Reverse geocoding does the opposite calculation and finds a street address when given a set of geographical coordinates. A geocoder, or geocoding system, is a piece of software or a web service that performs geocoding. A geocoder can be used for various purposes, for example getting directions, cartography, and geotagging. Geotagging involves adding a geotag, which is geographical data like latitude and longitude, to various kinds of media like photos, videos, RSS feeds, and websites.
The three most common methods of geocoding are: by address; by postal code, ZIP code, or the local equivalent; and by boundary. When geocoding by address, a geocoder commonly uses a reference file with data such as street addresses and street names that have already been mapped. It then matches the data in the reference file against the list of addresses it is geocoding. Often a process called address interpolation is used to estimate the position of a specific address, meaning the system estimates where a specific address is located based on the general information in the reference file. For example, a geocoder can figure out at which end of a block or street an address is located based on the range of building numbers, or what side of the street a house is located on based on whether the building number is odd or even.
Using postal codes can be problematic, especially in rural areas where each postal code covers a very large area. In urban areas, this method is more accurate because each postal code covers a much smaller geographical area. Geocoding by boundary is the least reliable method, because it will only show a general area where a specific address is located.
There are difficulties with all methods of geocoding. Even the most reliable method, using physical addresses, has its problems. For example, new addresses may not have been added to the geocoder's database yet or streets may have the same name but are located in different geographical areas. There is a wide range of geocoding systems available and some are free to use, while others require a licensing fee. Some examples of geocoders are the relatively well-known Internet-based services like Google Maps, Yahoo PlaceFinder, and USC Geocoder, and systems like Geohash, C-squares and ISO 6709. There are also text-based alternatives that do not require the user to be online.