Geokodningsprogram är en typ av datorapplikation som kombinerar gatuadresser med kartinformation för att ge en unik plats för varje adress. Det konverterar i huvudsak en lista med adresser till punkter på en karta. De flesta typer av programvara för Geographic Information Systems (GIS) kommer att innehålla några grundläggande geokodningsfunktioner, men separat geokodningsprogram finns också tillgänglig. En del geokodningsprogram kan till och med utföra geokodningsoperationer utan en mappningssession genom att länka adresserna i en databas till gatuattributen i databasen för källkartan.
Vilken typ av karta som används vid geokodning kan variera beroende på vilken skala och detaljnivå som behövs; kartor kan innehålla kartor över landskiften, postnummer eller distrikt. Vanligtvis används en karta på gatunivå för att uppnå de mest exakta resultaten. Källkartan kommer att behöva en databas som innehåller vissa attribut för funktionerna på kartan. En gatukartadatabas kan till exempel lista gatunamnen och adresserna på varje gata. Att ha korrekta data för kartan är avgörande för tillförlitlig adressinterpolation.
För att geokodningsmjukvaran ska fungera krävs adressstandardisering. Ett datorprogram kanske inte känner igen att ”St.” är förkortning för ”gata” i en adress, till exempel, så adressen ”123 Main St.” skulle inte hittas som en matchning för ”123 Main Street.” Alla adressposter i databasen bör använda samma versaler och förkortningsregler. Webbplatser som ger vägbeskrivningar till adresser har vanligtvis en funktion som gör att de kan tolka adresser som inte anges i standardformatet.
Geokodningsmjukvaran kommer att analysera adresserna i enskilda komponenter. I USA och många andra länder kan en adress vanligtvis delas upp i följande komponenter: prefix- eller suffixriktning, prefixtyp, adressnummer, gatunamn, gatutyp och postnummer. Till exempel, i adressen 692 Hwy 31 N är ”692” adressnumret, ”Hwy” är prefixtypen, ”31” är gatunamnet och ”N” är suffixriktningen. Programvaran kommer att bryta ner alla adresser i databasen på detta sätt.
Efter att kartattributdatabasen och adressdatabasen har lagts in i geokodningsmjukvaran, kan applikationsprocesserna försöka matcha varje adress till en plats på kartan. Den förenar de två genom att matcha posterna i varje databas, och en del programvara kommer att ge en poäng för hur nära en matchning den hittar för varje adress. Adressdatabasen kommer att taggas med motsvarande kartkoordinater, vanligtvis latitud och longitud, från kartdatabasen.
Det finns flera metoder för hur programvaran avgör var en adress ska placeras på en gatukarta. Ett vanligt sätt är metoden med ett intervall, där varje gata tilldelas ett enda intervall med adressnummer. Applikationen kommer sedan att testa en adress för att se om den faller inom det givna nummerintervallet för den gatan. Om den gör det, placeras punkten för adressplatsen på gatan proportionellt mot dess värde mellan gatuområdets slutpunkter. Till exempel, om en gata har ett adressintervall på 500 till 599, så skulle adressnumret 550 finnas ungefär halvvägs mellan gatans slutpunkter på kartan.