La plupart des données possèdent une composante géographique, c'est à dire qu'elles sont rattachées à un territoire donné (adresse, numéro postal, canton, département, pays, etc.). On estime ainsi que près de 85% des données utilisées quotidiennement par une entreprise possèdent une référence spatiale. Par exemple, les clients ou les commandes d'une entreprise, les abonnés d'un journal, d'un opérateur téléphonique, les utilisateurs de cartes de crédit, les archives de l'état civil, les contribuables et les électeurs d'une commune, les assurés d'une caisse-maladie, les patients d'un hôpital, etc., sont autant de données recensées avec une indication géographique, qui est souvent le numéro postal.
Cette référence spatiale est présente dans les données. Dans l'exemple ci-dessous (1), les numéros postaux "1020 Renens" ou "1025 St-Sulpice", en bleu dans la base de données, se rattachent concrètement à des points ou des surfaces (bâtiment de la Poste ou aire du NPA) sur le terrain, en l'occurence à l'ouest de Lausanne (2). Le géocodage consiste à associer à chaque individu d'une base de donnée des coordonnées géographiques sur la surface de la terre. Dans l'exemple ci-dessous, pour localiser "1020 Renens" ou "1025 St-Sulpice" sur une carte, il a fallu attribuer un couple de coordonnées (X,Y) à ces numéros postaux (3).
L'attribution de coordonnées aux éléments d'une base de données peut se faire en partie de manière automatique. Pour géocoder les données d'une base particulière, il suffit de les comparer à une base de donnée similaire déjà géocodée (appelée table de référence), en faisant correspondre la variable spatiale (NPA, numéro de commune, canton...) de chaque élément de la table à géocoder avec une variable identique de la table de référence. Le logiciel en attribue alors les coordonnées et les objets sont localisés. En fonction de la précision souhaitée, les données de références peuvent être des coordonnées de communes, de NPA ou de rues.