Géolocalisation, pays, latitude, longitude – Découvrir leaflet.js pour placer des marqueurs sur une carte avec les coordonnés de chaque pays

C’est un sujet récurrent déjà maintes fois abordé dans ce blog. Un « must-have » dans ce que l’on nomme généralement la datavisualisation. Le principe en est simple : il s’agit de géolocaliser un ensemble de contenu sur une carte par exemple. En l’occurrence, notre besoin était d’avoir sur une carte du monde, la dispersion d’un ensemble d’articles consacrés à des initiatives menées en faveur de l’environnement.

Tout le code de cet article est disponible sur github :
https://github.com/bflaven/BlogArticlesExamples/tree/master/lat_long_countries_capital

Il nous fallait donc la latitude et la longitude moyenne pour chaque pays en vue d’afficher un marqueur sur le pays en question et non à coté ! Attention aux îles. Ce marqueur sera cliquable et permettra d’accéder à la page de résultat de tags combinant le tag pays et le tag environnement.

On a donc rapproché différentes sources de données glanées sur le web notamment la liste des codes pays ISO 3166 dont on va se servir comme d’un pivot pour gérer nos traductions. Pour l’instant, nous ne gérons que le nom anglais, le nom en français, toutefois rien n’empêche d’ajouter des colonnes pour gérer la traduction dans d’autres langues. Le tout a ensuite été intégré dans une BDD MySQL.

Pour information, une autre structure de cette table sera peut-être fournie avec des colonnes additionnelles pour gérer les langues suivantes notamment : swahili, arabe, persan, russe, anglais, chinois, français, cambodgien, portugais brésilien, vietnamien, haoussa, espagnol.

La traduction de Australie dans les langues citées ci-dessus

      "sw-SW": "Australia",
      "ar-AR": "أستراليا",
      "fa-IR": "استرالیا",
      "ru-RU": "Австралия",
      "en-US": "Australia",
      "zh-ZH": "澳洲,澳大利亚",
      "fr-FR": "Australie",
      "km-KM": "អូស្ត្រាលី",
      "pt-BR": "Austrália",
      "vi-VI": "Úc",
      "ha-HA": "Ostraliya",
      "es-SP": "Australia"

Quelques explications sur la table

Une ligne d’exemple tirée de la table, celle de l’Australie

(14, 'AU', 'Australia', 'Australie', -27.0000000, 133.0000000),
  • 1. Les codes pays ISO 3166 ex : AU pour Australie
  • 2. Le nom en anglais du pays ex : Australia
  • 3. La traduction en français ex : Australie
  • 4. La latitude et la longitude d’un point moyen dans le pays ex : -27.0000000, 133.0000000 en Australie. Pour information, il ne s’agit pas de Canberra (Latitude : -35.3075 | Longitude : 149.124417), la capitale de l’Australie mais un trou perdu dans le bush…

La liste des pays est dans une table nommée location_fr_en dans une BDD
Voir : countries_capitals_location_fr_en.sql sur gihub

Le résultat de la carte
géolocalisation, pays, latitude, longitude - Découvrir leaflet.js pour placer des marqueurs sur une carte avec les coordonnés de chaque pays

géolocalisation, pays, latitude, longitude - Découvrir leaflet.js pour placer des marqueurs sur une carte avec les coordonnés de chaque pays

En savoir plus