Géocoder des adresses dans QGIS : 5 méthodes gratuites comparées
Publié le

Géocoder, c'est transformer une liste d'adresses en points sur une carte. Pour des adresses françaises, la meilleure source gratuite est la Base Adresse Nationale (BAN), servie par la Géoplateforme de l'IGN : sur nos 100 écoles, elle les a toutes placées en une demi-seconde, à 8 m près en médiane. Dans QGIS, l'outil intégré est le Géocodeur Nominatim par lot de la boîte à outils de traitements, qui interroge OpenStreetMap partout dans le monde. Vous pouvez aussi décrire la tâche en une phrase à AI Agent.
Nous avons géocodé 100 écoles françaises et 100 écoles américaines dont les coordonnées officielles sont publiques, puis mesuré l'écart de chaque réponse :
| Méthode | Adresses | Trouvées | Erreur médiane | 90 % à moins de | Temps pour 100 |
|---|---|---|---|---|---|
| BAN, CSV de la Géoplateforme | France seulement | 100 | 8 m | 77 m | 0,5 s |
| AI Agent, avec la BAN demandée | France seulement | 99 | 7 m | 70 m | environ 8 min |
| AI Agent, une phrase | Monde entier | 100 FR, 93 US | 45 m FR, 184 m US | 283 m FR, 2 880 m US | environ 1 min |
| Géocodeur Nominatim par lot (intégré) | Monde entier | 92 FR, 81 US | 46 m FR, 95 m US | 264 m FR, 465 m US | 148 s |
| Géocodeur du Census américain | États-Unis seulement | 87 | 128 m | 342 m | 1,9 s |
Le test : 200 écoles aux coordonnées officielles
Un guide de géocodage sans mesure reste une supposition. Tous les chiffres de cet article viennent de nos essais du 19 octobre 2026 :
- 100 écoles publiques françaises tirées au hasard dans l'annuaire de l'Éducation nationale, toutes localisées au numéro de rue.
- 100 écoles publiques américaines tirées au hasard dans le fichier de localisation des écoles du NCES (2023-2024), dont chaque point est estimé à partir de l'adresse puis vérifié à la main.
Nous n'avons gardé que l'adresse, le code postal et la commune, jamais le nom de l'école : aucun géocodeur ne pouvait la retrouver comme un lieu nommé. L'erreur est la distance en ligne droite entre le point renvoyé et le point publié.
Une réserve pour la France. 44 des 100 points de la BAN tombent à moins d'un mètre du point du ministère : le ministère place donc ses écoles sur les points adresse de la BAN. Pour la France, lisez les chiffres de la BAN comme « vous obtenez le point officiel », pas comme un test de précision indépendant.
Méthode 1 : la BAN et la Géoplateforme
La Base Adresse Nationale est la base officielle des adresses en France. Son service de géocodage tourne désormais sur la Géoplateforme de l'IGN, à l'adresse https://data.geopf.fr/geocodage/, sans clé.
- Une adresse à la fois : l'extension French Locator Filter, maintenue par Oslandia, l'ajoute à la barre de recherche de QGIS.
- Un fichier entier : envoyez votre CSV au point d'accès
/geocodage/search/csv. Le fichier doit être en UTF-8 et faire moins de 50 Mo ou 200 000 lignes, et le service accepte 50 requêtes par seconde par adresse IP.
Elle a placé nos 100 écoles en 0,46 seconde. L'erreur médiane est de 8 m et 94 des 100 réponses tombent sur un numéro, pas seulement sur une rue.
Lisez la colonne result_score. Notre seule catastrophe, une école envoyée à 200 km, à Clamart, avait un score de 0,54 : son code postal était un code CEDEX, qui ne correspond à aucune commune. C'était le seul score sous 0,6. Filtrez les scores bas et vérifiez-les à la main.
À utiliser quand : vos adresses sont en France. Rien d'autre dans notre test n'en approche.
Méthode 2 : demander à AI Agent en une phrase
AI Agent est notre extension QGIS qui exécute une tâche écrite, dans le projet ouvert. Elle lit vos couches et leurs champs, choisit les outils et montre ce qu'elle a modifié.
Nous avons chargé les 100 adresses françaises, sans coordonnées, et écrit :
Géocode les adresses de la couche ecoles avec la Base Adresse Nationale (BAN) et enregistre les points dans un GeoPackage. Dis-moi combien d'adresses n'ont pas été trouvées.
Elle a d'abord demandé s'il fallait interroger la BAN adresse par adresse ou utiliser son géocodeur par lot, plus rapide. Nous avons choisi la BAN. Environ 8 minutes plus tard, 99 écoles étaient placées, avec une erreur médiane de 7 m et aucun point à plus de 170 m. Elle a écarté elle-même une réponse, parce que la BAN renvoyait une autre voie dans une autre commune : l'adresse de Watten qui avait envoyé le CSV brut de la BAN à 2,4 km. Elle a aussi évité l'erreur de 200 km du code CEDEX.

Sans préciser la BAN, la même demande a trouvé les 100 adresses en moins d'une minute, avec une erreur médiane de 45 m : le niveau de Nominatim, pas celui de la BAN. Nommez donc la BAN dans votre phrase.
Sur les 100 adresses américaines, une phrase en anglais a suffi : AI Agent a vu que la rue, la ville, l'État et le code postal étaient dans des champs séparés, a construit l'adresse complète dans une copie de travail et a enregistré le GeoPackage en une minute environ. Il a trouvé 93 adresses, le meilleur taux du test américain, mais 17 points tombent à plus d'1 km, souvent sur un lieu à l'adresse voisine : un hôpital, une caserne de pompiers, une église.

Nous lui avons ensuite demandé de signaler les points douteux. En 3 minutes, il a comparé le code postal de chaque point avec la source et en a marqué 6 en rouge, en précisant qu'il s'agissait d'un contrôle d'étiquette, pas de limites postales. 3 des 6 étaient bien à plus d'1 km, mais 14 points lointains restaient non signalés.
À utiliser quand : vos adresses sont à nettoyer ou à découper d'abord, ou quand le géocodage n'est qu'une étape d'une tâche plus longue.
À éviter quand : vous géocodez le même fichier chaque semaine. Enregistrez un modèle une fois pour toutes.
Méthode 3 : le Géocodeur Nominatim par lot intégré à QGIS
QGIS intègre un géocodeur par lot depuis la version 3.20. Il utilise Nominatim, le géocodeur gratuit d'OpenStreetMap, et respecte sa limite d'une requête par seconde.
Charger les adresses
Couche > Ajouter une couche > Ajouter une couche de texte délimité…, choisissez votre CSV et réglez Définition de la géométrie sur Pas de géométrie (juste la table).
Construire un seul champ d'adresse
L'outil lit un seul champ. Ouvrez la Calculatrice de champ et créez un champ texte adresse_complete avec une expression comme "adresse" || ', ' || "code_postal" || ' ' || "commune".
Lancer le géocodeur
Ouvrez la Boîte à outils de traitements (Ctrl+Alt+T), cherchez Géocodeur Nominatim par lot, choisissez la table dans Couche en entrée et adresse_complete dans Champ d'adresse, puis exécutez.
Vérifier les adresses manquées
La sortie garde toutes les lignes et ajoute les champs renvoyés par Nominatim, comme display_name, class, type et postcode. Les lignes sans correspondance n'ont pas de géométrie. Filtrez-les et corrigez les adresses.

Nominatim a trouvé 92 des 100 adresses françaises, avec une erreur médiane de 46 m, et 81 des 100 adresses américaines, avec 95 m. La durée est fixée par la limite de débit : 1 600 adresses prennent environ 40 minutes.
À utiliser quand : vous avez quelques centaines d'adresses n'importe où dans le monde et voulez rester dans QGIS.
À éviter quand : vous avez des dizaines de milliers de lignes. Les règles de Nominatim découragent le géocodage de masse et demandent de garder les résultats en cache. En France, la BAN fait mieux et plus vite.
Méthode 4 : MMQGIS et son outil de géocodage de CSV
MMQGIS est une extension communautaire ancienne. Son outil Geocode CSV with Web Service lit directement un CSV, avec jusqu'à quatre colonnes d'adresse (adresse, ville, État, pays) : pas besoin de la Calculatrice de champ.
Il propose plusieurs services : OpenStreetMap / Nominatim et le Census américain sont gratuits, Google demande une clé d'API. Il écrit aussi un CSV Not Found avec chaque ligne non placée, le fichier sur lequel vous travaillerez ensuite.
À utiliser quand : vos adresses sont réparties en colonnes séparées.
À éviter quand : vous n'avez que quelques adresses. La barre de recherche, plus bas, va plus vite.
Méthode 5 : le géocodeur du Census pour les adresses américaines
Pour des adresses aux États-Unis, le Census Bureau propose un géocodeur gratuit qui accepte jusqu'à 10 000 adresses par fichier.
- Enregistrez un CSV sans en-tête, avec cinq colonnes : identifiant, rue, ville, État, code postal.
- Envoyez-le sur https://geocoding.geo.census.gov/geocoder/ dans Address Batch, avec le référentiel
Public_AR_Current. - Chargez le résultat dans QGIS comme couche de texte délimité. Les coordonnées sont dans une seule colonne « longitude,latitude » : séparez-les d'abord avec la Calculatrice de champ.
Il a répondu en 1,9 seconde et trouvé 87 adresses sur 100. Les 13 autres sont revenues en « No_Match » ou « Tie » : des adresses de routes rurales comme « 140 Highway 142 », une adresse en quadrillage de l'Utah (« 17845 N 54000 W ») et des rues d'école récentes comme « 501 Middle School Drive ».
Il est moins précis qu'il n'en a l'air. Le Census place chaque point par interpolation le long de la plage de numéros de la rue, pas sur le bâtiment. L'erreur médiane est de 128 m, et seuls 29 des 87 points tombent à moins de 100 m de l'école. Sur un grand terrain scolaire, le point atterrit sur la rue, devant l'école.
À utiliser quand : vos adresses sont aux États-Unis et vous en avez beaucoup.
Une adresse à la fois : la barre de recherche
Pour une seule adresse, inutile de lancer un outil. Cliquez dans la barre de recherche en bas à gauche de QGIS (Ctrl+K), tapez >, une espace, puis l'adresse. QGIS interroge Nominatim et zoome sur le résultat. Il ne cherche pas pendant la frappe, volontairement, pour respecter les règles de Nominatim.
Pour des adresses françaises, l'extension French Locator Filter fait la même chose avec la BAN.
Quelle précision attendre d'un géocodage gratuit ?
« Trouvée » ne veut pas dire « juste ». Voici où les réponses sont tombées, sur 100 adresses à chaque fois :
| Méthode | À moins de 50 m | À moins de 100 m | À plus d'1 km |
|---|---|---|---|
| BAN, France | 82 | 94 | 2 |
| AI Agent avec la BAN, France | 83 | 95 | 0 |
| Nominatim, France | 50 | 65 | 2 |
| Géocodeur Nominatim par lot, États-Unis | 27 | 42 | 4 |
| AI Agent, États-Unis | 28 | 44 | 17 |
| Census, États-Unis | 6 | 29 | 2 |
Une adresse non trouvée ne compte ni comme proche ni comme lointaine.

Les erreurs suivent quelques schémas :
- Le repli sur la rue. Quand Nominatim ne connaît pas le numéro, il renvoie un point sur la rue. C'est arrivé pour 34 des 100 adresses françaises. Sur une longue avenue, ce point peut être loin de la porte.
- L'interpolation. Le Census suppose des numéros régulièrement espacés le long d'un îlot. Les écoles occupent de grands terrains, donc le point tombe sur la rue, devant la mauvaise partie du terrain.
- La même adresse dans la mauvaise commune. Nominatim a placé « 51 rue Jean Jaurès, Angers » à Trélazé, la commune voisine, à 2,9 km. Gardez toujours la commune dans l'adresse.
- Les formats inhabituels. Nominatim n'a rien renvoyé pour 8 adresses françaises. Plusieurs contenaient une double espace, « DR » pour « Docteur », un numéro « 3 bis » ou un nom de hameau dans la ligne de la rue. La BAN les a toutes lues.
- L'adresse est fausse, pas le géocodeur. Le Census et Nominatim s'accordent à 51 m près sur une école de Mesa, en Arizona, alors que le point officiel est à 10 km. L'adresse enregistrée n'était tout simplement plus celle de l'école.
Deux contrôles simples rattrapent l'essentiel :
- Combiner deux services. Aux États-Unis, le Census puis Nominatim pour ses échecs ont trouvé 96 adresses sur 100.
- Les comparer. Signalez chaque ligne où deux géocodeurs s'écartent de plus de 500 m. Cela a signalé 5 lignes américaines et 4 françaises, et chacune cachait une vraie erreur.
Le géocodage inverse dans QGIS
Le géocodage inverse va dans l'autre sens : d'un point vers l'adresse la plus proche. QGIS n'a pas d'outil intégré pour le faire par lot, mais vous avez trois solutions gratuites :
- Le point d'accès
/geocodage/reverse/csvde la BAN prend un CSV avec des colonnes de latitude et de longitude. Faites un clic droit sur votre couche de points, Exporter > Sauvegarder les entités sous…, choisissez le format CSV et réglezGEOMETRYsurAS_XY. - MMQGIS > Reverse Geocode envoie chaque point à Nominatim (ou à Google avec une clé) et ajoute les champs d'adresse.
- AI Agent dispose aussi d'un outil de géocodage inverse : une phrase comme « ajoute l'adresse la plus proche à chaque point » suffit.
Nous avons renvoyé les 100 points officiels des écoles dans deux services. La BAN a répondu en 0,59 seconde : la bonne commune pour 97 points, la bonne rue pour 88, le numéro et la rue exacts pour 58. Nominatim a mis 111 secondes pour les points américains et, pour 58 d'entre eux, a renvoyé l'école elle-même, car les écoles sont cartographiées dans OpenStreetMap. Seuls 34 sont revenus avec le numéro et la rue exacts.
La leçon : le géocodage inverse renvoie l'adresse la plus proche, pas « l'adresse ». Une école à l'angle de deux rues reçoit la rue perpendiculaire. Servez-vous-en pour étiqueter des points, pas pour reconstruire un fichier d'adresses.
Ce qu'il faut retenir
Pour des adresses françaises, utilisez la BAN : un CSV envoyé à la Géoplateforme, ou AI Agent en nommant la BAN dans votre phrase.
Pour quelques centaines d'adresses ailleurs dans le monde, le Géocodeur Nominatim par lot suffit, avec une erreur médiane proche de 100 m.
Vérifiez toujours les adresses manquées, les scores bas et les lignes où deux services ne sont pas d'accord.
Si les adresses demandent d'abord un nettoyage, décrivez le résultat voulu à AI Agent, nommez le géocodeur en qui vous avez confiance, et vérifiez ce qu'il a produit.
Questions fréquentes
Comment géocoder des adresses dans QGIS ?
Pour des adresses françaises, envoyez votre CSV au service de géocodage de la Géoplateforme (BAN), puis chargez le résultat comme couche de texte délimité. Ailleurs, chargez votre CSV comme table, construisez un champ d'adresse complète avec la Calculatrice de champ et lancez le Géocodeur Nominatim par lot depuis la Boîte à outils de traitements, intégré depuis QGIS 3.20.
Le géocodage dans QGIS est-il gratuit ?
Oui. La BAN, Nominatim et le géocodeur du Census américain sont gratuits et sans clé d'API. Nominatim limite à une requête par seconde et décourage les gros traitements de masse. Le géocodage Google dans MMQGIS demande une clé payante.
Quelle est la précision de la BAN par rapport à Nominatim ?
Sur nos 100 écoles françaises, la BAN les a toutes trouvées avec une erreur médiane de 8 m. Nominatim en a trouvé 92, avec 46 m de médiane, et pour un tiers d'entre elles il ne connaissait que la rue, pas le numéro.
Comment faire du géocodage inverse dans QGIS ?
Pour des points en France, envoyez un CSV de coordonnées au point d'accès /geocodage/reverse/csv de la BAN. Ailleurs, utilisez MMQGIS > Reverse Geocode avec Nominatim. Attendez-vous à l'adresse la plus proche, souvent la rue perpendiculaire pour un bâtiment à l'angle.
Une IA peut-elle géocoder des adresses dans QGIS ?
Oui. Avec la BAN demandée, AI Agent a placé 99 de nos 100 écoles françaises à 7 m près en médiane, en environ 8 minutes, et a écarté lui-même la seule mauvaise réponse. Sans préciser la BAN, il les a toutes trouvées en moins d'une minute, avec 45 m de médiane.
, l'outil intégré est le Géocodeur Nominatim par lot de la boîte à outils de traitements, qui interroge OpenStreetMap partout dans le monde. Vous pouvez aussi décrire la tâche en une phrase à 

