EP1784786A2 - Edition de graphiques vectoriels , notamment de cartes geographiques - Google Patents
Edition de graphiques vectoriels , notamment de cartes geographiquesInfo
- Publication number
- EP1784786A2 EP1784786A2 EP05798372A EP05798372A EP1784786A2 EP 1784786 A2 EP1784786 A2 EP 1784786A2 EP 05798372 A EP05798372 A EP 05798372A EP 05798372 A EP05798372 A EP 05798372A EP 1784786 A2 EP1784786 A2 EP 1784786A2
- Authority
- EP
- European Patent Office
- Prior art keywords
- points
- image
- simplification
- coefficient
- terminal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
Definitions
- the present invention relates to a digital image data processing in the form of a vector graphic, in particular by simplification / reconstruction of an image comprising zones delimited by polygonal lines, such as a geographical map.
- simplification / reconstruction processing is used in particular in the application of zooming out / forward, respectively, to an image in the form of a vector graphic.
- a preferred but not limiting application is the downloading of such image data, such as a map, on a terminal, including mobile, from a local or remote server and via a telecommunications network.
- a user of the terminal can, firstly, download the image data on its terminal and, secondly, browse the image, as quickly as possible.
- the term “navigate in the image” typically means zooming in or out on a geographical map, or applying "lateral” movements in the map, known as “drag and drop", that is to say displacements in the plane of the map and constant scale factor.
- drag and drop that is to say displacements in the plane of the map and constant scale factor.
- the terminal edits a first image and the user wishes to edit a second image, for example corresponding to a zoom of the first image
- the terminal reconnects to the server to systematically download all the image data of the second image .
- this measure hits download waiting times and, finally, telecommunication costs.
- the present invention improves the situation.
- a digital image data processing in the form of a vector graphic, in which to process for simplification / reconstruction of an image comprising zones delimited by polygonal lines: a) for all the polygonal lines, one stores in memory the points defining said polygonal lines, b) organizing a database by storing in hierarchical form, as a function of a simplification coefficient identifier, the remaining points of each polygonal line after various simplifications of the initial image with different coefficients of simplification, c) and, for a reconstruction processing, use is made of a chosen simplification coefficient identifier, in order to recover from said database of points allowing reconstruction of the image at said chosen simplification coefficient.
- the image data is downloaded from a server to a terminal, and: the aforementioned database is constituted with the server, - the aforementioned points resulting from a simplification are downloaded from the server according to a request from the terminal comprising a simplification coefficient identifier, and the terminal constructs and edits a simplified image according to the identified simplification coefficient.
- the present invention also aims at the application of the method within the meaning of the invention to the editing of geographical maps in the form of vector graphics.
- the present invention also provides a system for implementing the method, this system comprising a terminal and a server connected by a telecommunications network, for editing vector graphics on the terminal.
- the present invention also aims at a server of such a system, as well as a terminal of such a system.
- the present invention also aims at a computer program product intended to be stored in a memory of a the
- server of such a system comprising instructions for: reading data from points of a vector image, determining common boundaries between zones of said image, in the form of polygonal lines, and initiating all or part of the steps of the method according to invention.
- the present invention also aims at the data structure of the abovementioned database for the implementation of the method according to the invention.
- the present invention also relates to a computer program product intended to be stored in a memory of a terminal of a telecommunications network, and comprising instructions for: reading data having the aforementioned data structure, and editing, from of these data, an image on a display screen that includes the terminal.
- FIGS. 1a and 1b respectively represent a geographical map and a zoomed in on this map
- the figures 2a to 2d schematically represent a polygonal line to be simplified, at different stages of simplification processing according to the algorithm "of
- FIGS. 3a and 3b schematically represent the exchanges between a terminal and a server, respectively according to the prior art and according to the invention
- FIGS. 4a to 4d show schematically a polygonal line * with increasing degrees of simplification
- FIGS. 4e to 4g illustrate the complementary points of the respective successive simplifications
- - FIG. 5 represents a table of the indices of the points retained (first column), excluded (second column), and complementary (third column), after each simplification of FIGS.
- the figures 6a, ⁇ b and ⁇ c represent, respectively, a simplification / reconstruction aberration, a given direction to the polygonal lines according to a preferred embodiment of the invention, and an enlargement of the common border to the objects a and c of the figure ⁇ b, - the figures 7a to 7d, respectively represent an initial image, a zoom in on this initial image , a translation according to a displacement "drag and drop", and a local reconstruction respecting the precision on the required scale.
- the invention applies advantageously to digital mapping, called “geomatic” mapping.
- digital mapping Downstream of the traditional organizations known as “Geographic Information Systems”, existing for many years and equipping the consulting firms, local authorities, water unions, services techniques, or other, many applications for the general public today allow the consultation of cards, including downloading via the Internet.
- These applications are divided into two major families: the so-called “raster” applications, offering “image 11 " or “bitmap” format cards and corresponding to a set of pixels, and the so-called “vector” applications, which deliver cards made up mathematical objects such as straight lines, segments, polygonal lines to represent more or less faithfully the geographical objects.
- Raster applications mainly use wavelet compression, compressed GIF format or JPEG format.
- vector applications on the contrary, there is no compression treatment, in the prior art known to the Applicant.
- Douglas-Peucker belongs to the first family.
- FIGS. 2a to 2d describe this algorithm.
- Douglas-Peucker algorithm terminates itself (by principle of recursion), - produces a plot containing at most n points, and produces a plot containing at least two points, PO and Pn.
- Another characteristic of all the abovementioned reduction algorithms is that the two ends of a reduced path are the two ends of its original path.
- the server SER extract, in step 30, all the data of the initial image, not simplified,
- step 31 calculates, in step 31, for example a simplification of the image because a zoom out would have been required by the user of the terminal TER, and
- the terminal's REQ request like the transmitted IM image data, passes through the telecommunication network RES.
- the method according to the invention differs from this type of prior art, in particular in that the TER terminal has all the information necessary for zooming and moving, as we will see later, and more particularly, is able, from series of points which are function of successive simplification coefficients ordered in the sense of increasing scales (decreasing values of the simplification coefficients), to edit the map on a display screen that it comprises (not shown).
- step 32 For example, if the user has requested zooming in, additional points, allowing editing of the map to a larger scale, are downloaded from the SER server (step 32) as follows:
- the server SER then returns the complementary points allowing the restitution of the relative accuracy to the scale of the map (step 32),
- the terminal TER integrates on the fly these new points into an existing list, relating to the previous plot (not zoomed), and updates this list (step 33).
- the specific call of the terminal to the server is represented by the symbol REQ (C) in FIG. 3b because this request depends in particular on the coefficient of simplification C associated, in the database of the server SER, with the points which are requested by the TER terminal for example to zoom in on an image being edited.
- a user's zoom choice may consist of several successive scale changes, from a first scale to a second scale at which the plot contains all the points of the scale. original image.
- This technique considerably reduces, on the server side, the volume of data to be transmitted, as well as the execution time of the processing.
- these processes are limited to a few simple requests, since a program, on the terminal side, knows how to interpret and process the received data.
- the server SER therefore comprises a database comprising at least: a first set of points associated with a first simplification coefficient, and, associated with a second simplification coefficient of value less than the first coefficient, a second set of complementary points of the points of the first set for the reconstruction of the image according to the second simplification coefficient.
- a plot T contains n + 1 points noted ⁇ PO, P1, ..., Pn ⁇ .
- a coefficient Cl we reduce this plot following a coefficient Cl, to obtain a plot Tl containing i + 1 points noted ⁇ P'0, P '1, ... P'i ⁇ .
- - all points of Tl are also points of T, or, in other words, there is no point of Tl which is also a point of T, - i is less than or equal to n.
- CKC2 ⁇ C3 By applying three reductions , of coefficients CKC2 ⁇ C3, we obtain three plots T1, T2 and T3.
- the index points are retained ⁇ ⁇ 0,2,4,5,6,7,9,10,11,12,13,14 .
- the points ⁇ 0,2,5,6,7,9,10,11,14 ⁇ are retained.
- the third reduction there remain the points ⁇ 0,2,5,11,14 ⁇ .
- a first analysis is launched to identify the geographical objects having a common portion of a path, called "common border 11. Then, if these objects are closed objects, their boundaries are shifted in index to place them at extreme points of the common portions, the geographical objects are then cut into segments, and each path can be reconstituted by successively adding the points of its constituent segments.
- a second object having a segment common with the first object is assigned an information datum of the direction of rotation of the indices in the first object, in the form of a code corresponding to an equality or a reversal of the direction of rotation.
- the method according to the invention provides the following steps:
- the points of each of these lines are stored in the database of the server in correspondence of a serial number in the polygonal line and an identifier of the polygonal line to which it belongs,
- the numbering order of a boundary is preferably chosen to be reversed numbering of the other two borders.
- each geographic object is reconstructed from its segments and the points contained therein according to the initial scale and level of reduction. Then, in case of zoom, once a step is crossed, triggering a call to the database for providing complementary points, a filtering takes place on the terminal side. It is indicated that we are interested here only in the segments that are in the zone display on the display screen of the terminal, to limit the volume of data to receive and thus increase the fluidity of the interactive application.
- a user zooms in the center of a map, and thus crosses six levels on ten levels that can count the application (passage from Figure 7a to Figure 7b). Then he moves the map
- points are selected for editing the image in a window of predetermined dimensions, corresponding, for example, to the dimensions of the display screen of the terminal.
- the terminal when the user of the terminal sends a zoom request to the server: - the terminal initially has points allowing the editing of an image according to an initial simplification coefficient, in a window of dimensions data, the terminal downloads from the server a selection of complementary points allowing the image to be edited according to a coefficient of simplification lower than the initial coefficient and corresponding to the required zoom level, the selection of these complementary points being carried out in order to edit the image thus enlarged in the aforementioned window.
- This selection of the complementary points can, as indicated above, evolve according to a choice, at the initiative of the user, of displacements of the image, in the plane of the image and at constant zoom level.
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
- Image Processing (AREA)
Abstract
Pour traiter par simplification/reconstruction une image comportant des zones délimitées par des lignes polygonales dont les points définissant ces lignes sont initialement stockées en mémoire, - on organise dans une base de données (SER) hiérarchisée des jeux de points restants de chaque ligne polygonale après différentes simplifications de l'image initiale avec différents coefficients de simplification respectifs, en fonction d'un identifiant de coefficient de simplification, et, - pour un traitement de reconstruction (33), on fait appel à un identifiant de coefficient de simplification choisi, pour récupérer de la base de données des points permettant la reconstruction de l'image au coefficient de simplification choisi.
Description
Edition de graphiques vectoriels, notamment de cartes géographiques
La présente invention concerne un traitement de données d'image numérique sous forme de graphique vectoriel, en particulier par simplification/reconstruction d'une image comportant des zones délimitées par des lignes polygonales, telle qu'une carte géographique.
Le traitement de simplification/reconstruction, dont un exemple est décrit en détail plus loin, est utilisé notamment dans l'application d'un zoom arrière/avant, respectivement, à une image sous forme de graphique vectoriel.
Une application préférentielle mais aucunement limitative vise le téléchargement de telles données d'image, telle qu'une carte géographique, sur un terminal, notamment mobile, à partir d'un serveur local ou distant et via un réseau de télécommunication.
Notamment dans ce contexte, il est souhaité qu'un utilisateur du terminal puisse, d'une part, télécharger les données d'image sur son terminal et, d'autre part, naviguer dans l'image, le plus rapidement possible. On entend par "naviguer dans l'image" typiquement le fait d'effectuer des zooms avant ou arrière sur une carte géographique, ou encore appliquer des déplacements "latéraux" dans la carte, dits en vocable anglo-saxon "drag and drop", c'est-à-dire des déplacements dans le plan de la carte et à facteur d'échelle constant.
Toutefois, lorsque le terminal édite une première image et que l'utilisateur souhaite éditer une seconde image, correspondant par exemple à un zoom de la première image, le terminal se reconnecte au serveur pour télécharger systématiquement toutes les données d'image de la seconde image. D'une part, cette mesure grève les temps d'attente de téléchargement et, finalement, les coûts de télécommunication. D'autre part, elle limite considérablement le caractère interactif des échanges avec le serveur.
La présente invention vient améliorer la situation.
Elle propose à cet effet un traitement de données d'image numérique sous forme de graphique vectoriel, dans lequel pour traiter par simplification/reconstruction d'une image comportant des zones délimitées par des lignes polygonales : a) pour toutes les lignes polygonales, on stocke en mémoire les points définissant lesdites lignes polygonales, b) on organise une base de données en mémorisant sous forme hiérarchisée, en fonction d'un identifiant de coefficient de simplification, les points restants de chaque ligne polygonale après différentes simplifications de l'image initiale avec différents coefficients de simplification respectifs, c) et, pour un traitement de reconstruction, on fait appel à un identifiant de coefficient de simplification choisi, pour récupérer de ladite base de données des
points permettant la reconstruction de l'image audit coefficient de simplification choisi.
Ces étapes sont préférentiellement menées auprès d'un serveur apte à coopérer avec un terminal dans un réseau du type précité. Dans ce contexte, on télécharge les données d'image d'un serveur vers un terminal, et : la base de données précitée est constituée auprès du serveur, - les points précités résultant d'une simplification sont téléchargés du serveur selon une requête du terminal comprenant un identifiant de coefficient de simplification, et le terminal construit et édite une image simplifiée selon le coefficient de simplification identifié.
La présente invention vise aussi l'application du procédé au sens de l'invention à l'édition de cartes géographiques sous forme de graphiques vectoriels.
La présente invention vise aussi un système pour la mise en œuvre du procédé, ce système comportant un terminal et un serveur reliés par un réseau de télécommunication, pour l'édition de graphiques vectoriels sur le terminal.
La présente invention vise aussi un serveur d'un tel système, ainsi qu'un terminal d'un tel système.
La présente invention vise encore un produit programme d'ordinateur destiné à être stocké dans une mémoire d'un
l'
serveur d'un tel système, et comportant des instructions pour : lire des données de points d'une image vectorielle, déterminer des frontières communes entre zones de ladite image, sous forme de lignes polygonales, et lancer toutes ou partie des étapes du procédé selon invention.
La présente invention vise aussi la structure de données de la base de données précitée pour la mise en œuvre du procédé selon l'invention.
La présente invention vise aussi un produit programme d'ordinateur destiné à être stocké dans une mémoire d'un terminal d'un réseau de télécommunication, et comportant des instructions pour : lire des données présentant la structure de données précitée, et éditer, à partir de ces données, une image sur un écran d'affichage que comporte le terminal.
D'autres avantages et caractéristiques de l'invention apparaîtront à la lecture de la description détaillée ci- après et des dessins annexés sur lesquels : - les figures la et Ib représentent respectivement une carte géographique et un zoom avant mené sur cette carte, les figures 2a à 2d représentent schématiquement une ligne polygonale à simplifier, à différentes étapes de traitement de simplification selon l'algorithme dit "de
Douglas-Peucker",
l'
les figures 3a et 3b représentent schématiquement les échanges entre un terminal et un serveur, respectivement selon l'art antérieur et selon invention, - les figures 4a à 4d représentent schématiquement une ligne* polygonale à différents degrés de simplification croissants et les figures 4e à 4g illustrent les points complémentaires des simplifications successives respectives, - la figure 5 représente un tableau des indices des points retenus (première colonne) , exclus (seconde colonne) , et complémentaires (troisième colonne) , après chaque simplification des figures 4a à 4d, les figures 6a, βb et βc, représentent respectivement une aberration de simplification/reconstruction, une direction donnée aux lignes polygonales selon une réalisation préférée de l'invention, et un agrandissement de la frontière commune aux objets a et c de la figure βb, - les figures 7a à 7d, représentent respectivement une image initiale, un zoom avant sur cette image initiale, une translation selon un déplacement "drag and drop", et une reconstruction locale respectant la précision à l'échelle requise.
Tout d'abord, on indique que 1 ' invention s'applique avantageusement à la cartographie numérique, dite "géomatique" . En aval des organisations classiques dites "Systèmes d'Informations Géographiques", existant depuis de nombreuses années et équipant les bureaux d'études, collectivités territoriales, syndicats des eaux, services
techniques, ou autres, de nombreuses applications destinées au grand public permettent aujourd'hui la consultation de cartes, notamment par téléchargement via le réseau Internet. Ces applications se répartissent en deux grandes familles : les applications dites "raster", proposant des cartes au format dit "image11 ou "bitmap" et correspondant à un ensemble de pixels, et les applications dites "vecteur", qui délivrent des cartes constituées d'objets mathématiques tels que droites, segments, lignes polygonales permettant de représenter plus ou moins fidèlement les objets géographiques .
Quelle que soit la nature d'un programme géomatique, de type "raster" ou "vecteur", la compression des données est cruciale dès lors qu'elles transitent par un réseau de télécommunication dans le cadre d'une architecture client/serveur.
Les applications "raster" utilisent principalement la compression par ondelettes, le format GIF compressé ou encore le format JPEG. Pour les applications "vecteur", au contraire, il n'existe pas de traitement de compression, dans l'art antérieur connu de la Demanderesse.
On se réfère aux figures la et Ib pour décrire un exemple de traitement de simplification/reconstruction. Le traitement dit de "généralisation", en cartographie, consiste à simplifier un tracé en fonction de l'échelle à laquelle on le représente pour le rendre plus facilement
lisible par l'utilisateur, tout en essayant de conserver au mieux sa géométrie. Ainsi, au l/50000lème, et l/25000lème, une rivière R sera respectivement représentée par une approximation grossière de son lit (figure la), puis par un tracé comportant toutes les courbures qu'emprunte son trajet de la source au fleuve (figure Ib) .
Ce principe de perte de précision en fonction de l'échelle est également appelé réduction polygonale dans des domaines tels que la géométrie numérique ou les images de synthèse. En l'occurrence, il s'agit alors de "soulager" le traitement d'un certain nombre d'informations ponctuelles jugées non pertinentes ou insuffisamment significatives sur la géométrie de l'objet traité.
A cet effet, quelques algorithmes de réduction polygonale ont été mis au point. Parmi ces traitements, on peut citer notamment les algorithmes de Hakimi-Schmeichel, de Imai-Iri, et en particulier de Douglas-Peucker qui sera décrit plus loin.
La plupart de ces algorithmes nécessite une valeur numérique arbitraire en entrée, appelée coefficient de réduction, qui détermine la perte de précision qui sera appliquée au tracé d'origine. Typiquement, plus ce coefficient est grand, plus le tracé obtenu est grossier.
Ces algorithmes peuvent être répartis en deux familles : ceux dont le tracé résultant passe par des points appartenant au tracé originel, et
ceux qui génèrent des points nouveaux par rapport à l'objet initial.
L'algorithme dit "de Douglas-Peucker" appartient à la première famille.
On se réfère maintenant aux figures 2a à 2d pour décrire cet algorithme.
On considère une ligne polygonale L constituée de n+1 points numérotés de 0 à n et notés {PO, Pl,..., Pn} . On commence par tracer la droite Δ(POPn) passant par PO et Pn et l'on calcule la distance à cette droite de tous les points restants, à savoir, Pl jusqu'à Pn-I. Pour ce faire, on calcule les projetés orthogonaux P'i de chacun de ces points sur la droite Δ. On calcule ensuite les distances entre les points Pi et P'i, pour tout i compris entre 1 et n-1. Puis, on compare chacune de ces distances à un coefficient C dit "de réduction" donné comme paramètre de lancement de l'algorithme. Si cette distance entre Pi et P'i est inférieure au coefficient C, le point Pi pourra être éliminé du tracé final (figure 2c) .
Auparavant, on sélectionne le point Pj le plus éloigné de la droite Δ. Il s'agit du point dont la distance Dj est la plus grande (figure 2b) . Ce point Pj sera conservé dans le tracé final (figure 2d) . On met de côté ensuite le sous- tracé PjPn. On trace en revanche la droite Δ' (POPj) (figure 2b), et pour chacun des points {Pi, P2,..., Pj-1} , on
recommence les étapes décrites ci-avant, qui peuvent donc se résumer comme suit : calcul des projetés orthogonaux P'i sur la droite Δ', comparaison des distances Pi à P'i avec le coefficient C,
- détermination du point Pk le plus éloigné de la droite Δ', et
- mise de côté, le cas échéant, d'un sous-tracé PkPj, à traiter ultérieurement, etc.
Typiquement, une fois que le sous-tracé POPj a été analysé et traité, on revient sur le sous-tracé PjPn que l'on analyse et traite, à son tour, suivant les mêmes étapes.
Finalement, à la fin du traitement, on obtient une ligne polygonale simplifiée, notée L' (figure 2d) .
On notera que cet algorithme de Douglas-Peucker : se termine de lui-même (par principe de récursivité) , - produit un tracé contenant au plus n points, et produit un tracé contenant au minimum deux points, PO et Pn.
Par ailleurs, plus le coefficient de simplification C est grand, plus le nombre de points retenus diminue et plus grande est la perte de précision.
L'une des caractéristiques de cet algorithme consiste en ce que si T, T' et T" sont respectivement : - un tracé d'origine,
I O
le tracé d'origine simplifié d'un coefficient Cl, et le tracé d'origine simplifié d'un coefficient . C2 supérieur à Cl, alors tous les points du tracé T" sont aussi des points du tracé de T' qui sont eux-mêmes des points de T.
Une autre caractéristique propre à tous les algorithmes de réduction précités consiste en ce que les deux extrémités d'un tracé réduit sont les deux extrémités de son tracé d'origine.
On décrit maintenant le principe inverse de la restitution de précision.
Cette technique n'a de sens que dans le cadre d'une carte "vecteur" dynamique. Par le terme "dynamique", on entend la possibilité de mener un zoom avant dans la carte, en temps réel. De nombreuses applications connues fonctionnent sur le principe de la requête client/serveur à chaque demande de déplacement ou de zoom de la part du client. Les coordonnées de la carte, ainsi que la nature du mouvement (zoom ou déplacement) , côté utilisateur, sont envoyées au serveur. Dans ce contexte de l'état de l'art, le serveur recalcule la carte mise à jour, puis transmet l'image obtenue au client, comme représenté sur la figure 3a.
En référence à cette figure 3a, relative à l'art antérieur, sur requête REQ du terminal TER, le serveur SER :
- extrait, à l'étape 30, toutes les données de l'image initiale, non simplifiée,
- calcule, à l'étape 31, par exemple une simplification de l'image car un zoom arrière aurait été requis par l'utilisateur du terminal TER, et
- transmet les données IM ainsi traitées via le réseau de télécommunication RES.
Bien entendu, la requête REQ du terminal, comme les données d'image transmises IM, transite par le réseau de télécommunication RES .
En référence à la figure 3b, relative à l'invention, le procédé au sens de l'invention se distingue de ce type d'art antérieur notamment en ce que le terminal TER dispose de toutes les informations nécessaires au zoom et au déplacement, comme on le verra plus loin, et, plus particulièrement, est capable, à partir de séries de points qui sont fonction de coefficients de simplification successifs ordonnés dans le sens des échelles croissantes (valeurs décroissantes des coefficients de simplification), d'éditer la carte sur un écran d'affichage qu'il comporte (non représenté) .
Par exemple, si l'utilisateur a requis un zoom avant, des points supplémentaires, permettant l'édition de la carte à une échelle plus grande, sont téléchargés du serveur SER (étape 32) comme suit :
- le passage de l'un des paliers précités provoque un appel spécifique REQ(C) vers le serveur SER,
- le serveur SER renvoie alors les points complémentaires permettant la restitution de la précision relative à l'échelle de la carte (étape 32),
- sur réception de ces points supplémentaires, le terminal TER intègre à la volée ces nouveaux points dans une liste existante, relative au tracé précédent (non zoomé) , et remet à jour cette liste (étape 33) .
On a représenté l'appel spécifique du terminal vers le serveur par le sigle REQ(C) sur la figure 3b car cette requête dépend notamment du coefficient de simplification C associé, dans la base de données du serveur SER, aux points qui sont demandés par le terminal TER pour mener par exemple un zoom avant d'une image en cours d'édition.
On indique qu'un choix de zoom de l'utilisateur (notamment de zoom avant) peut consister en plusieurs changements d'échelle successifs, d'une première échelle jusqu'à une seconde échelle à laquelle le tracé contient la totalité des points de l'image d'origine. Cette technique réduit considérablement, côté serveur, le volume des données à transmettre, ainsi que la durée d'exécution des traitements. Finalement, ces traitements se limitent à quelques envois de requêtes simples, puisqu'un programme, côté terminal, sait interpréter et traiter les données reçues.
En termes généraux, on comprendra que le serveur SER comprend donc une base de données comportant au moins : - un premier jeu de points associés à un premier coefficient de simplification,
- et, associé à un second coefficient de simplification de valeur inférieure au premier coefficient, un second jeu de points complémentaires des points du premier jeu pour la reconstruction de l'image suivant le second coefficient de simplification.
On détaille ci-après le principe du procédé objet de l'invention, en référence aux figures 4a à 4g.
Sur la figure 4a, un tracé T contient n+1 points notés {PO, Pl, ..., Pn} . On réduit ce tracé suivant un coefficient Cl, pour obtenir un tracé Tl contenant i+1 points notés {P'0, P' 1, ... P'i} .
Ainsi :
- PO = P'O et P'i ≈ Pn
- tous les points de Tl sont aussi des points de T, ou, en d'autres termes, il n'existe pas de point de Tl qui ne soit également un point de T, - i est inférieur ou égal à n.
Pour tout point P'j du tracé Tl, il existe k entre 0 et n tel que P'j = Pk. On déduit de cette propriété un tableau d'indices de points du tracé Tl, noté II. L'ensemble des points identifiés par ce tableau d'indices est strictement inclus dans l'ensemble des points définissant le tracé initial T, noté I. Il existe donc un tableau ICI complémentaire de II par rapport à I tel que IC1+I1 = I.
On peut donc construire initialement un tracé T contenant n+1 points notés PO à Pn, et son tableau d'indices noté
I = {0, 1, 2,...n} , puis appliquer une suite de réductions polygonales sur ce tracé suivant des coefficients de réduction successifs Cj tels que CKC2<...<Cj<...<Ck, pour obtenir une série de tracés réduits de T notés Tl à Tk et leurs tableaux d'indices Ik respectifs.
Ainsi, il existe une et une seule série de tableaux d'indices complémentaires ICk tels que :
∑ICj+ICk=I
./=1
Dans l'exemple de la figure 4a, on a représenté un tracé T contenant 15 points, PO à P14, et son tableau d'indices I={0, 1,...14} sur la figure 5. En appliquant trois réductions, de coefficients CKC2<C3, on obtient trois tracés Tl, T2 et T3. E'n se référant au tableau de la figure 5, lors de la première réduction, les points d'indice {0,2,4,5,6,7,9,10,11,12,13,14} sont retenus. Après la seconde réduction, les points {0,2,5,6,7,9,10,11,14} sont retenus. Après la troisième réduction, il reste les points {0,2,5,11,14}.
Pour passer du tracé T3 au tracé T2, il suffit donc de réinsérer les points exclus entre la réduction C3 et la réduction C2, à savoir {6,7,9,10}. Pour obtenir Tl, il suffit de rajouter encore les points {4,12,13}. Enfin, pour passer de Tl à T, il suffit de rajouter les points {1,3,8}.
On décrit ci-après un traitement complémentaire prévu dans un mode de réalisation préféré de l'invention, consistant en la recherche de "-frontières communes".
En cartographie, de nombreux objets partagent des portions communes : départements, régions, fleuves et routes, bâtis et forêts, ou autre. Or, appliquer sur un ensemble d'objets géographiques une réduction polygonale de coefficient C, indépendamment les uns des autres, conduit à une aberration CS telle que représentée à titre d'exemple sur la figure βa, car l'algorithme de réduction conduit, pour un même coefficient, à deux tracés réduits différents suivant la position des points extrêmes des tracés.
Ce qui suit vient apporter une solution à ce problème.
Tout d' abord, une première analyse est lancée afin d'identifier les objets géographiques ayant une portion de tracé commune, appelée "frontière commune11. Ensuite, si ces objets sont des objets fermés, leurs bornes sont décalées en indice pour les placer aux points extrêmes des portions communes. On découpe ensuite les objets géographiques en segments. Enfin, chaque tracé peut être reconstitué en ajoutant successivement les points de ses segments constituants.
Toutefois, même si une ligne polygonale n'a pas réellement de "direction" au sens mathématique du terme (à la différence d'un vecteur), on affecte à la ligne polygonale une direction implicite en géométrie analytique,
déterminée par la position de ses premier et deuxième points, ce qui définit des sens d'attribution d'indices aux points du tracé comme représenté en figure βb.
Avantageusement, on tient compte du cas où deux tracés ont une frontière commune mais une direction opposée (comme représenté sur la figure βc) , sinon leur reconstitution donnerait lieu à des résultats aberrants.
Cette recherche de frontières communes est préférentiellement itérative, comme suit :
- pour un premier objet géographique en mémoire, on recherche, isole, construit et mémorise tous les segments correspondants aux portions de son tracé qui sont communes à d'autres d'objets géographiques ;
- lors de ces créations successives, on affecte, à un second objet possédant un segment commun avec le premier objet, une donnée d'information du sens de rotation des indices dans le premier objet, sous la forme d'un code correspondant à une égalité ou à une inversion du sens de rotation.
Ainsi, lorsque l'on recherche les frontières communes pour le second objet, sa liste de segment contient déjà tous ceux créés, le cas échéant, par des objets précédents dans la recherche de frontières, ainsi que les directions (ou sens de rotation précités) de ces objets par rapport à sa propre direction.
Une fois ce second objet traité, on procède ensuite au traitement des objets suivants, et ainsi de suite.
En termes généraux, le procédé selon l'invention prévoit les étapes suivantes :
- une numérotation des points successifs constituant chaque ligne polygonale de l'image initiale,
- les points de chacune de ces lignes sont stockés dans la base de données du serveur en correspondance d'un numéro d'ordre dans la ligne polygonale et d'un identifiant de la ligne polygonale à laquelle il appartient,
- si l'image initiale présente plusieurs lignes polygonales constituant des frontières communes entre zones, incluant au moins trois frontières possédant un point commun, comme représenté sur la figure βb, l'ordre de numérotation d'une frontière est choisi préférentiellement inverse des ordres de numérotation des deux autres frontières.
On décrit maintenant quelques applications du procédé au sens de l'invention, notamment pour effectuer des opérations de zoom et de saisir/glisser (ou "drag and drop") .
Au lancement de l'application, chaque objet géographique est reconstitué à partir de ses segments et des points que contiennent ceux-ci en fonction de l'échelle et du niveau de réduction initiaux. Ensuite, en cas de zoom, une fois qu'un palier est franchi, déclenchant un appel à la base de données pour fourniture de points complémentaires, un filtrage a lieu côté terminal. On indique que l'on ne s'intéresse ici qu'aux segments se trouvant dans la zone
de visualisation sur l'écran d'affichage du terminal, afin de limiter le volume de données à recevoir et d'augmenter ainsi la fluidité de l'application interactive.
Par exemple, un utilisateur effectue un zoom dans le centre d'une carte, et franchit ainsi six paliers sur dix paliers que peut compter l'application (passage de la figure 7a à la figure 7b) . Puis, il déplace la carte
{"drag and drop") vers la gauche (passage de la figure 7b à la figure 7c) . Une partie des objets géographiques, en particulier ceux contenus dans la zone de visualisation lors du zoom, sont en précision 6, une autre partie est en précision 5, une autre en précision 4, et ainsi de suite
(figure 7c) . A la fin du déplacement, une requête REQ est alors envoyée au serveur pour récupérer les points complémentaires de tous les niveaux de précision manquant, et une reconstitution itérative est effectuée le cas échéant (figure 7d) .
Ainsi, en termes généraux, parmi les points complémentaires précités, on sélectionne des points destinés à l'édition de l'image dans une fenêtre de dimensions prédéterminées, correspondant par exemple aux dimensions de l'écran d'affichage du terminal.
Pour résumer les étapes ci-avant, lorsque l'utilisateur du terminal envoie une requête de zoom avant au serveur : - le terminal dispose initialement des points permettant l'édition d'une image selon un coefficient de simplification initial, dans une fenêtre de dimensions données,
- le terminal télécharge du serveur une sélection de points complémentaires permettant l'édition de l'image selon un coefficient de simplification inférieur au coefficient initial et correspondant au niveau de zoom avant requis, la sélection de ces points complémentaires étant menée pour éditer l'image ainsi agrandie dans la fenêtre précitée.
Cette sélection des .points complémentaires peut, comme indiqué ci-avant, évoluer selon un choix, à l'initiative de l'utilisateur, de déplacements de l'image, dans le plan de l'image et à niveau de zoom constant.
Claims
1. Procédé de traitement de données d'image numérique sous forme de graphique vectoriel, dans lequel, pour traiter par simplification/reconstruction une image comportant des zones délimitées par des lignes polygonales : a) pour toutes les lignes polygonales, on stocke en mémoire les points définissant lesdites lignes polygonales, b) on organise une base de données (SER) en mémorisant sous forme hiérarchisée, en fonction d'un identifiant de coefficient de simplification, les points restants de chaque ligne polygonale après différentes simplifications de l'image initiale avec différents coefficients de simplification respectifs, c) et, pour un traitement de reconstruction (33) , on fait appel à un identifiant de coefficient de simplification choisi, pour récupérer de ladite base de données des points permettant la reconstruction de l'image audit coefficient de simplification choisi.
2. Procédé selon la revendication 1, dans lequel on télécharge des données d'image d'un serveur vers un terminal, caractérisé en ce que : - ladite base de données est constituée auprès du serveur
(SER) ,
- lesdits points résultant d'une simplification sont téléchargés du serveur selon une requête (REQ(C) ) du terminal (TER) comprenant un identifiant de coefficient de simplification, et - le terminal construit et édite une image simplifiée selon ledit coefficient de simplification identifié.
3. Procédé selon l'une des revendications 1 et 2, dans lequel on prévoit une numérotation des points successifs constituant chaque ligne polygonale de l'image initiale, caractérisé en ce que les points de chacune de ces lignes sont stockés dans la base de données en correspondance d'un numéro d'ordre dans la ligne polygonale et d'un identifiant de la ligne polygonale à laquelle il appartient.
4. Procédé selon la revendication 3, dans lequel l'image initiale présente plusieurs lignes polygonales constituant des frontières communes entre zones, incluant au moins trois frontières possédant un point commun, caractérisé en ce que l'ordre de numérotation d'une frontière est choisi inverse des ordres de numérotation des deux autres frontières .
5. Procédé selon l'une des revendications précédentes, caractérisé en ce que la base de données comporte au moins :
- un premier jeu de points associés à un premier coefficient de simplification,
- et, associé à un second coefficient de simplification de valeur inférieure au premier coefficient, un second jeu de points complémentaires des points du premier jeu pour la reconstruction de l'image suivant ledit second coefficient de simplification.
6. Procédé selon la revendication 5, caractérisé en ce que, parmi lesdits points complémentaires, on sélectionne des points destinés à l'édition de l'image dans une fenêtre de dimensions prédéterminées.
7. Procédé selon la revendication 6, prise en combinaison avec la revendication 2, dans lequel un utilisateur du terminal envoie une requête de zoom avant au serveur, caractérisé en ce que : - le terminal (TER) dispose initialement des points permettant l'édition d'une image selon un coefficient de simplification initial, dans une fenêtre de dimensions données,
- le terminal télécharge du serveur une sélection de points complémentaires permettant l'édition de l'image selon un coefficient de simplification, inférieur au coefficient initial et correspondant au niveau de zoom avant requis, la sélection de ces points complémentaires étant menée pour éditer l'image ainsi agrandie dans ladite fenêtre .
8. Procédé selon la revendication 7, caractérisé en ce que ladite sélection des points complémentaires évolue selon un choix, à l'initiative de l'utilisateur, de déplacements de l'image, dans le plan de l'image et à niveau de zoom constant.
9. Procédé selon l'une des revendications précédentes, caractérisé en ce que la simplification/reconstruction utilise un traitement selon un algorithme dit "de DOUGLAS- PEUCKER" .
10. Application du procédé selon l'une des revendications précédentes, à l'édition de cartes géographiques sous forme de graphiques vectoriels.
11. Système pour la mise en œuvre du procédé selon l'une des revendications 1 à 9, caractérisé en ce qu'il comporte un terminal (TER) et un serveur (SER) reliés par un réseau de télécommunication (RES), pour l'édition de graphiques vectoriels sur le terminal.
12. Produit programme d'ordinateur, pour un traitement de reconstruction/simplification d'une image numérique sous forme de graphique vectoriel, destiné à être stocké en mémoire d'un système de télécommunication incluant au moins un serveur et un terminal, caractérisé en ce qu'il comporte, côté serveur, des instructions pour : a) stocker en mémoire des points définissant des lignes polygonales délimitant des zones que comporte une image, et b) organiser une base de données (SER) en mémorisant sous forme hiérarchisée, en fonction d'un identifiant de coefficient de simplification, les points restants de chaque ligne polygonale après différentes simplifications de l'image initiale avec différents coefficients de simplification respectifs prédéterminés, et, côté terminal, des instructions pour : c) faire appel à ladite base de données, avec un identifiant de coefficient de simplification choisi, pour récupérer de ladite base de données des points permettant au moins la reconstruction de l'image audit coefficient de simplification choisi.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP08171707A EP2028622A2 (fr) | 2004-09-02 | 2005-08-26 | Edition de grahiques vectoriels, notamment de cartes géographiques |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0409296A FR2874720B1 (fr) | 2004-09-02 | 2004-09-02 | Edition de graphiques vectoriels, notamment de cartes geographiques |
PCT/FR2005/002155 WO2006027470A2 (fr) | 2004-09-02 | 2005-08-26 | Edition de graphiques vectoriels , notamment de cartes geographiques |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP08171707A Division EP2028622A2 (fr) | 2004-09-02 | 2005-08-26 | Edition de grahiques vectoriels, notamment de cartes géographiques |
Publications (1)
Publication Number | Publication Date |
---|---|
EP1784786A2 true EP1784786A2 (fr) | 2007-05-16 |
Family
ID=34949134
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP08171707A Withdrawn EP2028622A2 (fr) | 2004-09-02 | 2005-08-26 | Edition de grahiques vectoriels, notamment de cartes géographiques |
EP05798372A Withdrawn EP1784786A2 (fr) | 2004-09-02 | 2005-08-26 | Edition de graphiques vectoriels , notamment de cartes geographiques |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP08171707A Withdrawn EP2028622A2 (fr) | 2004-09-02 | 2005-08-26 | Edition de grahiques vectoriels, notamment de cartes géographiques |
Country Status (4)
Country | Link |
---|---|
US (1) | US20070229510A1 (fr) |
EP (2) | EP2028622A2 (fr) |
FR (1) | FR2874720B1 (fr) |
WO (1) | WO2006027470A2 (fr) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2903518B1 (fr) * | 2006-07-05 | 2008-10-17 | Newscape Technology Sarl | Procede de traitement d'une image numerique vectorielle, programme d'ordinateur associe, procede de communication entre un serveur et un terminal de donnees d'image ainsi traitee, terminal associe |
US20090193067A1 (en) * | 2008-01-30 | 2009-07-30 | Microsoft Corporation | Server-based recalculation of vector graphics |
CN101685544B (zh) * | 2008-09-28 | 2011-11-23 | 北大方正集团有限公司 | 一种简化复杂路径的方法及装置 |
US9576381B2 (en) * | 2010-01-07 | 2017-02-21 | Suzhou Xintu Geographic Information Technology Co., Ltd. | Method and device for simplifying space data |
US20120206469A1 (en) * | 2011-02-15 | 2012-08-16 | Tudor Hulubei | Efficient pre-computing of simplified vector data for rendering at multiple zoom levels |
CN104077793A (zh) * | 2013-03-29 | 2014-10-01 | 百度在线网络技术(北京)有限公司 | 虚线绘制方法及装置 |
RU2643431C2 (ru) * | 2015-09-02 | 2018-02-01 | Общество С Ограниченной Ответственностью "Яндекс" | Способ и сервер симплификации кривой |
RU2638014C2 (ru) * | 2015-09-28 | 2017-12-08 | Общество С Ограниченной Ответственностью "Яндекс" | Способ и вычислительное устройство для создания симплифицированных границ графических объектов |
CN112085814B (zh) * | 2020-09-07 | 2024-05-14 | 北京百度网讯科技有限公司 | 电子地图显示方法、装置、设备及可读存储介质 |
-
2004
- 2004-09-02 FR FR0409296A patent/FR2874720B1/fr not_active Expired - Fee Related
-
2005
- 2005-08-26 WO PCT/FR2005/002155 patent/WO2006027470A2/fr active Application Filing
- 2005-08-26 EP EP08171707A patent/EP2028622A2/fr not_active Withdrawn
- 2005-08-26 EP EP05798372A patent/EP1784786A2/fr not_active Withdrawn
- 2005-08-26 US US11/574,584 patent/US20070229510A1/en not_active Abandoned
Non-Patent Citations (1)
Title |
---|
See references of WO2006027470A3 * |
Also Published As
Publication number | Publication date |
---|---|
EP2028622A2 (fr) | 2009-02-25 |
US20070229510A1 (en) | 2007-10-04 |
WO2006027470A2 (fr) | 2006-03-16 |
FR2874720A1 (fr) | 2006-03-03 |
FR2874720B1 (fr) | 2007-02-23 |
WO2006027470A3 (fr) | 2006-05-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2006027470A2 (fr) | Edition de graphiques vectoriels , notamment de cartes geographiques | |
EP0406074B1 (fr) | Procédé de segmentation du champ de mouvement d'une image pour le codage d'images vidéo | |
FR2798761A1 (fr) | Procede de construction d'un modele de scene 3d par analyse de sequence d'images | |
US11948281B2 (en) | Guided up-sampling for image inpainting | |
EP1272944A1 (fr) | Systeme de recherche et d'aide au choix | |
WO2000008604A1 (fr) | Affinement selectif de mailles | |
WO2015145078A2 (fr) | Systeme et procede de traitement de donnees | |
FR2851389A1 (fr) | Procede et dispositif de gestion de requetes dans une architecture du type client-serveur | |
FR2826749A1 (fr) | Description d'une interface applicable a un objet informatique | |
WO2006040270A2 (fr) | Procede de decodage local d'un train binaire de coefficients d'ondelettes | |
EP1574990A2 (fr) | Procédé d'édition d'un modèle explicatif | |
WO2010066774A1 (fr) | Systeme de recherche d'information visuelle | |
EP1182878A1 (fr) | Système de communication, émetteur, récepteur, méthode utilisant un descripteur de stockage de données | |
EP1864260B1 (fr) | Procede de reconstruction d'image dans un graphique vectoriel | |
EP2036048A1 (fr) | Procede d ' approximation des polygones et des polyedres | |
FR3047095B1 (fr) | Liens de raccourci dans une interface graphique | |
WO2017068291A1 (fr) | Procede d'estimation d'une surface maximale constructible en lien avec une parcelle | |
FR2845789A1 (fr) | Systeme et procede de traitement et de visualisation des resultats de recherches effectuees par un moteur de recherche a base d'indexation, modele d'interface et meta-modele correspondants | |
FR2974216A1 (fr) | Procede de restitution d'une sequence d'images simulant un survol d'un trou d'un parcours de golf | |
CN117173355A (zh) | 地图渲染方法以及装置 | |
FR3092194A1 (fr) | Génération d’une liste d’éléments de données disponibles d’au moins un fournisseur de services | |
FR2829858A1 (fr) | Procede et dispositif de traitement d'un signal numerique | |
FR3128015A1 (fr) | Système d’aide à la navigation d’un véhicule. | |
WO2002103980A2 (fr) | Procede et systeme de diffusion d'images numeriques | |
Shiode | Information spaces in urban society: Analyses of real and virtual worlds & utilisation of cyberspaces |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
17P | Request for examination filed |
Effective date: 20070226 |
|
AK | Designated contracting states |
Kind code of ref document: A2 Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LI LT LU LV MC NL PL PT RO SE SI SK TR |
|
17Q | First examination report despatched |
Effective date: 20071016 |
|
DAX | Request for extension of the european patent (deleted) | ||
RAP1 | Party data changed (applicant data changed or rights of an application transferred) |
Owner name: NEWSCAPE TECHNOLOGY |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN |
|
18D | Application deemed to be withdrawn |
Effective date: 20150303 |