Brevet FR2926914A1 — publié le 20090731

P10-2081 PROCEDE DE RE-GEOCODAGE [0001] La présente invention concerne un procédé de géocodage pour système de réseau routier numérique permettant de mettre à jour les coordonnées de points d'intérêt de la base de données numériques. [0002] Les données cartographiques sur lesquelles s'appuient les outils de géocodage sont régulièrement améliorées : correction d'erreurs, création de nouvelles voies, ajout de la numérotation dans une rue, etc. Il résulte souvent de ces ajouts et précisions que les points d'intérêt se trouvant dans des zones où la cartographie est mise à jour peuvent alors être géocodés plus précisément. [0003] Lorsqu'un fournisseur de données cartographiques numériques envoie une nouvelle version ou mise à jour d'une carte, il est très difficile de savoir quelles zones de la carte sont modifiées d'une version à l'autre. Les identifiants des tronçons routiers changent à chaque version. Pour détecter tous les changements, il faudrait procéder à une comparaison géométrique du réseau, ce qui serait extrêmement 1s coûteux et complexe. La solution la plus simple consiste donc à relancer le géocodage sur l'ensemble des POI. [0004] En règle générale, les mises à jour concernent des zones géographiques sensiblement vastes, impliquant une quantité de données très importante. Le géocodage des POI nécessite alors de traiter un volume important de données 20 cartographiques. Il nécessite ainsi beaucoup de ressources informatiques : stockage sur disque, mémoire, calcul. Le temps de calcul est sensiblement long du fait de la succession des phases le lecture/écriture sur le disque dur, que celui-ci soit prévu en interne ou externe par rapport au système informatique utilisé. Ainsi, des moyens efficaces permettant de limiter et même de réduire le temps de traitement des 25 données à re-géocoder seraient donc très utiles. [0005] Pour ce faire, l'invention prévoit un procédé de géocodage pour système de réseau routier numérique stocké sur un support mémoire et comportant une pluralité P10-2081 2 d'éléments de réseau tels que des noeuds et/ou de tronçons et d'indications de positionnement de ces noeuds et/ou tronçons, lesdits éléments étant susceptibles d'une part d'être agencés dans une reconstitution d'un réseau routier de façon à former des portions de routes et des carrefours, et d'autre part de permettre de déterminer, à l'aide d'au moins un processeur, au moins un itinéraire potentiel, susceptible de relier un point de départ D, et un point d'arrivée A, lesdits éléments de réseau comportant par ailleurs des points d'intérêt (POI), au moins une portion desdits éléments de réseau étant susceptibles d'être traités numériquement à l'aide de moyens de traitement de données, ledit procédé consistant, pour une zone to donnée contenant les POI à re-géocoder, à : - découper la zone initiale de façon à obtenir N sous-zones dont la taille est optimisée ; - indexer spatialement les POI de chacune des sous- zones ; - ladite phase de découpage étant effectuée de façon récursive, en générant à chaque 1s étape des sous-zones géographiques plus petites selon 'un critère de réduction CR jusqu'à atteinte d'un seuil d'arrêt SA. [0006] La solution selon l'invention permet d'optimiser la gestion des ressources matérielles telles que les moyens de calcul, de mémoire et de stockage des données, 20 afin de rendre possible dans un temps raisonnable le re-géocodage de bases de données comportant plusieurs millions de POI. [0007] De manière avantageuse, ledit critère de réduction CR consiste à diviser la zone initiale par N, N étant compris entre 2 et NBPOI, NBPOI correspondant au 25 nombre de points d'intérêt, et préférablement égal ou inférieur à 4, ladite division étant effectuée de sorte qu'au moins une des sous-zones obtenues par la division comporte un nombre de POI égal ou inférieur à MINIPOI, MINIPOI correspondant au nombre minimal de POI à conserver dans une zone ou sous-zone. P10-2081 3 [0008] Ledit seuil d'arrêt SA consiste de préférence en ce que chacune des sous-zones obtenues lors des étapes successives de découpage comporte un nombre de POI inférieur ou égal à MINIPOI. [0009] De manière avantageuse, le re-géocodage de chacune des sous-zones est effectué de façon successive, en chargeant tour à tour en mémoire cachée les données cartographique de chacune des zones. On accélère ainsi grandement le processus de re-géocodage. En effet, la solution permet en outre d'optimiser le point du processus le plus coûteux en temps : les accès au disque dur. La solution permet de charger un à un dans un cache les sous-ensembles des données cartographiques permettant chacun de géocoder un groupe de POI. De plus, cette solution simplifie l'étalement du re-géocodage dans le temps. [0010] Selon un mode de réalisation avantageux, pour effectuer le géocodage de chacun des POI, on effectue une recherche concentrique à partir de la dernière 1s position géographique connue du POI jusqu'à ce que les nouvelles données de latitude et de longitude et l'adresse donnée du POI soient en correspondance. Ainsi, plus la correction à apporter est petite et plus elle sera rapide. A l'extrême, les POI correctement géocodés, qui sont largement majoritaires, seront traités en très peu de temps. 20 [0011] Ladite zone initiale peut par exemple être sélectionnée parmi l'une des zones suivantes : - le monde entier ; - une zone où au moins une portion des données a été remplacée (par exemple un 25 pays) ; - une zone englobant tous les POI susceptibles d'être re-géocodés. [0012] Selon une autre variante avantageuse, pour au moins une zone donnée, on procède au re-géocodage par échantillonnage de POI, et si un ou plusieurs POI de 20 P10-2081 4 l'échantillon re-géocodé change de position, on procède alors au re-géocodage de l'ensemble des POI de cette zone. [0013] Dans le cas où plusieurs bases de données sont concernées, il est avantageux de procéder à un partitionnement l'espace. Afin de parcourir cet espace une seule fois, les PO1 de toutes les bases sont d'abord agrégés dans un index unique. Leur identifiant unique, leur adresse et leur géocodage d'origine permettent de re-géocoder le POI et de mettre à jour la base d'origine. [0014] L'invention prévoit enfin un logiciel comprenant des éléments de code programmés pour la mise en oeuvre du procédé préalablement évoqué, lorsque ledit logiciel est chargé dans un système informatique et exécuté par ledit système informatique. [0015] Selon un mode de réalisation avantageux, le logiciel se présente sous forme 15 de produit enregistré sur un support lisible par un système informatique, comprenant des éléments de code programmés. [0016]Tous les détails de réalisation sont donnés dans la description qui suit, complétée par les figures 1 à 9 dans lesquelles: [0017]-les figures 1 à 5 représentent un exemple théorique de données comportant des POI répartis dans une zone (figure 1) graduellement scindée en plusieurs zones ou sous-zones au cours des itérations présentées aux figures 2 à 4 ; 25 [0018]ùles figures 6 et 7 illustrent une représentation schématique d'un cas où une série de POI sont tous décalés d'une même voie de circulation ; [0019]ùla figure 8 présente un organigramme fonctionnel illustrant de façon schématique les différentes étapes du procédé selon l'invention ; 30 25 P10-2081 [0020]ùIa figure 9 présente une variante avantageuse de l'organigramme de la figure 8. [0021] Dans la présente description, les termes suivants sont utilisés notamment avec 5 les significations suivantes : [0022] On désigne � Géocodage � la détermination de la latitude et de la longitude d'un point défini par une adresse postale (rue et/ou adresse et/ou code postal). [0023] On désigne � re-géocodage � l'opération consistant à géocoder à nouveau des points préalablement géocodés lors d'opérations antérieures. [0024] Le terme � POI � est tiré de la terminologie courante en langue anglaise � Point Of Interest � (point d'intérêt), d'où � POI �, qui est utilisé dans ce document. [0025] On désigne � noeud � un point d'intersection entre un premier élément de réseau cartographique ou routier (ou autre réseau) et un second élément d'un tel réseau, notamment l'intersection entre une pluralité de voies routières. Un noeud désigne également un point de changement physique ou qualitatif d'un tronçon, comme par exemple un passage de deux à trois voies, un changement de la limitation de vitesse, une zone (même temporaire) faisant l'objet de travaux, un point de rupture tel une frontière, etc. [0026] On désigne � tronçon � une portion de voie entre deux noeuds. [0027] On désigne � carrefour � une intersection de plusieurs routes au même niveau. [0028] On désigne un � itinéraire � un sous-ensemble de points issus des éléments 30 de modélisation d'un réseau routier, créant un lien entre des données de façon à leur P10-2081 6 permettre de modéliser ou représenter un trajet ou parcours sur ledit réseau routier permettant de relier un point de départ et un point d'arrivée. Ce sous-ensemble est constitué par les données relatives aux tronçons permettant de relier le départ et l'arrivée. Par données relatives aux tronçons, on entend les identifications, les s longueurs des tronçons et les coordonnées spatiales. [0029] Ce sous-ensemble peut servir à représenter ledit itinéraire sous différentes formes, par exemple au moyen d'une représentation graphique, de préférence sous la forme d'une carte comprenant le point de départ, le point d'arrivée, et les tronçons 10 formant ledit itinéraire, ou sous la forme d'une � feuille de route � ou liste d'instructions, comportant une énumération ou suite d'instructions écrites ou représentées par des pictogrammes, expliquant à un éventuel conducteur d'un véhicule, les différentes étapes à suivre pour effectuer ledit itinéraire. 15 [0030] On désigne � système de navigation � ou � système de guidage � un dispositif comportant un seul ou plusieurs éléments matériels tels qu'un processeur, des accès à des moyens mémoire ou une base de données et permettant de fournir à un utilisateur les indications de guidage ou de conduite nécessaires permettant à ce dernier de circuler avec son véhicule et d'accomplir un itinéraire souhaité en suivant 20 les instructions de guidage fournies par ledit système. Un système de navigation est en général doté des moyens processeurs lui permettant de déterminer un itinéraire entre un point de départ D et un point d'arrivée A. Un � PND � pour � Portable Navigation Device �, en français � Assistant de Navigation Personnel � est un bon exemple de dispositif de navigation. 25 [0031] On désigne � système ou dispositif de géolocalisation ou de positionnement � un dispositif permettant de recevoir une ou plusieurs informations qui permettent directement ou par calcul de déterminer avec précision la position du dispositif selon des coordonnées de latitude/longitude ou cartésiennes. Le plus connu de ces 30 systèmes est le système � GPS �, de l'anglais � Global Positioning System � ou système de positionnement mondial. Ce système fonctionne avec un ensemble de P10-2081 7 satellites fournissant aux récepteurs des informations permettant le calcul (par trilatération) de leurs propres coordonnées. Le GPS est classiquement utilisé pour localiser des véhicules roulants, des avions, des navires, etc. [0032] Les figures 1 à 5 présentent les différentes étapes relatives à la partition d'une zone. Par exemple, si on partitionne l'espace illustré à la figure 1 en deux sous-zones de telle sorte qu'il y ait au plus 3 POI par sous-zone, le cheminement devient récursif, chacune des étapes intermédiaires étant illustrées aux figures 2 à 5. [0033]Ainsi, à la figure 1, on retrouve la configuration originale, avec les nouveaux points à géocoder. A la figure 2, la première subdivision est effectuée. On a identifié une zone (à droite) qui comporte le nombre requis de POI. Cette zone sert à délimiter la division. Dans la portion restante, on observe que le critère d'arrêt n'est pas encore atteint, on peut donc procéder à une seconde division, telle qu'illustré à la figure 3. [0034]A cette étape, puisque le nombre de POI est suffisamment élevé dans toute la surface de la zone de gauche, la subdivision est effectuée centralement, avec des POI restants en haut et en bas de la subdivision. [0035] La figure 4 montre la division de la portion de gauche en deux nouvelles sous-zones en séparant verticalement les deux sous-zones créées à la figure 3. On observe alors que deux sous-zones ont atteint le seuil d'arrêt, fixé dans cet exemple à trois POI. Ces sous-zones ne seront plus subdivisées. [0036] La figure 5 montre la subdivision des deux autres sous-zones pour lesquelles le seuil n'est pas atteint. [0037] Le re-géocodage se fait zone par zone. Il est donc possible de charger en mémoire cache les données cartographiques de cette zone, ce qui accélère grandement le processus de géocodage. P10-2081 8 [0038] Pour chaque POI, on recherche les coordonnées de latitude et longitude correspondant à son adresse. On procède de préférence par recherche concentrique à partir de la dernière position géographique connue du POI. Ainsi, plus la correction à apporter sera petite et plus elle sera rapide. A l'extrême, les POI correctement géocodés, qui sont largement majoritaires, seront traités en très peu de temps. [0039] Selon une variante de réalisation avantageuse, on procède à une optimisation par échantillonnage. Ainsi, plutôt que de re-géocoder systématiquement tous les POI, on peut traiter un échantillon aléatoire au sein d'une zone. Si le résultat du regéocodage de ces POI est différent du géocodage précédent, on en déduit que la cartographie a été améliorée dans cette zone et on re-géocode donc tous les POI qui lui sont rattachés. Au contraire, si le re-géocodage ne modifie pas les coordonnées de l'échantillon de POI, les données cartographiques sont globalement inchangées et on peut donc raisonnablement passer à la zone suivante sans traiter l'ensemble des POI de la zone courante. [0040] Les figures 6 et 7 présentent le cas de la recherche prédictive de la nouvelle position. Ce cas correspond à une erreur courante des données cartographique et se caractérise par un décalage des POI de quelques mètres des voies. Elle peut par exemple être due à une erreur de mesure GPS. [0041] De manière avantageuse, lors de la correction d'une telle erreur, on procède au re-géocodage de tous les POI de la zone avec une même translation identique. Pour trouver les nouvelles coordonnées d'un POI, il est donc plus efficace de procéder par recherche concentrique à partir de sa position actuelle translatée selon le vecteur moyen des autres POI de la zone. [0042] Les figures 8 et 9 représentent des organigrammes fonctionnels présentant les différentes étapes susceptibles de se succéder lors du déroulement du procédé selon l'invention. La figure 8 présente le cas général ou tous les POI des zones sont re- P10-2081 9 géocodés, zone par zone. Une première zone à traiter est sélectionnée. Le nombre de POI de la zone est décompté afin de vérifier si ce nombre est supérieur au seuil établi. Le seuil correspond à une valeur MINIPOI, le nombre minimal (préétabli) de POI à conserver dans une zone ou sous-zone. Si le nombre de POI est supérieur au seuil, la zone est subdivisée à l'aide d'un critère de réduction CR, consistant à subdiviser la zone initiale par N, N étant compris entre 2 et NBPOI, et les zones nouvellement créées sont mémorisées dans les zones à traiter. [0043] Pour une zone donnée satisfaisant le critère du nombre de POI minimum, de manière avantageuse, on procède à une boucle itérative pour vérifier le volume de données correspondant à la zone considérée. Ainsi, on dénombre les données cartographiques de la zone en question. Comme préalablement, si le volume de données est supérieur à un seuil prédéfini NBDC (nombre de données cartographiques), la zone considérée est subdivisée, et les zones nouvellement créées sont mémorisées pour traitement ultérieur. Après autant d'itérations que nécessaire, lorsque le volume de données correspond aux différents seuils préétablis, les données géographiques de la zone sont � chargées �, ou mises en mémoire vive. Cette zone est alors prête pour procéder au re-géocodage des POI qui s'y trouvent. Les seuils sont déterminés de façon à optimiser l'utilisation de l'espace mémoire disponible dans les moyens de calculs. On évite ainsi de devoir utiliser inutilement des moyens mémoires non instantanés, tels qu'un disque dur, ce qui ralentirait considérablement la vitesse de traitement du système. Compte tenu du volume extrêmement important de données à traiter lorsqu'un utilisateur gère la cartographie de plusieurs pays, ces opérations d'optimisation sont très utiles et très rentables. Pour faciliter l'optimisation de la gestion des mémoires, il est possible de procéder à des étapes préalables de vérification des tailles mémoires disponibles pour les opérations de mémorisation des données. [0044] La figure 9 présente une variante du schéma de la figure 8, dans laquelle l'étape de re-géocodage est effectuée par échantillonnage. Si au moins un des POI P10-2081 10 de l'échantillon change de position lors du re-géocodage, alors on procède de préférence au re-géocodage des tous les POI de cette zone. Dans le cas contraire, les autres points ne sont pas re-géocodés. Cette variante permet d'économiser les ressources de calcul qui sont très fortement sollicitées pour ce type d'opération.5 REVENDICATIONS 1. Procédé de géocodage pour système de réseau routier numérique stocké sur un support mémoire et comportant une pluralité d'éléments de réseau tels que des s noeuds et/ou de tronçons et d'indications de positionnement de ces noeuds et/ou tronçons, lesdits éléments étant susceptibles d'une part d'être agencés dans une reconstitution d'un réseau routier de façon à former des portions de routes et des carrefours, et d'autre part de permettre de déterminer, à l'aide d'au moins un processeur, au moins un itinéraire potentiel, susceptible de relier un point de départ 10 D, et un point d'arrivée A, lesdits éléments de réseau comportant par ailleurs des points d'intérêt (POI), au moins une portion desdits éléments de réseau étant susceptibles d'être traités numériquement à l'aide de moyens de traitement de données, ledit procédé consistant, pour une zone donnée contenant les POI à regéocoder, à : 15 -découper la zone initiale de façon à obtenir N sous-zones dont la taille est optimisée ; -indexer spatialement les POI de chacune des sous- zones ; ladite phase de découpage étant effectuée de façon récursive, en générant à chaque étape des sous-zones géographiques plus petites selon un critère de réduction CR 20 jusqu'à atteinte d'un seuil d'arrêt SA. 2. Procédé de géocodage selon la revendication 1, dans lequel ledit critère de réduction CR consiste à diviser la zone initiale par N, N étant compris entre 2 et NBPOI, NBPOI correspondant au nombre de points d'intérêt, et préférablement 25 égal ou inférieur à 4, ladite division étant effectuée de sorte qu'au moins une des sous-zones obtenues par la division comporte un nombre de POI égal ou inférieur à MINIPOI, MINIPOI correspondant au nombre minimal de POI à conserver dans une zone ou sous-zone.P10-2081 12 3. Procédé de géocodage selon l'une des revendications précédentes, dans lequel ledit seuil d'arrêt SA consiste en ce que chacune des sous-zones obtenues lors des étapes successives de découpage comporte un nombre de POI inférieur ou égal à MINIPOI. 4. Procédé de géocodage selon l'une des revendications précédentes, dans lequel le re-géocodage de chacune des sous-zones est effectué de façon successive, en chargeant tour à tour en mémoire cachée les données cartographique de chacune des zones. 10 5. Procédé de géocodage selon l'une des revendications précédentes, dans lequel, pour effectuer le géocodage de chacun des POI, on effectue une recherche concentrique à partir de la dernière position géographique connue du POI jusqu'à ce que les nouvelles données de latitude et de longitude et l'adresse donnée du POI 15 soient en correspondance. 6. Procédé de géocodage selon l'une des revendications précédentes, dans lequel ladite zone initiale est sélectionnée parmi l'une des zones suivantes : • le monde entier ; 20 ^ une zone où au moins une portion des données a été remplacée (par exemple un pays) ; • une zone englobant tous les POI susceptibles d'être re-géocodés. 7. Procédé de géocodage selon l'une des revendications précédentes, dans lequel, pour au moins une zone donnée, on procède au re-géocodage par 25 échantillonnage de POI, et si un ou plusieurs POI de l'échantillon re-géocodé changent de position, on procède alors au re-géocodage de l'ensemble des POI de cette zone.5P10-2081 13 8. Logiciel comprenant des éléments de code programmés pour la mise en oeuvre du procédé selon l'une des revendications 1 à 7, lorsque ledit logiciel est chargé dans un système informatique et exécuté par ledit système informatique. 9. Logiciel selon la revendication 8, sous forme de produit enregistré sur un support lisible par un système informatique, comprenant des éléments de code programmés.