Zola2 // Tout // Rien // Surtout Rien

Géolocalisation de toutes les villes du monde

décembre13

Il est parfois utile lors de développement d’applicatif d’utiliser une base de données regroupant l’intégralité des villes d’une pays (ou de plusieurs) pour y retrouver code postal, latitude, longitude et ainsi pouvoir créer des applicatifs de géolocalisation (comme par exemple le CRM Elyazalée).

Des fichiers gratuits regroupant de nombreuses informations sur toutes les villes mondiales existent ! On peux ainsi connaitre la position géographique précise de chaque ville, le code postal, le nombre d’habitants, etc…

Les fichiers (format CSV) sont disponibles à l’adresse : http://download.geonames.org/export/dump/

Chaque pays à son propre fichier.

Il est intéressant de pouvoir intégrer ces fichiers dans une base de données ! Je déconseille d’intégrer l’intégralité de toutes les villes dans une seule table (> 6 millions)… il est nécessaire de créer une table par pays.

Voici la démarche pour la création de la table des villes française…

Commençons par créer la structure de la table : 

CREATE TABLE geoname_fr (
geonameid int PRIMARY KEY,
name varchar(200),
asciiname varchar(200),
alternatenames varchar(4000),
latitude decimal(9,7),
longitude decimal(9,7),
fclass char(1),
fcode varchar(10),
country varchar(2),
cc2 varchar(60),
admin1 varchar(20),
admin2 varchar(80),
admin3 varchar(20),
admin4 varchar(20),
population int,
elevation int,
gtopo30 int,
timezone varchar(40),
moddate date
) CHARACTER SET utf8;

Télécharger ensuite le fichier des villes française : http://download.geonames.org/export/dump/FR.zip
Dézippez le fichier.

Ensuite depuis le shell (ou dos…) :

LOAD DATA INFILE 'c:\chemindufichier\FR.txt' INTO TABLE geoname_fr (geonameid,name,asciiname,alternatenames,latitude,longitude,fclass,fcode,country,cc2, admin1,admin2,admin3,admin4,population,elevation,gtopo30,timezone,moddate);

Et voilà vous avez une belle table avec toutes les villes de France !
Si vous avez besoin de l’intégralité des pays, faites un petit script pour générer les différentes tables et ensuite y importer les différents fichiers !

Amusez-vous bien !

posted under Actualités

Email will not be published

Website example

Your Comment: