QGis: Un plug-in pour faire du Géocodage et du Géocodage Inversé (Partie 2: Utilisation)

Après avoir vu l’installation du Plug-In Geocoding dans un tutoriel précédent, ainsi que les paramétrages de celui-ci et la création d’une APi Key Google Maps nécessaire à son utilisation nous allons voir un exemple d’utilisation:

Objectif: Faire un semis de point de sites archéologiques à partir d’adresses connues puis à partir d’une localisation connue (mais dont on ne connait pas l’adresse)…

Nous avons ouvert QGis (ici en version 1.7.4)

Nous avons ouvert une carte Google Maps Hybrid (avec le Plug-In OpenLayers Plug-In)

Nous avons défini le SCR Google Maps Mercator au projet

Exemple de Géocodage Inversé (reverse geocoding) dans QGis

Exemple de Géocodage Inversé (reverse geocoding) dans QGis

1) Présentation

Le Plug-In se trouve dans le Menu « Extension » > Geocode Menu Extension > Geocode

Nous avons déjà utilisé la fonction Settings afin d’indiquer notre Api Key Google Maps

Le Menu About présente les auteurs du Plug-In

Le fonction Geocode est aussi présente dans la barre d’outils  icône Geocode  (si vous avez activé l’affichage des extensions : clic droit dans la barre d’outils > case à cocher « Extensions »).

2) Géocodons (toi-même!)

Rien de plus simple: clic sur le bouton Geocode

Dans la boîte de dialogue: nous écrivons notre adresse de la manière la plus précise possible (Numéro Rue, Code Postal, Ville, Pays)

Note: les noms de lieux-dit sont rarement pris en compte, les rues et le numéros de route -genre D943- le sont par contre…

Geocode: adresse

A la première tentative de géocodage, le logiciel nous demande de spécifier le système de coordonnées de référence (SCR) pour la couche de points qu’il va créer:

Nous choisissons: Système de coordonnées projeté >Lambert Conformical Conic >Lambert II IGNF:LAMB2 (parce que c’est « malheureusement » encore celui que nous utilisons le plus…) > OK

Le Plug-In nous crée alors automatiquement une nouvelle couche de points GeoCoding Plugin Results

Couche Geocoding PlugIn Results

Mais il nous a aussi créé notre premier point avec une étiquette « 160 Rue du Pas-Notre-Dame, 37100 Tours » (telle que nous l’avions indiquée dans la boîte de dialogue de l’outil Geocode)

Nous pouvons donc Zoomer sur le point créé pour vérifier la qualité de la géocodification:

Diagnostic-Tours

et… Oooh le beau diagnostic archéologique (rebouché et déjà construit, croyez moi !)

Mais avant d’essayer toutes les adresses qui nous passe par la tête : mamie, Bar tabac de la rue des martyrs, et j’en passe… intéressons nous à…

3) La Table attributaire « GeoCoding Plugin Results »

En faisant tout simplement un Clic Droit sur celle-ci > Ouvrir la Table d’attributs

Nous remarquons que la table créée ne comporte qu’une seule colonne -et une seule ligne correspondant au point que nous venons de faire.

Table1

Apparemment c’est un Bug: car si on rentre dans le mode édition : Clic sur le bouton  édition que l’on ferme la table et qu’on l’ouvre à nouveau… c’est beaucoup mieux:

Table2

Nous avons maintenant une table attributaire avec une colonne address qui contient -comme son nom l’indique- l’adresse que nous avons cherché ! c’est pas beau ça ?!

Note: c’est peut-être le moment de créer de nouvelles colonnes (de nouveaux attributs) pour caractériser ses points, mais je vous laisse le loisir de le faire…de votre côté.

Mais que faire quand on ne connait pas l’adresse d’un lieu (ou que le Plug-In ne comprend rien à ce qu’on lui demande… ça arrive, et ça énerve parfois)…

4) Geocodage inversé :

Il nous suffit de se déplacer avec les outils de navigation (Zoom+, Zoom-, etc..) au sein de notre fond de carte jusqu’à l’endroit voulu-connu.

Puis dans le Menu « Extension » > Geocode > Reverse Geocode

Menu Reverse-Geocode

Le pointeur est en forme de croix , nous cliquons alors sur l’endroit désiré, une boîte de dialogue s’ouvre avec l’adresse correspondante > OK

Fenêtre Reverse-Geocode

Notre deuxième point (solognot celui-ci) est alors automatiquement créé…

Résultat Reverse-Geocoding

… et nous pouvons le vérifier dans la table attributaire.

Table3

Et voilà: nous venons de faire du géocodage et du géocodage inversé, c’est pas la classe ça ?

Ne nous endormons pas sur nos lauriers, il faut quand même…

5) Sauvegarder notre couche:

Clic droit sur la couche Geocoding Plugin Results > Sauvegarder sous 

Choisir le format shapefile, un nom de fichier « réglementaire » (pas d’accent, d’espace et autres caractères bizarre pour « l’américain moyen ») et enregistrer un dossier bien identifié.

Note: A chaque nouvelle ouverture du Plug-In une nouvelle couche Geocoding Plugin Results est ouverte, il suffira alors de sélectionner les nouvelles entités créées puis de faire un (des?) Copier-Coller avec les outils d’édition consacrés Boutons Copier-Coller depuis la couche « Geocoding Plugin Results » vers le shapefile voulu.

Qu’en pensez vous ? Cela vous donne-t’il des idées ?

Ne serait-ce pas une manière assez intuitive (autant dire proche de google maps et de ses marqueurs 😉 ) d’alimenter un SIG sans rentrer dans les affres de la géomatique-géomaticienne ?

Tagué , , , , , , ,

10 réflexions sur “QGis: Un plug-in pour faire du Géocodage et du Géocodage Inversé (Partie 2: Utilisation)

  1. Bonjour,
    je prends quelques instants pour vous féliciter. Je suis super fan de votre blog! Je le trouve très clair, tout en arrivant a rester très technique. Et en plus pour parfaire le tableau, dédier au logiciel libre 😉 tout pour plaire!
    Bonne continuation

    Etienne

    PS : et en plus je viens de voir qu’il y avait un lien vers mon blog là en bas !! encore bravo 😀 (non je rigole, vous les méritez ces félicitations )

    • archeomatic dit :

      Bonjour à toi Etienne,
      Et merci pour les encouragements !
      Tu as l’immense honneur d’être le premier à poster un commentaire sur ce blog ! 😀
      En espérant que d’autres suivent…c’est, je pense, le meilleur moyen d’avoir un « retour-utilisateur » sur ses tutos sans prétention.

      Au plaisir de te revoir par ici!
      Sylvain

      PS:je suis assez vite « tombé » sur votre blog http://mygeomatic.free.fr , j’ai encore bien du chemin à parcourir…
      mais je le garde sous la main notamment pour un proche avenir avec l’apprentissage de GRASS 😉

  2. florent dit :

    Joli boulot m’sieur Sylvain…

    • archeomatic dit :

      Merci collègue 😉
      content de voir que tu t’intéresses à QGis…de la part d’un cailloutologue en plus !
      au plaisir de se croiser bientôt et de discuter enregistrement (j’aime bien tes description d’US codifiée…) et autres…
      A+

  3. Moh dit :

    Bonjour,

    La nouvelle version de Qgis 2.0 permet-elle l’insertion de l’api google ? Dans le même ordre d’idée, je ne trouve le système de projection google mercator dans la nouvelle version.

    Merci de votre aide.

  4. safari dit :

    je voudrais faire le géocodage avec un formulaire php en recherchant les informations dans une base postgresql. sans utiliser phpmapscript, juste avec openlayer si c’est possible? comment

  5. AMAZONE dit :

    Bonjour,

    Je suis complètement novice dans le domaine des cartes mais j’en ai besoin dans mon métier pour faire de la géo codification.

    Je dispose d’une carte avec des zones que j’arrive à projeter sur Qgis. Ensuite j’ouvre le plugin OpenLayers Plug-In de google. Je superpose donc la carte google avec mes zones.

    Ce que j’aimerai faire c’est pour chaque zone sortir la liste de rue qu’elle contient.

    Je ne sais pas si c’est possible..

    Merci.

    • archeomatic dit :

      Bonjour Amazone,
      La comme ça à chaud…. c’est chaud justement !
      D’abord il faut bien comprendre que le fond cartographique qui apparait avec OpenLayers Plugin c’est du Raster, donc une image , tu ne pourra pas récuperer les données genre nom de rue ou autre…
      Ensuite le géocodage inversé permet (via le plug-in dont je parle ici) de récupérer un nom de rue d’après un point (une coordonnée géographique en fait de type x, y).
      Donc tu veux faire une sorte de géocodage inversé et non pas à partir de points mais de polygones (tes zones?) oulala

      En gros il va falloir pour cela:
      1) Récupérer des données (des rues avec leur nom) au format vecteur (shapefile) par exemples des données d’OpenStreetMap
      2) importer tes zones (sous forme de polygones)
      3) Faire une jointure spatiale pour récupérer le nom des rues qui appartiennent a chacune de tes zones (je pense même qu’il faudrait mieux récupérer le nom ou l’identifiant de la zone dans laquelle est inclue chaque rue… en espérant qu’une rue n’appartient pas à plusieurs zones)!!
      4) Conclusion: je ne l’ai jamais fait… c’est faisable mais pas d’une simplicité extrême..

      Bon courage
      tiens moi au jus

Répondre à AMAZONE Annuler la réponse.