Géocodage par lot ou 'batch geocoding'
Introduction
Le géocodage par 'batch' permet de géocoder en une seule requête un lot d'adresses comportant jusqu'à 1000 entrées.
Après analyse du lot, le service utilisera pour chacune de ses adresses le service
getPositionBySmartGeocoding.
Contrairement aux autres services, le service processBatchGeolocalisation
n'est disponible que via une interface de type "REST".
Présentation d'un lot
Un lot est un ensemble d'adresses pouvant comporter jusqu'à 1000 éléments. Il est passé au service
processBatchGeolocalisation
sous la forme d'une chaîne de caractère qui sera interprétée comme étant un objet JSON (JavaScript Object Notation).
L'exemple suivant illustre un lot comportant 4 adresses distinctes transmis sous la forme d'une chaîne de caractères (la chaîne ayant ici été formattée afin d'en simplifier la lecture):
On peut distinguer les 4 adresses suivantes:
- 83, Chaussée de Charleroi 5000 Namur
- 83, Chaussée de Charleroi 5000 Salzinnes
- 83, Place Saint-Michel 4000 Liège
- 16, Rue de la Loi 1000 Bruxelles
Les champs constitutifs d'une adresse sont définis par les couples clé - valeur "fx" : "valeur". Les clés "fx" correspondent donc à un champ donné d'une adresse.
Par défaut, les clés sont numérotées de 1 à 4 de sorte que les correspondances suivantes soient établies:
- f1 = Code Postal
- f2 = Localité
- f3 = Nom de la rue
- f4 = Numéro postal
Une adresse peut être incomplète. De ce fait, aucun champ n'est obligatoire lors de la constitution de celle-ci (par exemple une adresse dont on ne connaitrait que le code postal et le nom de la rue).
On peut définir une telle adresse de deux manières distinctes:
- 1. Ne pas attribuer l'entrée clé - valeur pour le champ.
- 2. Définir la valeur "NULL" pour le champ. Ex: "f2" : "NULL"
Enfin, les éventuels autres champs que ceux définis précédemment qui composeraient une adresse ne seront pas pris en compte lors du géocodage de celle-ci.
Géocodage 'intelligent' ou 'smart geocoding'
Introduction
Le géocodage 'intelligent' ou 'smart geocoding' permet de géocoder une adresse plus efficacement selon les paramètres passés en entrée.
En effet, les services getPositionBySmartGeocoding
et getListPositionsBySmartGeocoding
analysent les paramètres qui leur sont passés pour déterminer le service de géocodage qui lui semblera le plus approprié afin
d'augmenter la pertinence et l'efficacité du géocodage.
Le choix du service se fera parmi ceux permettant d'obtenir une position notée (position avec un score sur 100), à savoir:
Toujours dans le but de sélectionner le service de géocodage le plus pertinent, les services
getPositionBySmartGeocoding
et getListPositionsBySmartGeocoding
sont capables dans certains cas de déduire la valeur de paramètres au départ manquant (la valeur assignée lors de l'appel est 'null') pour finalement réorienter leur choix quant au service de géocodage à utiliser.
Invariablement, les paramètres d'entrée minimum requis seront toujours le nom de la rue ainsi que le code postal, bien que ce dernier pourra être déduit depuis la localité si cela s'avère nécessaire (lorsque cette dernière est présente) .
Cette limitation découle du service de géocodage le plus basique à disposition: getPositionByCpAndRue .
La pertinence des résultats dépendra donc essentiellement de la justesse des paramètres d'entrée. Par exemple, pour le géocodage d'une entrée donnée, la méthode
getPositionByCpRueAndNumero
sera plus efficace que getPositionByCpLocaliteRueAndNumero
dans le cas où la localité entrée serait manquante (la valeur passée est 'null') ou erronée.
La déduction de paramètres d'entrée
Comme évoqué précédemment, certains des éventuels paramètres manquants peuvent être déduits sur base des paramètres trouvés. Ces opérations s'effectuent pour toute entrée traitée par l'algorithme précédent durant la phase de collecte des paramètres d'entrée de la fonction.
Les paramètres pouvant être déduit sont:
- 1. le code postal sur base de la localité si elle est présente
- 2. un nom de rue sur base du code postal ou encore de la localité si présents (le code postal ayant lui-même pu être déduit auparavant).
Ces recherches sont elles aussi réalisées via les services à disposition:
Ci-dessous, l'algorithme de collecte et de déduction des paramètres d'entrée:
L'algorithme de choix du service de géocodage
Enfin, une fois la collecte des paramètres d'entrée réalisée, le service exécute l'algorithme suivant pour déterminer le service géocodage à utiliser:
Dans le cas d'un
traitement par lot (batch),
ce même algorithme sera appliqué pour chaqu'une des entrées trouvées.