Géocoder des noms de lieux et retrouver une adresse à partir de coordonnées GPS avec QGIS + MMQGIS

Dans un précédent article, nous avons vu comment géocoder des adresses complètes avec le plugin MMQGIS. Aujourd’hui, allons plus loin avec deux cas d’usage très pratiques, toujours sans coder :

  • géocoder des noms de lieux (communes, pays, lieux-dits),
  • effectuer un reverse géocoding : retrouver une adresse approximative à partir de coordonnées GPS.

1. Géocoder des lieux à partir de leur nom

Cas d’usage

Vous avez une liste de communes, de pays ou de lieux connus, mais pas d’adresses précises. Vous souhaitez localiser ces entités sur une carte.

Exemple de CSV :

id,lieu
1,Port Mathurin, Rodrigues, Maurice
2,Quatre Bornes, Maurice
3,Paris, France
4,Antananarivo, Madagascar

Étapes :

  1. Menu QGIS : MMQGIS → Geocode → Geocode CSV with Web Service.
  2. Dans la boîte de dialogue :
    • Fichier CSV : votre table avec les noms de lieux.
    • Colonne des adresses : sélectionnez la colonne contenant les lieux.
    • Service web : OpenStreetMap / Nominatim.
  3. Choisissez un fichier de sortie.

Lancez le géocodage. Chaque lieu sera converti en coordonnées géographiques.


Astuce : Qualité du géocodage

Nominatim essaie d’interpréter le texte fourni. Plus votre chaîne est explicite, meilleur sera le résultat. Exemples :

MauvaisMeilleur
RodriguesPort Mathurin, Rodrigues, Maurice
Quatre BornesQuatre Bornes, Plaines Wilhems, Maurice
ReunionSaint-Denis, La Réunion, France

2. Reverse geocoding (adresse à partir de coordonnées)

Cas d’usage

Vous avez des coordonnées GPS (ex. : relevés terrain, photos géolocalisées) et souhaitez connaître l’adresse correspondante.

Exemple de CSV :

id,latitude,longitude
1,-19.7061,63.4209
2,-20.2473,57.4906
3,-21.1151,55.5325

Étapes :

1- Chargez le fichier csv en tant que couche avec Couche->Ajouter une couche->Ajouter une couche de texte délimité…

2- Menu QGIS : MMQGIS → Geocode → Reverse Geocode CSV with Web Service.

Dans la boîte de dialogue :

  1. Indiquez le fichier CSV.
  2. Choisissez Nominatim comme service.
  3. Choisissez un fichier de sortie.

Le plugin renvoie une description de l’adresse pour chaque point.


Bonnes pratiques

  • Pour de meilleurs résultats, vérifiez que les coordonnées sont en EPSG:4326 (latitude/longitude en degrés).
  • Le reverse geocoding donne une adresse approximative : rue, localité ou nom de lieu selon les données disponibles.
  • Évitez les traitements massifs avec Nominatim (respecter les limites d’usage public).

Que faire ensuite ?

Les données obtenues peuvent ensuite être :

  • jointes à des couches vectorielles,
  • utilisées pour filtrer, regrouper ou cartographier vos données terrain,
  • intégrées dans un atlas QGIS ou un rapport.

Problèmes fréquents avec MMQGIS Geocode

  • Erreur 429 – Too Many Requests
    Le serveur de géocodage refuse temporairement les requêtes (voir explication ci-dessus).
  • Aucune adresse trouvée
    Cela peut venir du format de l’adresse ou d’un manque de précision.
  • Adresses mal placées sur la carte
    Le géocodeur renvoie parfois le centre d’une rue ou d’une commune.

⚠️ Erreur 429 : « Too many requests »

Lors de l’utilisation des outils Geocode ou Reverse Geocode de MMQGIS, il peut arriver que le message suivant apparaisse :

« Failure connecting to API : HTTP Error 429: too many requests »

Cette erreur signifie que le service de géocodage refuse temporairement les requêtes parce qu’il en reçoit trop en peu de temps.

MMQGIS utilise le service Nominatim d’OpenStreetMap, qui est un service public. Pour protéger les serveurs, ce service impose des limites strictes d’utilisation.

L’erreur peut apparaître si :

  • vous géocodez un grand nombre d’adresses ou de points ;
  • les requêtes sont envoyées trop rapidement ;
  • plusieurs utilisateurs utilisent le service depuis la même adresse IP.

Comment éviter ce problème ?

Plusieurs solutions sont possibles :

  • traiter les données par petits lots (par exemple 100 à 200 adresses) ;
  • attendre quelques minutes avant de relancer un traitement ;
  • utiliser un service de géocodage alternatif ;
  • pour des traitements importants, installer un serveur Nominatim local ou utiliser un service professionnel.

Les serveurs publics de Nominatim sont destinés à des requêtes ponctuelles ou à des tests, et non à du géocodage massif.


À suivre…

Dans le prochain article, nous verrons comment utiliser MMQGIS pour effectuer des jointures spatiales simples, comme associer automatiquement des points à la commune ou zone administrative dans laquelle ils se trouvent.
Si vous utilisez souvent le géocodage dans QGIS, vous rencontrerez probablement l’erreur HTTP 429 (Too Many Requests). Nous expliquons plus haut pourquoi elle apparaît et comment la contourner.


Si cet article vous a intéressé et que vous pensez qu'il pourrait bénéficier à d'autres personnes, n'hésitez pas à le partager sur vos réseaux sociaux en utilisant les boutons ci-dessous. Votre partage est apprécié !

3 thoughts on “Géocoder des noms de lieux et retrouver une adresse à partir de coordonnées GPS avec QGIS + MMQGIS

  1. Bonsoir, quand je lance Reverse Geocode, ça me met depuis hier :
    un message avec croix blanche sur fond rond rouge : « Failure connecting to API : HTTP Error 429: too many requests »

    ça fonctionnait jusqu’à présent sur mon qgis ?
    Sauriez-vous d’où ca peut venir ?

    Merci par avance !

    1. Bonsoir,

      Le message « HTTP Error 429: too many requests » indique que le serveur de géocodage refuse temporairement les requêtes parce qu’il y en a trop.

      Dans le cas de MMQGIS, l’outil Reverse Geocode utilise par défaut le service Nominatim d’OpenStreetMap. Ce service public impose des limitations strictes afin d’éviter la surcharge des serveurs.

      Lorsque ces limites sont dépassées, le serveur renvoie l’erreur 429 (Too Many Requests).

      Cela peut arriver si :

      * vous géocodez beaucoup de points d’un coup ;
      * les requêtes sont envoyées trop rapidement ;
      * plusieurs utilisateurs passent par la même adresse IP (par exemple dans un réseau d’entreprise ou d’université).

      Ce n’est donc pas un problème de QGIS ni de MMQGIS, mais une limitation du service utilisé.

      Solutions possibles

      Vous pouvez essayer plusieurs choses :

      1. Attendre un peu
      Le blocage est généralement temporaire.

      2. Traiter les données par petits lots
      Par exemple 100 ou 200 points à la fois.

      3. Espacer les requêtes
      MMQGIS envoie parfois les requêtes assez rapidement, ce qui peut déclencher la limitation.

      4. Utiliser un autre service de géocodage
      Si vous avez beaucoup de données à traiter, il peut être préférable d’utiliser un service de géocodage dédié ou un serveur Nominatim personnel.

      À noter que les serveurs publics de Nominatim sont destinés surtout à des requêtes ponctuelles, pas à du géocodage massif.

      Cordialement
      Atilio FRANCOIS

    2. Bonsoir,

      Merci beaucoup pour votre message et pour avoir signalé ce problème.

      Votre question m’a donné l’occasion de **mettre à jour l’article** pour ajouter une explication de cette erreur ainsi que quelques conseils pour l’éviter.

      Merci encore pour votre contribution — les questions des lecteurs permettent souvent **d’améliorer les articles et de les rendre plus utiles à tous**.

      N’hésitez pas à partager vos retours ou vos expériences avec QGIS !

      Bien cordialement

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *