Skip to contents

Données séparées

Le package phacochr a la particularité de ne pas contenir directement les données nécessaires au géocodage. C’est la raison pour laquelle il faut lancer la fonction phaco_setup_data() après l’installation du package pour que les fonctions du package puissent fonctionner :

# Charger phacochr
library(phacochr)

# Installer les données nécessaires à phacochr
phaco_setup_data()

La fonction phaco_setup_data() télécharge les fichiers nécessaires (90Mo), qui sont alors décompressés et stockés de manière permanente dans un répertoire de travail sur l’ordinateur. Une fois décompressés, ces fichiers occupent une place de 265Mo sur le disque dur. Le chemin du répertoire dépend du système d’exploitation ; il est renseigné par la fonction lors de l’installation. Pour Windows, ce chemin est C:\Users\USERNAME\AppData\Local\phacochr. Voici en résumé ce que contiennent ces fichiers. L’utilisateur/trice peut consulter le répertoire d’installation pour prendre connaissance plus précisément de leur contenu. Attention : ces fichier ne peuvent pas être modifiés !

Type de données Descriptif Taille
Données BeST Les rues BeST Address et leurs coordonnées par numéro issues des données régionales Urbis (Région de Bruxelles-Capitale), CRAB (Région flamande) et ICAR (Région wallonne). 140Mo
Données vectorielles Statbel et Urbis Des données vectorielles des secteurs statistiques Statbel et des quartiers du monitoring Urbis permettant d’une part d’ajouter des informations administratives au géocodage (secteurs statistiques, quartiers du monitoring de Bruxelles, (sous-)communes…), d’autre part de fournir les limites spatiales pour pouvoir produire des cartographies des données géocodées. 110Mo
Données de prénom Statbel Une liste de tous les prénoms en Belgique, permettant de recoder les rues BeST contenant des prénoms pour créer des alias avec prénom abrégé (les rues étant usuellement écrites de cette manière). 8Mo
Tables de conversion Des tables de conversion nécessaires au processus de géocodage pour lier les différentes données. Il s’agit de tables permettant de passer du code postal à la commune, l’arrondissement ou la région, du secteur statistique au quartier du monitoring de Bruxelles, d’une table faisant la liste des communes adjacentes pour chaque commune, etc. 5Mo

Le fait que les données ne soient pas intégrées a deux avantages :

  1. Il permettra de soumettre notre package au dépôt CRAN, la taille des packages acceptés étant limitée.
  2. Il donne à l’utilisateur/trice la possibilité de mettre à jour lui/elle-même les données. Nous développons cet élément dans le point suivant.

Mise à jour des données

Bien que phacochr repose essentiellement sur les données BeST, les données utilisées par le package ne sont pas directement celles que l’on peut télécharger sur le site où elles sont mises à disposition : https://opendata.bosa.be/. Les données BeST sur lesquelles est construit phacochr sont en effet transformées dans le but d’ajouter des options au, et d’augmenter la vitesse du géocodage.

Ces opérations sont réalisées par le package lui-même à travers la fonction phaco_best_data_update(). Voici quelques éléments constituant les transformations opérées. L’utilisateur/trice peut prendre connaissance de l’ensemble de ces transformations en consultant le code de la fonction phaco_best_data_update() sur Github.

  • La distinction de numéros de boite différents pour le même numéro de rue est supprimée. Par exemple, les numéros 52a et 52b sont tous deux ramenés au 52.
  • Les rues sont doublées par langue, pour simplifier l’écriture du code de la fonction de géocodage. C’est notamment le cas pour Bruxelles, dont toutes les rues sont traduites en français et néérlandais. La même rue bruxelloise est sonc située sur deux lignes dans la base de données (une en fr, l’autre en nl).
  • Les numéros de rue avec coordonnées manquantes sont supprimées. Ce problème de coordonnées manquantes concerne uniquement la Wallonie.
  • Les coordonnées des milieux de rues sont calculées.
  • Des alias des rues avec prénoms sont créés pour que celles-ci existent dans une version avec prénom abrégé (les rues étant usuellement écrites de cette manière).
  • Des corrections orthographiques sont apportées aux données BeST. Le formatage des adresses BEST n’est en effet pas toujours homogène : celles-ci contiennent des précisions entre parenthèses, des abréviations (Av. pour “Avenue”, St. pour “Saint”), etc. qui nuisent potentiellement à la bonne détection des rues. Par défaut, des corrections sont donc apportées. Par cohérence, la correction orthographique des données à géocoder - dans la fonction phaco_geocode() - est également activée par défaut. Cette correction des données BeST est désactivable via l’argument correction_REGEX = FALSE de la fonction phaco_best_data_update().
  • Les secteurs statistiques sont ajoutés aux données BeST à l’aide d’une jointure spatiale avec les données vectorielles de Statbel. C’est par le biais des secteurs statistiques que les autres informations administratives (quartiers du monitoring de Bruxelles, (sous-)communes…) sont ajoutées aux adresses géocodées en fin de géocodage. La table secteurs statistiques - quartiers du monitoring de Bruxelles est quant à elle réalisée via une jointure spatiale des centroïdes des secteurs statistiques Statbel aux géométries Urbis des quartiers du monitoring. De ce fait, les quartiers du monitoring épousent les limites spatiales des secteurs statistiques Statbel.
  • Les fichiers BeST sont simplifiés au maximum afin d’augmenter la vitesse du géocodage. Les fichiers BeST originaux font 960Mo ; nous les avons réduits à 140Mo. Nous avons notamment diminué la précision des coordonnées au mètre pour diminuer la taille des fichiers.
  • Les fichiers sont en outre scindés par arrondissement, afin de pouvoir charger uniquement les fichiers nécessaires lors du géocodage, réduisant significativement le temps de chargement pour géocoder les bases de données d’adresses ne couvrant pas tout le territoire belge.

La fonction phaco_best_data_update() télécharge les dernières données BeST sur le site officiel, les transforme, y intègre les secteurs statistiques à partir des données vectorielles de Statbel et sauvegarde le résultat dans le répertoire de travail de phacochr pour être utilisées lors du géocodage. En outre, la fonction crée toutes les tables de conversion nécessaires au géocodage. Toutes ces tables étant réalisées à la volée par la fonction, elles sont modifiables très facilement (en cas de refonte des secteurs statistiques, de changement des géométries, etc.).

Cette manière de faire a l’avantage majeur que l’utilisateur/trice peut réaliser lui/elle-même la mise à jour des données. Les données BeST sont en effet mises à jour de manière hebdomadaire, et il aurait été beaucoup trop contraignant pour nous de mettre le package à jour toutes les semaines pour suivre ce rythme. La fonction de mise à jour se lance simplement de cette façon :

La fonction détecte automatiquement si les données installées ont plus d’une semaine, pour éviter de faire une mise à jour pour rien. Si c’est bien le cas, elle procède alors aux téléchargements et calculs nécessaires pour créer les données. Les opérations sont nombreuses et peuvent prendre une dizaine de minutes pour être réalisées. L’avancement des opérations est indiqué par différents messages successifs dans la console. Les autres données (par exemple les données vectorielles Statbel et Urbis) ne peuvent pas être mises à jour par l’utilisateur. Leur mise à disposition n’étant pas faite à une URL fixe, l’automatisation est moins facile. Cependant, leur actualisation étant beaucoup moins fréquente, nous (les développeurs de phacochr) nous chargeons de les intégrer au package dès qu’un changement se présentera.

Précision du géocodage

L’utilisateur/trice peut par ailleurs choisir le degré de précision des coordonnées X-Y lors de cette mise à jour avec le paramètre précision (par défaut réglé sur "m" - mètre). Si l’utilisateur/trice veut changer le degré de précision alors que les données ont moins d’une semaine, il/elle doit indiquer l’argument force = TRUE, forçant la mise à jour. Attention : augmenter le degré de précision diminue la vitesse de géocodage. Les arguments possibles de la fonction sont renseignés dans le dictionnaire des fonctions.

phaco_best_data_update(precision = "cm",
                       force = TRUE)