FR 2882451 A1 20060825 FR 0501715 A 20050218 SYSTÈME D'AFFICHAGE DE DONNÉES CARTOGRAPHIQUES ET PROGRAMME POUR SA MISE EN OEUVRE La présente invention concerne les systèmes d'informations géographiques. La géographie numérique a pour vocation de permettre la localisation d'objets sur le globe terrestre et de créer une cartographie du monde ou d'une partie du monde pour mettre en scène ces objets. Certaines applications informatiques qui utilisent les cartes numériques proposent des fonctions de navigation par rapport à la zone affichée, c'est-à-dire des fonctions de zoom, de dézoom, de glissement de la carte visualisée à l'écran, de rotation de la carte dans le sens de la route suivie, etc. En général, il appartient à l'utilisateur de sélectionner d'abord la carte à afficher puis de naviguer dans cette carte pour afficher la zone souhaitée. Par exemple, dans une application de recherche d'itinéraires fondée sur une base de cartes à différentes échelles, il faut choisir la carte la plus pertinente en fonction de la position sur la planisphère, de l'échelle des cartes disponibles en ce point et du niveau de zoom souhaité, lequel niveau est lié à la taille de la zone réelle sur le terrain que l'utilisateur souhaite afficher. Si on dispose d'une carte routière à l'échelle 1/200000 (1 cm sur la carte représente 2 km sur le terrain) et d'une carte au 1/50000 et qu'on souhaite afficher un itinéraire de 30 km sur un écran de 15 pouces de diagonale, l'échelle équivalente pertinente est de l'ordre de 1/100000. Pour afficher l'itinéraire en plein écran, l'utilisateur a le choix entre zoomer la carte au 1/200000 d'un facteur 2 et dézoomer la carte au 1/50000 d'un facteur 2. Afin d'épargner à l'utilisateur ces considérations, il y a un intérêt à automatiser le choix de la meilleure carte en fonction du contexte. Or la manière la plus efficace et ergonomique de procéder à ce genre d'automatisation dépend beaucoup du type de mission confiée à l'utilisateur. L'ergonomie est particulièrement importante pour le cas où le système 2882451 -2- d'information géographique est utilisé dans l'urgence par des personnes dont l'attention est dirigée ailleurs, notamment pour les interventions de forces armées, de sécurité ou d'équipes de secours. Le choix peut devenir assez complexe si les types de cartes disponibles varient non seulement par l'échelle mais aussi par le mode de représentation: - cartes "raster" (simples matrices de pixels géoréférencés); - photographies aériennes ou par satellite géoréférencées; - cartes vecteurs (porteuses de paramètres ou plus généralement de sémantique quant aux objets représentés); - modèles numériques de terrain, ... Dans les systèmes actuels, la stratégie d'affichage des cartes est rudimentaire ou inexistante. L'utilisateur sélectionne lui-même la carte parmi une bibliothèque chargée. Il a parfois une indication sur les cartes disponibles à une position donnée ou suivant une emprise donnée, ce qui simplifie le choix. Les commandes de zoom n'affectent généralement pas la sélection d'une carte, ce qui donne lieu à une pixellisation parfois très gênante pour la lecture. Lorsque le système choisit lui-même une carte, ce choix est lié à une base de données précise et n'est pas paramétrable. Un but de la présente invention est de répondre de façon souple au besoin d'automatisation de l'affichage de données cartographiques. L'invention propose ainsi un système d'affichage de données cartographiques, comprenant: - un écran d'affichage d'une zone cartographique; un moteur d'affichage pour former ladite zone cartographique à partir d'au moins une carte issue d'une source de données cartographiques; une interface homme-machine pour la saisie par un utilisateur de commandes de navigation par rapport à la zone cartographique affichée à l'écran; 2882451 -3- un fichier de couverture cartographique fournissant une description structurée de règles de sélection de cartes indépendantes de la localisation de la zone cartographique affichée à l'écran; et - un module d'analyse des commandes de navigation en relation avec le fichier de couverture pour sélectionner au moins une carte sélectionnée dans la source de données cartographiques conformément aux règles décrites dans le fichier de couverture, la carte sélectionnée étant fournie au moteur d'affichage. La notion de couverture cartographique permet de programmer des règles d'interrogation de base(s) de données de cartes afin que l'utilisateur n'ait pas à réfléchir au mode d'interrogation adapté à chaque requête. Il peut ainsi naviguer de façon plus rapide et intuitive. Les requêtes portent sur toutes les cartes disponibles sur les différentes bases exploitées. Le résultat de l'interrogation peut être affiché et utilisé pour tout autre traitement. Les couvertures cartographiques ne se limitent pas à un type de carte. Elles sont utilisables dans tout système intégrant des cartes numériques géoréférencées, qu'elles soient de type images satellite, images aériennes, cartes raster, modèles numériques de terrain, modèles numériques d'élévation, cartes vecteurs ou tout autre produit numérique géoréférençable. Dans une utilisation typique du système, l'utilisateur part en mission avec un terminal comprenant l'écran, l'interface homme-machine, le moteur d'affichage et l'analyseur de règles. Le fichier de couverture cartographique est installé dans ce terminal de façon à correspondre au type de mission dont il s'agit. En même temps que ce fichier de couverture, l'administrateur du système peut charger dans le terminal une partie de sa base de données cartographiques, laquelle partie constituera la source de données cartographiques du terminal. Une autre possibilité est d'enregistrer dans le terminal une ou plusieurs adresses réseau de sources depuis lesquelles les cartes pourront être téléchargées. On peut également prévoir plusieurs fichiers de couverture sélectionnables par l'utilisateur en fonction de la mission ou du contexte. 2882451 -4- Un autre aspect de l'invention se rapporte à un programme informatique écrit pour constituer un module d'analyse de règles dans un système tel que défini ci-dessus. Ce programme est à installer dans un dispositif de contrôle d'affichage de données cartographiques pour commander l'affichage d'une zone cartographique sur un écran lors de son exécution par une unité de traitement du dispositif. Il comprend: des instructions pour recevoir d'une interface homme-machine des commandes de navigation par rapport à la zone cartographique affichée; - des instructions pour analyser les commandes de navigation en relation avec un fichier de couverture fournissant une description structurée de règles de sélection de cartes indépendantes de la localisation de la zone cartographique affichée à l'écran; et - des instructions pour former la zone cartographique à afficher à partir d'au moins une carte sélectionnée dans une source de données cartographiques conformément aux règles décrites dans le fichier de couverture. Le dispositif de contrôle d'affichage de données cartographiques peut être confondu avec le terminal où seront affichées les données. Il peut aussi être partagé entre ce terminal et un dispositif distant, par exemple situé au niveau d'un serveur accessible par un réseau. D'autres particularités et avantages de la présente invention apparaîtront dans la description ci-après d'exemples de réalisation non limitatifs, en référence aux dessins annexés, dans lesquels: - la figure 1 est un schéma synoptique d'un système d'affichage de données cartographiques selon l'invention; et - les figures 2 et 3 sont des schémas illustrant des architectures possibles d'un système selon l'invention. La figure 1 montre schématiquement un système selon l'invention qui, dans cet exemple, est incorporé à un terminal 1 destiné à être emporté sur le terrain par un utilisateur. 2882451 -5- Le terminal a un écran 2 où peut s'afficher une zone cartographique. Cet écran coopère avec une couche logicielle d'interface homme-machine (IHM) 3. L'IHM 3 reçoit des stimuli de dispositifs d'entrée tels qu'un clavier 4a, une souris 4b, etc. Naturellement, d'autres types de dispositifs d'entrée (plot tactile, boule de poursuite, joystick, cybergiove, etc.) sont utilisables. L'écran 2 lui-même peut être tactile pour adresser des stimuli à l'IHM 3 en fonction d'une position pointée par l'utilisateur. De façon connue, l'IHM 3 permet à l'utilisateur de fournir des commandes de navigation par rapport à la zone cartographique affichée: déplacement ("scrolling") dans n'importe quelle direction du plan, par exemple en glissant la souris avec son bouton gauche enfoncé sur un point de la zone affichée; agrandissement (zoom) ou réduction (dézoom), par exemple en actionnant la roulette de la souris dans un sens ou dans l'autre; éventuellement rotation, par exemple en cliquant sur des boutons virtuels affichés à côté de la zone cartographique ou en activant un outil dédié et en déplacement la souris par rapport à un centre de référence. Ces commandes de navigation reviennent à faire déplacer le point d'observation de la scène que constituent les données cartographiées. Un déplacement en translation ou en rotation dans le plan de la carte correspond aux commandes de scrolling ou de rotation, tandis qu'un déplacement par éloignement ou rapprochement correspond aux commandes de zoom ou dézoom. Ces commandes de navigation sont relativement intuitives pour l'utilisateur par analogie à des commandes mécaniques. L'IHM 3 peut aussi fournir des commandes de sélection de cartes ou de changement d'échelle, qui déclenchent directement des sélections de fichiers source plutôt que de la navigation spatiale par rapport à la zone affichée. Les données cartographiques affichées proviennent d'une base de cartes numériques 5 qui, dans l'exemple de la figure 1, est stockée dans une mémoire du terminal 1. Elles sont mises en forme par un moteur d'affichage 6 en relation avec l'IHM 3 afin de produire la zone affichée à l'écran 2. 2882451 -6- La carte soumise au moteur 6 pour qu'il ajuste la zone affichée à l'écran en fonction des commandes de navigation reçues de l'IHM 3 est sélectionnée dans la base 5 par un module d'analyse de règles 7. Celui-ci fonctionne en appliquant des règles de sélection qui lui sont fournies par un fichier de couverture cartographique 8 enregistré dans le terminal. Dans une réalisation avantageuse, le fichier de couverture cartographique 8 est écrit dans le langage XML ("eXtended Markup Language", langage de balisage étendu). Ce standard est bien adapté à des descriptions sémantiques de règles telles que celles que pourra appliquer l'analyseur 7. Le programme comporte alors un analyseur ("parser") de pages XML pour récupérer les règles qui indiqueront la manière d'interroger la base 5 pour obtenir les cartes à afficher. Ces règles comportent typiquement des priorités entre les types de carte affichables. En fonction des données disponibles dans la base 5, la carte de priorité la plus élevée sera affichée à l'échelle adaptée. La base 5 peut comporter aussi des modèles de grille dont le fichier de couverture 8 définit les règles d'affichage à l'écran 2, soit en superposition de la zone cartographique obtenue à partir d'une carte, soit à la place de cette zone si la base de données 5 ne contient pas de carte affichable en application des règles du fichier de couverture. La présentation de la grille permet à l'utilisateur de se repérer dans la zone cartographique affichée, et lui permet aussi de naviguer dans des régions non couvertes par la base 5. Un exemple de fichier XML utilisable en tant que fichier de couverture est présenté ci-dessous, dans un cas particulier adapté à un système de suivi de véhicules, avec des cartes dont le type ne diffère que par l'échelle. Dans cet exemple simple, la couverture s'applique aux cartes utilisant le système de projection DIGEST USRP. Le nom de cette couverture est "suivi_véhicules". Il est indiqué ensuite que les cartes d'échelle 1/1000000 sont affichées lorsque l'échelle équivalente sur l'écran utilisateur est comprise entre 1/265000 et 1/1330000. On constate que l'espace des échelles possibles est compartimenté en partant de l'échelle 1/3000 adaptée aux plans d'implantation de quartiers jusqu'au 1/1330000 adaptée à la visualisation d'une région. L'utilisation des fichiers de couverture cartographique 8 permet de ne pas solliciter l'utilisateur d'une application dans le choix de la meilleure carte adaptée à son besoin. Un administrateur cartographique définit des profils d'utilisation de la base de données 5 en fonction des différents métiers, types de mission ou profils d'utilisateur de l'application. Une fois le système ainsi paramétré, l'utilisateur peut naviguer à la surface du globe sans se soucier du choix des cartes. Le système choisit la meilleure carte au sens indiqué dans la couverture cartographique sélectionnée par le profil utilisateur, en fonction des cartes disponibles dans la base 5. Indépendamment de la quantité de cartes disponibles et de la localisation particulière de la zone affichée par l'utilisateur, 10 2882451 -8- l'analyseur 7 appliquera les mêmes règles, définies par le fichier de couverture 8 pour rechercher dans la base 5 la meilleure carte utilisable. Les couvertures cartographiques rendent transparente à l'utilisateur final la notion de carte en tant que produit ou fichier. L'ajout d'une carte dans les bases de données cartographiques auxquelles l'application est abonnée est immédiatement prise en compte par l'analyseur de règles 7. Le terminal 1 peut contenir plusieurs fichiers de couverture cartographique 8, comme illustré par la figure 1. Une IHM de gestion des couvertures 9 permet à l'utilisateur de sélectionner la couverture à appliquer en fonction de sa mission ou de la phase de la mission dans laquelle il se trouve. Un utilisateur averti peut éventuellement écrire lui-même un fichier XML de couverture via l'IHM 9, qui doit alors disposer d'un éditeur XML. Mais en général, ce rôle sera réservé à l'administrateur du système. L'IHM de gestion des couvertures 9 dont dispose le poste de l'administrateur cartographique présente de préférence une interface qui lui permet de composer les fichiers de couverture dans un langage formel sans avoir à écrire chaque caractère du fichier XML. Chaque fichier de couverture ainsi composé peut ensuite être chargé dans des terminaux d'utilisateur afin d'être utilisé sur le terrain. Dans la réalisation illustrée par la figure 1, le terminal accède en local aux ressources du système, qui lui ont été fournies par l'administrateur cartographique. Diverses autres architectures et configurations du système selon l'invention sont envisageables. Dans le cas de la figure 2, le terminal 1A comporte l'écran 2, l'IHM de navigation 3, le moteur d'affichage 6 et l'analyseur de règles 7. Le ou les fichiers de couverture 8 y sont enregistrés pour être directement accessibles de l'analyseur 7. Mais la source de données cartographiques 5 est accessible à l'analyseur de règles 7 du terminal 1A via un interface réseau 10 et un réseau de télécommunications 11, comme par exemple l'Internet ou un réseau propriétaire de l'administrateur du système. Cette source 5 peut d'ailleurs consister en une base de cartes décentralisée dans plusieurs serveurs comme 2882451 -9- représenté. Il suffit de fournir à l'analyseur de règles 7, via le fichier de couverture 8 les adresses (URL) des cartes accessibles à distance. Les fichiers de couverture 8 peuvent aussi être téléchargés par l'intermédiaire du réseau 11. La variante illustrée par la figure 3 correspond au cas d'un service applicatif rendu par un serveur 1C accessible par le réseau 11. Le terminal 1B peut alors se limiter à l'écran 2, à l'IHM 3, au moteur d'affichage 6 et à une interface réseau 12. Ces éléments peuvent correspondre à ceux utilisés par un client web. Le serveur 1C héberge une application formant l'analyseur de o règles 7, communiquant avec le terminal 1B via une interface réseau 13, ainsi que la base de données cartographiques 5 (qui pourrait aussi être externe) et des fichiers de couverture prédéfinis 8, sélectionnables par l'utilisateur. 2882451 -10- REVENDICATIONS 1 Système d'affichage de données cartographiques, comprenant: un écran (2) d'affichage d'une zone cartographique; un moteur d'affichage (6) pour former ladite zone cartographique à partir d'au moins une carte issue d'une source de données cartographiques (5); une interface homme-machine (3) pour la saisie par un utilisateur de commandes de navigation par rapport à la zone cartographique affichée à l'écran; - un fichier de couverture cartographique (8) fournissant une description structurée de règles de sélection de cartes indépendantes de la localisation de la zone cartographique affichée à l'écran; et un module (7) d'analyse des commandes de navigation en relation avec le fichier de couverture pour sélectionner au moins une carte dans la source de données cartographiques conformément aux règles décrites dans le fichier de couverture, la carte sélectionnée étant fournie au moteur d'affichage. 2. Système selon la revendication 1, dans lequel l'écran (2), l'interface homme-machine (3), le moteur d'affichage (6), le module d'analyse (7) et le fichier de couverture (8) sont installés dans un terminal (1, 1A). 3. Système selon la revendication 2, dans lequel le terminal (1) possède une mémoire où est enregistrée une base de données (5) constituant ladite source de données cartographiques. 4. Système selon la revendication 2, dans lequel la source de données cartographiques (5) est hébergée dans un serveur distant dudit terminal (1A), auquel le module d'analyse (7) accède via un réseau de télécommunication (11). 2882451 -11- 5. Système selon la revendication 1, dans lequel l'écran (2), l'interface homme-machine (3) et le moteur d'affichage (6) font partie d'un terminal (1 B), tandis que le module d'analyse (7) et le fichier de couverture (8) sont installés dans un serveur (1C) auquel ledit terminal accède via un réseau de télécommunication (11). 6. Système selon l'une quelconque des revendications précédentes, dans lequel le fichier de couverture (8) est écrit en langage XML. 7. Système selon l'une quelconque des revendications précédentes, comprenant une autre interface homme-machine (9) pour la construction du 10 fichier de couverture cartographique (8). 8. Système selon l'une quelconque des revendications précédentes, comprenant plusieurs fichiers de couverture cartographique (8) correspondant à différents types de mission et sélectionnables par l'utilisateur. 9. Programme informatique à installer dans un dispositif (1, 1A, 1C) de contrôle d'affichage de données cartographiques pour commander l'affichage d'une zone cartographique sur un écran (2) lors d'une exécution du programme par une unité de traitement du dispositif, le programme comprenant: des instructions pour recevoir d'une interface homme-machine (3) des commandes de navigation par rapport à la zone cartographique affichée; - des instructions pour analyser les commandes de navigation en relation avec un fichier de couverture (8) fournissant une description structurée de règles de sélection de cartes indépendantes de la localisation de la zone cartographique affichée à l'écran; et des instructions pour former la zone cartographique à afficher à partir d'au moins une carte sélectionnée dans une source de données cartographiques (5) conformément aux règles décrites dans le fichier de couverture. 2882451 -12- 10. Programme selon la revendication 9, comprenant en outre des instructions pour présenter une autre interface homme-machine (9) pour la construction du fichier de couverture cartographique (8). 11. Programme selon la revendication 9 ou 10, comprenant en outre des instructions pour sélectionner un fichier de couverture cartographique (8) parmi plusieurs fichiers de couverture enregistrés.