Liste des communes de Wallonie

ENTRAVAUX

Divers travaux portant sur l'exploitation des données de l'Union des Villes et Communes de Wallonie, initialement dans le but de les intégrer dans un carnet d'adresse.

Données de l'UVCW

Elles ne sont malheureusement pas disponibles globalement. Un script en Perl utilisant les librairies LWP, HTML::TokeParser et XML::Simple a heureusement permis d'automatiser la récupérationde ces données.

Elles sont sauvegardées dans cette page au format xml gzippé, chaque commune se présentant sos la forme

 <commune>
  <id>Amay</id>
  <adresse>Chaussée F. Terwagne, 76 4540 Amay</adresse>
  <arrondissement>Huy</arrondissement>
  <coalition>Ecolo-MR</coalition>
  <entite>
    <id>Amay</id>
    <postcode>4540</postcode>
  </entite>
  <entite>
    <id>Ampsin</id>
    <postcode>4540</postcode>
  </entite>
  <entite>
    <id>Flône</id>
    <postcode>4540</postcode>
  </entite>
  <entite>
    <id>Jehay</id>
    <postcode>4540</postcode>
  </entite>
  <entite>
    <id>Ombret</id>
    <postcode>4540</postcode>
  </entite>
  <fax>085/83.08.49</fax>
  <latitude>50.553225</latitude>
  <longitude>5.324721</longitude>
  <mail>administration.communale@amay.be</mail>
  <population>13125 habitants</population>
  <province>Liege</province>
  <receveur>Mme Claire Delhaes-Simons</receveur>
  <secretaire>Mme Danielle Viatour-Lavigne</secretaire>
  <site>http://www.amay.be</site>
  <superficie>2760 ha</superficie>
  <tel>085/83.08.00</tel>
  <titre>Commune</titre>
 </commune>

Mise à jour sur Wikipédia

La liste des communes de Wallonie sur Wikipedia [1] a été mise à jour grâce à ce fichier xml et au script suivant qui en extrait les champs appropriés et les formatte ligne par ligne pour reconstruire le tableau.

  #! /usr/bin/perl
  
  use Data::Dumper;
  use XML::Simple;
  
  $file = $ARGV[0];
  
  $provinces = {
    'Hainaut'   => "{{BE-WHT}}",
    'Liege'     => "{{BE-WLG}}",
    'Namur'     => "{{BE-WNA}}",
    'Luxembourg'=> "{{BE-WLX}}",
    'Brabant wallon'   => "{{BE-WBR}}"
  };
  
  my $communes = XMLin($file,KeyAttr => [],ForceArray => ["entite"]);
  
  open WIKI,">wiki.txt";
  
  $previous_initiale = "-";
  foreach  $commune (@{$communes->{commune}}) {
    $name = $commune->{id};
    $name =~ /^(\w)/;
    $initiale = $1;
  
    if ($initiale eq $previous_initiale) {
      $ancre = ""
    } else {
      $ancre = "id=\"ancre_$initiale\"|"
    }
    $previous_initiale = $initiale; 
    if ($commune->{titre} =~ /ville/i) {
      $titre = "Ville" 
    } else {
      $titre = "" 
    }
    my @entites;
    foreach (@{$commune->{entite}}) {
      push @entites,"[[$_->{id}]]";
      $entites = join(', ',@entites);
    }
    $arrondissement =  $commune->{arrondissement};
    $province =  $commune->{province};
    $superficie = $commune->{superficie};
    $population = $commune->{population};
    $population =~ s/ *habitants/\&nbsp;hab./;
  
    print WIKI "|$ancre [[$name]] || $titre || $provinces->{$province} || $superficie || align=\"right\" | $population || $entites\n|-\n";
  }
  
  close WIKI;
  

OpenStreeMap

AFAIRE: importer ces données dans OpenStreetMap

Références techniques: