Cet article montre comment télécharger et traiter dans le langage basilic des fichiers décrivant des localités du monde entier. Le site geonames permet d’effectuer des recherches interactives ou de télécharger des fichiers contenant des informations notamment sur les localités. La page de téléchargement geoname comprend des fichiers par pays ou pour le monde entier. Voici un extrait en traduction automatique de la documentation:
Lisez-moi pour les fichiers d'extraction de GeoNames Gazetteer ============================================================== Ce travail est sous licence Creative Commons Attribution 4.0, voir https://creativecommons.org/licenses/by/4.0/ Les données sont fournies "telles quelles" sans garantie ni représentation d'exactitude, d'actualité ou d'exhaustivité. Le format de données est un texte délimité par des tabulations en codage utf8. Fichiers (liste partielle): cities500.zip : toutes les villes avec une population > 500 (environ 185000) cities1000.zip : toutes les villes avec une population > 1000 (environ 130000) cities5000.zip : toutes les villes avec une population > 5000 (environ 50000) cities15000.zip : toutes les villes avec une population > 15000 (environ 25000) Tous ces fichiers ont la même structure: 00 geonameid : identifiant entier de l'enregistrement 01 name : nom du point géographique (utf8) 02 asciiname : nom du point géographique en caractères ascii simples 03 alternatenames : noms alternatifs, séparés par des virgules 04 latitude : latitude en degrés décimaux 05 longitude : longitude en degrés décimaux 06 classe d'entités : voir http://www.geonames.org/export/codes.html 07 code de fonction : voir http://www.geonames.org/export/codes.html 08 code pays : code pays ISO-3166 à 2 lettres 09 cc2 : codes de pays alternatifs, séparés par des virgules 10 code admin1 : code de la première division administrative 11 code admin2 : code de la deuxième division administrative 12 code admin3 : code pour la division administrative de troisième niveau 13 code admin4 : code pour la division administrative de quatrième niveau 14 population : nombre d'individus 15 altitude : en mètres 16 dem : élévation moyenne 17 timezone : l'identifiant du fuseau horaire 18 date de modification : date de la dernière modification au format aaaa-MM-jj
Pour une utilisation simple, le programme suivant permet de télécharger le fichier cities500.zip et de créer un fichier tabulé cities.txt comportant sept informations pour chaque localité:
- 00 nom de la localité
- 01 latitude
- 02 longitude
- 03 pays
- 04 population
- 05 altitude
- 06 fuseau horaire
Java
Exemples d’exécution:
java localites -load 0 name=cities500.txt;size=32258364;compressedsize=10516477; Fichier cities.txt cree Structure d'un enregistrement: 00 nom localite 01 latitude 02 longitude 03 pays 04 population 05 altitude 06 fuseau horaire
java localites lille Sint-Huibrechts-Lille 51.22266 5.49437 BE 3354 40 Europe/Brussels Lille 51.24197 4.82313 BE 15466 17 Europe/Brussels Kaulille 51.18763 5.52372 BE 4570 45 Europe/Brussels Stenlille 55.53888 11.5912 DK 1905 34 Europe/Copenhagen Lillerod 55.87496 12.34579 DK 15359 45 Europe/Copenhagen Saint-Andre-lez-Lille 50.66667 3.05 FR 10931 22 Europe/Paris Oursbelille 43.28688 0.03698 FR 1251 277 Europe/Paris Marquette-lez-Lille 50.67628 3.06613 FR 10832 20 Europe/Paris Lillers 50.56345 2.48042 FR 10104 28 Europe/Paris Lillebonne 49.5203 0.53617 FR 9797 15 Europe/Paris Lille 50.63297 3.05858 FR 228328 27 Europe/Paris Lilleshall 52.73418 -2.40316 GB 942 97 Europe/London Tivolille Pasquali-Merenzata 39.27953 16.20738 IT 4381 422 Europe/Rome Lillestrom 59.95597 11.04918 NO 14000 116 Europe/Oslo Lillesand 58.24879 8.3778 NO 6081 7 Europe/Oslo Lillehammer 61.11514 10.46628 NO 19096 210 Europe/Oslo Velille -14.50889 -71.88528 PE 0 3743 America/Lima