Brevet FR3141550A1 — publié le 20240503

Procédé de programme automatisé d’analyse et de placement des informations contenues sur une carte géographique, caractérisé en ce que: - Il est doté de tuiles vectorielles (a) qui subdivisent une carte géographique, dans lesquelles sont placées deux types d’informations GPS, = les premières, appelées « layers », étant des informations générales (b) de topologie qui sont gérées par couches selon une classification (c) de nature à identifier pour chacune des couches le degré de priorisation dans l’édition d’affichage, = et un second type des informations, dites points d’information (d), plus temporaires relatives à des informations de type évènementiel, - Autour de la localisation du point GPS des points d’information (d’) à placer, un rayon(e) est constitué avec une distance d’analyse et de placement croissante, au sein du segment constitué par ce rayon croissant (e) un algorithme déplace automatiquement l’affichage du point d’information (d) de façon à rendre présentes toutes ces informations. Figure pour l’abrégé [Fig. 1] Procédé de positionnement de points d’intérêts sur une carte géographique vectorielle Dans un contexte de carte vectorielle, l’invention est relative à un procédé de positionnement automatisé des « POI » (« point of interest » = point d’intérêt), selon un principe d’analyse de couches (appelée dans le jargon professionnel « layer ») d’un segment de carte vectorielle visant à repositionner des POI de façon à maintenir un bon niveau de lisibilité des éléments de ladite carte. Actuellement, pour mettre un POI, il est nécessaire d’avoir une intervention manuelle qui vise à le placer sur la carte virtuelle sans masquer d’information (à défaut, sans masquer d’information jugée importante pour la lecture ou le repérage du lecteur). L’objet de l’invention est d’intégrer dans un programme un procédé qui permette de placer automatiquement le POI sans avoir à subir les désagréments de masquage d’information. Etat des connaissances : Pour réaliser une carte géographique en mode numérique (dite carte numérique), il est nécessaire de s’appuyer sur plusieurs technologies additionnelles. Une carte numérique est composée d’un ensemble de carrés nommés tuiles. Il existe deux technologies de tuiles, les « rasters » et les « vectorielles ». La carte réalisée de l’assemblage des tuiles, devra par la suite recevoir des points d’information (dits « POI »). Nous nous bornerons dans l’état des connaissances à expliquer ces technologies. La technologie des tuiles vectorielles : Citons ci-après les technologies connues à l’objet de créer des cartes vectorielles : « OpenstreetMap »® est une base de données cartographique qui nécessitent d’être converties en données « SQL » pour être intégrée dans une base de données « SQL » (« Structured Query Language », langage de base pour stocker et manipuler des données). Pour réaliser cette première opération de conversion il est nécessaire de faire appel à des programme de conversion (dans la figure, représentés par «imposm»® et «osm2pgsql»®) via d’autres programmes visant à structurer les données dans la base de donnée finale « SQL » . Une fois les données converties en « SQL » , un programme (« tm2source »® ou une configuration « SQL » similaire) va rendre disponible ces données sur des technologies de création de tuiles (programmes : « postile »®, « Open Tile Map »®, « Post serveur »®, « Tilerator »®, « generate vectortiles »®, « tessera »®, « t-rex »®, « martin »® et « tegola »®). Il existe une alternative qui s’émancipe de la conversion « SQL », représentée dans la figure par le programme « tilemaker »® qui est un outil permettant de créer directement des cartes pour le web à partir de données cartographiques, mais qui a un inconvénient majeur de manque de rapidité qui l’empêche d’être utilisé pour une production à la chaine de tuiles vectorielles. Par ailleurs d’autres programmes peuvent être appelés à rendre les technologies de création de tuiles encore plus performantes, citons les technologies de « cache » et de « pré-rendu MVT ». Pour délivrer ces pré-rendus des programmes sont nécessaires tel que: « tile sever GL »®, « Kartotherian »®. Le rendu de ces opérations est la création de tuiles vectorielles en «MVT »® ou « Tile Json » qui seront délivrées via le protocole « http(s) »®. Ces technologies constituent un prérequis technologique sur lequel repose l’invention. La technologie des tuiles dite « Raster » : produit des images fixes s’appuyant sur des matrices de pixel, ce qui indique que lorsque l’on souhaite agrandir l’image, celle-ci perd sa qualité. Les outils employés pour réaliser des tuiles « Raster » sont les outils de conversion « SQL » désignée ci avant pour les tuiles vectorielles, tandis que la phase de production des tuiles sera très différente. Elle utilise des outils tel que « Mapnik »® et « Renderd »® pour créer les tuiles, tandis que « Mod-tile »® et « Apache »® sont des outils qui délivrent les tuiles aux utilisateurs. En comparaison de ces deux technologies : les tuiles « rasters » sont des images de matrice de pixels (elles sont généralement au format « PNG ») ; Tandis que les tuiles vectorielles prennent la forme d’un ensemble de données vectorielles représentant des points, des lignes et des polygones. Les tuiles vectorielles ont l’avantage de pouvoir être représentées dans leurs résolutions et leurs formes originelles sans généralisation (contrairement aux tuiles « raster » qui nécessitent aux images d’être recalculées). Ainsi, la représentation graphique est généralement plus esthétique en vectoriel que pour la technologie Raster. De plus, étant donné que la grande majorité des fichiers numériques destinés à l’impression papier grand format est sous forme vectorielle, aucune conversion n’est requise et la précision géographique des données est maintenue. Le format « vectoriel » permet également de lire et manipuler les données cartographiques beaucoup plus facilement du fait de la dissociation de la donnée en deux composantes, une attributaire (informations associés) et une graphique (sa forme visuelle), en plus d’être plus léger en terme de poids de fichier. Ce qui ouvre davantage de possibilités pour une exploitation Web. La facilité d’utilisation de cette technologie pour une impression papier et ses possibilités d’exploitation Web en ont fait un choix idéal pour notre projet. L’état des connaissances serait incomplet, si nous n’expliquions pas la technologie « Mapbox Vector Tile (MVT) »® qui figure le contexte de la présente étude. « Mapbox Vector Tile (MVT) »® est un format mis en place par l’entreprise américaine « Mapbox »®, spécialisée dans la cartographie en ligne. Il s’accompagne de la spécification du même nom qui définit notamment une manière spécifique de structurer les données vectorielles en couches de données (dans le jargon professionnel dites « Layers »). Ces couches vont permettre d’organiser la donnée afin de pouvoir agir de manière uniforme sur toutes les données d’une même typologie. Ce qui permet par exemple d’agir sur toutes les routes de la carte en une seule fois. La granularité des « Layers » est définie dans un fichier de style au format « Json »®. De plus, afin de pouvoir décortiquer les « layers », des outils dits de librairie javascript , tel que « Mapbox GL JS »® sont utilisés. Ils permettent de charger une carte dans une page Web et de lire les données contenues dans les tuiles « MVT » qui servent à afficher la carte. Avec cette librairie et en ayant connaissance de la structure des couches de données établies, il est possible de connaître les données contenues dans la tuile couche par couche. Le traitement des POI sur les cartes constituées : Avec toutes les technologies de création de tuiles précitées, nous sommes en mesure de générer des cartes vectorielles, constituées de l’assemblage des tuiles, et de lire les données contenues dans ces dernières. Toutefois, avec ces éléments, nous ne pouvons pas savoir si un emplacement précis dans la carte est disponible pour l’affichage d’un « POI », nous ne pouvons simplement que récupérer la donnée du dit emplacement et sa position dans la structure préalablement établie. Cela pose un problème dans le cas de cartes à forte densité d’informations, qui limitent le positionnement des « POI », et où nous ne disposons d’aucun outil d’assistance de façon à maintenir un bon niveau de lisibilité des éléments de ladite carte. Pour tenter de palier à une partie de ce problème, le brevet FR2872620A1 a mis au point un procédé de détection de recouvrements d’objets lors de l’affichage sur un écran d’une carte composée d’un fond de carte sur lequel des objets sont affichés en superposition ». Ce procédé est basé sur un système de « pixels juxtaposés », qui pose une limite dans le choix de la technologie de tuile vectorielle. Effectivement, cette technologie a pour principal avantage « de pouvoir être représentée dans sa résolution et sa forme originelle sans généralisation », or avec une analyse par pixels, le procédé se restreint à une exploitation dans les mêmes dimensions de l’image que celles utilisées lors de l’analyse. Cela pose une problématique, puisque la carte doit pouvoir être exploitée sous toutes les dimensions et homothéties possibles. De plus, une analyse par pixel permet de savoir si un emplacement de la carte est libre ou non ; ce qui implique une non possibilité de déterminer la nature de la donnée (ce qu’elle représente) afin de hiérarchiser celle-ci dans le but de déterminer son degré d’importance pour la lecture de la carte. Il s’avère également que selon les revendications de ce brevet, le positionnement de l’objet est déterminé par « un nombre prédéterminé de tentatives d’insertion… avant d’abandonner l’affichage de l’objet correspondant ». Or, l’abandon ne peut se faire que dans le cas où aucun espace ne permet de satisfaire nos conditions d’affichage. Pour parvenir à l’objectif que nous nous fixons, l’algorithme ne doit donc pas effectuer un nombre de tentatives prédéterminées, mais se doit de trouver une solution qui réponde au mieux aux exigences, si tant est qu’elle existe. Par ailleurs, selon les revendications 1 et 2 du même brevet, si la position de l’objet graphique est occupée, il est possible de « modifier une caractéristique de positionnement et/ou de dimensions de l’objet graphique ». Cette deuxième option est exclue dans notre vœux, car le « POI » ne doit en aucun cas être déformé. L’invention tente de remédier à trois limites technologiques induites par le principe d’analyse de pixels : - Limitation de l’exploitation des résultats de l’analyse à la résolution graphique dans laquelle elle a été effectuée, - Impossibilité d’identifier la nature de la donnée et donc d’implémenter des conditions de repositionnement de l’objet complexe basées sur une hiérarchisation de la dite donnée, - Impossibilité de promettre la détection d’une solution existante du fait du système de nombre prédéterminé de tentative. En conséquence, en l’état des technologies existantes, aucune solution n’était possible pour positionner automatiquement des « POI », selon un principe d’analyse de couches (« layers ») d’un segment de carte vectorielle visant à repositionner des « POI » (point of interest = point d’intérêt) de façon à maintenir un bon niveau de lisibilité des éléments de ladite carte. Dans un contexte où les cartes sont denses et ne possèdent que peu d’espaces vides. Il est donc nécessaire de disposer d’un algorithme plus avancé qui soit en capacité de mesurer la qualité et la quantité des données présentes dans l’espace afin de déterminer, si elles peuvent être masquées ou non, de façon à positionner automatiquement les « POI ». Par ailleurs, nous avons observé qu’aucun dispositif ne permettait d’identifier la densité d’une zone sur une carte. Rappelons l’objectif de notre invention de proposer une automatisation de positionnement des « POI » en gérant le degré de désagrément acceptable (s’il y a lieu) privilégiant la lecture de la carte. Pour parvenir à cet objectif, nous devions lever trois verrous technologiques : - un premier verrou technologique, consistait à analyser les informations contenues dans un ensemble de tuiles vectorielles constituant une zone, pour ensuite et selon le nombre de « POI » à placer dans cette zone, automatiser une analyse de la carte contenue dans la zone géographique, qui permette de prioriser certaines données de la carte virtuelle comme pouvant être masquées, et d’autres non, - un second verrou consistait, dans le cas d’une zone géographique dotée d’informations denses et de nombreux « POI » empêchant le placement d’un nouveau « POI », d’automatiser l’analyse des zones géographiques périphériques pour proposer un placement du « POI » sur une zone étendue sans qu’elle soit trop éloignée de sa position GPS de base, - l’ensemble de ces fonctions étant gérées selon des principes factoriels différents, risquait de constituer des temps de traitement et des encombrements importants, la solution à trouver devait être gérées de telle façon à limiter ces contraintes de capacité des machines (clients) et permettre ainsi un traitement rapide. Présentation de l’invention : l’invention est relative à un programme automatisé d’analyse et de placement des informations contenues sur une carte géographique, caractérisé par un procédé qui : - Est doté de tuiles vectorielles (a) qui subdivisent une carte géographique, dans lesquelles sont placées deux types d’informations GPS, = les premières, appelées « layers », étant des informations générales (b) de topologie (nom de rues, altitude, présence de monuments …) dont l’information reste constante dans le temps et qui sont gérées par couches selon une classification (c) de nature à identifier pour chacune des couches le degré de priorisation dans l’édition d’affichage (exemple : l’altitude ou les petites rues peuvent être considérées comme moins prioritaires, la présence de rue principale restant prioritaire), = et un second type des informations, dites POI (d) (points d’information), plus temporaires relatives à des informations de type évènementiel, - Autour de la localisation du point GPS des POI (d’) à placer, un rayon(e) est constitué avec une distance d’analyse et de placement croissante, toutefois restant limitée dans sa distance (aux fins d’assurer une crédibilité des données affichées). Au sein du segment constitué par ce rayon croissant (e), un algorithme déplace automatiquement l’affichage POI(d), de façon à rendre présentes toutes ces informations, tout en les laissant lisibles, - En cas d’impossibilité à placer le POI, en raison du nombre d’informations contenues dans le rayon maximum autorisé, un algorithme déclasse les informations générales «layers» dans leur niveau de priorisation d’’affichage autorisée, de telle façon à placer les POI sur ces informations générales (b) classées comme secondaires, permettant ainsi le positionnement automatisé des informations générales (b) principales et des POI (d), en défaveur des informations générales secondaires. Figure : : Vue générale de la représentation cartographique Glossaire : a) tuiles vectorielles b) informations générales dites « layers » c) classification par ordre de priorité des informations d) points d’information dits POI d’) points d’informations à placer e) rayon croissant Programme d’ordinateur comprenant des portions/moyens /instructions de code de programme pour l’exécution des étapes d’un procédé d’analyse et de placement automatisé des informations contenues sur une carte géographique lorsque ledit programme est exécuté sur ordinateur, caractérisé en ce que: - Il est doté de tuiles vectorielles (a) qui subdivisent une carte géographique, dans lesquelles sont placées deux types d’informations GPS, = les premières, appelées « layers », étant des informations générales (b) de topologie dont l’information reste constante dans le temps et qui sont gérées par couches selon une classification (c) de nature à identifier pour chacune des couches le degré de priorisation dans l’édition d’affichage, = et un second type des informations, dites points d’information (d), plus temporaires relatives à des informations de type évènementiel, - Autour de la localisation du point GPS des points d’information (d’) à placer, un rayon(e) est constitué avec une distance d’analyse et de placement croissante, toutefois restant limitée dans sa distance ; au sein du segment constitué par ce rayon croissant (e), un algorithme déplace automatiquement l’affichage des points d’information(d), de façon à rendre présentes toutes ces informations, tout en les laissant lisibles, - En cas d’impossibilité à placer le point d’information (d’), en raison du nombre d’informations contenues dans le rayon maximum autorisé, un algorithme déclasse les informations générales (b) dans leur niveau de priorisation d’’affichage autorisée, de telle façon à placer les points d’information (d’) sur ces informations générales (b) classées comme secondaires, permettant ainsi le positionnement automatisé des informations générales (b) principales et des points d’information (d), en défaveur des informations générales secondaires.