PROCEDE ET SYSTEME D'INFORMATION CARTOGRAPHIQUE CARTOGRAPHIC INFORMATION METHOD AND SYSTEM
La présente invention concerne le domaine des systèmes d'information géographique, et plus particulièrement des systèmes comportant un serveur de données géographiques et des équipements mobiles raccordés par l'intermédiaire d'un réseau, par exemple téléphonique ou Internet.The present invention relates to the field of geographic information systems, and more particularly systems comprising a geographic data server and mobile equipment connected via a network, for example telephone or Internet.
Le principe général de tels systèmes est connu. On connaît également des réalisations particulières, telle celle décrite dans le brevet PCT WO01/28270. Ce brevet décrit un système comprenant des stations mobiles équipées chacune d'un moyen de localisation géographique. Les données graphiques sont fournies par un serveur par l'intermédiaire d'un réseau de communication, en fonction des informations de localisation acquises par l'équipement mobile.The general principle of such systems is known. Particular embodiments are also known, such as that described in PCT patent WO01 / 28270. This patent describes a system comprising mobile stations each equipped with a means of geographic location. The graphic data is supplied by a server via a communication network, according to the location information acquired by the mobile equipment.
Les équipements mobiles comportent par ailleurs des moyens de stockage pour le stockage de données de base liées géographiques et des moyens pour l'affichage de données géographiques tels qu'une carte. Le brevet PCT WO101370 décrit un autre système de communications sans fil permettant de générer des informations cartographiques dans un service cartographique et de les transmettre à un client mobile. La carte est constituée graduellement sur une unité d'affichage en fonction de la position géographique du client et de son déplacement. Après un seul appel au serveur du service, une carte représentant tout un secteur géographique est transmise dans un flux de données sous la forme de petits segments de carte séparés. Le client décondense le flux de données en temps réel, procède à l'extraction des segments de carte et les affiche sur l'unité d'affichage au fur et à mesure qu'il les reçoit. La base de données cartographique trie les segments de carte selon un ordre spécifique basé sur l'ordre selon lequel les segments de carte doivent être affichés sur la fenêtre du client. Le tri repose sur : la position du client, le déplacement du client
(la direction et la vitesse), et le temps (RTT) de transmission d'une carte.The mobile equipment also comprises storage means for storing geographic related basic data and means for displaying geographic data such as a map. PCT patent WO101370 describes another wireless communication system making it possible to generate cartographic information in a cartographic service and to transmit it to a mobile client. The card is gradually built up on a display unit according to the customer's geographic position and his movement. After a single call to the service server, a map representing an entire geographic area is transmitted in a data stream in the form of small separate map segments. The client decondenses the data stream in real time, extracts the map segments and displays them on the display unit as it receives them. The map database sorts the map segments in a specific order based on the order in which the map segments are to be displayed on the client window. Sorting is based on: customer position, customer movement (direction and speed), and the time (RTT) of a card's transmission.
Ces différentes solutions sont figées, dans la mesure où l'équipement mobile est passif au regard des informations cartographiques délivrées par le serveur.These different solutions are fixed, insofar as the mobile equipment is passive with regard to the cartographic information delivered by the server.
Elles ne permettent pas de personnaliser les informations cartographiques visualisées sur l'équipement mobile en fonction d'un utilisateur ou d'une communauté d ' utilisateurs . Tous les utilisateurs des systèmes d'informations de 1 ' art antérieur recevront la même information géographique .They do not make it possible to personalize the cartographic information displayed on the mobile equipment according to a user or a community of users. All users of the prior art information systems will receive the same geographic information.
Le but de la présente invention est de remédier à cet inconvénient en proposant une solution améliorée permettant de personnaliser les informations géographiques, tout en exploitant un serveur cartographique ou géographique unique et commun à tous les utilisateurs.The object of the present invention is to remedy this drawback by proposing an improved solution making it possible to personalize the geographic information, while exploiting a single cartographic or geographic server common to all the users.
A cet effet, l'invention concerne selon son acception la plus générale un système d'information cartographique constitué par au moins un serveur et une pluralité d'équipement de radiocommunication mobile, le serveur comportant une base de donnée cartographique pour l'enregistrement de l'ensemble des dalles vectorielles et une mémoire pour l'enregistrement de données d'information non cartographiques, les terminaux mobiles comportant une mémoire pour l'enregistrement d'un sous-ensemble de dalles vectorielles et des moyens de calcul pour le rendu et la manipulation de cartes géographiques, caractérisé en ce que le serveur comporte en outre des moyens pour recevoir et enregistrer des données d'informations géolocalisées transmises par un équipement de radiocommunication mobile, ledit équipement de radiocommunication mobile enregistrant les données d'informations géolocalisées en local.To this end, the invention relates, in its most general sense, to a cartographic information system consisting of at least one server and a plurality of mobile radio communication equipment, the server comprising a cartographic database for recording the set of vector tiles and a memory for recording non-cartographic information data, mobile terminals comprising a memory for recording a subset of vector tiles and calculation means for rendering and manipulation of geographic maps, characterized in that the server further comprises means for receiving and recording geolocated information data transmitted by a mobile radiocommunication equipment, said mobile radiocommunication equipment recording the geolocated information data locally.
Avantageusement, la mémoire du serveur pour l'enregistrement des données d'information non cartographiques comporte l'identification de la communauté d'appartenance de
l'équipement de radiocommunication ayant transmis la donnée d ' information considérée .Advantageously, the memory of the server for recording the non-cartographic information data includes the identification of the community of belonging of the radiocommunication equipment having transmitted the information item under consideration.
Selon une variante, les équipements de radiocommunication mobile comporte des moyens pour établir une session avec le serveur consistant à identifier l'équipement auprès du serveur, et des moyens pour transmettre au serveur un fichier comportant les données d'information non cartographiques, le serveur comportant des moyens pour intégrer dans la mémoire de données d'information non cartographiques lesdites informations provenant dudit terminal, associées à l'identifiant dudit terminal.According to a variant, the mobile radiocommunication equipment comprises means for establishing a session with the server consisting in identifying the equipment with the server, and means for transmitting to the server a file comprising the non-cartographic information data, the server comprising means for integrating into the memory of non-cartographic information data said information coming from said terminal, associated with the identifier of said terminal.
Avantageusement, le serveur comporte des moyens pour sélectionner les données d'informations non cartographiques en fonction de l'appartenance de l'identifiant du terminal à une communauté de terminaux.Advantageously, the server comprises means for selecting the non-cartographic information data as a function of the membership of the identifier of the terminal in a community of terminals.
L'invention concerne également un procédé de communication d'informations cartographiques et d'informations non cartographiques entre un serveur et des terminaux de radiocommunication caractérisé en ce qu'il comporte la transmission d'informations non cartographiques par un terminal au serveur et d'enregistrement sur le serveur desdites informations.The invention also relates to a method for communicating cartographic information and non-cartographic information between a server and radiocommunication terminals, characterized in that it comprises the transmission of non-cartographic information by a terminal to the server and recording on the server of said information.
Avantageusement, les données transmises par le terminal sont formées par un fichier comprenant un bloc contenant une en-tête déterminant la nature dudit fichier, un bloc d'offset contenant les coordonnées de référence.Advantageously, the data transmitted by the terminal is formed by a file comprising a block containing a header determining the nature of said file, an offset block containing the reference coordinates.
La présente invention sera mieux comprise à la lecture de la description d'un exemple non limitatif de réalisation. Le système selon l'exemple de réalisation décrit dans ce qui suit comporte tout d'abord un serveur géographique, comportant une base cartographique dans laquelle les objets vectoriels ont été divisés en 3 classes : - Surfaces (Polygones) - Linéaires
- PointsThe present invention will be better understood on reading the description of a nonlimiting exemplary embodiment. The system according to the exemplary embodiment described in what follows first comprises a geographic server, comprising a cartographic base in which the vector objects have been divided into 3 classes: - Surfaces (Polygons) - Linear - Points
Les Points, Linéaires et Surfaces sont pré-classés du plus important (vue de loin) au moins important (vue de près). De même pour les catégories d'icônes, la catégorie la plus importante doit apparaître en premier. Cela permet d'afficher en priorité les couches les plus importantes.Points, Linear and Surfaces are pre-classified from the most important (seen from afar) to the least important (seen from near). Similarly for the icon categories, the most important category must appear first. This will display the most important layers first.
De même on suppose que l'affichage des objets linéaires se fera toujours par-dessus tout objet surfacique. Les objets points eux s'afficheront par-dessus les linéaires. Enfin les icônes seront par-dessus tout le reste.Similarly, it is assumed that the display of linear objects will always be done over any surface object. The point objects will be displayed over the lines. Finally the icons will be above all the rest.
Il est important également de pré-classer les objets de type surfaces par type (Mer sous Sol, Sol sous Forêt, Forêt sous Lac, etc.).It is also important to pre-classify surface type objects by type (Sea under Ground, Ground under Forest, Forest under Lake, etc.).
Tout autre mélange d'ordre d'affichage ou cas particulier devra être géré par l'application elle-même.Any other display order mixture or special case must be managed by the application itself.
Les types des différentes classes ne sont pas toujours les mêmes (Par exemple, le type METRO sera utilisé uniquement dans la classe Point — Station — et Linéaire — Lignes. ) . Les coordonnées sont stockées en WGS84 absolu, sous forme d'entiers longs (WGS*10Λ6). D'autres systèmes de coordonnées sont néanmoins possibles.The types of the different classes are not always the same (For example, the METRO type will be used only in the Point - Station - and Linear - Lines class.). The coordinates are stored in absolute WGS84, in the form of long integers (WGS * 10 Λ 6). Other coordinate systems are however possible.
Tous les offsets présents dans le fichier sont relatifs au début du fichier, non compris l'en-tête PDB. Cet en-tête est conservée pour assurer la compatibilité Palm.All the offsets present in the file relate to the beginning of the file, not including the PDB header. This header is kept for Palm compatibility.
Pour cette même raison, les données sont alignées sur des pages de 32Ko (Aucune donnée n'est « à cheval » sur deux pages ) .For this same reason, the data is aligned on 32Kb pages (No data is "straddling" on two pages).
Toute donnée dont la taille est supérieure à 1 octet est stockée au format Motorola (little endian) [nom commercial] pour optimisation sur Palm [nom commercial].Any data larger than 1 byte is stored in Motorola format (little endian) [trade name] for optimization on Palm [trade name].
Format du fichierFile format
Dans ce format de fichier, les blocs descriptifs s'enchaînent dans un ordre précis : 1. En-tête PDB,
2. En-tête IEVF puisIn this file format, the descriptive blocks are linked in a specific order: 1. PDB header, 2. IEVF header then
3. bloc d'Offsets.3. block of Offsets.
Les blocs suivants étant pointés à partir du bloc offset, leur ordre n'a pas d'importance. Il ne faut donc pas supposer un quelconque ordre d'enchaînement.The following blocks being pointed from the offset block, their order does not matter. We must therefore not assume any order of sequence.
L'encapsulation du fichier en PDB est nécessaire pour assurer la compatibilité avec le PALM [nom commercial].The encapsulation of the file in PDB is necessary to ensure compatibility with the PALM [trade name].
Les autres plates-formes peuvent sauter cet en-tête étant donné qu'elle ne contient aucune information pertinente.Other platforms may skip this header as it does not contain any relevant information.
Pour cela, lire l'entier long à l'offset 0x56 du fichier global (format Motorola[nom commercial]). Cette valeur représente l'offset sur le début des données IEVF, par rapport au début du fichier. Par la suite, tous les offsets auront comme base le début des données IEVF.To do this, read the long integer at offset 0x56 of the global file (Motorola format [commercial name]). This value represents the offset at the start of the IEVF data, relative to the start of the file. Thereafter, all offsets will be based on the start of the IEVF data.
L'en-tête IEVF est divisé en 2 parties : Une partie statique où chaque élément aura la même place d'un fichier à un autre, et une partie dynamique où les données dépendent du contenu de la partie statique.The IEVF header is divided into 2 parts: A static part where each element will have the same place from one file to another, and a dynamic part where the data depends on the content of the static part.
Partie dynamique Dynamic part
Chaînes Complètes :Complete chains:
1 byte : Longueur de la chaîne (non compris le zéro terminal)1 byte: Chain length (not including terminal zero)
X byte : CaractèresX byte: Characters
1 byte : 0, zéro terminal1 byte: 0, zero terminal
La partie En-tête se termine ici. Si le prochain octet n'est pas aligné sur 4, l' en-tête sera suivi d'autant d'octets vides que nécessaire pour s'aligner.The header part ends here. If the next byte is not aligned to 4, the header will be followed by as many empty bytes as necessary to align.
La taille de l'en-tête prend en compte ces octets d'alignement, de façon à pouvoir sauter au bloc suivant.The size of the header takes these alignment bytes into account, so that you can jump to the next block.
Bloc Offsets
Le bloc offset permet de pointer n'importe quelle entité dans le fichier de façon directe. Etant lui-même dynamique, les applications devront calculer et conserver des références sur le début des offsets d'une entité particulière.Offsets block The offset block allows you to point any entity in the file directly. Being dynamic itself, applications will have to calculate and keep references to the start of the offsets of a particular entity.
Tous les offsets sont des entiers longs (4 Bytes)All offsets are long integers (4 Bytes)
Tout offset ayant la valeur 0 signifie que l'élément n'est pas disponible dans le fichier. Dictionnaire de mots Le dictionnaire de mot est une suite de mot compressé à l'aide de la méthode Huffman. Bien qu'un encodage Huffman soit une série de bit, chaque mot est aligné sur un octet plein. Le dictionnaire peut se répartir sur plusieurs pages de 32K, mais un mot ne débordera jamais d'une page. Arbre lexicographiqueAny offset with the value 0 means that the element is not available in the file. Word dictionary The word dictionary is a sequence of words compressed using the Huffman method. Although Huffman encoding is a series of bits, each word is aligned to a full byte. The dictionary can be spread over several 32K pages, but a word will never exceed one page. Lexicographic tree
L'arbre lexicographique sert à effectuer des recherches sur les PDAs . Sa structure est relativement complexe, et son utilité reste confinée au PDAs pour l'instant. Sa description détaillée sera donc faite ultérieurement.The lexicographic tree is used to carry out research on PDAs. Its structure is relatively complex, and its usefulness remains confined to PDAs for the moment. Its detailed description will therefore be made later.
Bitmapsbitmaps
Les bitmaps servent à stocker les différents bitmaps de navigation utilisés sur PALM et PocketPC ainsi que les images des catégories d'icônes. Structure :Bitmaps are used to store the different navigation bitmaps used on PALM and PocketPC as well as the images of icon categories. Structure:
Offset Taille Abrégé DonnéeAbbreviated Size Offset Data
0x0000 1 Type Type du bitmap :0x0000 1 Type Type of bitmap:
0 = Pas de type (utilisé pour les icônes)0 = No type (used for icons)
1 = Zoom In1 = Zoom In
' 2 = Zoom Out ' 2 = Zoom Out
3 = Arrow Up
3 = Arrow Up
a. Objets vectorielsat. Vector objects
Les objets vectoriels (et les icônes) ont une sous- structure commune pour gérer les noms dans différentes langues. Cette structure sera référencée sous le nom de « chaîne multi-langue » :Vector objects (and icons) have a common substructure for handling names in different languages. This structure will be referred to as the “multi-language chain”:
Objets PointsPoints Objects
Objets LinéairesLinear objects
Objets Surfaces
Objects Surfaces
b. Arbres Huffmanb. Huffman trees
Les arbres Huffman ne sont pas stockés sous forme d'arbre, mais sous la forme d'une structure qui permet de reconstruire l'arbre véritable.Huffman trees are not stored as a tree, but as a structure that allows the real tree to be reconstructed.
c. Icônesvs. icons
Les Villes/CPs sont encodés avec un Arbre Huffman spécial, unique pour toutes les langues, et placé dans un dictionnaire unique également.Cities / CPs are encoded with a special Huffman Tree, unique for all languages, and placed in a unique dictionary as well.
Les différentes informations des Adresses sont aussi encodees avec un Arbre unique, indépendant de la langue. Structure :
The different information of the Addresses is also encoded with a single Tree, independent of the language. Structure:
d. Nœuds e. Extra infosd. Knots e. Extra info
Les extra infos sont organisée en « chunks » . Chaque « chunk » est marqué d'un type et d'une taille. Ceci permet à l'application de traiter le chunk en cours, ou de l'ignorer et de sauter directement au suivant en ignorant son contenu.Extra info is organized into “chunks”. Each "chunk" is marked with a type and size. This allows the application to process the current chunk, or to ignore it and jump directly to the next one, ignoring its content.
Structure :Structure:
Il n'y a pas de type défini pour l'instant. A voir en fonction des besoins. Chaque valeur de type définie devra le rester à vie, pour éviter toute erreur d'interprétation
entre anciennes et nouvelles versions des cartes ou des applications . Calcul des CRCsThere is no type defined yet. To see as needed. Each type value defined must remain so for life, to avoid any interpretation error between old and new versions of maps or applications. Calculation of CRCs
Les CRCs sont codé chacun sur 2 octets, format Motorola.The CRCs are each coded on 2 bytes, Motorola format.
Le premier Word représente la somme de tous les Words du fichier IEVF (Non comprise l'en-tête PDB). Si la taille du fichier est impaire, le dernier octet n'est pas pris en compte. Le second Word représente le Ou Exclusif de tous les Words du fichiers IEVF, sur lequel est appliqué le premier Word en Ou Exclusif également. Ceci rend les deux calculs indépendants, mais les deux CRCs solidaires. Là encore, si la taille du fichier est impaire, le dernier octet n'est pas pris en compte.The first Word represents the sum of all the Words in the IEVF file (Not including the PDB header). If the file size is odd, the last byte is ignored. The second Word represents the Exclusive Or of all the Words in the IEVF files, to which the first Word in Exclusive Or is also applied. This makes the two calculations independent, but the two CRCs united. Again, if the file size is odd, the last byte is ignored.
Attention : Lors de la vérification des CRCs, les emplacement des CRCs doivent êtres à 0 ! Type de carte et de coordonnéesAttention: When checking the CRCs, the locations of the CRCs must be 0! Type of card and contact details
L'octet « Type » de l'en-tête est composé de la manière suivant :The "Type" byte of the header is composed as follows:
5 bits : Type de carte (Ville, pays, salon, etc. )5 bits: Card type (City, country, lounge, etc.)
3 bits : Type de coordonnée (WGS84, Métrique, etc.) Les valeurs du type de carte sont : 0 : Dalle3 bits: Coordinate type (WGS84, Metric, etc.) The values of the card type are: 0: Slab
1 : Pays1: Country
2 : Région2: Region
3 : Ville3: City
4 : Salon (Intra-bâti ent) II reste 27 valeurs non définies.4: Living room (Intra-built) There remain 27 undefined values.
Les valeurs du type de coordonnée sont : 0 : WGS84 * 10Λ6 Il reste 7 valeurs non définies.
The values of the coordinate type are: 0: WGS84 * 10 Λ 6 There are 7 undefined values remaining.