indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication...

210
N° ordre 2001ISAL0078 Année 2001 Thèse Spécialité Informatique Présentée devant L’Institut National des Sciences Appliquées de Lyon Pour obtenir Le grade de docteur Formation doctorale : Documents multimedia, Images et Systèmes d'Information Communicants (DISIC) École doctorale : Ecole Doctorale Informatique et Information pour la Société (EDIIS) Par Myoung-Ah KANG Attaché Temporaire à l’Enseignement et à la Recherche Indexation et Visualisation des données de Champs Continus dans les SIG (Systèmes d'Information Géographique) Jury MM. P. BERGOUGNOUX Professeur à l'Université Toulouse III Directeur R. LAURINI Professeur à l'Université Lyon 1 K.-J. LI Professeur à l'Université Nationale de Pusan (Corée du Sud) Co-directeur S. SERVIGNE Maître de Conférence à l'INSA de Lyon Rapporteur S. SPACCAPIETRA Professeur à l'Ecole Polytechnique Fédérale de Lausanne (Suisse) Rapporteur G. ZURFLUH Professeur à l'Université Toulouse I Cette thèse a été préparée au Laboratoire d'Ingénierie des Systèmes d'Information (LISI) de l'INSA de Lyon.

Upload: others

Post on 25-Jun-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

N° ordre 2001ISAL0078 Année 2001

Thèse Spécialité

Informatique Présentée devant

L’Institut National des Sciences Appliquées de Lyon Pour obtenir

Le grade de docteur Formation doctorale : Documents multimedia, Images et Systèmes d'Information

Communicants (DISIC)

École doctorale : Ecole Doctorale Informatique et Information pour la Société (EDIIS)

Par Myoung-Ah KANG

Attaché Temporaire à l’Enseignement et à la Recherche

Indexation et Visualisation des données de Champs Continus dans les SIG

(Systèmes d'Information Géographique)

Jury MM.

P. BERGOUGNOUX Professeur à l'Université Toulouse III Directeur R. LAURINI Professeur à l'Université Lyon 1

K.-J. LI Professeur à l'Université Nationale de Pusan (Corée du Sud) Co-directeur S. SERVIGNE Maître de Conférence à l'INSA de Lyon

Rapporteur S. SPACCAPIETRA Professeur à l'Ecole Polytechnique Fédérale de Lausanne (Suisse)

Rapporteur G. ZURFLUH Professeur à l'Université Toulouse I

Cette thèse a été préparée au Laboratoire d'Ingénierie des Systèmes d'Information (LISI) de l'INSA de Lyon.

Page 2: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

2

Sommaire INTRODUCTION......................................................................... 8

PARTIE 1 Indexation par valeurs des données de type champs

continus dans les SIG ................................................................. 16

1. Définition et Représentation d’un champ continu ...........................18

1.1 Définition des champs continus .................................................................... 18 1.2 Modèles existants ......................................................................................... 20

1.2.1 Les grilles régulières de cellules ............................................................. 21 1.2.2 Les tessellations polygonales.................................................................. 22 1.2.3 Les réseaux de triangles irréguliers (TIN)............................................... 23 1.2.4 Les grilles de cellules carrées pour DEM (Digital Elevation Model)....... 23 1.2.5 Les courbes de niveau ............................................................................ 24

1.3 Modèle générique de champ continu............................................................. 25 1.4 Conlusion ..................................................................................................... 27

2. Problématiques dans l'interrogation de BD de champs continus....28

2.1 Requêtes conventionnelles............................................................................ 29 2.2 Requêtes par valeurs..................................................................................... 30

2.2.1 Comment déterminer l'intervalle des valeurs d'une cellule ? ................... 32 2.2.2 Pourquoi ne pas indexer simplement des points-échantillons par un index comme le B-tree ?............................................................................................... 35

2.3 Motivation des travaux ................................................................................. 37 2.4 Remarque et hypothèse ................................................................................. 37 2.5 Limitation de la méthode d’indexation.......................................................... 42 2.6 Requête par valeurs et modèle des courbes de niveau ................................... 43 2.7 Conclusion ................................................................................................... 44

3. Etat de l’art ........................................................................................46

3.1 Indexation par valeurs .................................................................................. 47 3.1.1 Extraction des iso-surfaces ..................................................................... 47

Page 3: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

3

3.1.2 Application de Navigation de terrains aidée par l’IP-Index..................... 47 3.1.2.1 IP-index ............................................................................................ 48 3.1.2.2 Comment utiliser l’IP-index dans cette application ? ......................... 49 3.1.2.3 Conclusion ........................................................................................ 49

3.2 Méthode d'indexation des données intervalles............................................... 50 3.2.1 Méthodes d'indexation basées sur les B-trees.......................................... 51

3.2.1.1 Time-Index........................................................................................ 52 3.2.1.2 Interval B-tree ................................................................................... 54 3.2.1.3 MAP21.............................................................................................. 55

3.2.2 Méthodes d'indexation basées sur les R-trees.......................................... 56 3.2.2.1 R-tree ................................................................................................ 57 3.2.2.2 1-D R-tree ......................................................................................... 58 3.2.2.3 2-D R-tree avec transformation ......................................................... 59

3.2.3 Conclusion ............................................................................................. 62 3.3 Conclusion ................................................................................................... 64

4. Indexation par valeurs.......................................................................66

4.1 Méthode simple : Méthode I-All ................................................................... 66 4.1.1 Structure des données ............................................................................. 67 4.1.2 Procédure de recherche........................................................................... 67 4.1.3 Problèmes............................................................................................... 68

4.2 Sous-champs ................................................................................................ 69 4.2.1 Définition d’un sous-champ.................................................................... 70 4.2.2 Stratégies de traitement des requêtes basées sur l’approche des sous-champs ............................................................................................................... 72 4.2.3 Exemple d’application de la stratégie ..................................................... 73 4.2.4 Intérêts de l'exploitation des sous-champs .............................................. 74 4.2.5 Implémentation des sous-champs............................................................ 75

4.3 Méthode Interval Quadtree ........................................................................... 76 4.3.1 Définition ............................................................................................... 76

4.3.1.1 La façon de découper l'espace ........................................................... 76 4.3.1.2 La similarité des valeurs d’un sous-champ ........................................ 76

4.3.2 Exemple de génération des sous-champs par Interval Quadtree .............. 77 4.3.3 Deux implémentations de l’Interval Quadtree ......................................... 79

4.3.3.1 Interval Quadtree implémenté par Pointeur (Pointer-based Interval Quadtree)......................................................................................................... 79

4.3.3.1.1 Structure de données ................................................................... 79 4.3.3.1.2 Procédure de recherche................................................................ 80

4.3.3.2 Interval Quadtree Linéaire (Linear Interval Quadtree) ...................... 82 4.3.3.2.1 Structure de données ................................................................... 82 4.3.3.2.2 Procédure de recherche................................................................ 83

4.3.4 Implémentation, Performance et Remarques ........................................... 84 4.3.5 Conclusion et Critique de l'Interval Quadtree ......................................... 86

4.4 Méthode I-Hilbert ......................................................................................... 88 4.4.1 Définition ............................................................................................... 88

Page 4: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

4

4.4.1.1 La façon de découper l'espace ........................................................... 88 4.4.1.2 La similarité des valeurs d’un sous-champ ........................................ 91

4.4.2 Exemples de génération des sous-champs par I-Hilbert .......................... 95 4.4.3 Implémentation....................................................................................... 99

4.4.3.1 Structure de données ......................................................................... 99 4.4.3.2 Procédure de recherche.....................................................................100

4.5 Conclusion ..................................................................................................101

5. Implémentation et performance...................................................... 104

5.1 Données réelles ...........................................................................................105 5.1.1 Données de terrain.................................................................................105 5.1.2 Données sonores urbaines......................................................................107

5.2 Données simulées par une méthode fractale .................................................108 5.2.1 Génération des données de terrain fractal ..............................................108

5.2.1.1 Midpoint Displacement à 1 dimension..............................................109 5.2.1.2 Génération des données fractales par Diamond-Square.....................111

5.2.2 Expérimentations sur des données de terrains fractals............................114 5.3 Données simulées monotones ......................................................................118

5.3.1 Données monotones dans l'espace d'origine ...........................................119 5.3.2 Données monotones dans l'espace linéarisé ...........................................120

5.4 Conclusion ..................................................................................................125

6. Traitement des requêtes par valeurs .............................................. 126

6.1 Transformation des valeurs d'une requête ....................................................128 6.2 Procédure de traitement des requêtes par valeurs .........................................132 6.3 Conclusion ..................................................................................................133

7. Applications ..................................................................................... 134

7.1 Système d'Information Sonore Urbain : MITHRA .......................................134 7.1.1 Fonctionnalités ......................................................................................134

7.1.1.1 Formules de calcul du niveau sonore ................................................135 7.1.1.2 Carte horizontale ..............................................................................135

7.1.2 Problématiques ......................................................................................137 7.1.3 Comment utiliser la méthode I-Hilbert dans MITHRA ? ........................137 7.1.4 Performances.........................................................................................138 7.1.5 Perspectives...........................................................................................138

7.2 Visualisation des données spatio-temporelles de l'environnement ................139 7.2.1 Modèle de volume .................................................................................139 7.2.2 Visualisation par la méthode d'indexation I-Hilbert ...............................141

7.3 Application de Navigation sur des terrains...................................................143

Page 5: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

5

7.4 Conclusion ..................................................................................................143

PARTIE 2 Visualisation dynamique de la temporalité :

Application à un SIG sonore urbain......................................... 144

8. Problématique de la visualisation des données sonores urbaines..146

8.1 Carte de son et visualisation de la continuité spatiale : Cartes statiques .......147 8.2 Visualisation de la temporalité : Cartes animées ..........................................148 8.3 Problématiques et caractéristiques de l'animation des données sonores ........150 8.4 Conclusion ..................................................................................................152

9. Etat de l'art sur les cartes animées ................................................. 154

9.1 Méthodes de génération et d'affichage d'une animation................................154 9.2 Animation temporelle et non temporelle ......................................................155

9.2.1 Animation temporelle ............................................................................155 9.2.2 Animation non temporelle .....................................................................156

9.3 Variables graphiques d'animation et variables dynamiques ..........................157 9.4 Exemples d'applications des cartes animées .................................................160 9.5 Animation cartographie interactive ..............................................................161 9.6 Cartes animées sur Internet..........................................................................164 9.7 Conclusion ..................................................................................................165

10. Visualisation dynamique de la temporalité dans un SIG sonore

urbain ....................................................................................................... 166

10.1 Objectif d'un SIG pour environnement sonore urbain ...............................167 10.2 Les données sonores temporelles utilisées ................................................168

10.2.1 Représentation de la temporalité de chaque type de données ..............168 10.2.2 Mode de visualisation de chaque type de données ..............................172

10.3 Carte animée interactive ...........................................................................173 10.3.1 IHM et paramètres d’animation ..........................................................174 10.3.2 Contrôleur interactif d’animation .......................................................176 10.3.3 Exemple .............................................................................................178

Page 6: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

6

10.4 Conclusion ...............................................................................................182

CONCLUSION et PERSPECTIVES......................................... 184

REFERENCES BIBLIOGRAPHIQUES .................................. 196

Page 7: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs
Page 8: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

8

INTRODUCTION

Page 9: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs
Page 10: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

10

Le concept de « champ », « field » en anglais, est parfaitement adapté à la représentation des

phénomènes naturels et environnementaux continus. Les domaines des sciences de la terre sont

particulièrement concernés comme l’océanographie, la météorologie, la géologie ou encore la

physique atmosphérique.

Un champ continu repose notamment sur des points-échantillons et la subdivision de l'espace en

cellules. Il peut donc être représenté par un ensemble de cellules contenant des points-

échantillons mesurés explicitement, et par des méthodes d'interpolation afin d'estimer des va-

leurs implicites sur les points non échantillonnés. La forme des cellules dépend des modèles

spécifiques utilisés dans une application, comme par exemple des triangles dans le cas de repré-

sentation de l'espace par un réseau de triangles irréguliers (TIN : Triangulated Irregular Net-

works).

L’interrogation et l’analyse de données champs amènent à considérer deux classes de

requêtes. Les requêtes basées sur :

Q1) Une condition spatio-temporelle : e.g. " Quelle est la valeur du champ en un point

donné (x, y, z, t) ? "

Q2) Une condition d'une valeur de champ : e.g. " Quelles sont les régions qui présentent

des précipitations supérieures à 2000 mm par an ? "

La première classe de requêtes (dites requêtes conventionnelles) est classique dans une

base de données (BD) d’un champ continu. Elle consiste à trouver la valeur d'un champ en un

point donné. A l’inverse, pour la seconde classe (dites requêtes par valeurs), il s’agit de déter-

miner des régions où le champ a une valeur donnée. Des requêtes complexes peuvent être com-

posées par la combinaison de ces requêtes de base.

Bien que ces deux classes de requêtes impliquent des données de type champs, leurs

méthodes de traitement sont différentes. Contrairement aux requêtes conventionnelles, pouvant

être supportées par une méthode d'indexation spatiale existante, le deuxième type de requêtes

est plus difficile à traiter. En effet, à notre connaissance il n'existe aucune méthode d'indexation

dans ce but, et cela conduit à tester toutes les cellules, c'est-à-dire à effectuer un balayage sé-

quentiel de toute la base de données. Cette procédure induit des coûts élevés à cause du volume

important des données champs.

Page 11: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

11

Pourtant, dans de nombreuse applications, les requêtes par valeurs sont importantes.

Citons deux exemples de requêtes par valeurs dans deux applications différentes :

- Dans les bases de données environnementales de l'océan stockant des données de

champs continus de la température de l'océan et de la salinité, supposons que les

saumons se trouvent dans les conditions d'une température et d'une salinité de la

mer. Les requêtes par valeurs que l'on peut poser pour pêcher des saumons pour-

raient être par exemple "Quelle sont les parties de la mer où la température est

comprise entre 20° et 25° et la salinité est comprise entre 12% et 15% ?"

- Dans un système de bruit urbain, une requête typique pour connaître des régions

bruyante pourrait être "Quelle sont les régions où le niveau sonore est plus élevé que

85dB ? ", où dB est un unité de niveau sonore.

- etc..

Malgré l'importance du besoin de méthodes efficaces de traitement des requêtes par va-

leurs, aucune attention particulière ne leur a été portée, et aucun travail significatif n'a été effec-

tué sur ces méthodes d'indexation. Dans notre travail, nous voulons donc proposer de nouvelles

méthodes d'indexation par valeurs qui améliorent le traitement des requêtes par valeurs dans les

grandes bases de données de champs continus. Ceci constitue la motivation et la contribution

pratique de cette thèse.

Nous proposons un nouveau concept de sous-champ et montrons comment exploiter ce

concept pour indexer des données sur les valeurs dans les bases de données champs continus.

Nous avons alors divisé un espace en plusieurs sous-champs pour que toutes les valeurs explici-

tes et implicites à l'intérieur d'un sous-champ soient similaires les unes aux autres sur le do-

maine de valeur. Les intervalles des sous-champs peuvent alors être indexés par une méthode

d'indexation des données intervalles pour le traitement des requêtes par valeurs. Cette méthode

permet de filtrer les zones afin d'éliminer celles qui n’ont aucune possibilité d’être résultat de la

requête.

Nous présentons deux méthodes d'implémentation des sous-champs. La première mé-

thode nommée "Interval Quadtree" est basée sur une division de l'espace en Quadtree pour

l’indexation par valeur de champ. Quant à la seconde, la méthode "I-Hilbert", elle linéarise les

cellules selon l'ordre des clés de Hilbert des centres de cellules, et forme des sous-champs en

Page 12: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

12

regroupant séquentiellement des cellules linéarisées sur la base d'un modèle de coût d'accès à

un sous-champ proposé dans cette thèse. L'algorithme pour générer (former) des sous-champs

est proposé afin de minimiser la possibilité d'accès au disque dur en utilisant ce modèle de coût.

Nous analysons la performance des méthodes proposées. Les expérimentations avec

des données réelles de terrain et des données simulées par une méthode fractale montrent que

les méthodes d'indexation proposées réduisent notablement le temps de traitements des requêtes

par valeurs dans une grande base de données du champ.

Par ailleurs, nous nous intéressons à une autre problématique, à savoir la visualisation

de la temporalité des données de type champs continus.

En général, les données de type champs continus sont spatio-temporelles. Cela veut

dire que les phénomènes naturels évoluent en fonction de l'espace et en fonction du temps. Afin

de mieux faire comprendre et analyser un champ continu du point de vue temporel, il est impor-

tant de représenter son évolution selon le temps. Du point de vue thématique applicative, nous

avons travaillé sur une application d'un Système d'Information Géographique (SIG) sonore ur-

bain qui permet de visualiser l’environnement sonore d’un quartier.

Malgré la caractéristique spatio-temporelle de l’environnement sonore, seules exis-

taient jusqu'à maintenant des cartes statiques. Si les outils existants sont certes performants pour

certains aspects, ils se limitent à la production de cartes statiques qui n’attirent pas l’attention

sur des problèmes posés par la caractéristique spatio-temporelle du phénomène bruit. Cela nous

a conduit à adopter la technique de l'animation pour représenter l'évolution temporelle du son

car elle est reconnue comme la méthode la plus efficace pour ce type de problématique.

La prise en compte des problématiques et caractéristiques spécifiques de l'animation

des donnés sonores permet de mieux représenter la temporalité des données sonores et analyser

des données par l'animation. Par exemple, l'intégration de données multimédias pour l'anima-

tion. D'ailleurs, les utilisateurs peuvent avoir besoin d’accéder aux données multimédias asso-

ciées à un instant durant l’animation pour explorer des données pertinentes. Autrement dit, un

utilisateur peut stopper l’animation à un moment quand il aperçoit une scène intéressante. Et il

peut écouter la séquence du son ou bien consulter des documents liés pour avoir plus

d’information.

Page 13: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

13

La nécessité d'utiliser une carte animée comme un outil d'exploration des données

conduit à spécifier une carte animée interactive permettant aux utilisateurs de pouvoir contrôler

non seulement l'affichage de l'animation mais aussi la génération de l'animation. Afin de réali-

ser une telle carte animée interactive, nous proposons quelques paramètres contrôlant (spéci-

fiant) la génération des scènes de l'animation. Les utilisateurs peuvent générer plusieurs types

d'animation en variant les valeurs de ces paramètres. Nous proposons aussi un contrôleur inte-

ractif afin de contrôler l'affichage de l'animation. Ce contrôleur possède plus de fonctionnalités

que celles de type magnétoscope (qui existent déjà) afin de mieux analyser et d'explorer des

données temporelles. Ces spécifications d’une cartographie animée interactive ont été validées

dans un prototype développé intégrant un SIG.

ORGANISATION DU MEMOIRE

Après cette introduction, ce mémoire est organisé en deux parties. La première couvre les sept

chapitres traitant le problème de l'indexation par valeurs pour l'accélération du traitement des

requêtes par valeurs. La seconde partie est consacrée à la visualisation de la temporalité no-

tamment dans le cadre d'une application d'un SIG sonore urbain. Nous donnons un aperçu de

chaque chapitre selon chaque partie.

PARTIE 1

Indexation par valeurs des données de type champs continus dans les SIG

Le chapitre 1 présente la définition des champs continus. Le besoin d'une méthode d'estimation

est justifié. Ainsi, un modèle générique des champs continus est proposé en se basant sur des

modèles existants.

Dans le chapitre 2, nous présentons les procédures de traitement des requêtes conventionnelles

et des requêtes par valeurs. La problématique pour le traitement des requêtes par valeurs est ex-

posée, laquelle nous conduit à proposer une nouvelle méthode d'indexation par valeurs.

Le chapitre 3 présente un état de l'art des méthodes d'indexation par valeurs et des méthodes

d'indexation des données intervalles.

Page 14: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

14

Nous proposons, dans le chapitre 4, de nouvelles méthodes d'indexation par valeurs reposant sur

le nouveau concept "sous-champ" proposé ainsi dans ce mèmoire. Nous définissons deux

aspects, "la façon de découper l'esapce" et "la similarité des valeurs d'un sous-champ", à

prendre en compte pour implémenter des sous-champs. Deux nouvelles méthodes (les méthodes

"Interval Quadtree" et "I-Hilbert") sont proposées selon la définition de ces deux aspects. En

effet, la méthode "I-Hilbert" est issue de la réflection sur l'amélioration de la méthode "Interval

Quadtree".

Le chapitre 5 présente des tests effectués pour mesurer les performances des méthodes propo-

sées. Nous utilisons non seulement des données réelles mais aussi des données simulées par une

méthode fractale pour tester divers types de données.

Dans le chapitre 6, nous expliquons les traitements des requêtes par valeurs selon différents

opérateurs.

Les applications pouvant bénéficier de notre méthode d'indexation sont illustrées dans le chapi-

tre 7.

PARTIE 2

Visualisation dynamique de la temporalité : Application à un SIG sonore urbain

Le chapitre 8 est une présentation de la problématique actuelle pour la visualisation des données

sonores, laquelle ne représente pas la temporalité malgré les caractéristiques de l'évolution tem-

porelles du son. Cela nous conduit à adopter la technique de l'animation. Les problématiques et

les caractéristiques (à prendre en compte pour l'animation des données sonores) sont ainsi évo-

quées.

Le chapitre 9 est un état de l'art des cartes animées existantes. Une carte animée interactive peut

être utilisée comme un outil d'exploration des données au delà d'un simple affichage rapide

d'une sequénce de scènes.

Nous présentons, dans le chapitre 10, un prototype de l'application d'un SIG sonore urbain per-

mettant de réaliser une carte animée interactive des données sonores (en prenant compte des

problématiques et des caractéristiques évoquées dans le chapitre 8). Nous proposons de nou-

Page 15: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

15

veaux paramètres et fonctionnalités pour mieux contrôler la génération et l'affichage de l'anima-

tion.

CONCLUSION et PERSPECTIVES

Enfin, après avoir présenté notre travail suivant deux parties séparées couvrant dix chapitres,

nous concluons ce mémoire en résumant chaque chapitre. Les contributions de ce travail sont

mises en évidence, et les perspectives sont présentées pour les deux parties de ce mémoire.

Page 16: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

16

PARTIE 1 Indexation par valeurs des données de type champs continus dans les SIG

Page 17: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs
Page 18: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 1. Définition et Représentation d’un champ continu

18

1. Définition et Représentation d’un champ continu

Dans ce chapitre, nous présentons la définition des champs continus et quelques exemples

d’applications des champs continus dans les SIG. Nous justifions aussi le besoin d’une méthode

d’estimation en nous basant, par exemple, sur un champ continu pour la température.

Dans un deuxième temps, nous présentons donc les méthodes de représentation des

champs continus les plus couramment utilisées dans les SIG [KEMP 93] [PARIENTE 94]

[GOODCHILD 97]. Par la suite, nous définirons un modèle générique de champs continus.

1.1 Définition des champs continus

Le domaine des champs continus a un grand intérêt pour les SIG afin de décrire la distribution

de plusieurs propriétés physiques qui varient continuellement dans un espace et aussi dans le

temps. En particulier, des champs continus représentent des PHENOMENES continus naturels

et environnementaux.

Selon [PARIENTE 94]: "Un champ continu est une portion de l'espace où la force ap-

pliquée à un point dépend de sa position seule. Ces champs sont appelés 'continuous fields', ap-

pellation qui renforce la notion de continuité des valeurs des champ : le nombre de points con-

tenu dans un champ est infini, la représentation des valeurs de ce champ est donc continue."

Un exemple typique est l'altitude dans un espace à 2 dimensions pour décrire un ter-

rain. D'autres exemples en 2 dimensions sont la distribution des températures, la pression, la

pollution etc., sur un territoire. Les champs continus dans un espace à 3 dimensions peuvent

modéliser les structures géologiques, et en général les propriétés physiques distribuées dans un

espace [MAGILLO et al. 00]. On peut citer d'autres exemples comme :

Page 19: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 1. Définition et Représentation d’un champ continu

19

- végétation, type de sol, texture du sol, potentiel d’érosion, précipitations, vitesse et di-

rection du vent, acidité du sol, nivaux de pollution, pression de l’air, la densité de miné-

ral, etc..

Un champ est scalaire ou vectoriel en fonction du nombre de valeurs associées en un

point. Alors qu’une simple valeur est définie en un point dans un champ scalaire (ex. tempéra-

ture, acidité, …), les valeurs scalaires multiples sont assignées en un point d’un champ vecteur

(ex. le vent contenant deux champs scalaires, comme par exemple, vitesse et direction du vent).

Il est donc possible de représenter un champ vecteur par un champ scalaire multiple. C’est

pourquoi nous avons focalisé notre attention, dans ce travail, sur les champs scalaires.

Dans de nombreux cas, un champ continu considéré ne peut être échantillonné en tout

point pour des raisons évidentes d’espace mémoire (tous les points de l’espace ne pouvant être

mémorisés). En effet, il est rare de connaître l’ensemble des informations spatio-temporelles :

pour des raisons de coûts, les valeurs sont mesurées en certains points (points- échantillons) ou

dans certaines zones (zones privilégiés) [PARIENTE 94]. Il est donc nécessaire d'utiliser une

méthode d’estimation pour définir les valeurs des points non échantillonnés.

Nous illustrons un exemple de champ continu pour la température représenté par des

points-échantillons. Les valeurs de la température sont mesurées en certains points comme le

montre la Figure 1.a. Déterminer la température en des points (tel que le point A) autres que ces

points-échantillons requiert une estimation (interpolation ou extrapolation). Cette estimation est

fonction des valeurs et de la position des points-échantillons. La Figure 1.b illustre le champ de

la température après avoir estimé les valeurs de tous les points. La valeur estimée de chaque

point est représentée par une nuance de gris correspondante.

Figure 1. Exemple de champ continu pour la température.

Quelle est la température au point A ?Température après estimationsur tous les points

21

3

3 32

9 10A ?

a. b.

Page 20: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 1. Définition et Représentation d’un champ continu

20

D'autre part, les valeurs de champs peuvent être mesurées sur des zones (ex. une tem-

pérature moyenne sur chaque région). La valeur associée à une zone est valable pour toute la

zone considérée. L’information est donc homogène sur toute la zone. Toutefois, la plupart des

phénomènes géographiques ne sont pas homogènes [LAM 83] [PARIENTE 94]. Il est difficile

d’imaginer que les températures puissent être totalement homogènes sur une région. En plus il

n'existe pas de continuité entre zones voisines. Ainsi, la représentation d’un champ continu par

des zones privilégiées n’est pas souhaitable. Un mécanisme d’interpolation est nécessaire pour

que les valeurs d’une zone ne soient pas homogènes.

En revanche, [PARIENTE 94] a utilisé des zones privilégiées pour représenter des

contraintes statistiques sur l’estimation (ex. la moyenne, l’intégrale, etc.). La considération de

ces contraintes peut enrichir l’information. Ainsi, des zones privilégiées seules sans interpola-

tion ne sont pas adaptées pour représenter un champ continu mais elles peuvent être utilisées

pour représenter certaines contraintes sur des zones.

1.2 Modèles existants

Comme dit précédemment, un champ continu considéré ne peut être échantillonné et stocké en

tout point. Les valeurs sont donc mesurées en certains points ou dans certaines zones. Des mé-

thodes d’interpolation sont alors appliquées afin d’estimer la valeur du champ des points non

connus. Les représentations de champs continus les plus courants sont :

• les grilles régulières de cellules,

• les tessellations polygonales,

• les réseaux de triangles irréguliers (TIN : Triangulated Irregular Networks),

• les courbes de niveau.

Page 21: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 1. Définition et Représentation d’un champ continu

21

1.2.1 Les grilles régulières de cellules

Des lignes droites perpendiculaires aux axes des abscisses et des ordonnées, régulièrement es-

pacées, partitionnent intégralement l’espace d’étude en cellules. L'exemple type de grille de cel-

lules est le raster (des images numériques). Chaque cellule est définie par sa longueur et sa lar-

geur. La Figure 2 présente un exemple de maillage régulier de cellules carrées et rectangulaires.

Figure 2. Grilles de cellules.

La valeur de champ est représentée par une valeur unique pour toute la surface cou-

verte par la cellule. La valeur pourrait être soit une valeur représentative de la cellule, par

exemple une valeur mesurée au centre de la cellule, soit une moyenne, un maximum ou autres

valeurs d’agrégation sur la cellule. Le modèle est donc basé sur l'existence des zones privilé-

giées des cellules plutôt que sur des points-échantillons pour tout l’espace d’étude.

Puisque les cellules sont régulières, la règle d'appartenance d’un point à une cellule et

la détermination de la valeur d'attribut sont simples : la valeur du phénomène est représentée

par une valeur unique pour toute la surface de chaque cellule ; par conséquent tout point de la

cellule aura donc la même valeur d’attribut.

Cellules carrées Cellules rectangulaires

Page 22: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 1. Définition et Représentation d’un champ continu

22

1.2.2 Les tessellations polygonales

Elles partitionnent également tout l’espace par des formes régulières ou irrégulières de polygo-

nes. La valeur du phénomène peut être déterminée de différentes façons selon la manière de

former les polygones. Ces polygones peuvent être basés sur :

• Des zones privilégiées de cellules ; cas identique à celui des champs continus repré-

sentés par des grilles régulières de cellules en permettant des polygones réguliers ou

non réguliers à la place des carrés. Par conséquent, la valeur de champ telle qu’une va-

leur de l’agrégation du polygone, d’une classe de végétation, d’un type de sol, est re-

présentée par une valeur unique pour toute la surface couverte par la cellule (Figure

3.a).

• Des points-échantillons ; les polygones contiennent des points-échantillons. Dans la

plupart des cas les points-échantillons sont les sommets du polygone (Figure 3.b).

Lorsque la valeur d’un point non échantillonné doit être estimée, le polygone auquel le

point appartient est déterminé. Ensuite une interpolation définie s’applique sur les

points-échantillons appartenant au polygone trouvé ; parce que la valeur d’un point est

principalement influencée par les points-échantillons les plus proches, et les points-

échantillons du polygone considéré sont en général les plus proches du point à estimer.

Le modèle Voronoi (Figure 3.c) est un exemple de ce type. Dans Voronoi, l’espace est

partitionné de telle manière que chaque polygone possède un point-échantillon en son

centre et que ce point-échantillon soit le plus proche de tous les points dans ce poly-

gone [SAMET 90a] [SAMET 90b]. Lorsque la valeur d’un point non échantillonné doit

être estimée, le polygone auquel le point appartient est déterminé, et une interpolation

s’applique par exemple en calculant la distance entre le point à estimer et le point-

échantillon du polygone.

Figure 3. Différentes variantes du modèle polygonal irrégulier.

2140

3023

3810

a) b) c)

Page 23: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 1. Définition et Représentation d’un champ continu

23

1.2.3 Les réseaux de triangles irréguliers (TIN)

Cette méthode est très utilisée pour représenter notamment des terrains [KEMP 93] [van KRE-

VELD 94] [YU et al. 96] [MAGILLO et al. 00]. Elle partitionne l’espace en régions triangulai-

res, les sommets de ces triangles correspondant aux points-échantillons (Figure 4). Lorsque la

valeur d’un point non échantillonné doit être estimée, le triangle auquel appartient le point est

déterminé, et une interpolation par exemple linéaire est calculée depuis les trois sommets du

triangle.

Figure 4. Réseau de triangles irréguliers (TIN).

1.2.4 Les grilles de cellules carrées pour DEM (Digital Elevation Model)

Un modèle DEM1 (Digital Elevation Model) conventionnel basé sur les grilles de cellules car-

rées n’est pas adapté pour représenter un champ continu comme les terrains, car une seule va-

leur homogène est définie pour tous les points à l’intérieur de la cellule, par exemple l’altitude

au centre de la cellule, ce qui ne correspond pas à la réalité. De plus la continuité entre cellules

voisines n’est pas assurée.

Afin qu’un DEM (ou grilles de cellules) puisse être considéré comme un champ conti-

nu, une méthode d’interpolation doit être spécifiée [YU et al. 96]. Nous pouvons générer (ou

mesurer) des points-échantillons à chaque sommet de la grille et spécifier une fonction (Figure

5), par exemple une interpolation linéaire. La valeur d’un point dans une cellule peut donc être

estimée par l’interpolation spécifiée depuis les quatre sommets de la cellule.

1

Nous avons préféré écrire DEM plutôt que MNT (Modèle Numérique de Terrain) car nous pensons qu'il est plus spécifique à notre problème.

Page 24: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 1. Définition et Représentation d’un champ continu

24

Figure 5. Exemple d’une grille de cellule pour un champ continu.

De nombreuses méthodes de visualisation tri-dimensionnelle des surfaces continues

sont basées sur ce modèle modifié, notamment l'extraction des iso-surfaces ou iso-lignes pour la

visualisation scientifique comme dans le domaine de l’imagerie médicale [SHEN et JOHNSON

95] [CIGNONI et al. 96] [CIGNONI et al. 97].

1.2.5 Les courbes de niveau

Les courbes de niveau sont l’intersection de la surface topographique avec des plans horizon-

taux équidistants. Chaque courbe relie des points de la surface qui ont la même valeur (voir la

Figure 6).

Figure 6. Courbes de niveau.

Pour calculer la valeur en un point n’appartenant pas à une courbe de niveau, les cour-

bes les plus proches du point sont déterminées et une interpolation est effectuée [KEMP 93].

40

c1

48 56 80

50 60 90 84

88

1201108080

64 11074

c6

c2 c 3

c 4 c5

c 7 c 8 c 9

+ Interpolation

50 60 70

Page 25: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 1. Définition et Représentation d’un champ continu

25

1.3 Modèle générique de champ continu

Un champ continu s'appuyant sur un ensemble de points-échantillons peut donc être modélisé

comme suit :

Un ensemble de points-échantillons dans un champ continu de d-dimension est

l’ensemble des paires (v, w)

{ (v, w) | v ∈ Rd , w ∈ Rk },

• v est un ensemble de points ayant des coordonnées cartésiennes dans le domaine Rd,

• d représente la dimension du champ, par exemple :

si d = 2 alors v = (x, y) ,

si d = 3 alors v = (x, y, z), dans le cas de 3 dimensions où z est l’altitude : le lo-

calisant correspond à un point dans l’espace tridimensionnel,

si d = 4 alors v = (x, y, z, t), où le point inclut le paramètre temporel t, etc. ,

• w est l’ensemble des valeurs du champ (attribut) provenant de la fonction d'interpola-

tion w = f(v) ,

• k est un entier indiquant si le champ est scalaire ou vecteur :

si k = 1 alors scalaire,

si k >= 2 alors vecteur.

Un champ consistant en un ensemble de points-échantillons (v, w) peut être modélisé

par une subdivision c du domaine Rd en cellules ci (c1, c2, … ,cn) telle que chaque cellule c est de

la forme :

(A, PE, f) ,

• A représente l'aire courante de la cellule c,

• PE est l'ensemble de certains points-échantillons dans des points v. PE peuvent être les

sommets d'une cellule ou bien les points-échantillons à l’intérieur d’une cellule. Lors

de la détermination d'une valeur en un point à l'intérieur de la cellule, les points-

Page 26: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 1. Définition et Représentation d’un champ continu

26

échantillons PE sont concernés pour le calcul d'interpolation. Nous appelons ces

points-là ‘points-échantillons de la cellule’.

• f est la fonction d'interpolation qui représente la cellule. Cela signifie qu’il est possible

de définir plusieurs méthodes d’interpolation pour représenter un champ continu, si

nécessaire, non seulement par des méthodes bien connues mais aussi des méthodes dé-

finies par les utilisateurs. Il est possible de représenter une cellule d’une zone privilé-

giée (voir la partie ‘ zones privilégiées’ de la section 1.2) en définissant une fonction f

qui retourne une valeur constante (unique) pour l’estimation de toute la surface de la

cellule.

Comme dit précédemment, les cellules peuvent être régulières ou non régulières. Le

nombre de points-échantillons d’une cellule peut varier même à l'intérieur d'un champ. Par

exemple, dans un DEM à 2 dimensions, les cellules sont des carrés réguliers composés par qua-

tre points-échantillons aux sommets des carrés. De la même manière, dans un TIN à 2 dimen-

sions, les cellules sont des triangles irréguliers composés par trois points-échantillons aux som-

mets. Nous pouvons aussi représenter un champ à 3 dimensions (volumique) par un modèle

hybride des hexaèdres ou tétraèdres composés par six ou quatre points-échantillons pour une

cellule.

Comme dans les exemples de modèles spécifiques de champs donnés ci-dessus, les

points-échantillons d’une cellule sont dans la plupart des cas les sommets de la cellule qui déli-

mitent l’espace d’une cellule. Toutefois nous n’exclurons pas la possibilité de définir des

points-échantillons qui se trouvent à l’intérieur d’une cellule dans le cas où l’interpolation défi-

nie le nécessite.

Selon la définition du modèle proposé ci-dessus, la fonction fi est utilisée pour interpo-

ler les valeurs du champ sur tous les points à l’intérieur de la cellule ci en appliquant fi sur les

points-échantillons de la cellule ci. La raison est que les points-échantillons d’une cellule sont

en général l’ensemble des points-échantillons les plus proches du point donné à estimer. Ainsi

la valeur d’un champ sur un point a plutôt tendance d'être influencée par les points les plus pro-

ches. Cela repose sur la caractéristique principale des champs, à savoir la continuité dans

l’espace et parfois dans le temps. Par exemple, dans le cas des TIN à 2 dimensions, il faut con-

sidérer trois sommets, les points-échantillons de la cellule, du triangle contenant le point à

questionné pour estimer la valeur. En revanche, il faut huit sommets des points-échantillons

Page 27: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 1. Définition et Représentation d’un champ continu

27

pour le cas d’un DEM à 3 dimensions pour appliquer l’interpolation trilinéaire (voir

http://astronomy.swin.edu.au/pbourke/analysis/trilinear/).

1.4 Conlusion

Dans ce chapitre, nous avons présenté la définition d'un champ continu dans les SIG pour repré-

senter des phénomènes continus et environnementaux. De nombreuses applications des champs

continus sont illustrées. Bien que nous ayons présenté la notion de continuité des champs trai-

tés, les phénomènes continus sont malgré tout représentés de façon discrète par leurs points-

échantillons ou par leurs zones privilégières. Une méthode d'interpolation est donc nécessaire

afin de déterminer les valeurs des points non connus.

Nous avons aussi présenté les modèles des champs continus les plus couramment utili-

sés dans les SIG. Le modèle DEM conventionnel (une valeur homogène pour tous les points de

la grille) est très utilisé pour représenter des terrains. En revanche, ce modèle n'est pas très

adapté à la représentation des champs continus. Nous avons donc proposé de modifier le DEM,

a) en définissant un point-échantillon sur chaque sommet de la grille, b) en spécifiant une mé-

thode d'interpolation pour estimer une valeur d'une grille. Le modèle DEM référencé dans cette

thèse correspond donc à ce modèle modifié.

En se basant sur les modèles présentés, nous avons proposé un modèle générique pour

représenter un champ continu. Ce modèle est basé sur la notion de points-échantillons et la sub-

division de l'espace en cellules. Chaque cellule est de la forme :

(A, PE, f),

où A représente la surface de la cellule et PE est l'ensemble des points-échantillons

(appelé points-échantillons de la cellule) qui vont permettre de déterminer une valeur pour tous

les points à l'intérieur de la cellule. f est la fonction d'interpolation représentant l'espace de la

cellule. Ce modèle représente une tessellation spatiale complétée par la notion de points-

échantillons d’une cellule et par la notion de la méthode d'interpolation.

Ayant proposé un modèle générique des champs continus, nous nous intéressons, dans

le chapitre suivant à l'intégration des données de type champs continus.

Page 28: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 2. Problématiques dans l’interrogation de BD de champs continus

28

2. Problématiques dans l'interrogation de BD de champs continus

Comme dit précédemment, l’interrogation et l’analyse de données champs amènent à considérer

deux classes de requêtes. Les requêtes basées sur :

Q1) une condition spatio-temporelle : “ Quelle est la valeur du champ sur un point don-

né v'(x, y, z, t) ? ”

Q2) une condition d'une valeur de champ : “ Quelles sont les régions qui présentent une

température égale à 28° ? ”

La première classe de requêtes (dites requêtes conventionnelles) est classique et

conventionnelle dans une base de données (BD) d’un champ continu. Elle demande la valeur du

champ correspondant à un point donné, ce qui revient à trouver la valeur d’un champ en une po-

sition donnée. A l’inverse, pour la seconde classe, il s’agit de déterminer des régions où le

champ a une valeur donnée. Nous appelons la deuxième classe de requêtes requêtes par valeurs.

Des requêtes complexes peuvent être composées par la combinaison de ces requêtes de base.

Bien que ces deux classes de requêtes impliquent des données de type champs, leurs méthodes

de traitement sont très différentes et induisent des coûts élevés, de par le volume important des

données champs.

Dans ce chapitre, nous présentons la procédure du traitement de requêtes selon leur

classe (présentée ci-dessus). Nous présentons particulièrement les problématiques posées pour

le traitement des requêtes de type Q2. La motivation de cette thèse est donc d'essayer de résou-

dre ces problématiques. Ensuite, nous illustrons la limitation de la méthode et quelques remar-

ques.

Page 29: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 2. Problématiques dans l’interrogation de BD de champs continus

29

2.1 Requêtes conventionnelles

Ce type de requêtes peut être noté F(v') où v' est la position donnée (la condition de la requête)

et la fonction F représente le champ. La condition de la requête peut être étendue à une ligne ou

une région. Lorsque la condition de la requête est un point, le résultat de la requête peut être une

valeur de champ ou un gradient. Le résultat peut être interprété différemment, lorsque la condi-

tion est une région, par exemple un minimum, un maximum, une intégrale ou une moyenne des

valeurs sur la région. En effet, une autre requête de ce type pourrait être : “ Déterminer la va-

leur moyenne dans une région S ”. Dans tous les cas, retrouver la valeur d’un champ en un point

ou en une région est nécessaire pour le traitement de ces requêtes relatives à un minimum, un

maximum, une intégrale, une moyenne et même les gradients.

Comme nous l'avons vu brièvement dans le chapitre précédent, la procédure de traite-

ment de ce type de requêtes pourrait être définie comme suit :

Etape C1) Déterminer la cellule ci auquel le point v' appartient.

Etape C2) Appliquer F(v') sur la cellule ci de manière à obtenir f (v', points-échantillons

( ci )).

Dans un premier temps, une cellule contenant le point v’ de la requête doit être déter-

minée. Ensuite, la fonction d’interpolation f correspondante doit être appliquée sur les points-

échantillons voisins du point v' à savoir les points-échantillons de la cellule ci issue de l’étape

C1.

La question qui se pose donc dans une Base de Données (BD) contenant un grand

nombre de cellules, est de trouver efficacement la cellule contenant le point de la requête. En

effet, ce traitement implique une opération spatiale courante dans les BD spatiales et ces requê-

tes peuvent donc être supportées par une méthode d’indexation spatiale conventionnelle comme

le R-tree ou une de ses variantes [GUTTMAN 84] [SELLIS et al. 87] [BECKMANN et al. 90].

D’ailleurs dans le cas des cellules régulières comme dans les DEM, nous pouvons ac-

céder directement à la cellule correspondante grâce à l’organisation physique des données. Par

exemple, en ce qui concerne son stockage sur disque, un DEM à 2 dimensions peut être linéarisé

Page 30: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 2. Problématiques dans l’interrogation de BD de champs continus

30

dans un tableau à une dimension ordonné selon les lignes. Dans ce cas, l’adresse physique d’une

cellule peut être calculée facilement sans aucune méthode d’indexation.

2.2 Requêtes par valeurs

L’objectif des requêtes de type Q2 est de déterminer des régions à partir d’une valeur donnée

w’. La condition de la valeur d’une requête w’ porte soit sur une valeur soit sur un intervalle.

Par exemple, les requêtes telles que “Quelles sont les régions qui présentent des précipitations

supérieures à 2000 mm par an ? ” ou bien “Quelles sont les régions qui présentent une tempé-

rature entre [20oC, 25oC] ? ” appartiennent à ce type de requêtes.

La plupart des applications des champs continus s'intéressent peu aux requêtes exactes

comme "Quelles sont les régions où la valeur est exactement égale à w' ?". En revanche, elles

semblent s'intéresser plutôt aux requêtes du type : "Quelles sont les régions où la valeur est ap-

proximativement égale à w' ?" car les valeurs mesurées sur les points échantillons peuvent

comporter des erreurs et des incertitudes. Ces requêtes peuvent être notées :

F-1(w’- e <w< w’+ e),

où e est la marge d’erreur tolérée. Plus généralement, nous pouvons définir ce type de requêtes

par F-1(w’ < w < w”) représentant une requête d'intervalle.

Contrairement aux requêtes Q1, les requêtes de type Q2 sont plus difficiles à traiter car

il existe plus d’une cellule dans lesquelles la valeur est égale, supérieure ou inférieure à w’. La

Figure 7 illustre l’exemple d’une requête dans un champ continu à 2 dimensions. Notons que le

plan XY a été projeté sur l’axe des V afin de simplifier le schéma. Le deuxième axe des w donne

les valeurs des champs.

Le champ est vu comme continu par ces points-échantillons et par les fonctions

d’interpolation. La cellule c1 contient les points-échantillons <v1, v2 ,v3 > et est représentée par

la fonction d’interpolation f1. La cellule c2 contient <v3, v4, v5> et elle est également représentée

par f2. Nous pouvons remarquer qu’à partir des valeurs des points-échantillons d’une cellule il

est possible de déduire l’intervalle de toutes les valeurs possibles à l’intérieur de la cellule : non

seulement les valeurs explicites mais aussi les valeurs implicites qui seront estimées par une in-

terpolation. Ces intervalles sont représentés par Ii pour chaque cellule ci .

Page 31: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 2. Problématiques dans l’interrogation de BD de champs continus

31

Figure 7. Exemple d'une requête par valeurs dans un champ continu.

Supposons que la valeur de la requête donnée soit w’ dans la Figure 7. Les points pour

lesquels les valeurs sont égales à w’ sont v’ et v”. Ils sont le résultat de la requête. Ces points du

résultat peuvent être calculés par interpolation après avoir déterminé les cellules <c1, c3> dont

l'intervalle chevauche la valeur de la requête w’. Plus précisément, v’ peut être calculé en appli-

quant la fonction inverse de l’interpolation correspondant, notée f1-1(w’), sur les points-

échantillons de c1, c’est-à-dire < v1, v2, v3>. Et v” peut également être déterminé par la fonction

f3-1(w’) sur les points-échantillons de c3, <v5, v6, v7>.

La procédure de traitement de ce type de requêtes pourrait alors être définie comme

suit :

Etape V1) Déterminer les cellules ci dont les intervalles de valeurs chevauchent la valeur

de la requête w' .

Etape V2) Appliquer F-1(w') sur les cellules ci : f -1(w', points-echantillons (ci)).

Reprenons la Figure 5 représentant un champ continu. Supposons la requête suivante :

“Déterminer les régions où la valeur est comprise entre 55 and 59”. Pour traiter cette requête,

Requête w'

v’ v ”

×

I1 I2 I3

v1

v2

v3

v4

v5

v6

v7

Valeur w

Espace v

( c1, f 1) ( c2, f 2) ( c3, f 3)

×

: point-échantillon

Page 32: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 2. Problématiques dans l’interrogation de BD de champs continus

32

nous devons premièrement déterminer les carrés <c1, c2, c3, c4 >. Les régions exactes de la ré-

ponse à la requête pourront ensuite être calculées.

Le problème des requêtes par valeurs dans un champ continu se ramène à « trouver

toutes les cellules dont les intervalles de valeurs chevauchent la valeur de la requête ». Sans

indexation, toute la base de données serait à analyser séquentiellement, ce qui entraînerait une

dégradation dramatique de la performance du système. Nous appelons cette méthode, la mé-

thode de ‘Balayage Séquentiel’. Dans ce mémoire, nous allons proposer des méthodes

d’indexation efficaces pour supporter les requêtes par valeurs dans les BD de champ continu en

accélérant la recherche des cellules satisfaisant aux conditions de ces requêtes.

2.2.1 Comment déterminer l'intervalle des valeurs d'une cellule ?

Comme nous l'avons vu, le traitement des requêtes par valeurs se base sur le traitement des in-

tervalles des cellules. L'intervalle d'une cellule ci peut être déterminé comme suit :

Ii = FI(ci) = FI(Ai , PEi , fi),

où FI est une fonction qui détermine un intervalle à partir de : Ai (l'aire couvrant exactement ci),

PEi (points-échantillons de la cellule ci) et fi (la fonction d'interpolation représentant ci).

Afin de déterminer l'intervalle d'une cellule, trois paramètres sont donc nécessaires.

Mais dans le cas où les points-échantillons de la cellules sont les sommets de la cellule (ex. des

TIN), Ai peut être absent car les points-échantillons peuvent représenter l'aire de la cellule.

Quelques exemples de déduction d'intervalles de cellules seront présentés par la suite.

Exemples :

La Figure 8 illustre quelques exemples de champs continus. En effet, cette figure montre com-

ment les intervalles des cellules peuvent être déduits dans un modèle spécifique.

Page 33: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 2. Problématiques dans l’interrogation de BD de champs continus

33

Figure 8. Détermination de l'intervalle des cellules dans des champs continus.

a) DEM

Les points-échantillons d'une cellule sont les sommets de la cellule. Supposons que la

fonction d'interpolation fi soit une fonction bilinéaire. Les valeurs sur tous les points à l'intérieur

d'une cellule sont délimitées par les valeurs de points-échantillons de la cellule.

Soit Ii l'intervalle de la cellule ci. Les intervalles Ii seront donc [40-60], [48-90], [50-

74], [60-110] pour i=1, 2, 3, 4.

40

c1

48 56

50 60 90

64 11074

c2

c3 c4

c2c1

c3 : 40

c2 : 30c1 : 23

c1

c2

c3

c4

c3

c5

40

48

61 60

50

40

63

80

a. DEM b.TIN

c.Voronoid.Tessellation polygonale

60

36

: point-échantillon

10

9

10

12 4

R : la distance entre le point-échantillonet le point le plus loin dans la cellule

R

Page 34: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 2. Problématiques dans l’interrogation de BD de champs continus

34

b) TIN

Les points-échantillons d'une cellule sont les sommets de la cellule. Supposons que la

fonction d'interpolation fi soit la fonction linéaire.

Les intervalles Ii seront donc [40-50], [48-60], [48-61] pour i=1, 2, 3.

c) Voronoi

Chaque cellule possède un point-échantillon en son centre. Supposons que la fonction

d'interpolation fi soit une fonction par pondération de la distance. En effet, la distance est défini

comme la distance d entre le point-échantillon et le point à estimer dans la cellule. Par exemple,

la valeur à estimer sur un point est définie comme w/d où w est la valeur du centre. Le maxi-

mum des valeurs possible à l'intérieur d'une cellule sera donc la valeur du point-échantillon. Le

minimum sera la valeur sur le point le plus loin du point-échantillon (c'est-à-dire le point cen-

tral) de la cellule. Pour chaque cellule, la distance entre le point-échantillon et le point le plus

loin est représentée dans la Figure 8.c.

Les intervalles Ii seront donc [36-3], [40-4], [60-15], [80-8], [63-7] pour i = 1, 2, 3, 4,

5.

Les résultats de l'estimation des points sur les frontières entre deux cellules ne sont pas

nécessairement identiques. En effet, les points sur les frontières peuvent être calculés soit à par-

tir de la première cellule soit à partir de la seconde. Une autre définition de l'estimation est donc

nécessaire pour des points sur les frontières (ex. prendre la moyenne de deux valeurs estimées

provenant des deux cellules voisines de la frontière). En d'autre termes, pour certaines méthodes

d'estimation, il se peut que la continuité ne soit pas assurée.

d) Tessellation polygonale

Les cellules sont des zones privilégiées qui possèdent une valeur unique pour tous les

points à l'intérieur de la cellule. La valeur unique pour chaque cellule est représentée dans la

Figure 8.d. La fonction d'interpolation fi peut donc être définie comme une fonction qui retourne

une valeur unique quelque soit le point considéré dans la cellule.

Page 35: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 2. Problématiques dans l’interrogation de BD de champs continus

35

Les intervalles Ii seront donc [23-23], [30-30], [40-40] pour i = 1, 2, 3.

2.2.2 Pourquoi ne pas indexer simplement des points-échantillons par un index comme le B-tree ?

Nous aurions pu pensé qu’il est possible d'indexer simplement les valeurs de points-échantillons

afin de traiter les requêtes par valeurs. Pour cela, le B-tree (ou le B+-Tree) [KNUTH 73]

[KORTH et SILBERSCHATZ 91] peut être utilisé. En effet, le B-tree est la méthode d'indexa-

tion la plus courante et populaire pour indexer ce genre de données alphanumériques comme des

valeurs de points-échantillons. Dans cette section, nous expliquons la raison pour laquelle nous

ne pouvons pas simplement indexer les valeurs des points-échantillons par le B-tree pour les re-

quêtes par valeurs. Cela signifie que nous devons finalement trouver une autre méthode d'in-

dexation pour accélérer la procédure présentée ci-dessus.

Supposons que la Figure 9 représente un terrain de type DEM et que la fonction d'in-

terpolation bilinéaire soit utilisée pour transformer les altitudes des points-échantillons discrets

en un terrain continu. Les chiffres entre parenthèses représentent les altitudes mesurées sur les

points-échantillons vi aux sommets des cellules. Les méthodes conventionnelles utiliseront les

valeurs discrètes des points-échantillons comme clé. Prenons des exemples de requêtes par va-

leurs :

Figure 9. Terrain de type DEM.

v2(46) v3(54) v4(80)

v5(50)v6(60) v7(90) v8(84)

v12(88)

v15(120)v14(112)v13(80)v12(80)

v9(64) v11(110)v10(74)

xx

x

xx

x

Réponses implicitespour R1

Réponses implicites pour R2

v1(40)

x

Page 36: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 2. Problématiques dans l’interrogation de BD de champs continus

36

R1 : “ Quelles sont les régions où l'altitude est égale à 115 ? ”

Une méthode d'indexation classique renverra Null car il n’y a aucune valeur explicite

égale à 115. En revanche, nous pouvons obtenir des points à l'intérieur de la cellule en-

tourée par les points-échantillons <v11, v12, v14, v15> en utilisant la procédure de trai-

tement des requêtes présentée précédemment (voir la Figure 9).

R2 : “ Quelles sont les régions où l'altitude est égale à 50 ? ”

Une méthode d'indexation classique renverra uniquement la position du point v5,

alors que la réponse correcte doit aussi inclure des points implicites se trouvant à l'inté-

rieur des cellules entourées par les points-échantillons <v1, v2, v5, v6> et <v2, v3, v6,

v7> (marquées dans la Figure 9).

R3 : “ Quelles sont les régions où l'altitude est entre 115 et 118 ? ”

Par la procédure que nous proposons, il est possible d’obtenir les régions répondant

aux critères de la requête. En revanche, il n'est pas possible de trouver la réponse à la

requête par une méthode d'indexation classique car les valeurs 115 et 118 de la requête

sont implicites.

D'une manière générale, les requêtes R1 et R2 doivent renvoyer une ligne ou un ensem-

ble de lignes de type "courbe de niveaux". Quand à R3, la zone de réponse est définie par l'es-

pace compris entre deux courbes de niveaux.

Par conséquent, nous ne pouvons donc pas utiliser une méthode d'indexation classique

(telle que le B-tree) avec des valeurs de points-échantillons car elle ne permet pas de trouver

des valeurs implicites provenant de la définition de continuité des champs considérés.

Page 37: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 2. Problématiques dans l’interrogation de BD de champs continus

37

2.3 Motivation des travaux

Comme nous l'avons vu, sans indexation le traitement des requêtes par valeurs requiert un ba-

layage séquentiel de toute la base de données. Malgré l'importance des méthodes efficaces de

traitement des requêtes par valeurs, aucune attention particulière ne leur a été portée, et aucun

travail significatif n'a été effectué sur ces méthodes d'indexation. Dans notre travail, nous vou-

lons donc proposer de nouvelles structures d'index qui améliorent le traitement des requêtes par

valeurs dans les grandes bases de données de champs continus. Ceci constitue la motivation et

la contribution pratique de cette thèse.

2.4 Remarque et hypothèse

Les méthodes d'interpolation peuvent être classifiées en méthodes globales ou locales [JEAN-

SOULIN 91] [PARIENTE 94]. Le modèle générique et les procédures de traitements des requê-

tes présentés dans la section précédente sont basés sur l'hypothèse de l'utilisation d'une méthode

d'interpolation locale. Pour mieux comprendre cette hypothèse, nous présentons d'abord la défi-

nition des méthodes globales et locales.

1) Méthodes globales:

Les méthodes d'interpolation globales tiennent compte de toutes les valeurs échantillon-

nées, donc de tous les points-échantillons (voir Figure 10.a.). Citons quelques méthodes

globales parmi les plus connues, comme les méthodes de pondération de la distance, la

méthode des différences finies [LAM 83], et le krigeage [MATHERON 67].

2) Méthodes locales:

Elles ne prennent en considération que les points-échantillons les plus proches (voir

Figure 10.b). Le nombre de ces points varie selon les méthodes (en général, au minimum

trois points sont nécessaires). Les méthodes locales courantes sont l'interpolation poly-

nomiale [LAM 83], les méthodes reposant sur une triangulation de l'espace d'étude, et

les splines [BARTELS et al. 87], [HERRING 91].

Page 38: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 2. Problématiques dans l’interrogation de BD de champs continus

38

Figure 10. a) Méthode d'estimation globale. b) Méthode d'estimation locale.

Comme nous l’avons vu dans le modèle proposé, l'espace d'un champ est divisé en un

grand nombre de cellules et la fonction d'interpolation ne considère, pour une requête donnée,

que des points-échantillons d'une cellule. Il est évidemment possible de diviser l'espace en une

seule cellule et d'utiliser une méthode globale qui considère tous les points-échantillons pour les

traitements des requêtes. Dans ce cas, les procédures des requêtes présentées perdent leur intérêt

pour les raisons suivantes :

a) La procédure de traitement des requêtes conventionnelles : l'étape 1 "Déterminer

la cellule ci à laquelle le point v' (à estimer) appartient" n'est plus nécessaire car le ré-

sultat est toujours la cellule qui représente l'espace total. Cela entraîne finalement un

grand temps de calcul pour l'exécution de l'étape 2 à cause du parcours complet du fi-

chier de points-échantillons pour chaque nouvelle estimation.

b) La procédure de traitement des requêtes par valeurs : puisqu'il n’existe qu’une

seule cellule et un seul intervalle de valeurs, et que cet intervalle chevauche toujours les

valeurs des requêtes, nous avons besoin de tous les points-échantillons pour appliquer la

fonction inverse d'interpolation comme c'est le cas pour la résolution des requêtes clas-

siques. Cela signifie qu'une méthode d'indexation est inutile pour améliorer la perfor-

mance des traitements des requêtes. En effet, les données devront obligatoirement être

intégralement parcourues.

? ?

: point-échantillon, : point à estimer?

a) b)

Page 39: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 2. Problématiques dans l’interrogation de BD de champs continus

39

Nous avons ainsi expliqué la raison pour laquelle nos travaux sont basés sur

l’utilisation d'une méthode d'indexation locale. En revanche, nous voulons insister sur le fait

que notre approche est aussi adaptée pour une méthode globale. En effet :

Les méthodes globales telles que la méthode des différences finies (MDF), Krigeage,

etc. proposent de discrétiser l'espace d'étude en cellules régulières ou non régulières

[KEMP 93] [PARIENTE 94]. En général, la discrétisation se fait sous la forme d'une

grille de cellules.

Les méthodes globales déterminent les points représentant chaque cellule en l'espace.

Les méthodes globales estiment les valeurs sur les points représentant une cellule en

considérant tous les points-échantillons originaux à chaque estimation. Ainsi, cela est

fait pour toutes les cellules. Les points représentant une cellule peuvent être les sommets

de la cellule (comme dans la Figure 11), ou le point au centre, ou bien encore d’autres

points définis par la représentation d'une application.

Les résultats du calcul de l'estimation sont stockés sur le disque dur et le processus de

traitement des requêtes accède à ces résultats plutôt qu’aux données originales. La rai-

son est que le temps de calcul d'une méthode globale est généralement très long pour de

grandes bases de données, et il n'est pas raisonnable d'effectuer le calcul à chaque exé-

cution d’une requête. Lorsque la valeur sur un point doit être estimée, nous déterminons

la cellule à laquelle appartient le point à estimer et nous ne prenons en compte que les

points représentant la cellule pour l'estimation plutôt que la totalité des points-

échantillons originaux. Nous appelons ces points, des représentants de points-

échantillons générés.

Il existe des systèmes qui génèrent une valeur unique pour toute une cellule, en général

au centre, et qui représente la valeur de champ en tous les points à l'intérieur de la cel-

lule (comme dans le modèle Raster) [PARIENTE 94] [BROWN 97]. Comme nous

l’avons vu dans la section 1.1, cette représentation n'est pas adaptée pour représenter un

champ continu. En effet, elle implique une seule valeur homogène pour tous les points

inclus dans une cellule. Celle-ci serait adaptée si la résolution de la discrétisation de

l'espace était suffisamment précise (élevée) pour qu’une cellule ne représente, en fait,

qu’un seul point. Mais malheureusement, cela n'est pas le cas en réalité.

Page 40: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 2. Problématiques dans l’interrogation de BD de champs continus

40

Il est alors préférable de générer les valeurs sur plusieurs points pour représenter les va-

leurs d'une cellule, et d'appliquer une méthode d'interpolation locale à partir de ces

points générés lors de la demande d'une valeur sur un point.

La Figure 11 représente l'architecture générale de définition d'un champ utilisant une

méthode globale. Dans la Figure 11, la méthode globale s'exécute une fois pour générer des ré-

sultats. Ensuite, le processus de requêtes utilise une méthode locale, comme par exemple, une

interpolation linéaire avec des résultats stockés.

Il est possible de trouver un exemple d’utilisation de cette architecture dans un système

d'information des données spatio-temporelles de l'environnement [BROWN 97], qui sera

présenté dans la section 7.2.

En conclusion, nous remarquerons que les résultats des points-échantillons générés

dans un espace discrétisé peuvent finalement être représentés par le modèle que nous proposons,

et qu’ils doivent également être vus comme continus. Cela signifie qu’il est possible d’adopter

les procédures de traitements des requêtes présentées dans la section précédente et aussi

d’utiliser les méthodes d'indexation qui vont être proposées dans cette thèse pour accélérer le

temps de traitement des requêtes, spécifiquement des requêtes par valeurs.

Page 41: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 2. Problématiques dans l’interrogation de BD de champs continus

41

Figure 11. Architecture générale d'un champ continu utilisant une méthode globale.

Discrétiser l’espace du champ

Estimer les valeurs sur tous les sommets par uneméthode globale

doit être vucomme continu

= points-échantillons originaux

Résultats

= points-échantillons générés

Stocker les résultatsdu calcul

ou , etc...

Requêtes

Page 42: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 2. Problématiques dans l’interrogation de BD de champs continus

42

2.5 Limitation de la méthode d’indexation

Dans cette section, nous expliquons la limitation de la méthode d'indexation pour les traitements

des requêtes par valeurs. En effet, pour quelques méthodes d'interpolation, il existe des cas où

l'étape (V1) ne trouve pas certaines cellules, alors qu’elles devraient être prises en compte pour

l'étape (V2). La Figure 12 montre un exemple de ce cas.

Figure 12. Limitation de la méthode d'indexation.

Supposons qu'il existe deux cellules, c1 et c2 possédant les points-échantillons <v1, v2>

et < v2, v3, v4> (comme le montre la Figure 12). Pour répondre à la requête par valeurs "Quelles

sont les régions où la valeur est égale à w' ?", la fonction inverse d'interpolation f2-1(w’) doit

être appliquée sur les points-échantillons de la cellule c2 afin de trouver les positions des points

marqués par le signe "x" dans la Figure 12. Cependant la cellule c2 ne peut pas être trouvée par

l'étape (V1) car l'intervalle des valeurs c1, I1 ne chevauche pas la valeur de la requête w'. Ce

problème provient du fait que cette interpolation introduit de nouveaux points (appelés points

extrêmes) dans la base de données originale.

La limitation de nos méthodes d'indexation est qu’elles ne fonctionnent que pour les

méthodes d'interpolation qui n'introduisent pas de nouveaux points extrêmes. Néanmoins, si des

méthodes d'interpolation peuvent prévoir les points extrêmes par un simple calcul mathémati-

Requête w'

I2

Valeur w

Espace v

( c1 , f1 ) ( c2 , f 2)

I1 v1

v2

v3 v4x x

: point-échantillon

Page 43: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 2. Problématiques dans l’interrogation de BD de champs continus

43

que, nos méthodes d'indexation peuvent fonctionner en utilisant des intervalles de valeurs pre-

nant en compte les points extrêmes.

2.6 Requête par valeurs et modèle des courbes de niveau

Les courbes de niveau sont des isolignes et chaque ligne relie des points qui ont la même valeur

(voir Figure 6).

Les résultats des requêtes par valeurs dans un champ continu représentent finalement

des courbes de niveau d'une valeur donnée par la requête. Ainsi, nous aurions pu pensé qu’il se-

rait préférable d'utiliser des courbes de niveau pour traiter les requêtes par valeurs. Pourtant,

dans la section 1.2 et la section 1.3, nous n'avons pas pris en compte ce modèle pour définir un

modèle générique de champs continus car il est peu satisfaisant pour la représentation des

champs continus. Les raisons sont les suivantes [van KREVELD 94] :

- Les courbes de niveau ne sont pas adaptées pour calculer facilement des inclinaisons ;

l'inclinaison étant une caractéristique importante à considérer dans un champ continu.

- Les courbes de niveau ne sont pas adaptées pour créer des modèles en relief.

- Les valeurs des points entre les courbes de niveau ont besoin d’être déterminées (esti-

mées). Calculer de nouvelles courbes de niveau (par exemple intermédiaires) qui ne sont

pas définies dans les courbes de niveau stockées constitue un processus difficile et grand

consommateur de temps .

Ainsi, le modèle de courbes de niveau est utilisé plutôt comme une structure intermé-

diaire, car des courbes de niveau peuvent, en effet, être calculées à partir des autres modèles il-

lustrés précédemment (voir 1.2). C’est la raison pour laquelle nous ne considérons pas ce mo-

dèle dans le traitement des requêtes.

Page 44: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 2. Problématiques dans l’interrogation de BD de champs continus

44

Nous proposons donc une méthode d’indexation qui accélère le calcul des courbes de

niveaux, et qui peut s’appliquer pour plusieurs modèles de représentation comme par exemple

TIN, DEM, etc. Cette approche possède aussi un autre avantage : les courbes de niveau peuvent

être extraites pour n’importe quelle valeur (par des requêtes par valeurs). Ainsi, au lieu de stoc-

ker des courbes de niveau en plus d’un modèle primaire (ex. TIN, DEM, etc.) et de les interpo-

ler, nous utilisons seulement le modèle primaire et une méthode efficace pour extraire de ma-

nière interactive les courbes de niveaux (pour n’importe qu’elle valeur). Cela fournit une

solution flexible et efficace en terme de stockage.

2.7 Conclusion

Dans ce chapitre, nous avons présenté la procédure de traitement des requêtes sur les champs

continus. Les requêtes sur les champs continus peuvent être classées en deux catégories :

- requêtes conventionnelles basées sur une condition spatio-temporelle,

- requêtes par valeurs basées sur la condition d'une valeur de champ.

Contrairement aux requêtes conventionnelles pouvant être supportées par une méthode

d'indexation spatiale existante, les requêtes par valeurs sont plus difficiles à traiter. Nous avons

montré que le traitement de la requête consistait finalement à "trouver les cellules dont l'inter-

valle intersecte la valeur de la requête" (noté "étape V1"). La fonction inverse de l'interpolation

doit être appliquée sur les cellules trouvées pour les régions du résultat. Or, nous ne portons no-

tre attention que sur des méthodes accélérant l'étape V1 car cette étape est grande consomma-

trice de temps pour le cas des bases de données de grand volume. Cela signifie que notre mé-

thode est indépendante de la méthode d'interpolation pouvant être spécifiée selon les

caractéristiques des données. L'objectif de nos travaux est donc de développer une méthode

d'indexation accélérant l'étape V1 pour le traitement efficace des requêtes par valeurs.

Le traitement des requêtes par valeurs repose sur le traitement des intervalles des cel-

lules. L'intervalle des cellules est une information que l'on peut extraire facilement selon diffé-

rents modèles et différentes méthodes d'interpolation.

Page 45: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 2. Problématiques dans l’interrogation de BD de champs continus

45

Les méthode d'interpolation peuvent être classées en méthodes globales ou locales se-

lon leurs stratégies de prise en compte des points-échantillons. En effet, nos travaux reposent

sur l'hypothèse de l'utilisation d'une méthode locale. Cela peut impliquer une limitation de nos

travaux. En revanche, en pratique, les applications avec une méthode globale se ramènent au

modèle générique, et à l'utilisation d'une méthode locale pour le traitement des requêtes. Cela

justifie la nécessité et l’utilité de nos travaux.

Le chapitre suivant présente un état de l'art des travaux sur les méthodes d'indexation

par valeurs et les méthodes d'indexation pour les données intervalles.

Page 46: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 3. Etat de l’art

46

3. Etat de l’art

Peu de recherche se sont intéressées à l’indexation et au traitement des requêtes des

données champs continus et aucun travail significatif n’a été produit à notre connaissance. Les

recherches actuelles et antérieures se sont focalisées plutôt sur les problèmes de modélisation

conceptuelle et de représentation des données champs continus [KEMP 93] [PARIENTE 94]

[VCKOVSKI 95] [KEMP 97a] [KEMP 97b] [GORDILLO et BALAGUER 98] [OUATIK EL

ALAOUI 99]. Dans [PARIENTE 94], un modèle orienté objet pour implémenter une nouvelle

méthode d’estimation de champs continus basée sur une approche neuronale a été spécifié. Un

raffinement de ce modèle a été étudié dans [GORDILLO et BALAGUER 98] permettant de

changer dynamiquement la méthode d’estimation en fonction des caractéristiques des phénomè-

nes à estimer. [LAURINI et PARIENTE 96] a spécifié un langage pour la déclaration et de ma-

nipulation des champs continus. Le langage proposé est construit sur une extension du langage

de programmation du système de gestion de bases de données orientées objet O2. Toutefois si la

modélisation et la représentation des données champs peuvent être encore approfondies,

l’indexation et le traitement des requêtes restent un domaine inexploré en dépit de son impor-

tance.

Ce chapitre se divise en deux sections. Dans la section 3.1"Indexation par valeurs ,

nous présentons un état de l'art des travaux concernant les traitements des requêtes par valeurs

dans les champs continus. Comme nous l'avons remarqué, le problème des requêtes par valeurs

dans un champ continu se ramène à la recherche des cellules dont les intervalles de valeurs che-

vauchent la valeur de la requête (voir 2.2. Requêtes par valeurs). Cela implique la définition

d'une méthode d'indexation des données intervalles car la condition de la requête concerne les

intervalles (ex. une méthode simple est d'indexer les intervalles de chaque cellule dans l'espace

- voir 4.1. Méthode simple : Méthode I-All). Dans la section 3.2 "Méthode d'indexation des

données intervalles", nous proposons un état de l'art des méthodes d'indexation existantes pour

les données intervalles et nous choisissons une méthode efficace pour indexer des intervalles

Page 47: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 3. Etat de l’art

47

dans des champs continus. La méthode choisie pour les intervalles sera utilisée dans des métho-

des d’indexation par valeurs présentées dans cette thèse.

3.1 Indexation par valeurs

Dans cette section, nous présentons des travaux concernant des méthodes d'indexation pour ac-

célérer les traitements des requêtes par valeurs.

3.1.1 Extraction des iso-surfaces

Des approches similaires au traitement des requêtes par valeurs dans les champs continus ont

été proposées pour l'extraction des isosurfaces à partir des données volumétriques scalaires

[CIGNONI et al. 96] [CIGNONI et al. 97] et pour l'extraction des isolignes à partir des TIN

[van KREVELD 94].

Les volumes et les triangles possèdent les altitudes aux sommets. A chaque volume ou

chaque triangle est associé un intervalle d'altitude délimité par le maximum et le minimum des

altitudes aux sommets. En effet, lorsque l'altitude w' donnée comme condition de la requête est

comprise entre le maximum et le minimum d'un intervalle, le volume ou le triangle associé à cet

intervalle contribue aux isosurfaces ou isolignes. L'Interval-tree [EDELSBRUNNER 80] a été

utilisé afin d'indexer les intervalles. En revanche, l'Interval-tree est une méthode d'indexation

basé sur la mémoire ("memory-based"), c'est-à-dire que toutes les données sont censées être

chargées en mémoire pour le traitement des requêtes. Ainsi, cette méthode n'est pas adaptée

dans le cas de grandes bases de données, ce qui est le cas que nous considérons.

3.1.2 Application de Navigation de terrains aidée par l’IP-Index

L’IP-index est une méthode d'indexation par valeurs dans des séquences de temps [LIN 96].

Cette méthode a été utilisée dans [LIN et RISCH 97] pour une application de navigation de ter-

rain. Un avion se localise en comparant l'altitude du terrain (qu’il saisit) avec la carte d'altitude

du terrain embarquée dans l'avion. En volant, l'avion mesure l'altitude du terrain qu’il survole

par un capteur. Ces valeurs mesurées donnent une trajectoire de l'altitude. La succession des al-

titudes mesurées sont comparées aux celles de la carte pour trouver la position de l'avion. Sans

index, la procédure de comparaison doit parcourir séquentiellement toute la carte. L’IP-index

Page 48: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 3. Etat de l’art

48

est donc utilisé pour trouver les zones où l'altitude est entre (h-10, h+10), où h est l'altitude

donnée et 10 est l'erreur possible dans la mesure.

3.1.2.1 IP-index

L’IP-index est une méthode d'indexation par valeurs pour de grandes séquences de temps (pour

les requêtes telles que "Quand la valeur est égale à v' ?"). De nombreuses applications des sé-

quences de temps demandent de voir les séquences comme continues (par interpolations)

comme par exemple dans le cas de la température d'une patiente. Dans la Figure 13, les points

s1, s2, s3, et s4 représentent les températures mesurées. Ces points sont vus comme continus par

le biais des segments reliant les points consécutifs. En effet, si on trouve les segments qui cou-

pent la droite définie par la fonction v = v’, les points temporels de la réponse peuvent être cal-

culés (par interpolation). L’IP-index extrait donc les segments qui chevauchent la valeur de la

requête v'.

Figure 13. IP-index.

Lorsqu'on projette les segments des points consécutifs sur l'axe v, on peut obtenir les

intervalles [kj, kj+1[ qui ne se chevauchent pas, où chaque ki est une valeur distincte sur v (voir

k1 ,.., k4 dans la Figure 13). L’IP-index associe chaque intervalle [kj , kj+1[ aux segments qui le

chevauchent. Chaque segment peut être identifié par un point de début (ex. le segment composé

de deux points [s1, s2] est identifié par s1). Aussi chaque intervalle [kj , kj+1[ peut être identifié

par le point de début kj. L’IP-index utilise donc si ( kj ) pour représenter le segment [si, si+1]

(l'intervalle [kj , kj+1[). Nous pouvons extraire les éléments de l’IP-index sous la forme de [ kj,

<s> ], où kj est un intervalle et <s> est la liste des segments chevauchant kj. Dans la Figure 13, [

Elements de IP-index

[ k1 , <S1, S2> ]

[ k2 , <S2> ]

[ k3 , <S2, S3 > ]

[ k4 , nil ]

s1

s4

s3

s2

v

t

k4

k3

k2

k1

Page 49: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 3. Etat de l’art

49

k3, <s2, s3> ] représente l'intervalle [k3, k4[ chevauché par les segments [s2, s3] et [s3, s4]. L’IP-

index peut utiliser un B-tree pour indexer des éléments, en utilisant ki comme clé.

Pour traiter la requête " Quand la valeur est-elle égale à v' ?", une recherche dans le B-

tree est exécutée pour trouver l'élément de l’IP-index dont la clé est km , avec km = max{kj | kj ≤

v' }. Ensuite, une méthode d'interpolation est exécutée sur la liste des segments de km.

3.1.2.2 Comment utiliser l’IP-index dans cette application ?

L’IP-index est utilisé pour trouver des zones correspondant à l'altitude donnée par une carte

d'altitude. La carte d'altitude est stockée sous forme de maillage de grilles régulières (une alti-

tude mesurée sur le point central de chaque grille, voir la Figure 14). Puisque l’IP-index est

conçu pour les séquences à 1 dimension, il ne peut pas être appliqué directement à la carte (à

deux dimensions). [LIN et RISCH 97] considère chaque ligne du maillage de la carte comme

une séquence continue du temps (voir la Figure 14). Ainsi, un IP-index est construit pour cha-

que ligne. La recherche relative à une requête est effectuée pour chaque IP-index.

Figure 14. Transformation entre la carte et des séquences de temps.

3.1.2.3 Conclusion

L'application utilisant les IP-index ne respecte que la continuité des altitudes sur l'axe

des X en considérant chaque ligne comme une séquence continue. En pratique, les altitudes sont

aussi continues sur l'axe Y, dans la direction diagonale, etc. Ainsi, on ne peut pas utiliser des IP-

index comme dans l’application pour les données continus multidimensionnelles (ex. terrain)

h11 h12 h1n

h21 h22 h2n

hm1 hm2 hmn

la carte (m*n)

{h11 , h12 ,………….. , h1n}

{h21 , h22 , ………….. , h2n}

{hm1 , hm2 ,………….. , hmn}

les séquences

* hij : l'altitude de terrain dans sur le centre de la grille (i,j)

Page 50: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 3. Etat de l’art

50

car ils ne peuvent pas traiter la continuité totale des données (c’est-à-dire les données des

champs continus).

L’IP-index utilise les caractéristiques spéciales des séquences de temps, par exemple

les points mesurés dans une séquences du temps sont ordonnées mais ce n'est pas le cas des

donnée de champs qui sont multidimensionnelles. Il est donc difficile d'étendre l’IP-index aux

données de type champs.

3.2 Méthode d'indexation des données intervalles

Comme nous l'avons vu, dans le cadre du traitement des requêtes par valeurs, nous avons besoin

d'une méthode d'indexation pour indexer des intervalles. Il existe déjà de nombreux travaux sur

les méthodes d'indexation pour des données intervalles, surtout dans le domaine de Base de

Données Temporelles (TDB : Temporal DataBase) [BERTINO et al. 97] [SALZBERG et TSO-

TRAS 97]. Nous utilisons une des méthodes existantes pour l'indexation des intervalles. Il est

alors nécessaire de choisir une bonne méthode parmi les méthodes existantes. Il faut pour cela,

prendre en compte les caractéristiques des données intervalles dans les BD de champs. Dans

cette section, nous proposons un état de l'art sur les méthodes existantes, et nous choisissons

une méthode pour l'indexation des intervalles dans les BD de champs.

Dans une TDB, les évolutions des objets peuvent être maintenues (ce genre de TDB est

appelée BD historique, HDB Historical DataBase). Dans une TDB, un objet peut avoir plusieurs

versions. Chaque version est associée à un intervalle de temps [Ts, Te]. Ainsi, un objet est valide

pendant les intervalles de temps associés. C'est la raison pour laquelle ces intervalles de temps

sont appelés aussi les intervalles de temps valides.

Les méthodes d'indexation pour des intervalles de temps dans les TDB sont utilisées

pour extraire toutes les versions d’objets correspondant à un intervalle donné. Une version va-

lide signifie que son intervalle de temps intersecte l'intervalle donné de la requête [NASCI-

MENTO et al. 96] [BERTINO et al. 97].

Plusieurs classifications des méthodes existantes sont possibles. Selon [BERTINO et

al. 97], la plupart des méthodes d'indexation temporelles proposées jusqu'à maintenant sont

Page 51: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 3. Etat de l’art

51

principalement basées sur le B-tree (ou sa variante le B+-tree) ou sur les index spatiaux comme

le R-tree [GUTTMAN 84]. [BERTINO et al. 97] classifie donc les méthodes existantes selon

l'index sur lequel elles reposent :

- Méthodes d'indexation basées sur les B-trees

- Méthodes d'indexation basées sur les R-trees

Examinons - les en détail.

3.2.1 Méthodes d'indexation basées sur les B-trees

Il existe de nombreuses méthodes basées sur le B-tree. Les méthodes les plus connues et les

plus prometteuses dans cette catégorie sont les suivantes : Time Index [ELMASRI et al. 90],

Append-Only tree (AP-tree) [GUNADHI et SEGEV 93], Snapshot Index [TSOTRAS et KAN-

GELARIS 95], Interval B-tree [ANG and TAN 95] et MAP21 [NASCIMENTO et al. 95]. Time-

Split B-tree (TSB tree) [LOMET et SALZBERG 89] est aussi une méthode d'indexation tempo-

relle connue mais elle ne peut pas être utilisée pour des données intervalles [BERTINO et al.

97]. Nous éliminons donc la possibilité d'utiliser le Time Split B-tree.

Certaines méthodes reposent sur l'hypothèse que le minimum d'un intervalle à insérer

dans l'index doit être plus élevé que le maximum de l'intervalle inséré précédemment (insertion

des intervalles dans un ordre croissant - "monotic appending with incremental time values"). Le

AP-tree et le Snapshot Index font partie de cette catégorie [NASCIMENTO et al. 96] [BERTI-

NO et al. 97]. En revanche, les intervalles dans les BD de champs ne satisfont pas cette hypo-

thèse car les intervalles dans les champs ne sont pas des intervalles de temps, et ne sont pas for-

cément insérés de manière croissante. Ainsi, nous éliminons également la possibilité d'utiliser

l'AP-tree et le Snapshot Index.

Dans la suite, nous présentons les autres méthodes et discutons aussi leurs avantages et

leurs inconvénients afin de choisir la meilleure méthode pour indexer des intervalles des valeurs

dans les champs.

Page 52: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 3. Etat de l’art

52

3.2.1.1 Time-Index

L'idée du Time index est de maintenir un ensemble de points d'index ordonnés (indexing points)

sur l'axe du temps [ELMASRI et al. 90]. Un point d'index est soit un point du temps où un nou-

vel intervalle commence soit un point du temps qui suit immédiatement un intervalle terminé.

Le concept des points d'index est illustré dans la Figure 15 pour certaines données temporelles.

Dans la Figure 15, les points d'index sont donc BP = { 0, 2, 4, 6, 8, 10, 11, 12, now }. Le point

du temps 6 est un point d'index car e21 s'est terminé au point 5. Ces points sont indexés par un

B+-tree (voir Figure 16).

Figure 15. Intervalles des versions d'objets [ELMASRI et al. 90].

Figure 16. Time-index pour des données de la Figure 15 [ELMASRI et al. 90].

Page 53: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 3. Etat de l’art

53

Chaque élément d'une feuille du B+-tree possède un point d'index ti et un pointeur sur

l'ensemble (bucket) de tous les identifiants (Id) dont les versions ont des intervalles de temps

contenant l'intervalle [ti, ti+ - 1] (ti

+ est le point d'index suivant ti dans BP) comme dans la

Figure 16. Un long intervalle apparaît plusieurs fois dans les buckets (ex. e12, e32). Pour réduire

cette duplication, un schéma croissant (incrémental) est utilisé. Dans cette méthode, il n'y a que

le premier élément de chaque feuille qui peut posséder l'ensemble de tous les Ids. Les autres

éléments contiennent seulement le changement des intervalles (comme le montre la Figure 17).

Dans la Figure 17, les signes "+" (resp. "-") représentent l'ajout (resp. la suppression) d'un in-

tervalle de temps par rapport à l'ensemble précédent. De nombreuses duplications sont réduites

mais il existe toujours des duplications pour les longs intervalles.

Figure 17. Stocker le changement des intervalles dans le Time-index.

Pour extraire les Ids dont les intervalles chevauchent l'intervalle de la requête, le buc-

ket complet du premier élément de chaque feuille concernée par la requête doit être lu pour re-

construire la liste des intervalles de la réponse (en considérant les changements des intervalles).

Un Time Index est efficace pour des intervalles de temps courts. En revanche, pour les

longs intervalles (supposons que tous les intervalles commencent à un moment différent et se

terminent à now), les duplications des données peuvent être importantes et dégradent la perfor-

mance de l'index [BERTINO et al. 97] en augmentant la taille de l'index comparativement aux

autres méthodes comme Interval B-tree [ANG and TAN 95], MAP 21 [NASCIMENTO et al.

95].

Page 54: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 3. Etat de l’art

54

3.2.1.2 Interval B-tree

L'Interval B-tree est conçu pour améliorer la performance du Time-Index en terme de complexi-

té de temps et d'espace [ANG and TAN 95]. Un Interval B-tree se compose de trois structures:

structure primaire, secondaire et tertiaire.

La structure primaire est un B+-tree pour indexer les bornes des intervalles. Au départ,

il y a un seul nœud vide. Les intervalles sont insérés dans ce nœud. Soit un ensemble de n va-

leurs, on appelle valeur du milieu, le ⎡n/2⎤ ème élément de cet ensemble. Lors du débordement

de capacité de ce nœud, un nœud père est créé. Les bornes des intervalles insérés dans le nœud

sont triés et la valeur m du milieu de ces bornes est stockée dans le nœud père créé (appelé

nœud index). Les intervalles seront stockés dans les deux nœuds ; les intervalles plus grands

que le m seront dans le nœud de droite, et ceux plus petits que m seront dans le nœud de gauche

(comme dans un B+-tree). Les intervalles contenant m sont stockés dans une structure se-

condaire attachée à m. La Figure 18.a montre l'Interval B+-tree après l'insertion des intervalles

e11, e12, e21 de la Figure 15. Supposons que la capacité du nœud est 2. Lors de l'insertion de e21,

le nœud initial est plein. La valeur m est égale à 6 c'est-à-dire la valeur du milieu des bornes

triées {0, 4, 6, now}. m est stocké dans le nœud index. Les intervalles e12, e21 sont stockés dans

la structure secondaire attachée à la valeur 6 car ils contiennent la valeur 6. e11 est stocké dans

le nœud de gauche comme le montre la Figure 18.a.

Figure 18. a) Interval B+-tree après l'insertion de e11, e12, e21 de la Figure 15. b) Interval B+-tree

après l'insertion de toutes les versions et d'un intervalle e81 [5, 12].

6

e11[0, 4]

e12 [0, now]

e21 [0, 6]

feuille àgauche

Nœud index

Structuresecondairedu 6

feuille àdroite

6

e11[0, 4]

e41 [2, 4]

e12 [0, now]

e21 [0, 6]

e31 [0, 10]

e81 [5, 12]

e42 [8, now]

e32 [8, 10]

e61 [11, now]

e71 [12, now]

e42 [8, now]

e32 [8,10]

e51 [10, now]

10

Structure tertiaire

Structureprimaire

Structuresecondaire

a. b.

Page 55: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 3. Etat de l’art

55

Toutes les valeurs dans les nœuds index sont maintenues dans un arbre binaire, appelé

structure tertiaire. Lors d'une insertion, si l'intervalle à insérer contient plusieurs valeurs dans

les nœuds index, l'intervalle sera stocké dans la structure secondaire attachée à la première va-

leur rencontrée dans l'arbre binaire. La Figure 18.b illustre l'Interval B+-tree après l'insertion de

toutes les versions de la Figure 15. Les valeurs 6 et 10 sont donc maintenues dans un arbre bi-

naire. La valeur de la racine de cet arbre est 6. Soit un intervalle à insérer e81[5, 12]. Cet inter-

valle sera stocké dans la structure secondaire attachée à la valeur 6 même si e81 contient les va-

leurs 6 et 10 (car cet intervalle rencontre d'abord la valeur 6 dans l'arbre binaire). Cela permet

d'éviter la duplication du stockage des longs intervalles.

En revanche, un Interval B-tree utilise des structures très compliquées. En outre l'effi-

cacité de l'index dépend de la distribution des données et des valeurs choisies pour m c'est-à-

dire la valeur dans les nœuds index. Un mauvais choix pourrait faire stocker un nombre impor-

tant d'intervalles dans les structures secondaires. Cela entraîne un B+-tree de faible taille et des

structures secondaires de taille importante, ce qui donne de mauvaises performances [BERTINO

et al. 97].

3.2.1.3 MAP21

L'idée principale est de transformer chaque intervalle en un point dans un espace à 1 dimension

et d'indexer par un B+-tree ces points transformés. Un intervalle [Ts, Te] est donc transformé en

un point z = Ts*10s + Te, où s est le nombre maximum de chiffres pour transformer tous les in-

tervalles en points [NASCIMENTO et al. 95]. Un avantage de cette méthode est la facilité de

maintenance de l'index (insertion et suppression) [SALZBERG et TSOTRAS 97]. La Figure 19

montre un exemple de transformation des intervalles avec s = 2.

Figure 19. Transformation des intervalles de MAP21.

Intervalles originaux

Points transformés

Page 56: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 3. Etat de l’art

56

Cette méthode suppose que la longueur maximale ∆ des intervalles est connue. Pour

extraire les intervalles chevauchant l'intervalle de la requête r = [Ts, Te], il faut déterminer

deux points z1 et z2 délimitant tous les points qui pourraient satisfaire la requête : z1 = ⎡ ⎡(Ts -

∆)*10s + Ts⎤ ⎤ et z2 = ⎣ ⎣Te*10s + (Te + ∆)⎦ ⎦ avec z1 <= z2 (pour plus de détails voir [NAS-

CIMENTO et al. 95]). D'abord une recherche de z1 dans le B+-tree est effectuée. Ensuite, on

parcourt séquentiellement dans le B+-tree les points transformés de z1 à z2. On vérifie si l'in-

tervalle original de chaque point parcouru intersecte ou non r. Il peut arriver que de nombreux

intervalles qui n'intersectent pas r soient rencontrés durant le parcours entre z1 et z2, ce qui

donne de mauvaises performances [SALZBERG et TSOTRAS 97]. Un autre inconvénient est

que les bornes des intervalles doivent être des valeurs entières, ce qui demande une conversion

des intervalles des champs (qui ne sont, à la base, pas forcement des entiers).

3.2.2 Méthodes d'indexation basées sur les R-trees

La dimension temporelle peut être vue comme une dimension d'un espace multidimensionnel.

Elle peut donc être indexée par une méthode existante d'indexation spatiale. Nous présentons

comment le R-tree [GUTTMAN 84] (ou ses variantes comme le R+-tree [SELLIS et al. 87] ou

le R*-tree [BECKMANN et al. 90]) peuvent être utilisés pour indexer des intervalles. En effet,

il existe de nombreuses méthodes d'indexation spatiale [GAEDE et GUNTHER 95]. Nous utili-

sons la famille des R-trees car elle est reconnue comme une des méthodes d'indexation spatiales

les plus performantes [GAEDE et GUNTHER 95], et elle est aussi utilisée dans de nombreuses

méthodes d'indexation temporelle [SALZBERG et TSOTRAS 97] [FALOUTSOS 96].

Il existe deux façons d'utiliser un R-tree pour indexer des intervalles de temps. Le R-

tree peut être utilisé comme un R-tree à 1 dimension (1-D R-tree) ou comme un R-tree à 2 di-

mensions (2-D R-tree). Dans un premier temps, nous présentons le R-tree brièvement. Ensuite,

nous présentons les méthodes d'indexation des intervalles basées sur les R-trees.

Page 57: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 3. Etat de l’art

57

3.2.2.1 R-tree

La méthode R-tree est une extension multidimensionnelle de B-tree, et utilise des Rectangles

Englobants Minimaux (MBR, Minimum Bounding Rectangle). Supposons un espace à 2 dimen-

sions. Chaque objet spatial est encadré par un MBR, les MBRs proches étant regroupés dans un

autre MBR, et ceci de manière récursive (voir la Figure 20).

Figure 20. Exemple de R-tree.

Un élément d'un nœud intermédiaire est noté (p, RECT) où p représente le pointeur sur

le nœud fils de l'élément et RECT est le MBR de l'élément. Un élément d'une feuille est noté

(oid, RECT) où oid est l'identifiant de l'objet et RECT est son MBR.

Pour trouver les objets intersectant la zone de la requête, l'algorithme descend dans

l'arbre depuis la racine (on l'appelle l'algorithme 'Intersect'). L'algorithme traverse récursive-

ment les sous-arbres ayant leurs MBRs intersectant la zone de la requête. Au niveau des feuil-

les, chaque objet ayant un MBR intersectant la zone de la requête sera extrait afin de tester s'il

intersecte la zone de requête (voir la Figure 20).

A B C

D E F GN

M M

D

G

I

K

E

F

HJ

H I J K L M N

B

C

A

la zone dela requête

Page 58: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 3. Etat de l’art

58

3.2.2.2 1-D R-tree

Pour utiliser un 1-D R-tree, les intervalles de temps [Ts, Te] sont traités comme des segments

de lignes dans un espace à 1 dimension. En effet, dans les TDB un objet temporel possède une

clé (c'est-à-dire un identifiant - les versions d'un même objet possèdent la même clé). Pour in-

dexer les intervalles de temps et les clés des objets en même temps, on utilise le 2-D R-tree plu-

tôt que le 1-D R-tree. Dans ce cas, les intervalles sont considérés comme des segments de ligne

sur un premier axe et les clés sont représentées sur un second axe. En revanche, pour l'indexa-

tion par valeurs dans les champs continus, nous avons seulement besoin d'indexer les interval-

les. Nous utilisons donc un 1-D R-tree.

Pour extraire les intervalles qui chevauchent l'intervalle de la requête, il suffit d'exécu-

ter l'algorithme 'Intersect' dans le R-tree.

Il est connu que cette solution offre en moyenne de bonnes performances [SALZBERG

et TSOTRAS 97]. En revanche, il peut arriver que les longueurs des intervalles ne soient pas

très uniformes (par exemple, dans le cas d'une grande proportion de "courts intervalles" et une

petite proportion de "longs" intervalles). Dans ce cas, les longs intervalles causent des chevau-

chements entre MBRs, lors de l'utilisation d'un 1-D R-tree. Ces chevauchements entre MBRs

peuvent devenir très importants et dégrader les performances de la recherche (comme observé

dans [KOLOVSON et STONEBRAKER 91]). En effet, ces chevauchements entraînent la multi-

plication du nombre des nœuds à tester et dégradent les performances de la recherche dans le R-

trees [SALZBERG et TSOTRAS 97]. Afin de traiter ce problème, la méthode Segment R-tree

(SR-tree) a été proposée.

SR-tree

Contrairement au R-tree, le SR-tree stocke les intervalles non seulement dans les feuilles mais

aussi dans les nœuds intermédiaires [KOLOVSON et STONEBRAKER 91]. Un intervalle I est

stocké dans un nœud intermédiaire N si I couvre au moins un MBR de ses nœuds fils (comme I1

dans la Figure 21). Si un intervalle couvre un MBR d'un nœud et dépasse le MBR de son nœud

père, il sera divisé en partie couvrante et partie restante. Et les deux parties sont stockées dans

différents endroits (comme I2 dans la Figure 21). Les longs intervalles seront donc placés dans

Page 59: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 3. Etat de l’art

59

des nœuds plus hauts que dans le cas du R-tree. Ainsi le SR-tree diminue les chevauchements

entre les MBRs.

Figure 21. SR-tree.

L'apparition d'un grand nombre d'intervalles couvrant les nœuds diminue le nombre

des nœuds fils car ces intervalles prennent la place destinée à l'origine aux nœuds fils (ex. poin-

teurs sur les nœuds fils, etc.)

3.2.2.3 2-D R-tree avec transformation

Pour indexer les intervalles de temps par un 2-D R-tree, les intervalles [Ts, Te] sont transformés

en points dans un espace à 2 dimensions [FALOUTSOS 96] [BERTINO et al. 97] [SALZBERG

et TSOTRAS 97]. Les points transformés sont donc indexés dans un 2-D R-tree. La Figure 22.b

illustre les points transformés à partir des intervalles de la Figure 22.a. Les MBRs (représentés

par les rectangles en pointillé) dans le 2-D R-tree sont aussi illustrés dans la Figure 22.b.

racineA

C

DB

I2 I1

racine I1 couvrant C

A C

la parti de I2couvrant B DB

la parti de I2restante

Page 60: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 3. Etat de l’art

60

Figure 22. 2-D R-tree avec transformation.

En effet, dans les TDB, les intervalles ayant comme attribut (clé, Ts, Te) peuvent être

transformés en points à 3 dimensions. Les points peuvent alors être indexés dans un 3-D R-tree.

Les intervalles et les clés sont ainsi indexés en même temps. Puisque que nous nous intéressons

seulement à l'indexation des intervalles, nous utilisons un 2-D R-tree.

Notons que tous les points transformés se retrouvent dans la zone où l'axe Te ≥ Ts car

la fin d'un intervalle est toujours supérieure ou égale à son début.

Le traitement des requêtes s'effectue dans l'espace transformé. Soit l'intervalle de la

requête QT = [QTs, QTe]. Pour extraire les intervalles qui chevauchent QT, il faut tester si

chaque intervalle I satisfait la condition suivante : (début de I) ≤ QTe et (fin de I) ≥ QTs. Dans

la Figure 23, cette condition implique la recherche des points contenus dans la zone colorée de

la requête dans l'espace transformé. Cela revient à exécuter l'algorithme 'Intersect' avec la zone

de la requête dans le R*-tree construit à partir des points transformés.

En effet, la zone de la requête transformée est un polygone complexe car elle prend en

compte que tous les points se retrouvent dans la zone où l'axe Te ≥ Ts. Pour simplifier, nous

transformons l'intervalle de la requête en un rectangle donnant les mêmes résultats comme indi-

qué ci-dessous :

Trans_Inter ([QTs, QTe]) = (0, QTs, QTe, Tmax),

Te

0 1 2 3 4 5 6 7 8 temps

I1

I4

I6

a. Dimension originelle des intervalles de temps b. Espace transformé

Ts = Te

I2I6

I4

I1

I5

I3

I5

I3I2

0 1 2 3 4 5 6 7 8 Ts

8

7

6

5

4

3

2

1

I7

I7

Page 61: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 3. Etat de l’art

61

où Trans_Inter est la fonction de transformation d'un intervalle de la requête en un rectangle. Le

rectangle transformé est représenté par les deux points extrêmes du rectangle (Tslow, Telow, Tshigh,

Tehigh) (voir la Figure 23). Tmax est une valeur maximale possible dans le champ.

La Figure 23 illustre un exemple du traitement de requêtes avec l'intervalle de requête

[2.5, 4.5] en utilisant les points transformés de la Figure 22. L'intervalle [2.5, 4.5] est transfor-

mé en un rectangle (0, 2.5, 4.5, Tmax). Pour indexer ces points transformés, nous exécutons

donc l'algorithme 'Intersect' dans le 2-D R-tree avec le rectangle de la requête transformée.

Figure 23. Requêtes dans l'espace transformé.

Comme nous l'avons présenté (dans la partie dédiée au 1-D R-tree), dans le cas du 1-D

R-tree, les longs intervalles dégradent les performances de la recherche. Ceci est dû aux che-

vauchements des MBRs. Cette approche de la transformation est efficace pour traiter ces longs

intervalles. En effet, les longs intervalles sont regroupés s'ils sont proches. Les courts interval-

les sont aussi regroupés suivant le même critère de proximité [SALZBERG et TSOTRAS 97].

Les MBRs se chevauchent moins que dans un 1-D R-tree. La Figure 24 illustre la comparaison

du 1-D R-tree et du 2-D R-tree (avec transformation) selon leurs chevauchements de MBRs.

Comme le montre la Figure 24, un 2-D R-tree avec transformation peut diminuer les chevau-

chements de MBRs existant dans un 1-D R-tree. Notons que dans la Figure 24.a, les MBRs dans

le 1-D R-tree sont des segments sur la dimension du temps.

* intervalle de la requête[QTs, QTe] = [2.5, 4.5]

QTsQTe

* rectangle de la requête transformé :(0, QTs, QTe,Tmax) = (0,2.5, 4.5, Tmax)

(Tslow, Telow) √

√ (Tshigh, Tehigh)

la zone de larequête transformé

Te

Ts = Te

I2I6

I4

I1

I5

I3

0 1 2 3 4 5 6 7 8 Ts

8

7

6

5

4

3

2

1I7

Tmax

Page 62: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 3. Etat de l’art

62

Figure 24. Comparaison entre un 1-D R-tree et un 2-D R-tree avec transformation.

3.2.3 Conclusion

Nous avons présenté les méthodes d'indexation existantes pour des données intervalles (surtout

dans le domaine des TDB). Dans cette sous-section, nous allons choisir une méthode pour in-

dexer des intervalles de champs. Les méthodes que nous avons présentés sont : Time Index, In-

terval B-tree, MAP21, 1-D R-tree, SR-tree, 2-D R-tree avec transformation. Parmi ces métho-

des, nous choisissons le 2-D R-tree avec transformation pour les raisons suivantes :

a) Il fallait choisir une méthode telle que le B-tree ou le R-tree c'est-à-dire une méthode

pouvant être aussi utilisée pour d'autres types de requêtes dans les BD de champs conti-

nus (par exemple, le R-tree peut être utilisé pour les requêtes conventionnelles basé sur

une condition spatiale - voir section 2.1). En effet, nous souhaitons éviter de gérer si-

multanément plusieurs méthodes d'indexation. Les deux méthodes citées ci-dessus sont

reconnues comme étant les plus efficaces, respectivement, pour l'indexation alphanumé-

rique et pour l'indexation spatiale. De plus, elles ont déjà été implémentées dans plu-

sieurs SGBD. Nous éliminons Interval B-tree et SR-tree car ils n'utilisent pas le B-tree

ou le R-tree tel quel. De plus, l'Interval B-tree utilise une structure plus complexe que

les autres.

0 1 2 3 4 5 6 7 8 temps

I1

I5

I3 I4

I2

b. 2-D R-tree avec transformation

Te Ts = Te

I5

I2

I4I3

0 1 2 3 4 5 6 7 8 Ts

8

7

6

5

4

3

2

1

I1

chevauchementde deux MBRs

a. 1-D R-tree

MBRs

MBRs

Page 63: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 3. Etat de l’art

63

b) Le Time Index n'est pas efficace à cause des duplications des données pour les longs

intervalles. Le 1-D R-tree n'est pas non plus très efficace à cause des chevauchements

des MBRs pour les longs intervalles. Il est possible que certains intervalles de champs

soient beaucoup plus longs que d'autres. Il fallait ainsi prendre en compte cet aspect. Les

méthodes efficaces pour les longs intervalles sont le SR-tree et le 2-D R-tree avec trans-

formation. Puisque nous avons éliminé le SR-tree, nous choisissons finalement le 2-D R-

tree pour indexer les intervalles de champs continus.

Dans le contexte de l'indexation des intervalles dans les TDB, la famille des R-trees

possède des limites. En effet, les intervalles de temps peuvent avoir les bornes fin non définies,

(représentées par la valeur "now") car le temps est un espace en continuelle expansion. En re-

vanche, le R-tree (et aussi la plupart des autres méthodes d'indexation spatiale) considèrent que

l'espace est délimité. Un R-tree ne peut donc pas traiter des intervalles ayant les bornes fin non

définies [BERTINO et al. 97]. En revanche, ce n'est pas le cas pour les intervalles des champs

continus car les valeurs qui déterminent les intervalles sont bien des valeurs définies. Ainsi

cette limite du R-tree dans les TDB ne pose pas de problème pour indexer des intervalles de

champs. Nous utilisons donc un 2-D R-tree.

Note) [SELLIS et al. 87] et [BECKMANN et al. 90] ont proposé des variantes du R-tree, (res-

pectivement le R+-tree et le R*-tree). Dans un R+-tree, les MBRs ne doivent pas se chevaucher

pour que les chemins d'accès dans un R-tree ne soient pas multipliés. Si un MBR chevauche un

autre MBR, on le découpe en deux nouveaux MBRs de façon à éviter les chevauchements. La

différence entre le R-tree et le R*-tree est la suivante. Le R*-tree essaie de construire des MBRs

plus efficaces en prenant en compte de plusieurs critères comme par exemple, minimiser la zone

couverte par les MBRs, minimiser la superposition entre les MBRs, etc.

Dans la littérature, il est bien montré que le R*-tree fonctionne mieux que le R-tree et

le R+-tree [BECKMANN et al. 90] [THEODORIDIS et PAPADIAS 95] [KIM et al. 95]. Ainsi,

nous utilisons le R*-tree plutôt que le R-tree original. Nous allons donc considérer le 2-D R*-

tree avec transformation pour l'indexation des intervalles. La structure et les algorithmes de trai-

tements des requêtes du R-tree et du R*-tree sont identiques. Donc les explications ci-dessus

concernant le R-tree sont aussi appliquées au R*-tree.

Page 64: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 3. Etat de l’art

64

3.3 Conclusion

Dans ce chapitre, nous avons présenté dans un premier temps, l'état de l'art des travaux sur les

méthodes d’indexation par valeurs dans plusieurs applications de champs continus. Les travaux

présentés nous ont conduit à développer une autre méthode d’indexation car ils ne sont pas

adaptés à nos objectifs : 1) l’indexation par valeurs dans une base de données de grand volume

2) la prise en compte de la continuité des données.

Dans un deuxième temps, nous avons étudié des méthodes d’indexation existantes pour

des données intervalles. Ces études proviennent de la réflexion sur la nécessité d’une méthode

d’indexation des intervalles. Par exemple, pour l’indexation par valeurs, la méthode la plus

simple et intuitive est d’indexer l’intervalle de chaque cellule (méthode I-ALL qui va être pré-

sentée dans le chapitre suivant) par une méthode existante. Une méthode de type 2-D R*-tree

avec transformation a été choisie pour indexer les intervalles dans un champ continu. Ainsi,

nous allons appliquer cette méthode à chaque fois que nous en avons besoin.

Dans le chapitre suivant, nous abordons le développement des méthodes d’indexation

par valeurs.

Page 65: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs
Page 66: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 4. Indexation par valeurs

66

4. Indexation par valeurs

Dans ce chapitre, nous proposons de nouvelles méthodes d'indexation par valeurs reposant sur

le concept de sous-champs. Ce nouveau concept est basé sur l’exploitation de la caractéristique

principale des données champs, à savoir la continuité dans l’espace et parfois dans le temps.

Nous définissons le concept de sous-champ et nous décrivons les procédures de traite-

ment de requêtes dans les bases de données champs. L’intérêt de l’utilisation des sous-champs

est mis en évidence pour l’indexation par valeur.

Ensuite, nous présenterons deux méthodes d’indexation basées sur le concept de sous-

champs qui se distinguent par une implémentation différente des sous-champs.

4.1 Méthode simple : Méthode I-All

Comme mentionné dans le chapitre précédent, répondre aux requêtes par valeurs re-

vient à trouver un moyen afin d'indexer des cellules dont les intervalles chevauchent la valeur

des requêtes.

Considérons une base de données stockant un champ continu. Nous pouvons associer

un intervalle à chaque cellule. Les bornes d'un intervalle sont les valeurs minimale et maximale

de l'ensemble de toutes les valeurs possibles à l'intérieur de la cellule associée. L'intervalle

d'une cellule peut être déterminé par une fonction FI définie dans chaque application en fonc-

tion du modèle utilisé (voir la section 2.2.1).

Une méthode simple et intuitive consiste à indexer tous les intervalles associés aux cel-

lules couvrant l'espace du champ. Nous avons choisi une méthode 2-D R*tree avec transforma-

tion pour indexer des intervalles (voir section 3.2.3). Tous les intervalles sont donc transformés

Page 67: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 4. Indexation par valeurs

67

en points à 2 dimensions. Un 2-D R*-tree est utilisé pour indexer ces points. Nous appelons

cette méthode la méthode I-All, où I représente le terme Intervalle.

4.1.1 Structure des données

Un intervalle d'une cellule est formé de :

(obj_ptr, min, max),

où obj_ptr est un pointeur sur la cellule associée à l’intervalle à insérer et min et max sont des

bornes de l'intervalle de la cellule.

Nous transformons l'intervalle de chaque cellule en un point et insérons chaque point

transformé dans un 2-D R*-tree pour les indexer. La structure d'un 2-D R*-tree pour les points

transformés est de la forme :

Nœud intermédiaire : ptr, RECT …….. identique

Feuille : obj_ptr, RECT …… identique

où ptr est un pointeur sur le nœud fils et RECT représente un MBR ( RECT d'une feuille est un

MBR d'un point transformé à partir de l'intervalle d'une cellule).

Notons que le obj_ptr d'un intervalle est stocké dans une feuille de R*-tree. Ce poin-

teur est nécessaire pour extraire l'information d'une cellule (ex. les points-échantillons de la cel-

lule, etc.) pour l’interpolation.

4.1.2 Procédure de recherche

Considérons w comme la valeur d’une requête. Le w peut être soit une valeur soit un intervalle.

Pour la généralisation, nous considérons w comme un intervalle [min, max] car une valeur uni-

que est le cas où min = max.

Pour trouver les régions où la valeur est égale à w, il faut trouver les cellules dont les

intervalles chevauchent w. Ainsi, w sera d'abord transformé en un rectangle de la requête rw par

la fonction Trans_Inter(w) (voir la section 3.2.2.3). Ensuite, il suffit d'exécuter l'algorithme 'In-

tersect' dans le R*-tree construit par les points transformés avec la condition r pour trouver des

Page 68: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 4. Indexation par valeurs

68

points contenu dans rw , ce qui donne en effet les intervalles chevauchant w. La procédure pour

le traitement des requêtes par valeurs avec l'indexation I-All est présentée ci-dessous.

Algorithme 1. Traitement des requêtes par la méthode d'indexation I-All.

La fonction Trans_Inter-1, qui est la fonction inverse de Trans_Inter, retourne l'inter-

valle d'origine de la requête à partir d'un rectangle. La différence avec l'algorithme originel 'In-

tersect' d'un R*-tree est d'invoquer la procédure Estimer (extraire une cellule désignée et exécu-

ter l'interpolation) pour les intervalles intersectant la valeur de la requête. En effet, les cellules

associées à ces intervalles contiennent les régions de réponse. Nous appelons ces cellules conte-

nant la réponse, des cellules candidates. La réponse exacte doit être calculée dans la procédure

Estimer.

4.1.3 Problèmes

Dans les bases de données de champs, on trouve, pour des questions de précision, de gros vo-

lume de cellules. Si on utilise une méthode d'indexation efficace déjà existante comme le R*-

Tree est un avantage indéniable, la méthode I-All pose deux problèmes :

Procédure Intersect(nœud n du R*-tree, rectangle de la requête rw) : // Rechercher les nœuds intermédiaires Si n est un nœud intermédiaire alors pour chaque élément (ptr, RECT) de n dont le RECT intersecte rw Intersect(fils, rw), où fils est le nœud pointé par ptr

// Rechercher les feuilles Sinon pour chaque élément (obj_ptr, RECT) dont le RECT intersecte rw

Estimer(obj_ptr, Trans_Inter-1(rw)) FinProcédure

Procédure Estimer(pointeur obj_ptr, valeur de la requête w)

Extraire la cellule pointé par obj_ptr et estimer les régions correspondant à w dansla cellule extraite

FinProcédure L'algorithme commence par l'appel suivant : Rechercher (Racine du R*-tree, rectangle de la requête transformé rw)

Page 69: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 4. Indexation par valeurs

69

Problème 1). La taille du fichier d'index (R*-Tree) est importante et le temps de la re-

cherche dans la structure du R*-Tree devient long à cause d'un grand nombre de données

(intervalles) à traiter. Ceci n'est pas efficace à la fois en terme d'espace et en terme de

vitesse de recherche. En outre, la vitesse de recherche est d’autant plus ralentie que les

intervalles similaires se chevauchent, ce qui est une caractéristique courante des données

de types champs continus.

Problème 2). Dans l'étape Estimation, l'extraction des cellules candidates utilisées pour

interpoler la réponse exacte se fait cellule par cellule. Autrement dit, un nouvel accès au disque

dur est nécessaire pour l'extraction de chaque cellule. Parfois, cela entraîne une performance

plus mauvaise que la méthode de Balayage Séquentiel comme l’illustre les figures dans le cha-

pitre 5 "Implémentation et performance"

Afin de résoudre les problèmes de la méthode I-All, nous proposons dans la section

suivante une nouvelle approche basée sur la continuité des données de champs. Ensuite, nous

présentons l’application de cette approche pour une indexation par valeurs.

4.2 Sous-champs

La continuité est une des caractéristiques importantes dans les données de champs continus. Par

continuité, des points proches spatialement dans un champ continu sont censés posséder des va-

leurs plus proches que s’ils sont éloignés [PARIENTE 94]. Cela signifie que des cellules voisi-

nes dans l’espace deviendront probablement des cellules candidates en même temps pour une

requête donnée.

Nous proposons ainsi de diviser un champ en plusieurs sous-champs [LAURINI et al.

99] [KANG et al. 99]. Un sous-champ est défini comme un sous-espace qui possèdent des va-

leurs similaires (proches). Puisque l’espace d’un champ est entièrement couvert par un ensem-

ble de cellules, la division de l'espace total du champs en plusieurs sous-champs peut être inter-

prétée comme une partition des cellules voisines (connectées) en plusieurs sous-champs.

Page 70: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 4. Indexation par valeurs

70

4.2.1 Définition d’un sous-champ

Comme présenté plus haut, un sous-champ est un sous-espace homogène au niveau des valeurs.

Autrement dit, c’est un sous-espace dans lequel les valeurs sont proches.

Soit un champ F, le iéme sous-champ de F peut être défini par son intervalle comme

suit :

SFi = (id, Vmin,i, Vmax,i ),

où id est l'identifiant, Vmin,i et Vmax,i représentent respectivement le minimum et le maximum des

valeurs du sous-champ SFi.

Il est possible d’avoir d’autres types de valeurs que Vmin,i et Vmax,i pour d’autres types de

requêtes du champ, par exemple la moyenne des valeurs pour un sous-champ. Pour les requêtes

de valeurs visées par nos travaux, nous utilisons le minimum et le maximum comme définis ci-

dessus.

La Figure 25 montre l’exemple d’un champ à 2 dimensions découpé en sous-champs.

Le plan spatial XY est projeté sur l’axe unidimensionnel Espace V afin de simplifier le schéma.

Figure 25. Sous-champs dans un champ à 2 dimension.

Dans cette figure, un sous-champ est représenté par un rectangle. En fait, chaque rec-

tangle, c’est-à-dire chaque sous-champ, contient (ou chevauche pour le cas où juste une partie

d’une cellule fait partie d’un sous-champ) certaines cellules voisines dans toutes les dimensions

Valeur w

Espace v

sous-champs SF

champ F

Page 71: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 4. Indexation par valeurs

71

du champ, donc dans la dimension des Valeurs w et aussi d’Espace v. Ces cellules contenues

dans les sous-champs ne sont pas représentées dans cette Figure afin de simplifier le schéma.

La largeur et la hauteur d’un rectangle représentent la forme de l’aire Ai et l’intervalle

des valeurs d’un sous-champ Fi. Notons que ces hauteurs ne sont pas très élevées car les valeurs

à l’intérieur d’un sous-champ sont proches les unes des autres.

Par ce fait, nous pouvons dire que l’un des critères sur la similarité des valeurs à l'inté-

rieur d'un sous-champ pourrait être défini par la taille de l'intervalle du sous-champ, c’est-à-

dire la différence entre les valeurs minimales et maximales parmi toutes les valeurs possibles à

l'intérieur du sous-champ.

Stockage des sous-champs

En ce qui concerne le stockage des données de cellules regroupées logiquement dans des sous-

champs, nous proposons aussi de rassembler « clusteriser » physiquement des cellules voisines

sur le disque dur. Les cellules voisines à l’intérieur d’un sous-champ sont alors stockées ensem-

ble afin d’éviter un trop grand nombre d’accès au disque dur lors de l’extraction des informa-

tions des cellules pour l’interpolation. Il s’agissait du problème pour la méthode I-All (voir la

section 4.1.3, problème 2). La raison est que les cellules dans un sous-champ sont censées être

proches et qu’elles seront accédées en même temps pour une requête donnée. En étant proches

sur le disque, les cellules à extraire pourront être obtenues par un seul accès sur le disque (ou

par un nombre faible d'accès).

Page 72: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 4. Indexation par valeurs

72

4.2.2 Stratégies de traitement des requêtes basées sur l’approche des sous-champs

Nous utilisons les intervalles des sous-champs. L’intervalle d’un sous-champ peut être obtenu

par un simple calcul sur les intervalles des cellules contenues par le sous-champ car il contient

tous les intervalles de ses cellules.

Connaissant une requête par valeurs, nous déterminons d’abord les sous-champs pos-

sédant des intervalles chevauchant la valeur de la requête (Rappellons que la méthode I-All

cherche directement toutes les cellules dont les intervalles chevauchent la valeur de la requête).

En effet, il est évident que si une requête par valeurs chevauche l’intervalle d’une cellule à

l’intérieur d’un sous-champ alors elle doit aussi chevaucher l’intervalle du sous-champ.

Ensuite, les régions exactes répondant à la requête seront calculées par la fonction

d’interpolation sur les cellules à l’intérieur des sous-champs issus de l'étape précédente. Notons

que les cellules à interpoler ne contiennent pas forcément les régions résultats mais elles ont une

forte probabilité de les contenir.

Nous définissons la procédure de traitement de requêtes par valeurs basée sur les sous-

champs comme suit :

[Etape Filtrage] : rechercher les sous-champs dont les intervalles chevauchent la va-

leur de la requête w' .

[Etape Estimation] : extraire les cellules à l’intérieur des sous-champs issus de l’étape

Filtrage et estimer les régions exactes répondant à la requête donnée par une méthode d'interpo-

lation à partir des cellules extraites.

L’étape Filtrage ne sélectionne que les sous-champs contenant des cellules candidates

potentielles, c’est à dire ceux qui satisfont probablement à la condition de la requête ; cette

étape permet d’éviter le parcours de toutes les cellules du champ.

L'étape Filtrage doit être supportée par une méthode d'indexation car les recherches

dans une base de données sont toujours les grandes consommatrices de temps. Nous utilisons

alors une structure d'index construite à partir des intervalles de sous-champs afin d'accélérer

l'étape Filtrage car la recherche se fait par sur intervalles de sous-champs.

Page 73: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 4. Indexation par valeurs

73

4.2.3 Exemple d’application de la stratégie

La Figure 26, représentant un champ de température, illustre la procédure du traitement de re-

quête par valeurs définie ci-dessus. Afin de simplifier le schéma, le plan XY a été projeté sur

l’axe Espace v et le deuxième axe donne les valeurs des champs. On prend l’hypothèse que les

cellules sont des triangles irréguliers.

Figure 26. Sous-champs dans un champ de température.

Supposons que la requête donnée soit "Déterminer les régions pour lesquelles la tem-

pérature varie entre 20°C et 25°C".

L’étape Filtrage conduit à sélectionner les trois sous-champs, notés 1, 2 et 6 dans la

Figure 26, et qui ont une intersection avec l’intervalle de requête. L'étape Estimation consiste

alors à extraire les triangles contenus dans (ou intersectant) les trois sous-champs sélectionnés

et à effectuer le calcul de l’estimation sur les triangles extraits pour trouver des régions dont la

température varie entre 20°C et 25°C.

Valeur w

Espace v

20 °

25 °sous-champ 1

2

34

56

7

Page 74: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 4. Indexation par valeurs

74

4.2.4 Intérêts de l'exploitation des sous-champs

Comme présentée dans la section 4.1.3, la méthode I-All pose deux grands problèmes. Dans

cette partie, nous rappelons brièvement les problèmes posés et nous montrons comment ils peu-

vent être résolus par l'utilisation des sous-champs.

Problème 1) La taille du fichier d'index : comme la méthode I-All utilise une structure

d'index construite à partir des intervalles de toutes cellules du champ entier, la taille du fichier

d'index devient importante et cela entraîne des recherches lentes dans la structure de l'index.

Résolution du problème 1) : par l'utilisation des sous-champs, nous indexons seu-

lement les intervalles des sous-champs plutôt que les intervalles individuels de toutes les cellu-

les comme dans la méthode I-All. Puisqu’un sous-champ est un ensemble de plusieurs cellules,

il est évident que le nombre des intervalles des sous-champs est beaucoup plus petit que celui de

toutes les cellules du champ. La taille du fichier d'index devient donc très réduite et les recher-

ches dans la structure d’index plus rapides.

Problème 2) Dans la méthode I-All, les cellules participant à l'interpolation durant

l'étape Estimation sont extraites une par une donc un accès au disque dur est requis pour l'ex-

traction de chaque cellule. Cela dégrade dramatiquement la performance.

Résolution du problème 2) : grâce à la proposition de stockage des sous-champs

(voir la section 4.2.1), nous pouvons résoudre le problème 2. Puisque les cellules voisines dans

un sous-champ sont rassemblées (cluster) sur le disque dur, les cellules candidates potentielles

contenues dans les sous-champs issus de l'étape Filtrage peuvent être extraites en masse par un

accès au disque dur. Evidement, le nombre exact des cellules à extraire par un accès au disque

dépend de la taille de page disque du système utilisé.

En effet, cela implique des accès au disque dur par unité de sous-champs plutôt que par

unité de cellule individuelle. Le nombre d'accès au disque dur peut donc être réduit. En outre,

cette proposition de clustering spatial est considéré comme très efficace pour le traitement des

requêtes conventionnelles basées sur la condition spatiale[LI 92].

Page 75: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 4. Indexation par valeurs

75

4.2.5 Implémentation des sous-champs

A présent, nous devons définir la méthode d’implémentation des sous-champs. Comment peut-

on diviser l'espace d'un champ en plusieurs sous-champs afin qu’ils puissent posséder des va-

leurs similaires ?

Nous définissons deux aspects à prendre en compte pour implémenter des sous-

champs.

1. La façon de découper l'espace :

Le découpage d’un champ en sous-champs peut être effectué de diverses façons. Aussi,

ce découpage peut être vu comme un regroupement de certaines cellules voisines

(connectées) en sous-champ car l'espace du champ est totalement couvert par les cellu-

les.

2. Le critère de similarité des valeurs d’un sous-champ :

Le découpage spatial (ou le regroupement) doit être effectué à condition que les sous-

champs possèdent des valeurs similaires. Pour cela, il faut définir le critère de similarité

des valeurs d'un sous-champ afin de décider si le découpage (ou regroupement) peut ou

non s'effectuer.

Dans la section suivante, nous présentons plusieurs nouvelles méthodes pour l'indexa-

tion et l'implémentation des sous-champs. Dans un premier temps, nous présentons une méthode

nommée Interval Quadtree reposant sur le découpage spatial du quadtree [SAMET 90a] [SA-

MET 90b] [LAURINI 92]. Nous présentons comment l'indexation pour les requêtes par valeurs

est réalisée dans la méthode Interval Quadtree. Ensuite, les problèmes posés par la méthode In-

terval Quadtree seront mis en évidence et une autre méthode sera proposée afin d’améliorer les

performances de l’Interval Quadtree.

Page 76: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 4. Indexation par valeurs

76

4.3 Méthode Interval Quadtree

Après avoir donné la définition de la méthode, nous en présentons deux implémentations.

4.3.1 Définition

Comme nous l'avons défini dans la section précédente, il faut prendre en compte deux critères

pour implémenter des sous-champs. La première méthode nommée Interval Quadtree [KANG et

al. 99] est décrite selon la définition de ces deux critères :

4.3.1.1 La façon de découper l'espace

Le découpage repose sur une division en quadtree de régions. Rappelons qu’à l’origine, le quad-

tree (arbre de quadrants) [SAMET 90a] [SAMET 90b] a principalement été utilisé pour la repré-

sentation d’images « bitmap » ou d’objets spatiaux en mode raster. Le principe du quadtree re-

pose sur un découpage récursif en quadrants. Par exemple, une image bitmap est divisée en

quatre quadrants, puis chaque quadrant est divisé de nouveau en quatre quadrants etc. L’arrêt du

processus intervient lorsque chaque quadrant a satisfait certaines conditions.

Nous appliquons le même principe pour le découpage d’un champ en sous-champs. Le

champ est d’abord divisé en quatre sous-champs et le processus se répète jusqu’à ce que chaque

sous-champ satisfasse une condition donnée (le critère est défini ci-dessous).

Si le champ est tridimensionnel, alors il s'agira d'octrees ou de 2n-trees en généralisant.

Par simplicité, on continuera à parler de quadtrees.

4.3.1.2 La similarité des valeurs d’un sous-champ

Nous utilisons la taille de l'intervalle de sous-champ pour définir le critère de similarité des va-

leurs ; La taille de l'intervalle d'un sous-champ est la différence entre la valeur maximale et la

valeur minimale du champ. Lorsqu'un sous-champ possède des valeurs proches, la taille de l'in-

tervalle du sous-champ ne peut pas être élevée. Nous utilisons une taille maximale prédétermi-

Page 77: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 4. Indexation par valeurs

77

née, un seuil, pour les intervalles. Les valeurs dans le sous-champ sont proches si la taille de

l’'intervalle d'un sous-champ ne dépasse pas ce seuil préalablement fixé.

En résumé, un champ est d’abord divisé en quatre sous-champs et le processus se ré-

pète jusqu’à ce que la taille de l'intervalle de chaque sous-champ soit inférieure au seuil préala-

blement fixé.

En effet, un Interval Quadtree est distingué par le critère de division et la structure de

données d'un Quadtree général qui sont définis spécialement pour le traitement de requêtes par

valeurs.

4.3.2 Exemple de génération des sous-champs par Interval Quadtree

Prenons un exemple. La Figure 27 montre le découpage en quadtree d’un champ. Le seuil de di-

vision a été fixé à 10.

La Figure 27.a illustre un champ représenté par un DEM à 2 dimensions. Chaque cel-

lule possède donc des points-échantillons sur les quatre sommets et l'interpolation bilinéaire est

utilisée pour estimer une valeur en un point non échantillonné. Les valeurs du champ oscillent

entre 46 et 80.

Comme présenté sur la Figure 27.b, l'espace est divisé en quatre quadrants car la taille

de l'intervalle du champ (c’est-à-dire [46, 80]) a excédé le seuil fixé dans la Figure 27.a. Les

nombres dans chaque quadrant correspondent à l’intervalle des valeurs du quadrant (minimum,

maximum). Pour qu’un quadrant soit un sous-champ, la taille de cet intervalle ne doit pas excé-

der 10 unités c’est-à-dire le seuil fixé.

La Figure 27.c et d montrent le résultat du découpage étape par étape. La Figure 27.d

est le résultat de la dernière étape car les intervalles de tous les quadrants respectent le seuil

fixé. Ainsi, le découpage s'arrête.

La Figure 28 présente le quadtree correspondant. A chaque nœud est associé un numé-

ro d’identifiant et un intervalle de mesure correspondant au quadrant respectif. Les feuilles du

quadtree en carré coloré dans la Figure 28 représentent les sous-champs obtenus dans la Figure

27.d.

Page 78: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 4. Indexation par valeurs

78

Figure 27. Exemple de la procédure de découpage dans la méthode Interval Quadtree.

46

50

55

70

73

73

79

78

49

56

60

64

75

80

79

77

52

59

74

62

76

78

80

78

55

68

78

73

74

75

76

73

60

61

63

65

64

70

73

73

62

64

68

68

66

65

72

68

63

61

62

70

69

68

65

66

66

65

66

69

64

69

64

63

68

70

67

64

60

58

60

61

7976767575696662 64

= points-échantillons

64,70 46,78

73,8058,75

60,66 65,75

64,73

73,80

68,78 64,74

64,70

46,65

58,69

59,68

73,80

64,70

64,7468,78

59,68

65,75

64,73

60,66

58,69

54,62 55,65

49,59 46,56

a) Un champ original à 2 dimensions b) Première étape du découpage

c) Deuxième étape du découpage d) Troisième et dernière étape du découpage :

sous-champs obtenus

Page 79: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 4. Indexation par valeurs

79

Figure 28. Quadtree correspondant à l'exemple de la Figure 27

4.3.3 Deux implémentations de l’Interval Quadtree

Après avoir donné la définition de l’Interval Quadtree, nous présentons dans cette partie deux

implémentations différentes de ces quadtrees pour l'indexation par valeur. La première est basée

sur une structure d’arbre de pointeurs. La deuxième repose sur un quadtree linéaire.

4.3.3.1 Interval Quadtree implémenté par Pointeur (Pointer-based Interval Quadtree)

Une implémentation facile et intuitive pour le stockage des quadtrees est une structure de don-

nées en arbres avec des pointeurs (Pointer-based Quadtree) [SAMET 90b]. Un Interval Quadtree

implémenté par pointeurs est nommé Pointer-based Interval Quadtree. Par exemple, le Pointer-

based Interval Quadtree de la Figure 27.d stocke l'arbre de la Figure 28 sur le disque tel qu'il

est. Cela signifie que toutes les étapes du découpage sont stockées.

4.3.3.1.1 Structure de données

Comme le montre la Figure 28, chaque nœud intermédiaire contient :

(id, min, max, ptr1, ptr2, ptr3, ptr4),

4(64, 70)

10(68,78) 11(64,74) 12(59,68)

5(46, 78)

3(73, 80)2(58, 75)

1(46, 80)

6(60,66) 7(65,75) 8(58,69) 9(64,73)

13(54,62) 14(55,65) 15(49,59) 16(46,56)

première étape

deuxième étape

troisième étape

Page 80: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 4. Indexation par valeurs

80

où id est l'identifiant du quadrant, min et max sont des bornes de l’intervalle des valeurs du qua-

drant concerné. Et les quatre pointeurs ptr1, ptr2, ptr3, ptr4 sont les pointeurs sur les quadrants

enfants (un pour chaque quadrant enfant).

Une feuille contient :

(id, N, Size, min, max, D),

où id est l’identifiant d'un sous-champ. N et Size représentent l'identifiant spatial de la feuille

correspondante, par exemple N est une clé de Peano [PEANO 1890] [LAURINI 92] et Size est la

longueur de la feuille. Min et max sont des bornes de l'intervalle du sous-champ. D est l’adresse

disque à laquelle les cellules contenues dans le quadrant (sous-champ) concerné sont stockées.

Il permet d'extraire des cellules d'un sous-champ pour l'interpolation.

4.3.3.1.2 Procédure de recherche

Avec cette structure arborescente hiérarchique basée sur les pointeurs, nous pouvons traiter des

requêtes par valeurs (Déterminer les régions correspondant à une valeur donnée), comme décri-

tes dans le chapitre précédent, par notre stratégie de filtrage et estimation.

Supposons que nous désirions trouver des régions où la température varie entre [20oC,

25oC]. Dans ce cas, la valeur de la requête est l’intervalle [20oC, 25oC]. L’exécution de la re-

quête s’effectue alors de la façon suivante : le Pointer-based Interval Quadtree est traversé en

examinant si l’intervalle de chaque nœud chevauche la valeur de la requête à chaque niveau.

Les nœuds dont les intervalles n’ont pas d'intersection avec la valeur de la requête sont exclus,

les nœuds restants correspondent aux sous-champs candidats sélectionnés. Ensuite, les cellules

contenues dans les sous-champs candidats sont extraites et une estimation de régions est effec-

tuée. L’algorithme de recherche par un Pointer-based Interval Quadtree est détaillé dans

Algorithme 2.

Page 81: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 4. Indexation par valeurs

81

Algorithme 2. Indexation par valeurs basé sur un Pointer-based Interval Quadtree.

Supposons que la valeur du champ de la requête soit donnée par “ Trouver des zones

où la valeur de champ est 76 ?”. Dans l’exemple de la Figure 28, nous pouvons obtenir les

sous-champs filtrés 3 et 10 par les chemins de recherche {1, 3} et {1, 5, 10} respectivement

après exécution de l’Algorithme 2.

Si cet algorithme se révèle certes efficace, nous avons néanmoins mis en évidence

quelques points faibles qui sont les suivants :

- Le premier est un problème traditionnel du Pointer-based Quadtree. En effet, la struc-

ture du Pointer-based Quadtree requiert un grand volume d’espace de stockage ce qui

entraîne de fréquents accès disque lors du parcours des pointeurs.

- Lorsque les régions satisfaisant la condition de la requête sont dispersées sur plusieurs

branches d’un quadtree, plusieurs cheminements dans le quadtree sont nécessaires ce qui

entraîne une dégradation de la performance. Par exemple, quand nous cherchons les

sous-champs dont les intervalles contiennent la valeur 59 qui est la valeur de la requête

dans la Figure 28, nous voyons que les sous-champs satisfaisant la condition de la re-

quête sont {8, 12, 13, 14, 15}. Bien que les intervalles de ces sous-champs soient simi-

laires tels que (58, 69), (59,68), (54, 62), etc., ces sous-champs sont stockés sur des

branches différentes car le Pointer-based Interval Quadtree n’est pas totalement hiérar-

chique au niveau des intervalles des valeurs du champ.

Procédure Indexation par valeurs par un Pointer-based Interval Quadtree Input : P (racine du quadtree),

I (valeur de la requête) Output : B (ensemble des cellules à participer à l'interpolation) A ← {P}. B ← {}. Pour chaque nœud n dans A .

Si n n’est pas feuille et l’intervalle(n) intersecte I, alors insérer quatre enfants noeuds dans A. Si n est feuille et l’intervalle(n) intersecte I, alors extraire les cellules dans n et les insérer dans B.

FinPour FinProcédure

Page 82: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 4. Indexation par valeurs

82

Afin de pallier ces problèmes et d’améliorer la performance de l’indexation des

champs continus, nous proposons, dans la partie suivante, une méthode avancée de Pointer-

based Interval Quadtree.

4.3.3.2 Interval Quadtree Linéaire (Linear Interval Quadtree)

Pour éviter les inconvénients de la méthode d’implémentation d’un Pointer-based Quadtree, un

quadtree linéaire représenté par la liste des valeurs des feuilles est souvent utilisé [SAMET

90a][SAMET 90b]. Les éléments de la liste sont habituellement réorganisés en utilisant une

structure en arbre comme un B-tree ou une de ses variations afin d’accélérer la vitesse de re-

cherche. La clé de recherche utilisée pour la structure en arbre est généralement la valeur du

code de localisation de chaque feuille. Cette méthode n’est toutefois pas exploitable pour traiter

les requêtes par valeurs car la condition de la requête ne repose pas sur la localisation des

nœuds mais sur les intervalles de valeurs du champ.

Il faut donc une structure d'index construite à partir des intervalle des sous-champs (les

feuilles) pour utiliser ces intervalles comme clé de recherche, ce qui a été finalement proposé

dans la section 4.2.2. Nous appelons cette implémentation Linear Interval Quadtree.

Dans ces travaux, nous utilisons un 2-D R*-tree par la transformation (voir la section

3.2.2.3) pour indexer les intervalles des sous-champs.

4.3.3.2.1 Structure de données

Un intervalle d'un sous-champ est sous forme de :

(D, min, max),

où D est l’adresse disque à laquelle les cellules dans le sous-champ concerné sont stockées. Et

min et max sont des bornes de l'intervalle des valeurs du sous-champ.

Chaque intervalle du sous-champ est transformé en un point à 2 dimensions et ce point

est inséré dans un 2-D R*-tree. La structure d'un 2-D R*-tree pour les points transformés est de

la forme :

Page 83: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 4. Indexation par valeurs

83

où ptr est un pointeur sur le nœud fils et RECT représente un MBR. Notons que l'adresse D

d'un sous-champ est stockée dans une feuille de R*-tree pour extraire l'information des cellules

dans le sous-champ pour l’interpolation.

4.3.3.2.2 Procédure de recherche

La procédure de recherche avec le Linear Interval Quadtree est similaire à celle de la

méthode I-All. Pour trouver les régions où la valeur est égale à w, on transforme w en un rec-

tangle de la requête rw par la fonction Trans_Inter(w) (voir la section 3.2.2.3). L'algorithme 'In-

tersect' dans le R*-tree construit par les points transformés sera exécuté avec la condition rw.

Cela permet de trouver des points contenus dans rw, qui donnent finalement les intervalles che-

vauchant w. La procédure pour les traitements des requêtes par valeur avec l'indexation Linea-

rInterval Quadtree est présentée ci-dessous.

Algorithme 3. Traitement des requêtes par valeur basé sur un Linear Interval Quadtree.

Nœud intermédiaire : ptr, RECT .... identique

Feuille : D, RECT …. identique

Procédure Intersect(nœud n du R*-tree, rectangle de la requête rw) : // Rechercher les nœuds intermédiaires Si n est un nœud intermédiaire alors pour chaque élément (ptr, RECT) du n dont le RECT intersecte rw Intersect(fils, rw), où fils est le nœud pointé par ptr

// Rechercher les feuilles Sinon pour chaque élément (D, RECT) dont le RECT intersecte rw

Estimer(D, Trans_Inter-1(rw))

FinProcédure

Procédure Estimer(pointeur D, valeur de la requête w) Extraire les cellules à l'adresse de disque D Estimer les régions exactes correspondant à w à partir des données des cellulesextraites

FinProcédure L'algorithme commence par l'appel suivant : Rechercher (Racine du R*-tree, rectangle de la requête transformé rw)

Page 84: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 4. Indexation par valeurs

84

Trans_Inter-1 retourne la valeur d'origine de la requête à partir d'un (comme dans la

méthode I-All, voir la section 4.1).

4.3.4 Implémentation, Performance et Remarques

Pour mesurer la performance des méthodes d’indexation proposées dans la section précédente

pour des requêtes par valeurs, nous avons utilisé des données réelles d’altitudes de terrain issues

d’une région des villes VICTORIA et SEATTLE aux Etats-Unis. Ces données ont été obtenues

sur le site http://edcwww.cr.usgs.gov. Leur représentation physique se présente sous la forme

d’un DEM (USGS DEM) et la résolution est de 1024 * 1024 cellules.

L’implémentaion permet de comparer le Linear Interval Quadtree basé sur un R*-tree

avec le Pointer-based Interval Quadtree et la méthode de Balayage Séquentiel qui parcourt sé-

quentiellement toutes les cellules du champ sans indexation. Nous avons mesuré le temps

moyen consommé pour la résolution de 50 requêtes générées aléatoirement. La taille d’une page

pour la lecture du disque et la construction d’un R*-tree est de 1024 octets. La Figure 29 donne

les courbes de résultats du temps de traitement des trois méthodes d’indexation.

Figure 29. Temps de traitement des requêtes par les méthodes d’indexation proposées.

Comme nous l'avons défini, le seuil de découpage est la taille maximale de l’intervalle

des sous-champs : la différence maximale entre l’altitude minimum et maximum. Pour le test,

0,000,200,400,600,801,001,201,401,601,802,00

0.05 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 0.95

Taille relative du seuil

Tem

ps(s

)

Linear Interval Quadtree

Pointer-based Interval Quadtree

Balayage Séquéntiel

Page 85: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 4. Indexation par valeurs

85

nous avons fait varier la valeur du seuil par rapport à l’intervalle des valeurs du champ total.

Dans notre exemple, l’altitude varie de 864m à 2701m dans le champ entier. Le seuil de valeur

1 correspond donc à 1837 (la taille de l'intervalle du champ entier : la différence entre 2701 et

864). Celui de valeur 0.2 correspond à 367,4 ( la taille de l'intervalle du champ entier 1837 *

0.2). L’axe des X représente cette variation du seuil relatif de 0.05 à 0.95.

Dans tous les cas, on peut noter la supériorité de la performance du Linear Interval

Quadtree comme le montre la Figure 29.

Comme nous pouvons le constater sur la courbe du Linear Interval Quadtree de la

Figure 29, la définition de la valeur du seuil qui induit le nombre de sous-champs nécessite une

réflexion approfondie pour l’amélioration de la performance. Autrement dit, la performance de

la méthode d’indexation dépend du seuil. Nous découvrons dans le test réalisé que les seuils va-

riant entre 0.2 et 0.8 ont donné les meilleurs résultats. En revanche, ces seuils ne garantissent

pas les mêmes résultats sur les autres données des champs. Nous pouvons également faire les

remarques importantes suivantes :

1 - Lorsque le seuil est fixé à la valeur limite 1, le temps de traitement de requêtes par

Interval Quadtree est presque similaire à celui par Balayage Séquentiel. En effet, un seul sous-

champ correspond au champ total et il est alors nécessaire de tester toutes les cellules du champ.

Cela signifie qu’il n’y a aucun effet de filtrage au niveau des sous-champs.

2 - Lorsque le seuil est fixé à la valeur limite 0, la performance de l'Interval Quadtree

est aussi très mauvaise. Chacune des cellules devient un sous-champ ce qui induit une structure

d'index trop importante qui ne permet donc pas de filtrage approximatif.

Comme mentionné auparavant, le seuil décide du nombre de sous-champs à obtenir

après le découpage du champ. La Table 1 montre le nombre de sous-champs de l’Interval Quad-

tree, le temps nécessaire pour le filtrage par le Linear Interval Quadtree ainsi que celui pour

l'estimation en fonction de la taille relative du seuil.

Taille relative du seuil 0.05 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 0.95

Nombre de sous-champs 52204 15724 3889 2077 1423 898 406 37 19 12 4

Temps de Filtrage (ms) 600 168 48 32 24 20 13 9 6 1 1

Temps de Estimation (ms) 444 358 347 484 504 596 632 676 356 456 874

Tableau 1. Résultats en fonction de la taille relative du seuil avec un Linear Interval-Quadtree.

Page 86: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 4. Indexation par valeurs

86

A partir des résultats de la Table 1, nous pouvons établir les constats suivants :

- Un seuil trop petit entraîne un nombre de sous-champs trop élevé et requiert plus de

temps pour le filtrage à cause de la taille de la structure d'index. En revanche, un seuil

trop grand se traduit par peu de sous-champs qui contiennent trop de cellules à extraire

pour l'interpolation. Ce faible taux de filtrage explique la mauvaise performance. C’est

pourquoi la définition de la valeur optimale du seuil est très importante.

4.3.5 Conclusion et Critique de l'Interval Quadtree

Le découpage pour implémenter des sous-champs dans l'Interval Quadtree s’effectue suivant un

seuil prédéterminé basé sur la taille d'intervalle des sous-champs. Nous avons proposé deux

structures de données pour l’implémentation et l’indexation du concept de sous-champs. La

première structure proposée est le Pointer-based Interval Quadtree. La seconde structure est le

Linear Interval Quadtree. Il s'agit d'une sorte de quadtree linéaire, mais qui utilise une structure

hiérarchique à partir des intervalles de valeurs des sous-champs. Ces intervalles sont utilisés

comme clés pour la recherche. La mesure de la performance dans les tests sur des données réel-

les montre que le Linear Interval Quadtree améliore notablement la vitesse de traitement des re-

quêtes par valeurs, comparativement au Balayage Séquentiel. En revanche, l'Interval Quadtree

pose des problèmes importants :

1. Nous utilisons un seuil prédéterminé pour la taille de l'intervalle d'un sous-champ

dans l'Interval Quadtree. Comme nous l'avons montré dans le test, la performance de la

méthode d’indexation dépend de ce seuil. Pourtant, nous n'avons pas trouver de moyen

justifiable de décider du seuil optimal qui pourrait donner la meilleur performance.

2. Le découpage spatial quadratique n'est pas très convenable dans le cas d'un champ re-

présenté par des cellules qui ne sont pas de formes quadratiques telles que les TINs. Ce-

la peut entraîner la prise en compte de cellules chevauchant plus d'un sous-champ. En

outre, ce découpage quadratique pose parfois des problèmes. En effet, comme nous al-

lons le décrire sur un exemple, dans certains cas, des cellules voisines ayant des valeurs

similaires ne sont pas regroupées dans le même sous-champ. La Figure 30 illustre ce

problème avec un seuil prédéterminé égal à 10. Le champ ayant des points-échantillons

est représenté par un DEM à 2 dimensions dans la Figure 30.a. La Figure 30.b représente

Page 87: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 4. Indexation par valeurs

87

les sous-champs obtenus par la méthode Interval Quadtree. Les chiffres dans chaque

sous-champ (rectangle) représentent respectivement le minimum et le maximum de l'in-

tervalle du sous-champ. Bien que la taille de l'intervalle du regroupement des cellules

voisines ⟨c6,c7,c9,c10,c11⟩ soit 9 (ce qui est inférieur au seuil donné), elles n'ont pas pu

être regroupées dans un seul sous-champ car le découpage quadratique les a séparées

comme le montre la Figure 30.b. Cela est dû au fait que ces cellules se trouvent sur l'axe

de découpage.

Figure 30. a) Champ de type DEM. b) Sous-champs obtenus par la méthode Interval Quadtree.

Dans la section suivante, nous présentons une nouvelle méthode qui regroupe des cel-

lules afin que les sous-champs puissent avoir des formes plus naturelles et réalistes. Cette mé-

thode tente de regrouper le maximum de cellules voisines. Cela signifie qu'il n'y pas de limita-

tion sur les formes des sous-champs comme c'était le cas dans la méthode Interval Quadtree.

Cette nouvelle méthode permet ainsi d'obtenir des tailles flexibles d'intervalles de sous-champ.

Contrairement aux tailles prédéterminées utilisées dans l'Interval Quadtree, ces tailles sont

adaptables à la distribution des données. (Nous utilisons des techniques comme la courbe de

Hilbert et la probabilité d'accès à un MBR [KAMEL et FALOUTSOS 93]. )

75

74

75

76

77

65

67

66

68

73

58

60

65

67

68

56

64

68

65

66

55

59

67

64

61

= points-échantillons

55,64 56,64

60,68

58,67 65,75

60,67 66,75

65,73

65,68 66,76

61,6868,77

59,68

a. b.

c3 c4

c5 c6 c7

c2

c8

c9

c1

c14c13

c12c11c10

c16c15

Page 88: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 4. Indexation par valeurs

88

4.4 Méthode I-Hilbert

4.4.1 Définition

Comme nous l'avons défini dans la section précédente, il faut prendre en compte deux critères

pour implémenter des sous-champs (la façon de découper l'espace et la similarité entre les va-

leurs d’un sous-champ). La deuxième méthode nommée I-Hilbert [KANG et al. 01] est décrite

dans les deux sous-sections suivantes.

4.4.1.1 La façon de découper l'espace

Comme nous l'avons remarqué dans la section précédente (voir 4.2.5), un découpage de l'espace

peut être vu comme un regroupement de certaines cellules voisines en sous-champ. Nous propo-

sons d'utiliser une courbe emplissant l'espace. Cette courbe impose un ordre linéaire sur les cel-

lules couvrant l'espace. Nous linéarisons donc les cellules selon la valeur d'une courbe emplis-

sant l'espace de leur position c'est-à-dire selon la valeur d'une courbe sur le point central des

cellules (nous appellerons cette valeur, la clé de Hilbert d'une cellule). Ensuite, nous regroupons

séquentiellement les cellules linéarisées en sous-champs.

Des courbes emplissant l'espace

Des courbes emplissant l'espace passent (une fois seulement) par tous les points de

l'espace à N dimensions sans jamais se croiser. Elles conservent la continuité et le voisinage.

Ainsi, des points proches dans l'espace vont se retrouver souvent voisins sur la courbe [JAGA-

DISH 90] [LAURINI 92] [FALOUTSOS 98].

Les courbes classiques emplissant l'espace sont : le balayage vertical, le balayage en

serpent, l'ordre en N de Peano [PEANO 1890] [JAGADISH 90] [LAURINI 92] et la courbe de

Hilbert [LAURINI 92] [JAGADISH 90] [KAMEL et FALOUTSOS 94]. La Figure 31 présente

des exemples de ces courbes.

Page 89: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 4. Indexation par valeurs

89

Figure 31. Quelques courbes emplissant l'espace.

Il faut choisir une courbe qui respecte le mieux la continuité. Des points voisins dans

un espace à N dimensions sont censés posséder des valeurs similaires (par la continuité des

champs continus). Ainsi, plus la courbe respecte la continuité, plus les cellules voisines sont

censées posséder des valeurs similaires. Ce qui permet de regrouper davantage de cellules simi-

laires en sous-champs.

Il est connu que la courbe de Hilbert respecte mieux la continuité (voir Figure 31.d).

En effet, dans la courbe de Hilbert il n'y pas de "saut" important lors de la traversé linéaire de

l'espace contrairement à l'ordre en N de Peano et aux autres balayages. Les performances de ces

méthodes ont été simulées par [FALOUTSOS et ROSEMAN 89] [JAGADISH 90]. Selon les ré-

sultats, dans la plupart des cas, la courbe de Hilbert est la meilleure des quatre méthodes. Ce qui

signifie que la courbe de Hilbert conserve le mieux la continuité. Nous choisissons alors la

courbe de Hilbert pour linéariser les cellules. Des algorithmes pour générer la courbe de Hilbert

a. Balayage vertical b. Balayage de serpent

c. Ordre en N de Peano d. Courbe de Hilbert

6 5 1 0

7 6 5 4 3 2 1 0

8 9

76543210

98

3

4

1

0

2

34 5

La valeur de courbe de chaque point selon des courbes remplissant l'espace

Page 90: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 4. Indexation par valeurs

90

pour un espace à 2 dimensions sont présentés dans [JAGADISH 90]. Un algorithme pour des

dimensions plus élevées est également présenté dans [GRIFFITHS 86].

En résumé, afin de découper l'espace d'un champ en plusieurs sous-champs, nous linéa-

risons d'abord les cellules selon l'ordre de leur clé de Hilbert. Ensuite, nous regroupons séquen-

tiellement (le long de la courbe) les cellules linéarisées en sous-champs.

La Figure 32 donne un exemple de ce type de regroupements.

Figure 32. Exemple de regroupement des cellules d'un champ de type TIN selon l'ordre de leur clé

de Hilbert.

* Cellules linéarisées selon leur clé de Hilbert :

triangle ti : H(x, y),

où (x,y) est le centre et H est la fonction retournant la clé deHilbert sur le point (x,y)

t11: H(6, 15) = 105 , t9 : H(20, 5) = 291, t10 : H(30, 26) = 664,

t12: H(15, 25) = 828, t1 : H(15, 40) = 1173, t0 : H(6, 45) = 1229,

t2 : H(27,46) = 1849, t3 : H(38, 39) = 2089, t4 : H(49, 43) = 2916,

t5 : H(57,31) = 3092, t8 : H(37, 13) = 3656, t7 : H(55, 5) = 3878,

t6 : H(50, 14) = 3928

b. Linéarisation des cellules

* Regroupement des cellules en sous-champs :

t11 t9 t10 t12 t1 t0 t2 t3 t4 t5 t8 t7 t 6 sous-champ1 sous-champ3

sous-champ2

c. Regroupement des cellules linéarisées

: points-échantillons

a. Champ de type TIN

: point central×

×t11

t5

t0t1

t2

t3

t4

t9

t8

t12

t10

×

× ×

×

×

×

×

×

×× ×

×

t6

t7

sous-champ2

d. Représentation spatialedes sous-champs

×t11

t5

t0t1

t2

t3

t4

t9

t8

t12

t10

×

× ×

×

×

×

×

×

×× ×

×

t6

t7

sous-champ3

sous-champ1

Page 91: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 4. Indexation par valeurs

91

Le champ est représenté par un TIN dans la Figure 32.a. Les cellules sont donc linéari-

sées selon leur clé de Hilbert (Figure 32.b). Comme nous l'avons défini ci-dessus, la clé de Hil-

bert d'une cellule est la clé de Hilbert du centre de la cellule. Ensuite, les cellules linéarisées

sont regroupées en sous-champs (la Figure 32.c). La Figure 32.d montre les cellules regroupées

dans la dimension spatiale.

Un sous-champ se construit de la façon suivante : un sous-champ inclut les cellules li-

néarisées une par une tant que la condition du regroupement est satisfaite (la condition est défi-

nie plus loin). Un sous-champ est donc un regroupement des cellules voisines connectées les

unes aux autres le long de la courbe de Hilbert.

4.4.1.2 La similarité des valeurs d’un sous-champ

Nous devons définir la condition du regroupement pour décider si une cellule peut être regrou-

pée ou non, dans un sous-champ. En effet, les valeurs d'une cellule à inclure dans un sous-

champ doivent être similaires aux valeurs du sous-champ.

Pour la condition de regroupement, nous proposons un modèle de coût qui tente de ne

pas faire augmenter la probabilité d'accès aux sous-champs lors du traitement des requêtes par

valeur.

Comme nous l'avons mentionné (voir la section 4.2.2), nous indexons les intervalles

des sous-champs pour le traitement des requêtes par valeurs. Cela signifie que les sous-champs

sont accédés par leur intervalle. En effet, un intervalle d'un sous-champ peut être interprété

comme un MBR (à 1 dimension) des valeurs que l'intervalle inclut. Nous exploitons donc la no-

tion de probabilité d'accès à un MBR par une requête spatiale à n dimensions (voir [KAMEL et

FALOUTSOS 93]).

Page 92: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 4. Indexation par valeurs

92

Probabilité d'accès à un MBR par une requête spatiale (selon [KAMEL et FALOUTSOS

93])

[KAMEL et FALOUTSOS 93] a considéré un espace à 2 dimensions. Les mêmes concepts peu-

vent être généralisés pour les dimensions plus élevées. Supposons que l'espace à 2 dimensions

soit normalisé à ([0,1]2), et considérons un MBR de taille nx × ny.

En supposant une équi-répartition (ce qui revient à supposer une loi uniforme) des re-

quêtes, la probabilité d'accès P au MBR pour une requête de type "Quel MBR contient un point

donné ?" est définie comme suit :

P = nx * ny .

En effet, la probabilité d'accès au MBR pour une requête d'un point correspond à la

probabilité que le point de la requête tombe dans le MBR. Cette probabilité se calcule à partir

de la surface du MBR dans la surface de l'espace normalisé. En généralisant cette notion, la

probabilité d'accès au MBR pour une requête dans un espace normalisé à N dimensions peut

être définie par rapport à la surface du MBR.

Coût d'accès à un sous-champ basé sur la probabilité d'accès à un sous-champ pour une

requête par valeurs

Nous considérons toujours un espace normalisé comme ci-dessus. Lors du traitement des requê-

tes par valeurs, un sous-champ est accédé par son intervalle des valeurs, c'est-à-dire par le do-

maine de valeurs, lequel est un espace à 1 dimension. Cet intervalle peut être considéré comme

un MBR à 1 dimension (comme mentionné ci-dessus). La probabilité d'accès à un sous-champ

pour une requête par valeurs correspond donc à la probabilité d'accès à un MBR à 1 dimension.

Nous pouvons donc définir la probabilité d'accès PSF au sous-champ dont l'intervalle est de

taille L :

PSF = L. ----- définition 1)

Page 93: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 4. Indexation par valeurs

93

Comme nous avons vu ci-dessus, la probabilité d'accès à un MBR est définie par rapport à sa

surface. En effet, la surface du MBR (à 1 dimension) d'un intervalle est la taille (longueur) de

l'intervalle.

Nous définissons aussi la taille len(I ) d'un intervalle I = [min, max] d'une cellule ou

d'un sous-champ :

len(I ) = max - min + 1.----- définition 2)

Dans le cas où le maximum et le minimum sont les mêmes, par exemple lorsqu'une

fonction d'interpolation retourne une valeur identique pour tous les points à l'intérieur d'une cel-

lule, la taille de l'intervalle de cette cellule est égale à 1 par définition, et non pas à 0. En effet,

la taille d'intervalle des cellules sera utilisée comme diviseur pour calculer le coût d'accès à un

sous-champ (la définition 3), qui sera présenté ci-dessous. Ainsi, la définition 2 permet de trai-

ter le cas illustré ci-dessus en évitant que le diviseur soit égal à 0.

Enfin, nous définissons le coût d'accès à un sous-champ i comme suit:

CSFi = PSFi / SIi, ----- définition 3)

où SIi est la somme des tailles d'intervalles de toutes les cellules du sous-champ i et PSFi est la

probabilité d'accès au sous-champ i.

Le coût d'accès à un sous-champ signifie donc la division de la probabilité d'accès au

sous-champ par la somme des tailles d'intervalles des cellules inclus dans le sous-champ.

La condition du regroupement

Nous essayons de regrouper le maximum de cellules similaires en sous-champs pour améliorer

la performance d'une méthode d'indexation. Nous pouvons remarquer que plus les valeurs dans

un sous-champ sont similaires, moins le coût d'accès au sous-champ est élevé. Ainsi nous es-

sayons de minimiser le coût d'accès aux sous-champs.

Page 94: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 4. Indexation par valeurs

94

Comme il est indiqué plus haut, lors du regroupement des cellules, un sous-champ in-

clut les cellules linéarisées une par une tant que la condition du regroupement est satisfaite. La

condition du regroupement d'une cellule se définit donc comme suit :

l'insertion d'une nouvelle cellule dans un sous-champ contenant déjà certaines cellules

ne doit pas augmenter le coût d'accès au sous-champ tel qu'il était avant son insertion.

Soit c la cellule à inclure dans un sous-champ i. Soit CSFi(c) (resp. CSFi'(c)) le coût

d'accès au sous-champ i avant (resp. après) l'insertion de c. L'acceptation d'une nouvelle cellule

dans un sous-champ i peut donc être effectuée si et si seulement CSFi(c) > CSFi'(c).

L'algorithme pour former des sous-champs à partir des cellules linéarisées est détaillé

dans l'Algorithme 4.

Procédure FormerSous-champ i = 1 Créer un sous-champ i en incluant la première cellule dedans Pour chaque cellule linéarisée {

Si CSFi (cellule courante) ≥ CSFi' (cellule courante) Alors Inclure la cellule courante dans le sous-champ i Sinon Finir le sous-champ i,

i = i + 1 Créer un nouvau sous-champ i

} FinProcédure

Algorithme 4. Algorithme de la génération des sous-champs.

Nous commençons donc avec l'intervalle de la première cellule parmi les cellules li-

néarisées. Nous formons un sous-champ en incluant toutes les cellules successives tant que la

condition du regroupement est satisfaite. Sinon, nous créons un nouveau sous-champ.

Comme le coût d'accès aux sous-champs est basé sur le calcul des intervalles des cellu-

les, nous pouvons représenter des cellules par leur intervalle lors la génération des sous-champs

comme l'illustre la Figure 33.a. Les cellules sont donc linéarisées selon leur clé de Hilbert. La

Figure 33.b représente la procédure de génération des sous-champs. Cette procédure regroupe

les cellules selon la condition du regroupement définie ci-dessus.

Page 95: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 4. Indexation par valeurs

95

Figure 33. Exemple de l'exécution de la procédure 'FormerSous-Champ'

Considérons l'état du sous-champ SF1 (Figure 33.b) tel que SF1 = ⟨c1,c2,c3,c4⟩. L'algo-

rithme doit décider si la cellule c5 doit être ajoutée à SF1. Ainsi, CSF1(c5) = 21/(11+10+11+13)

= 0,466 et CSF1'(c5) = 31/(11+10+11+13+13) = 0.534. L'insertion de c5 a donc augmenté le coût

d'accès du sous-champ 1. Donc, c5 ne peut pas être ajoutée à SF1. Ainsi un nouveau sous-champ

SF2 a été créé à partir de la cellule c5.

4.4.2 Exemples de génération des sous-champs par I-Hilbert

Nous présentons dans cette section, deux exemples d'implémentation des sous-champs par la

méthode I-Hilbert décrite dans la section précédente. La Figure 34. (resp. la Figure 35) illustre

un exemple d’un champ continu de type DEM (resp. TIN).

valeur

valeur de Hilbert

20

30

25

40

c1 c2 c3 c4 c5

3438

28

c6 . . . . .

. . .50

valeur

clé de Hilbert

20

30

25

40

c1 c2 c3 c4 c5

3438

28

c6 . . . . .

. . .

sous-champ 1

sous-champ 2

50

a. les intervalles des cellules linéarisées b. des sous-champs générés

intervalle dusous-champ 1

Page 96: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 4. Indexation par valeurs

96

Figure 34. Exemple de génération d’un sous-champ continu de type DEM.

La Figure 34.a présente un exemple du champ représenté par un DEM. Après avoir li-

néarisé les cellules selon l'ordre de la clé de Hilbert de chaque cellule, la procédure Former-

Sous-champ s'exécute pour générer des sous-champs. La Figure 34.c représente l'information

spatiale des sous-champs générés dans La Figure 34.b.

valeur

clé de Hilbert

18

16

14

12

10

8

6

4

2

0 c0 c1 c2 c3 c4 c5 c6 ...

. . .sous-champ 1

sous-champ 2

8

8

10

78

7

814

4

c0

c8

c2

c7

c1

c4

c6

c3

c5 c10c9

c11

c12

c14

c13

c15

10

10 9

10 10

4

69

1112

13 17 16 8 9

: points-échantillon

a. Champ de type DEM

b. Génération des sous-champs à partir de l’intervalle descellules linéarisées (la procédure FormerSous-champ)

c. Représentation spatiale des sous-champs

sous-champ 1

sous-champ 2

sous-champ 3

Linéariserles cellules

* l'intervalledes cellules

c0 = [7, 10]

c1 = [4, 10]

c2 = [1, 8]

...

Page 97: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 4. Indexation par valeurs

97

La Figure 35 présente un autre exemple d'un champ continu de type TIN. Un champ

continu de TIN est illustré dans la Figure 35. Les triangles dans l'exemple sont, en effet, les

mêmes triangles que dans la Figure 32. La linéarisation des cellules est donc basée sur le calcul

de la clé de Hilbert des cellules, qui est présenté dans la Figure 32.b.

Figure 35. Exemple de génération d’un sous-champ continu de type TIN.

valeur

18

16

14

12

10

8

6

4

2

0 c0 c1 c2 c3 c4 c5 ...

. . .sous-champ 1

sous-champ 2

: points-échantillon

a. Champ de type TIN

c. Représentation spatiale des sous-champs

Linéariserles cellules

: point central×

×

c0

c9

c5 c4

c6

c7

c8

c1

c10

c3 c2

×

× ×

×

×

×

×

×

×× ×

×

c12

c11

b. Génération des sous-champs à partir de l’intervalle descellules linéarisées (la procédure FormerSous-champ)

10

8

8

×

c0

c9

c5 c4

c6

c7

c8

c1

c10

c3 c2

×

× ×

×

×

×

×

×

×× ×

×

c12

c117

sous-champ 1

4

14

* l'intervalledes cellules

c0 = [8, 10]

c1 = [6, 10]

c2 = [4, 11]

...

11

8

16

136

17 12

sous-champ 2

Page 98: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 4. Indexation par valeurs

98

La Figure 36 illustre des exemples de sous-champs générés par la méthode I-Hilbert

sur des données réelles. La Figure 36.a représenté des données de terrains sous formes de DEM.

Ces données obtenues depuis http://edcwww.cr.usgs.gov proviennent de la ville de ROSEBURG

(USA). L'altitude des terrains est représentée par différentes couleurs. Les sous-champs sont re-

présentés par des polygones sur les cartes.

Figure 36. Sous-champs générés sur des données réelles (données de terrains ).

Page 99: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 4. Indexation par valeurs

99

4.4.3 Implémentation

4.4.3.1 Structure de données

Un intervalle d'un sous-champ est de la forme :

(ptr_début, ptr_fin, min, max),

où ptr_début (ptr_fin) est le pointeur sur la cellule du début (resp. de fin) du sous-champ (dans

l'ordre des clés de Hilbert). Et min et max sont des bornes de l'intervalle du sous-champ.

Les cellules sont linéarisées sur le disque selon l'ordre des clés de Hilbert. Par consé-

quent, les deux pointeurs ptr_début et ptr_fin indiquent l'adresse disque où sont stockées toutes

les cellules contenues dans le sous-champ.

L'intervalle de chaque sous-champ est transformé en un point à 2 dimensions et ce

point est inséré dans un 2-D R*-tree pour l'indexation. La structure d'un 2-D R*-tree pour les

points transformés est de la forme :

où ptr est un pointeur sur le nœud fils et RECT représente un MBR. Et Ptr_début (ptr_fin) est le

pointeur sur la cellule du début (resp. de fin) du sous-champ.

Notons que RECT d'une feuille est un MBR du point transformé à partir de l'intervalle

[min, max] d'un sous-champ. Notons aussi que les feuilles du R*-tree doivent stocker les deux

pointeurs ptr_début et ptr_fin de chaque sous-champ.

Nous aurions pu imaginer que les pointeurs sur ces deux cellules puissent être rempla-

cés par leur clé de Hilbert. Par exemple, dans le cas où les distances entre les clés de Hilbert des

cellules voisines (c'est-à-dire les valeurs de la courbe de Hilbert sur le point central des cellules)

sont identiques comme dans le cas du DEM (la grille régulière), l'adresse disque d'une cellule

peut être calculée par sa clé de Hilbert. En revanche, dans le cas où les clés de Hilbert des cellu-

Nœud intermédiaire : ptr, RECT .... identique

Feuille : ptr_début, ptr_fin, RECT …. identique

Page 100: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 4. Indexation par valeurs

100

les ne composent pas une suite régulière (comme dans le cas des TIN), il est nécessaire de stoc-

ker les adresses physiques des cellules sur le disque. C'est la raison pour laquelle nous utilisons

les pointeurs sur les cellules plutôt que les clés de Hilbert.

4.4.3.2 Procédure de recherche

Dans la section précédente, nous avons présenté comment construire l'index par la méthode I-

Hilbert. Nous présentons, dans cette section, comment utiliser cet index pour une requête par

valeurs. Donc, après avoir construit un 2-D R*-tree des points transformés depuis les intervalles

de sous-champs, nous pouvons effectuer une requête par valeurs en utilisant cet index.

De la même façon que pour la méthode I-All, la valeur w de la requête est d'abord

transformée en un rectangle rw par la fonction Trans_Inter(w) (voir la section 2-D R*-tree par

transformation). Ensuite, on exécute l'algorithme 'Intersect' dans le R*-tree avec le rectangle rw

comme la condition de requête pour rechercher des points contenu dans rw. La procédure pour

le traitement des requêtes par valeurs avec l'indexation I-Hilbert est présentée ci-dessous.

Procédure Intersect(nœud n du R*-tree, rectangle de la requête rw) : // Rechercher les nœuds intermédiaires Si n est un nœud intermédiaire

alors pour chaque élément (ptr, RECT) du n dont le RECT intersecte rw Intersect(fils, rw), où fils est le nœud pointé par ptr // Rechercher les feuilles Sinon pour chaque élément (ptr_début, ptr_fin,RECT) dont le RECT intersecte rw Estimer(ptr_début, ptr_fin, Trans_Inter-1(rw))

FinProcédure

Procédure Estimer(pointeur ptr_début, pointeur ptr_fin, valeur de la requête w) Extraire les cellules sur le disque entre ptr_début et ptr_fin Estimer les régions exactes correspondant à w à partir des données des cellules

extraites FinProcédure L'algorithme commence par l'appel suivant : Rechercher (Racine du R*-tree, rectangle de la requête transformé rw)

Algorithme 5. Traitement des requêtes par valeurs basé sur l'indexation I-Hilbert.

Page 101: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 4. Indexation par valeurs

101

Trans_Inter-1 retourne la valeur d'origine de la requête à partir d'un rectangle (comme

dans la méthode I-All, voir la section 4.1).

L'algorithme commence par l'exécution de 'Intersect' dans le R*-tree avec rw. Pour les

feuilles dont le MBR intersecte rw, nous appelons la procédure Estimer pour estimer les ré-

gions répondant à la requête. Cet algorithme est aussi représenté par le schéma de la Figure 57

dans la section 6.2

Dans la méthode I-All, la procédure Estimer extrait juste une seule cellule (qui con-

tient les régions de la réponse) et effectue une fonction d'interpolation. En revanche, dans la

méthode I-Hilbert, la procédure Estimer extrait plusieurs cellules (qui contiennent probable-

ment les régions de la réponse) pour effectuer l'estimation.

4.5 Conclusion

Dans ce chapitre, nous avons présenté les méthodes l’indexation développées au sein de nos tra-

vaux. La méthode la plus simple et intuitive est nommée la méthode I-All. Elle indexe

l’intervalle de chaque cellule afin de trouver des cellules dont l’intervalle chevauche la valeur

de la requête. Cela implique, en effet, une recherche exhaustive et précise, car la recherche ex-

trait toutes les cellules contenant les régions de la réponse. En revanche, l'existence d'un grand

nombre de cellules à traiter dans un champ continu ne rend pas cette méthode vraiment efficace.

Un nouveau concept de « sous-champ » est proposé. Un sous-champ est un sous-espace

contenant des valeurs proches. En se basant sur le concept de sous-champs, nous proposons une

stratégie de traitement des requêtes composée de 1) l'étape Filtrage et 2) l'étape Estimation.

L'étape Filtrage conduit une recherche approximative en trouvant des sous-champs satisfaisant

la requête plutôt que les cellules elles-mêmes. En effet, les cellules dans les sous-champs issues

de l'étape Filtrage sont susceptibles de contenir les régions de la réponse. Ainsi, la réponse

exacte est obtenue par l'étape Estimation.

Il existe deux critères à prendre en compte pour implémenter des sous-champs :

- la façon de découper l'espace : comment diviser l'espace en plusieurs sous-champs ?

- le critère de similarité des valeurs d'un sous-champ : ceci représente la condition de

composition d’un sous-champ.

Page 102: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 4. Indexation par valeurs

102

Deux méthodes d'indexation sont proposées selon la définition de ces deux critères.

1) Méthode Interval Quadtree :

L'espace se divise en quatre sous-espaces recursivement jusqu'à ce que la taille de l'in-

tervalle des qautre sous-espaces soit inférieure à un seuil pré-déterminé. En effet, la similarité

des valeurs d'un sous-champ est jugée par la taille fixe d'intervalle du sous-champ. Cette mé-

thode n'est pas fiable car les performances sont dépendantes du seuil utilisé et de la distribution

des données. Cela provient de la non existence de moyen justifiable de décider le seuil optimal.

Ainsi, le découpage quadratique n'est pas adapté pour traiter les cellules non quadratiques.

2) Méthode I-Hilbert :

Dans un premier temps, afin de surmonter les inconvénients du découpage quadratique,

nous avons reinterprété le sens du découpage de l'espace (comme le regroupement des cellules

en sous-champs). Les cellules sont linéairsées selon la clé de Hilbert de leur information spa-

tiale (ou spatio-temporelle). Ensuite, les sous-champs se forment en regroupant séquentillement

les cellules linéarisées (selon la condition du regroupement définie dans cette thèse). Dans un

deuxième temps, nous avons essayé de trouver une condition de regroupement qui s'adapte à la

distribution des données (pas une valeur fixe de la condition comme dans la méthode Quadtree).

Nous avons d'abord défini le coût d'accès à un sous-champ pour les requêtes. Ensuite, la condi-

tion du regroupement est définie dans le sens de ne pas augmenter le coût d'accès afin de

maximiser les performances.

Après avoir proposé les méthodes d’indexation par valeurs, nous nous intéressons dans

le chapitre suivant à l'implémentation et aux tests des performances des méthodes proposées.

Page 103: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs
Page 104: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 5. Implémentation et performance

104

5. Implémentation et performance

Nous avons implémenté la méthode I-Hilbert et nous avons effectué des tests sur des données de

champs continus à 2 dimensions spatiales. La méthode est implémentée en C sous Unix. Nous

avons comparé la méthode I-Hilbert avec celle du Balayage Séquentiel, et avec la méthode I-

All.

Pour chaque test, nous avons utilisé des requêtes par valeurs ayant comme condition un

intervalle variable de valeurs du champ ;

Qintervalle : intervalle de la requête variant en considérant une taille normalisée de l'in-

tervalle de l'espace du champ total égale à [0, 1]. Par exemple, les requêtes avec Qintervalle = 0.1

dans un espace dont l'intervalle total est [10, 110], sont des requêtes avec des intervalles de

taille 10 (tels que [25, 35], [43, 53]). Les requêtes avec Qintervalle = 0 correspondent à des requê-

tes par valeurs ayant comme condition une seule valeur (par exemple "Quelles sont les régions

où la valeur est égale à 30").

Nous avons généré aléatoirement 200 requêtes pour quelques valeurs de Qintervalle. Nous

avons mesuré le temps d'exécution des requêtes par valeurs en calculant le temps moyen con-

sommé pour la résolution de 200 requêtes pour chaque valeur de Qintervalle considérée. La taille

de page disque utilisée est 4Ko.

Des données réelles et des données simulées ont été utilisées pour mesurer la perfor-

mance des méthodes. Nous avons utilisé des données réelles afin d'évaluer notre méthode en

pratique. Les données simulées nous ont permis de maîtriser plusieurs paramètres afin de tester

notre méthode sur des données ayant d'autres caractéristiques. Nous avons utilisé une simple in-

terpolation bilinéaire afin d'estimer des valeurs sur les points non échantillonnés.

Page 105: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 5. Implémentation et performance

105

5.1 Données réelles

Deux types de données réelles ont été utilisées : des données de terrain et des données sonores

urbaines.

5.1.1 Données de terrain

Des données d'altitudes de terrain (USGS DEM) issues de trois régions différentes (Victoria,

Burns, Pullman) des Etats-Unis ont été obtenues à partir de http://edcwww.cr.usgs.gov. Les par-

ties des régions utilisées pour les tests sont composées chacune de 266.144 cellules rectangulai-

res ayant quatre sommets (la résolution de chaque DEM est 512*512). La Figure 37 montre une

partie des données d’une région.

Figure 37. Partie de la région utilisée pour les tests.

Nous avons effectué des tests pour chaque région en faisant varier Qintervalle de 0 à 0.1. La Figure 38 montre les résultats de la méthode I-Hilbert, de la méthode du Balayage Séquentiel et de la méthode I-All (pour chaque région).

Page 106: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 5. Implémentation et performance

106

Figure 38. Temps d’exécution des tests sur des données réelles de terrains issues de trois régions

différentes, a)Victoria, b)Burns, c)Pullman.

0

0,1

0,2

0,3

0,4

0,5

0,6

0,7

0,8

0,9

0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1

Qintervalle

Tem

ps d

'exé

cutio

n (s

)

BlayageSéquentielI-AllI-Hilbert

0

0,05

0,1

0,15

0,2

0,25

0,3

0,35

0,4

0,45

0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1Qintervalle

Tem

ps d

'exé

cutio

n (s

)

BlayageSéquentielI-AllI-Hilbert

0

0,1

0,2

0,3

0,4

0,5

0,6

0,7

0,8

0,9

0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1

Qintervalle

Tem

ps d

'exé

cutio

n (s

)

BlayageSéquentielI-AllI-Hilbert

a.

c.

b.

Page 107: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 5. Implémentation et performance

107

Comme le montre la Figure 38, la méthode I-Hilbert donne les meilleurs résultats par-

mi les méthodes testées pour les trois régions. Le temps d'exécution de la méthode I-Hilbert va-

rie environ de 0 à 0.1 pour tous les Qintervalle et pour les trois régions testées. Contrairement à la

méthode I-Hilbert, nous pouvons remarquer que la méthode I-All donne des performances très

différentes en fonction des régions et des valeurs de Qintervalle. Les différences de performances

de I-All sont assez importantes, selon que l'on considère un "grand" Qintervalle ou un "petit" Qinter-

valle. Et ce particulièrement dans la Figure 38.c. Dans ce cas, le temps d'exécution de la méthode

I-All est plus lent que le Balayage Séquentiel pour Qintervalle ≥ 0.04 (environ), et même plus de

deux fois plus lent pour Qintervalle ≥ 0.09. La méthode I-Hilbert est de 6 à 13 fois plus rapide que

la méthode du Balayage Séquentiel (voir la Figure 38.c).

5.1.2 Données sonores urbaines

Des données sonores urbaines mesurées à Lyon (France) ont été utilisées. Ces données sonores

sont représentées par un maillage triangulaire d'environ 9000 triangles. Ces données sonores

sont des données créées et utilisées dans un système d’information sonore urbain, MITHRA. La

description de ce système et de ses données est présentée dans la section 7.1 (intitulée Système

d'Information Sonore Urbain : MITHRA).

Les courbes de la Figure 39 illustrent les performances des méthodes proposées selon

plusieurs intervalles de requêtes.

Figure 39. Temps d’exécution des tests sur des données sonores urbaines.

0,00

5,00

10,00

15,00

20,00

25,00

30,00

0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1

Q intervalle

Tem

ps d

'exé

cutio

n (m

s)

LinearScanI-A llI-Hilbert

Page 108: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 5. Implémentation et performance

108

Comme le montre la Figure 39, on peut noter que la méthode I-Hilbert fonctionne éga-

lement mieux que les autres méthodes sur des données sonores urbaines. La méthode I-Hilbert

est plus rapide que les autres méthodes.

5.2 Données simulées par une méthode fractale

Nous avons utilisé des données simulées ayant diverses caractéristiques. Pour les données simu-

lées, nous avons généré des données de terrain par la méthode fractale [PEITGEN et al.92]. La

propriété principale des fractales est "l'auto-similarité". Une telle propriété est exploitée pour

générer artificiellement des plantes et des données de paysages tels que des terrains, des ciels

nuageux, des côtes, etc..[PEITGEN et al.92]. Dans un premier temps, nous présentons la mé-

thode de génération des données de terrain fractal. Par la suite, nous montrons les résultats des

tests effectués sur ces données.

5.2.1 Génération des données de terrain fractal

Pour générer des terrains fractals à 2 dimensions, nous avons utilisé l'algorithme de 'Diamond-

Square' qui est une méthode classique et connue. Cet algorithme utilise la méthode de 'Midpoint

Displacement' à 2 dimensions. Afin d'aider à la comprendre, nous présentons d'abord la mé-

thode 'Midpoint Displacement' à 1 dimension avant d'expliquer l'algorithme de 'Diamond-

Square'.

Page 109: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 5. Implémentation et performance

109

5.2.1.1 Midpoint Displacement à 1 dimension

La procédure de la méthode de Midpoint Displacement [FOURNIER et al. 82] [PEITGEN et

al.92]. à 1 dimension est définie comme suit:

Algorithme 6. Algorithme MidPoint Displacement

De combien l'intervalle de valeurs est-il réduit à chaque itération de la boucle 1 ? Ce

paramètre détermine la rugosité du terrain fractal. Autrement dit, plus l'intervalle de valeurs se

réduit, plus le segment final sera lisse.

La Figure 40 illustre un exemple d'exécution de la méthode de Midpoint Displacement

à 1 dimension.

Figure 40. Midpoint Displacement

Commencer avec une seul segment

Répéter un nombre de fois suffisant { -------- [ boucle 1]

Répéter sur chaque segment {

Trouver le point central sur le segment.

Choisir aléatoirement un décalage dans l'intervalle de valeurs

Déplacer le point central "en hauteur" avec le décalage choisi.

}

Réduire l'intervalle de valeurs

}

: point calcul a. b. c.

Page 110: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 5. Implémentation et performance

110

Supposons que les valeurs en Y des deux points finaux du segment soient 0, que l'in-

tervalle de valeurs soit fixé à [-1.0, 1.0] et que l'intervalle de valeurs se réduise de moitié à cha-

que itération. Une valeur de décalage h est alors choisie dans l'intervalle initial [-1.0, 1.0] et

nous déplaçons "en hauteur" le point central avec le décalage h (voir la Figure 40.a). L'inter-

valle de valeurs est réduit de moitié, donc il est égal à [-0.5, 0.5]. Lors de la deuxième itération

de la boucle 1, nous traitons deux segments ayant comme taille la moitié de la taille du segment

original. Un décalage est choisi dans l'intervalle [-0.5, 0.5] pour chacun des deux points cen-

traux. Ensuite, les deux points centraux sont déplacés de leur valeur de décalage (voir la Figure

40.b). L'intervalle de valeurs sera réduit encore de moitié, donc devient [-0.25, 0.25]. Le résultat

du déplacement des quatre points centraux est montré dans la Figure 40.c.

L'intervalle de valeurs se réduit par l'échelle de 2(-H) avec H variant de 0.0 à 1.0. H est

donc un paramètre pour la rugosité de terrain. Il détermine de combien l'intervalle de valeurs se-

ra réduit à chaque itération. Par conséquent, il détermine la rugosité du terrain simulé par la mé-

thode fractale :

H : rugosité du terrain variant de 0.0 à 1.0, donc 2(-H) varie entre 1.0 (pour H = 0) et

0.05 (pour H = 1).

Si on considère H = 1.0, l'intervalle de valeurs est réduit de moitié à chaque itération,

ce qui a pour effet de lisser le terrain. En revanche, en considérant H = 0.0, l'intervalle ne sera

pas réduit donc, la rugosité du terrain augmente. La Figure 41 montre l'exemple de trois seg-

ments générés par la méthode de Midpoint Displacement à 1 dimension selon un H variable.

Figure 41. Segments générés par Midpoint Displacement selon un H variable.

H=0.8 H=0.5 H=0.2

Page 111: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 5. Implémentation et performance

111

5.2.1.2 Génération des données fractales par Diamond-Square

Nous présentons ici l'algorithme de Diamond-Square [FOURNIER et al. 82] [PEITGEN et al.92] pour

générer des terrains fractals à 2 dimensions en utilisant la méthode de MidPoint Displacement.

L'algorithme commence avec un carré et avec quatre hauteurs initiales choisies aléatoi-

rement (voir la Figure 42.a). En fait, chaque sommet du carré est associé à une hauteur. Chaque

carré est divisé récursivement en quatre autres carrés au cours des deux étapes de chaque itéra-

tion (l'étape Diamond et l'étape Square). Chaque étape est décrite ci-dessous :

- L'étape Diamond : pour chaque carré, générer aléatoirement une valeur de décalage pour

le point central où les deux diagonales du carré se croisent (voir la Figure 42.b). La valeur

(hauteur) du centre sera calculée de la façon suivante; valeur = moyenne des valeurs des

quatre points + valeur de décalage générée.

- L'étape Square : pour chaque carreau de quatre points (ex. voir les quatre carreaux en trait

pointillé dans la Figure 42.c), générer aléatoirement une valeur de décalage pour le centre

du carreau. Calculer la valeur du centre du carreau de la façon suivante ; valeur = moyenne

des valeurs des quatre points + valeur de décalage générée.

L'algorithme Diamond-Square pour générer des données fractales est présenté ci-

dessous:

Commencer avec un carré

Répéter un nombre de fois suffisant {

Exécuter l'étape Diamond : Calculer les points centraux de tous les carrés

Exécuter l'étape Square : Calculer les points centraux de tous les carreaux

(les points restants)

Réduire l'intervalle de valeurs

}

Algorithme 7. Algorithme Diamond-Square.

Page 112: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 5. Implémentation et performance

112

La Figure 42 illustre un exemple de deux itérations de la boucle de l'algorithme ci-

dessus.

Figure 42. Deux itérations de la subdivision pour générer la surface fractale (algorithme de Dia-

mond-Square sur un carré de 4x4).

Un décalage est choisi, à chaque fois, dans l'intervalle de valeurs pour le calcul d'un

point. L'intervalle de valeurs se réduit par l'échelle de 2(-H) où H est choisi entre de 0.0 à 1.0

(comme dans la méthode de MidPoint Displacement). H joue toujours le rôle du paramètre de

rugosité des données simulées. La Figure 43 et la Figure 44 illustrent des exemples de données

simulées à 2 dimensions ayant 32*32 cellules rectangulaires par l'algorithme de Diamond-

Square.

: point connu: point à calculer

a. quatre hauteurs b. passe 1: c. passe 1 : résultat de la passe 1 initiales l' étape Diamond l'étape Square

d. passe 2 : e. passe 2 : résultat de la passe 2l'étape Diamond l'étape Square

Page 113: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 5. Implémentation et performance

113

Figure 43. Exemples de données de terrains simulés, H = 0.2.

Figure 44. Exemples de données de terrains simulés, H = 0.8.

La rugosité H utilisée dans la Figure 43 et celle de la Figure 44 sont respectivement

égale à 0,2 et 0,8. Les quatre hauteurs initiales sont générées aléatoirement au début de l'algo-

rithme. Les même hauteurs initiales sont utilisées pour les deux cas afin de montrer l'effet de H

sur des valeurs initiales identiques.

Page 114: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 5. Implémentation et performance

114

5.2.2 Expérimentations sur des données de terrains fractals

Nous avons généré des terrains fractals de 1 048 576 cellules rectangulaires avec H variant de 0

à 0.06 afin de mesurer la performance de la méthode ‘I-Hilbert’ sur des données de types diffé-

rents. La Figure 45 donne les résultats des tests avec les valeurs de H suivantes : 0,1 ; 0,3 ; 0,6 ;

0.9. L'axe des abscisses représente l'intervalle des requêtes. L'axe des ordonnées représente le

temps moyen d'exécution de 200 requêtes générées aléatoirement pour chaque intervalle de re-

quêtes.

0

0,5

1

1,5

2

2,5

3

3,5

0 0.01 0.02 0.03 0.04 0.05 0.06Qintervalle

Tem

ps d

'exé

cutio

n (s

)

BalayageSéquentiel

I-direct

Hilbert

0

1

2

3

4

5

6

0.01 0.02 0.03 0.04 0.05 0.06

Qintervalle

Tem

ps d

'exé

cutio

n (s

)

BalayageSéquentiel

I-Direct

Hilbert

a. H = 0.1

b. H = 0.3

Page 115: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 5. Implémentation et performance

115

Figure 45. Temps d'exécution des requêtes sur des données simulées par une méthode fractal.

Nous pouvons remarquer que notre méthode I-Hilbert est plus efficace que les autres

pour toutes les valeurs de H considérées dans ces tests. La Figure 45.d montre que la méthode I-

Hilbert est 50 fois plus rapide que la méthode de Balayage Séquentiel lorsque Qintervalle varie de

0 à 0.01.

0

0,2

0,4

0,6

0,8

1

1,2

1,4

1,6

1,8

0 0.01 0.02 0.03 0.04 0.05 0.06Qintervalle

Tem

ps d

'exé

cutio

n (s

)

BalayageSéquentiel

I-directHilbert

d. H = 0.9

c. H = 0.6

00,20,40,60,8

11,21,41,61,8

22,2

0 0.01 0.02 0.03 0.04 0.05 0.06Qintervalle

Tem

ps d

'exé

cutio

n (s

)

BalayageSéquentielI-directHilbert

Page 116: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 5. Implémentation et performance

116

Nous pouvons aussi remarquer que les deux méthodes (I-All et I-Hilbert) deviennent

de plus en plus rapides quand la valeur de H augmente. Par contre, le Balayage Séquentiel n'est

pas influencé par la distribution des données. En revanche, pour QintervalleI = 0.02, les temps

d'exécution de la méthode I-Hilbert sont 0.715, 0.282, 0.150, 0.143 avec respectivement H = 1,

H = 3, H = 6, H = 9. Pour la même condition, les temps d'exécution de la méthode I-All sont

respectivement 3.621, 1.424, 0.751, 0.569.

Lors d'une faible valeur de H, les requêtes sélectionnent plus de données, c'est-à-dire

qu'une haute sélectivité est réalisée dans les requêtes (nous allons présenter la définition de cette

sélectivité ci-après). En effet, les données simulées sont "rugueuses" c’est-à-dire avec de gran-

des différences d'altitude (comme le montre la Figure 43). Les intervalles des cellules sont rela-

tivement longs sur l'axe de l'altitude et se chevauchent fréquemment. Ainsi, la même requête sé-

lectionne en général plus de données que dans le cas de grandes valeurs de H. A l’inverse, une

grande valeur de H génère des données plutôt monotones et elle donne une basse sélectivité.

Une haute sélectivité requiert plus de temps d'exécution. C'est la raison pour laquelle les métho-

des sont plus lentes pour une faible valeur de H que pour une grande valeur de H.

Les courbes montrent ainsi que la méthode I-All donne de grandes différences de per-

formance en fonction des valeurs de H et Qintervalle. Plus particulièrement, plus la valeur de H

devient grande, plus la méthode devient lente. Par exemple, la méthode I-All est 5 fois plus

lente que le Balayage Séquentiel dans le cas de Qintervalle = 0.04 (voir la Figure 45.a). En effet,

un Qintervalle élevé entraîne aussi une plus haute sélectivité qu’un Qintervalle faible pour la même

valeur de H. La raison est que Qintervalle représente la taille de l'intervalle des requêtes.

On conclut donc que la méthode I-All n'est pas efficace (plus lente que le Balayage

Séquentiel) dans les cas d'une grande valeur de Qintervall et/ou d'un H faible. Ces deux cas entraî-

nent une haute sélectivité dans les requêtes. En revanche, la méthode I-Hilbert fonctionne tou-

jours mieux que les autres méthodes en donnant des résultats stables (entre environ 0.1 et 1) et

ce, quelque soit le cas testé.

A partir des données de tests effectués ci-dessus, nous avons mesuré les performances

des méthodes proposées en fonction d'un autre critère à savoir le taux de sélectivité. La sélecti-

vité d'une requête peut être définie comme suit :

sélectivité d'une requête =

Page 117: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 5. Implémentation et performance

117

Nb(résultat de la requête) / Nb(ensemble des données à traiter),

où la fonction Nb(S) retourne le nombre de cellules de l'ensemble S spécifié.

Nous avons testé les deux cas "extrêmes" de H c’est-à-dire H=0.1 et H=0.9, car nous

avons remarqué de grandes différences de temps d'exécution entre ces deux cas. Ainsi, serait-il

intéressant de mesurer les performances en fonction de la sélectivité. Cela permettrait de

conforter nos précédentes hypothèses sur le rapport existant entre les performances et le taux de

sélectivité. La Figure 46 montre les résultats des tests pour chaque H.

Figure 46. Temps d'exécution des requêtes selon la sélectivité des requêtes.

00,40,81,21,6

22,42,83,23,6

44,44,85,2

0,001

0,003

0,008

0,012

0,016

0,021

0,054

0,077

0,107

0,114

0,123

0,136

0,150

Sélectivité

Tem

ps d

'exé

cutio

n(s)

BalayageSéquentielI-AllI-Hilbert

0

0,4

0,8

1,2

1,6

2

2,4

2,8

3,2

3,6

4

0,001

0,003

0,008

0,011

0,016

0,042

0,059

0,074

0,105

0,108

0,109

0,113

0,126

0,128

0,142

Sélectivité

Tem

ps d

exéc

utio

n(s) BalayageSéquentiel

I-All

I-Hilbert

a. H = 0.1

b. H = 0.9

Page 118: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 5. Implémentation et performance

118

Nous remarquons, dans la Figure 46, que le temps d'exécution des méthodes varie en

fonction de la sélectivité, de façon similaire dans les deux cas de H considérés. Chaque méthode

(excepté le Balayage Séquentiel) requiert plus de temps d'exécution pour une haute sélectivité.

Les courbes montrent surtout que la méthode I-All ralentit considérablement pour une

haute sélectivité (en comparaison avec la méthode I-Hilbert). Notons que pour les deux cas de H

considéré, la méthode I-All devient plus lente que le Balayage Séquentiel lorsque la sélectivité

est ≥ 0.06 (environ). Nous pouvons conclure que dans le cas d’une haute sélectivité, les perfor-

mances de la méthode I-All sont particulièrement mauvaises (ex. 3 fois plus lente que le Ba-

layage Séquentiel pour une sélectivité égale à environ 0.15).

Nous pouvons constater que la méthode I-Hilbert donne, dans tous les cas, les meil-

leurs résultats et les résultats les plus stables (quelque soit H et quelque soit la sélectivité). Ain-

si, cette méthode est remarquablement efficace comparée aux autres. Elle offre des résultats 20

à 100 fois meilleurs que le Balayage Séquentiel pour une sélectivité comprise entre environ

0.001 et 0.01, et ce pour les deux cas de H considéré.

5.3 Données simulées monotones

Dans cette section, nous présentons les résultats des tests sur des données simulées qui

sont extrêmement monotones. En pratique, il est rare de trouver des exemples de champs conti-

nus représentés par ce genre de données extrêmes. Malgré tout, nous ne pouvons tout de même

pas complètement exclure ce type de données.

Nous présentons deux type de données monotones simulées.

- Données monotones dans l'espace d'origine : les valeurs des données changent de

manière monotone selon l'axe spatial dans l'espace d'origine. (ex. l'altitude d'un ter-

rain augmente selon l'augmentation des coordonnées (x,y) car un terrain est un es-

pace à 2 dimensions).

- Données monotones dans l'espace linéarisé selon les clés de Hilbert : lorsque les

cellules sont linéarisées selon ces clé de Hilbert, les valeurs des données (surtout

les intervalles des cellules) sont monotones sur l'axe de la clé de Hilbert.

Page 119: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 5. Implémentation et performance

119

5.3.1 Données monotones dans l'espace d'origine

Nous avons généré des données de DEM ayant 512* 512 cellules à 2 dimensions et modélisées

par :

w(x,y) = x + y,

où w(P) est la valeur du point P.

La Figure 47 montre un exemple de ce type de données.

Figure 47. Données monotones dans l'espace d'origine à 2 dimensions.

La Figure 48 représente les résultats du temps d'exécution. Les courbes montrent que

notre méthode I-Hilbert fonctionne également mieux que les autres méthodes pour ce genre de

données extrêmement monotones.

Figure 48. Temps d'exécution de requêtes sur des données monotones.

0

0,1

0,2

0,3

0,4

0,5

0,6

0,7

0,8

0 0.01 0.02 0.03 0.04 0.05 0.06

Q intervalle

Tem

ps d

'exé

cutio

n (s

)

Balayage Séquentiel

I-A ll

I-H ilbert

Page 120: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 5. Implémentation et performance

120

5.3.2 Données monotones dans l'espace linéarisé

La méthode I-Hilbert utilise les cellules linéarisées selon leur clé de Hilbert (voir section

5.5.1.1). Cette méthode forme, selon une condition de regroupement, des sous-champs en ajou-

tant séquentiellement les cellules linéarisées. Cette condition est basée sur la probabilité d'accès

à un sous-champ (voir section 5.5.1.2). Cette condition permet de regrouper des cellules dont

les valeurs sont similaires dans des sous-champs, tout en essayant de ne pas augmenter le coût

d'accès au disque. En revanche, nous pouvons imaginer un type de champ continu dont les

cellules ne se regroupent pas dans des sous-champs (cela correspond au cas où chaque sous-

champ contient une seule cellule). A l’inverse, nous pouvons aussi imaginer le cas où la

méthode génère un seul sous-champ contenant toutes les cellules. Dans ce chapitre, nous

générons ce genre de cas extrêmes et testons les performances de la méthode I-Hilbert.

Nous rappelons que le coût CSF d'accès à un sous-champ SF basé sur la probabilité

d'accès est défini par :

CSF = L /SI,

où L est la taille de l'intervalle du sous-champ SF et SI est la somme des tailles d'intervalles de

toutes les cellules du SF .

Nous rappelons aussi la procédure FormerSous-champ (voir Algorithme 4 de la sec-

tion 4.4.1.2) formant des sous-champs à partir des cellules linéarisées. La procédure, pour cha-

que cellule, teste si CSF≥ CSF'. Il s’agit de la condition du regroupement - CSF et CSF' sont

respectivement les coûts d'accès avant insertion et après insertion de la cellule dans le sous-

champ courant. Si c'est la cas, la cellule courante sera incluse dans le sous-champ, sinon le

sous-champ courant se termine et un nouveau sous-champ sera créé en contenant la seul cellule

courante.

Nous pouvons donc imaginer deux cas extrêmes au cours de la générations des sous-

champs :

- [Cas 1] CSF < CSF' pour toutes les cellules

- [Cas 2] CSF ≥ CSF' pour toutes les cellules

Page 121: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 5. Implémentation et performance

121

1) Cas 1 : CSF < CSF' pour toutes les cellules

Ce cas ne regroupe aucune cellule dans un même sous-champ. Chaque cellule correspond à un

sous-champ. Puisqu'une cellule correspond à un sous-champ, la méthode I-Hilbert pour ce cas

correspond exactement à la méthode I-All. En effet, la méthode I-Hilbert indexe l'intervalle de

chaque sous-champ, ces intervalles correspondant à l'intervalle de chaque cellule (comme la

méthode I-All indexe l’intervalle de chaque cellule).

Les cas extrêmes se produisent au cours de la générations des sous-champs à partir des

cellules linéarisées. Il n'est pas évident de générer ce genre de données dans l'espace d’origine.

Nous générons et illustrons donc ce genre de données dans l'espace linéarisé en supposant que

les données dans l'espace d’origine sont représentées par leur intervalle, afin de générer des

sous-champ. La Figure 49 représente ce cas.

Figure 49. Cas 1 : CSF < CSF' pour toutes les cellules.

Dans la Figure 49, Ii représente l'intervalle de la ième cellule sur l'axe des clés de Hil-

bert et hv représente la clé de Hilbert de chaque cellule. Supposons un sous-champ courant SFj

incluant seulement l'intervalle de cellule i. Nous testons la condition de regroupement pour la

cellule i+1 afin d’étendre SFj (c’est-à-dire afin de décider de l'inclure ou non dans SFj ). Les

coûts CSF et CSF' pour la cellule i+1 sont calculés comme dans la Figure 49. La fonction len

renvoie la taille d'un intervalle (voir la section 5.5.1.2). Ainsi, les résultats du calcul sont :

- CSF = (maxi - mini + 1) / (maxi - mini + 1) = 1

- CSF' = (maxi+1 - mini+1 + maxi - mini + 1 + d) / (maxi+1 - mini+ + 1 + maxi - mini + 1)

valeur

clé de Hilbert

Ii

Ii+1

d

hv1 ... hvi hvi+1 …

...

...

* Ii = [mini, maxi]

* Pour la cellule i+1

- CSF = len(l'intervalle de SFj) / len(Ii)

- CSF' = len(l'intervalle de SFj' ) / (len(Ii) + len(Ii+1 ))SFj

SFj'

Page 122: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 5. Implémentation et performance

122

Pour satisfaire la condition CSF < CSF', d doit être supérieur à 1. Ainsi, pour le Cas 1,

d doit être supérieur à 1, pour les intervalles de toutes les cellules.

Cela signifie qu'il n'y a aucun chevauchement des intervalles de cellules voisines (con-

nectées). En revanche, les cellules linéarisées préservent la proximité de l'espace d’origine. Cela

signifie que les cellules voisines dans l'espace linéarisé sont ainsi voisines dans l'espace

d’origine. Les données des cellules voisines dans un champ sont en général continues. Cela

correspond à une valeur de d ≤ 0. Ainsi, le fait de n’avoir aucun chevauchement entre les cellu-

les voisines, et ce sur toutes les cellules ne correspond pas à la réalité.

En fait, l'absence de chevauchement des intervalles entre les cellules voisines repré-

sente la rupture (la discontinuité) des données. La rupture est représentée par le terme "irrégu-

larité" dans [PARIENTE 94]. [PARIENTE 94] a spécifié des contraintes à prendre en compte

dans les méthodes d'estimation. Ces travaux ont ainsi proposés une méthode d'estimation, appe-

lée PYRENEES, considérant ces contraintes. L'objectif de ces contraintes est de tenir compte

des caractéristiques du monde réel afin d'améliorer la qualité de l'interpolation. La spécification

des irrégularités est une de ces contraintes. Selon [PARIENTE 94], les irrégularités sont des

frontières qui correspondent à des discontinuités ou des irrégularités morphologiques. Une auto-

route et/ou une rivière peuvent représenter une irrégularité, par exemple dans le cas de l'obser-

vation de la propagation de la flore. Aussi, un mur peut être à l'origine d'une discontinuité dans

les valeurs (ex. un mur antibruit).

Les méthodes d'estimation tenant compte des irrégularités (comme PYRENEES) peu-

vent introduire la discontinuité des valeurs (intervalles) des cellules voisines. En revanche, ce

genre d’irrégularités ne se manifeste pas en général sur tout l'espace d'un champ continu. Cela

signifie qu'il est possible de trouver des intervalles discontinus sur certaines cellules voisines

mais pas sur toutes les cellules.

2) Cas 2 : CSF ≥ CSF' pour toutes les cellules

Ce cas implique que l'insertion de chaque cellule dans le sous-champ courant diminue le coût

d'accès au sous-champ. Toutes les cellules satisfont donc la condition du regroupement et elles

Page 123: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 5. Implémentation et performance

123

sont toutes incluses dans le sous-champ initial. Ainsi, cela entraîne un seul sous-champ (initial).

La Figure 50 illustre des exemples de ce cas.

Figure 50. Cas 2 : CSF ≥ CSF' pour toutes les cellules.

La Figure 50 illustre un exemple du cas où CSF > CSF' pour toutes les cellules. En ef-

fet, lors du calcul de CSF (= L/SI) et CSF' (= L/SI' ) pour toutes les cellules, L (la taille de l'in-

tervalle du sous-champ) ne change pas. SI' (la somme des intervalles des cellules) est toujours

plus grande que SI. Nous pouvons générer ces données comme suit :

Ii = [mini , maxi] = [mini-1 , maxi-1 - C ] ( pour i = 2, 3, … ),

et I1 = [min1, max1]

où C est une constante ≥ 0.

La Figure 50.b représente un exemple du cas où CSF est toujours égal à CSF'. CSF et

CSF' sont donc toujours égal à 1. Nous pouvons générer ces données comme suit :

Ii = [mini , maxi] = [maxi-1 , maxi-1 + C ],

et I1 = [min1, max1]

où C est une constante > 0.

Les deux exemples génèrent un seul sous-champ. Ainsi les performances de la méthode

I-Hilbert sont identiques pour les deux exemples. Nous avons généré deux exemples de données

d’intervalles (de taille 262144). Nous avons effectué des tests sur deux types de données. La

Figure 51 représente les résultats de ces tests en faisant varier le taux de sélectivité.

valeurvaleur

clé de Hilbert

...

clé de Hilbert hv 1 hv 2 hv 3 hv 4 …

a. CSF > CSF' b. CSF = CSF'

...

hv 1 hv 2 hv 3 hv 4 …

Page 124: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 5. Implémentation et performance

124

Figure 51. Temps d'exécution des requêtes selon la sélectivité sur des données de la Figure 50.

Puisque la méthode I-Hilbert ne génère qu’un seul sous-champ contenant toutes les

cellules, toutes les cellules doivent être extraites et examinées au cours de l’étape Estimation

(voir 4.2.2. Stratégies de traitement des requêtes basées sur l’approche des sous-champs). Cela

correspond à un Balayage Séquentiel (voir la Figure 51). La méthode I-Hilbert est à peine plus

lente que le Balayage Séquentiel car elle accède à un R*-tree au cours de l'étape Filtrage.

0

0,05

0,1

0,15

0,2

0,25

0,3

0,35

0,4

0,45

0,002

0,010

0,025

0,035

0,045

0,055

0,065

0,075

0,085

0,090

0,100

0,120

0,130

0,150

Sélectivité

Tem

ps d

'exé

cutio

n (s

)

Balayage SéquentielI-AllI-Hilbert

0

0,05

0,1

0,15

0,2

0,25

0,3

0,35

0,4

0,45

0,006

0,020

0,022

0,032

0,046

0,055

0,064

0,074

0,084

0,095

0,110

0,111

0,123

0,135

Sélectivité

Tem

ps d

'exé

cutio

n (s

)

Balayage SéquentielI-AllI-Hilbert

a. CSF > CSF' pour toutes les cellules

b. CSF = CSF' pour toutes les cellules

Page 125: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 5. Implémentation et performance

125

Les performances de la méthode I-All sont similaires dans les deux cas. Ce qui est in-

téressant dans ces tests, c'est que la méthode I-All donne les meilleurs résultats pour la sélecti-

vité considérée. Dans les tests sur des données fractales simulées, la méthode I-All a commencé

a devenir plus lente que le Balayage Séquentiel à partir d'une sélectivité de 0.6 (environ - voir la

Figure 46). Bien que la méthode I-All ralentisse aussi proportionnellement à la sélectivité, le

taux de ralentissement est beaucoup plus faible que dans les autres types de données (ex. les

données simulée fractales). En revanche, il faut noter que ces types de données extrêmes n'exis-

tent guère en la pratique.

5.4 Conclusion

Dans ce chapitre, nous avons validé les performances des méthodes proposées par plusieurs

tests. D'abord, les tests ont été effectués sur des données réelles pour observer les performances

des méthodes en pratique. En revanche, il n’est pas évident d’obtenir des données réelles de di-

vers types. Cela nous a conduit à utiliser des données simulées pour générer plusieurs types des

données. Une méthode fractale est utilisée dans ce but car les fractales sont connues pour reflé-

ter les phénomènes naturels.

Les tests sur des données réelles et simulées ont montré la supériorité de la méthode I-

Hilbert. La méthode I-Hilbert a été même 20 à 100 fois plus rapide que le Balayage Séquentiel

pour une sélectivité des requêtes comprise entre 0.001 et 0.01 (sur des données simulées). Nous

remarquons que les performances de la méthode I-All se dégradent sérieusement pour une haute

sélectivité.

Les tests pour les cas extrêmes (dans l'espace linéarisé) nous ont révélé que la méthode

I-All fonctionne mieux que la méthode I-Hilbert. En revanche, il faut noter que ces cas ne sont

pas fréquents en pratique.

Page 126: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 6. Traitement des requêtes par valeurs

126

6. Traitement des requêtes par valeurs

Les requêtes par valeurs que nous avons traitées peuvent être notées F-1(w = w'), où w' est soit

une valeur soit un intervalle. Dans cette section, nous présentons le traitement de l'ensemble des

requêtes qu'il est possible de rencontrer dans les BD de champs continus. Le traitement des re-

quêtes est basé sur l'utilisation des sous-champs. Nous rappelons brièvement la procédure du

traitement des requêtes (voir la section 4.2.2)

Etape Filtrage : rechercher les sous-champs contenant les cellules qui satisfont proba-

blement la condition de la requête.

Etape Estimation : extraire les cellules contenues dans les sous-champs issus de l’étape

Filtrage et estimer les régions exactes répondant à la requête par une méthode d'interpolation.

La condition de la recherche de l'Etape Filtrage concerne les intervalles des sous-

champs (section 4.2.2.). Afin d'accélérer cette étape, nous indexons les intervalles des sous-

champs par la méthode 2-D R*-tree avec transformation (section 3.2.2.3). Comme le montre la

Figure 52.a, les intervalles [min, max] sur l'axe Valeur w des sous-champs sont transformés en

points à 2 dimensions. Ces points sont insérés dans un R*-tree pour l'indexation (Figure 52.b).

Figure 52. a) Sous-champs, b) Transformations des intervalles des sous-champs.

Valeur w

Espace v

sous-champ 1

2

34

56

7

les points transformés à partirdes tervalles des sous-champs

Min

MaxMax = Min

1

3

2

4

5

67

a. b.

Page 127: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 6. Traitement des requêtes par valeurs

127

Pour exécuter le Filtrage, nous transformons d'abord la valeur (ou les valeurs) de la

requête en un rectangle. Ensuite, nous recherchons des points qui sont contenus dans ce rectan-

gle transformé. Cette recherche est effectuée dans le R*-tree construit à partir des points trans-

formés. Nous énumérons les différents types de requêtes (par valeurs) possibles dans un champ

continu :

Requête 1 : F-1(w' < w < w") : "Quelles sont les régions où la valeur est comprise en-

tre w' et w" ?"

Requête 2 : F-1(w = w') : "Quelles sont les régions où la valeur est strictement égale à

w' ?"

Requête 3 : F-1(w < w') : "Quelles sont les régions où la valeur est inférieure à w' ?"

Requête 4 : F-1(w > w') : "Quelles sont les régions où la valeur est supérieure à w' ?"

Nous présentons la condition de l'étape Filtrage qui sélectionne les sous-champs cor-

respondant à chaque type de requêtes et comment s'interprète chaque condition dans l'espace

transformé. Les fonctions de transformation des valeurs de la requête en rectangles seront pré-

sentés suivant le type de requête défini.

Page 128: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 6. Traitement des requêtes par valeurs

128

6.1 Transformation des valeurs d'une requête

1) Requête 1 : F-1(w' < w < w")

Pour trouver les régions où la valeur est comprise entre w' et w", il faut extraire les cellules dont

l'intervalle chevauche l'intervalle [w', w"] car les régions de la réponse peuvent être calculées à

partir de ces cellules. Si l'intervalle d'une cellule intersecte [w' ,w"], l'intervalle du sous-champs

contenant cette cellule intersecte aussi [w', w"] (voir la Figure 53.a). Durant l'étape Filtrage, on

doit donc trouver des sous-champs dont l'intervalle chevauche [w', w"]. Cela implique la recher-

che des points transformés contenus dans le rectangle transformé (coloré dans la Figure 53.b).

Figure 53. Transformation de la requête de type F-1(w' < w < w").

La fonction Trans_Inter de la transformation d'un intervalle [w', w" ] de la requête en

un rectangle de la requête peut donc être définie comme suit:

Trans_Inter ([ w', w" ]) = (0, w', w", wmax ),

où wmax est la valeur maximale possible dans le champ considéré et le rectangle transformé est

représenté par les coordonnées de deux points extrêmes du rectangle (voir Figure 53.b)

Valeur w

Espace v

w'sous-champ 1

23

4

56

7

w"

w’ w" Min

MaxMax = Min

1

3

2

4

5

6

7

wmax

(0,w')

(w", wmax)

a. Sous-champs b. Transformation de la requête

Page 129: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 6. Traitement des requêtes par valeurs

129

note) La fonction Trans_Inter a déjà été présentée dans la section 3.2.2.3 (2-D R-tree par la

Transformation).

2) Requête 2 : F-1(w = w')

Pour trouver les régions où la valeur est égale à w', il faut extraire les cellules dont l'intervalle

intersecte w'. Si l'intervalle d'une cellule intersecte w', l'intervalle du sous-champs contenant

cette cellule intersecte aussi w' (voir la Figure 54.a). Durant l'étape Filtrage, on doit donc trou-

ver des sous-champs dont l'intervalle chevauche w'. Cela implique la recherche des points trans-

formés contenus dans le rectangle transformé (coloré dans la Figure 54.b).

Figure 54. Transformation de la requête de type F-1(w = w').

La fonction Trans_Inter de la transformation d'une valeur w' de la requête en un rec-

tangle de la requête peut donc être définie comme suit :

Trans_Inter ([ w', w' ]) = (0, w',w', wmax ),

En effet, ce type de requêtes peut être considéré comme le type de Requête 1 ayant [w',

w'] comme intervalle de requêtes.

Valeur w

Espace v

w'sous-champ 1

2

34

56

7

a.

w' Min

Maxwmax Max = Min

1

3

2

4

5

67

(0,w')

(w', wmax)

a. Sous-champs b. Transformation de la requête

Page 130: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 6. Traitement des requêtes par valeurs

130

3) Requête 3 : F-1(w < w')

Pour trouver les régions où la valeur est inférieure à w', il faut extraire les cellules dont l'inter-

valle est inférieur à w' ou les cellules dont l'intervalle intersecte w'. Si l'intervalle d'une cellule

satisfait cette condition, l'intervalle du sous-champs contenant cette cellule doit également satis-

faire cette même condition (Figure 55.a). Durant l'étape Filtrage, on doit donc trouver des sous-

champs dont l'intervalle est inférieur à w' ou des sous-champs dont l'intervalle intersecte w'. Ce-

la implique la recherche des points transformés contenus dans le rectangle transformé (coloré

dans la Figure 55.b).

Figure 55. Transformation de la requête de type F-1(w < w')

La fonction Trans_Infr de la transformation d'une valeur w' de la requête en un rectan-

gle de la requête peut donc être défini par :

Trans_Infr ([w']) = (0, 0, w',wmax )

Valeur w

Espace v

w'

sous-champ 1

2

34

56

7

w' Min

Maxwmax Max = Min

1

3

2

4

567

(0,0)

(w', wmax)

a. Sous-champs b. Transformation de la requête

Page 131: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 6. Traitement des requêtes par valeurs

131

4) Requête 3 : F-1(w > w')

Pour traiter ce type de requête, il faut extraire les cellules dont l'intervalle est supérieur à w' ou

les cellules dont l'intervalle intersecte w'. Cela implique de rechercher, au cours de l'étape Fil-

trage, des sous-champs dont l'intervalle est supérieur à w' ou des sous-champs dont l'intervalle

intersecte w' (la Figure 56.a). On doit trouver les points transformés contenus dans le rectangle

transformé (coloré dans la Figure 56.b).

Figure 56. Transformation de la requête de type F-1(w > w')

La fonction Trans_Supr de transformation d'une valeur w' de la requête en un rectangle

de la requête peut donc être définie comme suit :

Trans_Supr ([w']) = (0, w',wmax, wmax )

w' wmax Min

Valeur w

Espace v

w'

sous-champ 12

34

5

6 7

Maxwmax

Max = Min

1

3

2

4

567(0,w')

(wmax, wmax)

a. Sous-champs b. Transformation de la requête

Page 132: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 6. Traitement des requêtes par valeurs

132

6.2 Procédure de traitement des requêtes par valeurs

Le traitement des requêtes par valeurs dans un champ continu peut être représenté par le schéma

ci-dessous.

Figure 57. Procédure du traitement des requêtes par valeurs basé sur la transformation des inter-

valles des sous-champs

Comme le montre la Figure 57, lors d'une requête donnée, la valeur de la requête est

transformée en un rectangle rw par la fonction de transformation correspondant au type de la

requête. L'étape Filtrage s'effectue par l'exécution de l'algorithme 'Intersect' dans le R*-tree

avec rw comme la condition de requête. En effet, l'étape Filtrage de tous les types de requêtes

(présentés ci-dessus) implique la recherche des points transformés contenus dans rw. L'étape

une requête donnée (w'), où w' est la condition de la requête

Fichiers d'indexR*-tree construit depuis despoints transformés desintervalles des sous-champs

Base de Données dechamp continu

Etape Filtrage :

Intersect (rw) dans le R*-tree

Etape Estimation :

Estimer(w')

rw = Transformation(w'),

où rw est le rectangle transformé

appeler Estimer pour lesintervalles intersectant rwdans le R*-tree

Page 133: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 6. Traitement des requêtes par valeurs

133

Estimation s'effectue sur les cellules contenues dans les sous-champs trouvés dans l'étape Fil-

trage.

La procédure décrite ci-dessus correspond à l'Algorithme 5 représentant le traitement

des requêtes basé sur l'indexation I-Hilbert. La procédure Intersect dans l'Algorithme 5 corres-

pond à l'étape Filtrage et la procédure Estimer correspond à l'étape Estimation dans le schéma

ci-dessus.

6.3 Conclusion

Dans ce chapitre, nous avons présenté le traitement des requêtes ayant différents opérateurs que

l'on peut rencontrer dans les BD de champs continus. Pour accélérer l'étape 'Filtrage' du traite-

ment, les intervalles des sous-champs sont indexés par un 2-D R*-tree avec transformation.

Chaque opérateur implique différentes conditions pour l'étape 'Filtrage'.

L'objectif de nos travaux a été de développer des méthodes d'indexation pour accélérer

l'étape 'Filtrage' car nous supposons que les calculs d'estimation sont négligeables en comparai-

son de l'étape Filtrage requièrant de parcourir toutes les cellules sans indexation.

Or, après l'étape estimation, il pourrait exister des problèmes de représentation des ré-

sultats de l'estimation (qui sont en effet des "morceaux" des cellules). D'une part, nous pouvons

visualiser les résultats de l'estimation tels qu'ils sont, c'est-à-dire chaque morceau de cellules.

D'autre part, il serait possible de demander de fusionner des morceaux de cellules (construire les

zones du résultat). Il existe des algorithmes (implémentées et utilisables) pour cela (ex. "A ge-

neral polygon clipper library" - voir http://www.cs.man.ac.uk/aig/staff/alan/software/). Dans

cette thèse, nous ne nous intéressons pas à analyser le coût d'exécution de ces algorithmes. Nous

supposons seulement que le temps de fusion n'est pas très important car la taille des données est

en général beaucoup moins faible que celle des données à traiter dans l'étape 'Filtrage'.

Page 134: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 7. Application

134

7. Applications

Ce chapitre présente comment notre méthode d'indexation par valeurs peut être utilisée dans les

applications réelles. Ce chapitre est composé de deux parties :

- Dans un premier temps, nous présentons une application d'un système d'information

sonore urbain commercialisé (appelé MITHRA). Ainsi, nous présentons comment la mé-

thode I-Hilbert peut être appliquée dans ce système afin d’accélérer le traitement des re-

quêtes par valeurs.

- Dans un deuxième temps, nous présentons un système de visualisation de données en-

vironnementales spatio-temporelles, permettant d'analyser les caractéristiques des don-

nées. Ainsi, nous montrons la nécessité de l'indexation par valeurs et comment utiliser

notre méthode dans ce système.

7.1 Système d'Information Sonore Urbain : MITHRA

MITHRA a été développé par le CSTB (Centre Scientifique et Technique du Bâtiment) et com-

mercialisé par la Société 01dB. L’objectif est le calcul prévisionnel des niveaux sonores en mi-

lieu urbain ou rural ainsi que leur cartographie (pour l'information de MITHRA, voir le site

http://www.cstb.fr/grenoble/acoustique/ondes/produits/mithra.htm et [GRAMMON 96]).

7.1.1 Fonctionnalités

Les fonctionnalités importantes de ce logiciel sont présentées ci-dessous.

Page 135: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 7. Application

135

7.1.1.1 Formules de calcul du niveau sonore

Toutes les sources sonores et caractéristiques de terrains sont connues (saisie par l'utilisateur).

La détermination des niveaux sonores se fait par les formules de calcul du "Guide du Bruit" (la

référence est citée dans [GRAMMON 96]). La prévision des niveaux de bruit se base sur les in-

formations concernant le trafic (débit, pourcentage de poids lourds, etc..), le terrain,

l’absorption des façades, la structure du site (rue en U ou L), etc..

Pour le calcul du niveau sonore en un point, il procède à la sommation des contribu-

tions de toutes les sources en ce point, afin d’en déterminer le niveau sonore.

7.1.1.2 Carte horizontale

La cartographie dite horizontale correspond à la visualisation des niveaux sonores par surfaces.

Elle est réalisée grâce à un maillage triangulaire qui couvre la plage sélectionnée, plus resserré

au niveau des bâtiments. Les niveaux sonores sont calculés, selon les formules définies dans le

système, aux sommets des mailles (triangles) à partir des sources sonores saisies. Le résultat de

ce calcul est stocké sur disque pour être réutilisé car ce calcul est très lent. En effet, ce système

utilise le modèle TIN. Ainsi, le niveau sonore d’un point d’un triangle est obtenu par une inter-

polation linéaire à partir des niveaux sonores aux trois sommets du triangle. En considérant le

niveau sonore de tous les points, MITHRA visualise la carte du son, le niveau sonore de chaque

point étant représenté par une couleur associée.

En effet, dans un premier temps, MITHRA calcule les niveaux sonores aux centres des

triangles (par les formules de calcul de la propagation du son du "Guide du Bruit") car un grand

nombre de points de calculs se situeraient sur une frontière. Ensuite, les niveaux sonores aux

sommets des triangles sont calculés à partir des niveaux sonores des centres.

La Figure 58 illustre la division d'une zone en maillages triangulaires.

Page 136: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 7. Application

136

Figure 58. Exemple d'un maillage triangulaire dans MITHRA

Bâtiments

Page 137: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 7. Application

137

7.1.2 Problématiques

Dans ce logiciel, la fonctionnalité de traitement des requêtes par valeurs n’est pas encore im-

plémentée. En revanche, il est intéressant de proposer cette fonctionnalité pour pouvoir traiter

des requêtes telles que « Quelles sont les régions où le niveau sonore est supérieur à 80dB ?».

La visualisation du résultat de cette requête montre les régions qui sont le plus bruyantes.

Pour l’instant, le logiciel MITHRA fournit des cartes de son sous forme de surface de

niveau sonore, appelée carte horizontale (voir ci-dessus, La carte horizontale). L’inconvénient

de ce type de carte est de visualiser toutes la surface d’une région sélectionnée. Les utilisateurs

doivent analyser ou filtrer les zones correspondant à un certain niveau sonore en fouillant la

carte par eux-mêmes.

7.1.3 Comment utiliser la méthode I-Hilbert dans MITHRA ?

Pour traiter des requêtes par valeurs dans ce logiciel, nous pouvons utiliser le résultat du calcul

de niveaux sonores sous forme de TIN pour la carte horizontale. Le niveau sonore d’un point

d’un triangle est déterminé par une interpolation linéaire à partir des niveaux sonores aux trois

sommets du triangle. Ainsi, l'intervalle des valeurs d'une cellule (triangle) peut être extrait faci-

lement à partir des valeurs aux sommets. Par exemple, l'intervalle de la cellule dans la Figure 59

est [50, 64].

Figure 59. Interpolation dans le MITRA sous forme de TIN.

50

64

56

: Niveaux sonores dessommets du triangle

Page 138: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 7. Application

138

Pour répondre à la requête "Où trouve-t-on un niveau sonore entre 40 et 50 ?", nous trouvons

des cellules dont l'intervalle de valeurs chevauche la valeur de la requête [40, 50]. Les régions

exactes de la réponse peuvent être calculées par la fonction F-1 à partir de ces cellules.

Sans indexation, nous devons balayer séquentiellement tous les triangles en testant si

l'intervalle de chaque triangle satisfait la requête, ce qui n'est pas efficace dans le cas d’un

grand volume de données. En utilisant la méthode d’indexation par valeurs 'I-Hilbert' sur l'en-

semble des triangles couvrant l'espace, nous pouvons accélérer le traitement des requêtes dans

ce système.

7.1.4 Performances

Nous avons effectué des tests pour mesurer les performances de notre méthode dans ce système.

Les données et les résultats des tests ont été présentés dans la Figure 39 de la section 5.1. Les

courbes des résultats montrent clairement qu’il est préférable d'utiliser l'indexation 'I-Hilbert'

dans ce système pour traiter les requêtes par valeurs.

7.1.5 Perspectives

Les données sonores sont continues non seulement dans l'espace mais aussi dans le temps. Il se-

rait intéressant d'étendre le modèle de maillage dans ce logiciel pour représenter le temps. Cela

implique la nécessité d'appliquer également une méthode d'interpolation pour le temps.

Nous pouvons imaginer une requête telle que "Visualiser les zones où le niveau sonore

est supérieur à 90 entre 0h et 24h". Cela permet d'analyser l'environnement sonore. Le résultat

de la visualisation peut en effet représenter l'évolution des zones bruyantes en fonction du

temps (par exemple, on pourrait observer un déplacement des zones bruyantes des quartiers en

chantier, pendant la journée, vers des zones animées pendant la nuit). Cela constitue une requête

par valeurs typique dans les champs continus. La méthode 'I-Hilbert' serait alors très utile.

Page 139: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 7. Application

139

7.2 Visualisation des données spatio-temporelles de l'environnement

Brown [BROWN 97] présente des travaux sur la visualisation des données spatio-temporelles de

l'environnement. Il a utilisé des données météorologiques (ex. précipitations) enregistrées par

mois depuis les stations de météo dans le pays de Galles en Angleterre, durant plusieurs années.

Il utilise un modèle de volume à 3 dimensions pour représenter des données spatio-temporelles

(x, y, z, valeur). Le but est de visualiser des isosurfaces pour examiner les variations des saisons

et les variations spatio-temporelles du climat, qui sont des facteurs très significatifs pour de

nombreuses activités (ex. agriculture).

7.2.1 Modèle de volume

Brown a créé le modèle de volume à 3 dimensions à partir des points-échantillons mois après

mois. La procédure est décrite dans la Figure 60.

Pour commencer, une méthode d'interpolation de type Krigeage a été utilisée pour

créer une surface pour chaque mois sous forme de DEM à 2 dimensions. Toutes les surfaces du

champ sont rassemblées dans un volume à 3 dimensions comme dans la Figure 60.

Page 140: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 7. Application

140

Figure 60. Procédure de la création du modèle de volume à 3 dimensions.

En fait, le Krigeage utilisé pour créer des DEM à 2 dimensions est une méthode d'es-

timation globale (voir la section 2.4). Comme nous l’avons présenté dans la section 2.4, en rai-

son du temps de calcul, lors de l'utilisation d'une méthode globale dans un champ continu pour

traiter des requêtes, les applications utilisent plutôt les résultats de l'estimation effectuée dans

un espace divisé en cellules que des points-échantillons originaux. Les applications utilisent une

méthode d'estimation locale (ex. interpolation avec les points-échantillons générés de la cellule)

= points-échantillons originaux

Estimer les valeurs sur les cellulespar la méthode Krigeage

Requêtes

Discrétiser l ’espacesous forme de DEM

= points-échantillons générés

janvier

février

etc....

points-échantillons par mois

etc....

etc...

. . .

Tout rassemblerdans un DEM à 3dimensions

Modèles de volume

Page 141: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 7. Application

141

lors de la détermination la valeur d'un point non connu. Ce système du modèle de volume

correspond à ce genre de cas. Ainsi la Figure 60 représente une procédure similaire à celle dé-

crite dans la Figure 11 (présentant l'architecture des systèmes qui utilisent l'estimation globale).

7.2.2 Visualisation par la méthode d'indexation I-Hilbert

La procédure des requêtes pour générer des isosurfaces accède à ces données de volume. Puis-

que les données des volumes sont continues, Brown utilise une méthode d'interpolation linéaire

qui estime une nouvelle valeur à partir des huit sommets l’entourant. Cette méthode s’appelle

méthode d'interpolation Trilinear (voir http://astronomy.swin.edu.au/pbourke/analysis/trilinear/

pour l'explication de la méthode Trilinear ).

L'intervalle des valeurs d'une cellule (volume) est déterminé par le minimum et le

maximum des valeurs des huit sommets.

Le modèle de volume créé peut être visualisé en extrayant les isosurfaces qui montrent

les variations spatio-temporelles des données. Par exemple, dans la Figure 61, nous pouvons

remarquer que les précipitations importantes (> 200mm/mois) se sont manifestées en Automne

dans presque tout le pays de Galles ; la zone la plus gravement touchée étant a priori le Sud du

pays de Galles. Cette dernière hypothèse peut être testée en extrayant un autre isosurface (ex.

300mm/mois).

Page 142: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 7. Application

142

Figure 61. Isosurface de 200 mm de précipitation pour le pays de Galles en 1976, montrant la pré-

cipitation la plus importante en Automne [BROWN 97].

Les requêtes générant des isosurfaces sont des requêtes par valeurs. En pratique, dans

ce système de visualisation d’isosurfaces, un balayage séquentiel s'effectue pour toutes les don-

nées de volume (pour chaque requête). Pour améliorer le traitement des requêtes, nous pouvons

utiliser la méthode 'I-Hilbert' sur des données de volumes. Ce système de visualisation des iso-

surfaces est une application classique de notre méthode d'indexation par valeurs.

Page 143: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 7. Application

143

7.3 Application de Navigation sur des terrains

Nous avons présenté les travaux de [LIN 97] sur une application de navigation sur des terrains

aidée par IP-index dans la section 4.2.2. Cette application aide un avion en vol à se localiser.

Cela se fait par la comparaison de l’altitude mesurée du terrain qu’il survole par un capteur avec

l’altitude de la carte. L’IP-index est utilisé pour trouver des zones correspondant à l'altitude

donnée par une carte d'altitude (voir la section 3.1.2 'Application de Navigation de terrains ai-

dée par l’IP-Index').

Puisque l’IP-index est une méthode d’indexation par valeurs pour les séquences à 1

dimension, [LIN 97] a considéré chaque ligne de la carte d’altitude sous forme de DEM comme

une séquence continue du temps (voir la Figure 14). [LIN 97] a construit un IP-index pour cha-

que ligne. Ainsi, la recherche relative à une requête est effectuée pour chaque IP-index. Comme

nous l’avons remarqué, l’utilisation des IP-index dans cette application ne respecte pas totale-

ment la continuité spatiale des altitudes. Cela peut entraîner des résultats non complets des re-

quêtes car il est possible que cette méthode ne trouve pas certaines données implicites.

Cette application est aussi une application classique qui nécessite une méthode

d’indexation par valeurs dans un champ continu. La méthode I-Hilbert est particulièrement bien

adaptée à ce cas car elle prend en compte la continuité spatiale sur les données de terrain.

7.4 Conclusion

Dans ce chapitre, nous avons illustré plusieurs applications pour lesquelles notre méthode d'in-

dexation I-Hilbert peut contribuer à améliorer les performances du traitement des requêtes par

valeurs. Il s’agit :

- d’un système d'information sonore urbain,

- d’un système de visualisation des données spatio-temporelle de l'environnement, par-

ticulièrement adapté à la visualisation des isosurfaces des données,

- d’une application de navigation sur des terrains.

Page 144: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

144

PARTIE 2 Visualisation dynamique de la temporalité : Application à un SIG sonore urbain

Page 145: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs
Page 146: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 8. Problématique de la visualisation des données sonores urbaines

146

8. Problématique de la visualisation des données sonores urbaines

Dans la première partie, nous avons illustré quelques applications des champs continus dans les

SIG. Les données de la plupart des applications varient continuellement dans l'espace et aussi

dans le temps. Ainsi, la visualisation spatio-temporelle est nécessaire pour prendre en compte la

continuité spatio-temporelle.

Dans la partie 2 de ce mémoire, nous allons présenter les travaux effectués pour la visualisation

au sein d'un développement d'un SIG dédié à l'environnement sonore urbain (un exemple classi-

que pour des données champs continus). Ces travaux ont été effectués au sein d’un projet issu

d'une collaboration entre le CRESSON (Centre de recherche sur l'espace sonore et l'Environne-

ment Urbain de Grenoble), notre laboratoire LISI et la Communauté Urbaine de Lyon (le Grand

Lyon). La présentation et les travaux effectués pour ce système sont décrits dans [CHANLON

99] [SERVIGNE et KANG 01] (contexte de notre travail, objectifs pour la représentation de

l'environnement sonore urbain, structure de la base de données urbaines sonore, etc..). Dans ce

mémoire, nous nous concentrons sur les travaux concernant la visualisation.

Dans ce chapitre, nous décrivons quelques cartes statiques de son réalisées dans les SIG sonores

urbains existants. Ensuite, nous montrons la nécessité d'introduire l'animation pour représenter

la temporalité des données sonores. Enfin, nous présentons les problématiques et les caractéris-

tiques de l'animation des données sonores.

Page 147: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 8. Problématique de la visualisation des données sonores urbaines

147

8.1 Carte de son et visualisation de la continuité spatiale : Cartes statiques

La visualisation de l'environnement sonore est possible grâce aux "cartes de son" qui représen-

tent des données sonores sur des cartes. Les données sonores représentent tous les types de don-

nées qui peuvent décrire les caractéristiques du son. Elles peuvent donc être par exemple :

- des niveaux sonores,

- des types de bruit (ex. continu, impulsif, fluctuant, etc.),

- des bandes de son enregistrées que l'on peut écouter en cliquant sur la carte et qui

permettent d'imaginer l'environnement sonore d'un quartier,

- etc.

Les données sonores les plus classiques sont les niveaux sonores. Sur une carte de son,

les niveaux sonores sont représentés, en général, par des surfaces de niveaux sonores. La visua-

lisation des surfaces des niveaux sonores est adaptée à la représentation de la continuité spatiale

des données (voir Figure 1). En effet, les niveaux sonores sont des données de type champs

continus. Ainsi, une méthode d'interpolation est nécessaire pour estimer les niveaux sonores en

des points non mesurés. La Figure 62.a et b illustrent respectivement une carte de son des ni-

veaux sonores (isophones) en 2 dimensions et en 3 dimensions. Les niveaux sonores sont repré-

sentés par des couleurs associées.

Figure 62. Exemples de cartes de son des niveaux sonores [MULLER et al. 99].

a. b.

Page 148: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 8. Problématique de la visualisation des données sonores urbaines

148

Un autre exemple du même mode de visualisation des niveaux sonores est présenté sur

http://www.navcon.com/splana7.htm. Ce mode de visualisation semble bien représenter la con-

tinuité spatiale des données sonores.

Ces cartes statiques dressent un état sonore à partir de moyennes ou de valeurs quanti-

tatives prises à un instant t. Pourtant, le son évolue au cours du temps. Il est donc important de

représenter une telle évolution. Même si les cartes statiques (illustrées comme ci-dessus) sont

certes performantes pour certains aspects, elles ne sont pas bien adaptées pour représenter leur

évolution dans le temps. Nous allons présenter, dans la section suivante, la nécessité de l'anima-

tion pour la représentation de la temporalité des données sonores.

8.2 Visualisation de la temporalité : Cartes animées

La représentation de la temporalité sur une carte peut être obtenue par trois méthodes comme

suit [KRAAK et MACEACHREN 94] :

1) Séquence de cartes (strip map - Figure 63.a) :

Elle est composée d'une série de cartes statiques. Chaque carte représente un état valide

pour un instant ou une période de temps. La variation dans le temps est montrée par les

différences des cartes individuelles. Le nombre de cartes d'une séquence est limité car il

est difficile de suivre une longue série de cartes.

2) Une carte unique et statique (Figure 63.b) :

Cette méthode est plus orientée représentation que visualisation du changement des don-

nées au niveau des objets individuels. Les symboles cartographiques sont en général uti-

lisés pour indiquer les changements des objets dans le temps. Par exemple, dans la

Figure 63.b, un arc indique la trace de l'objet qui se déplace dans l'espace.

3) Cartes animées (Figure 63.c) :

La variation dans le temps est déduite du changement dans les cartes. Le changement

peut être perçu comme un mouvement au cours de l'animation. Ce type de cartes ani-

mées peut représenter les changements des positions et/ou des attributs des objets spa-

tiaux.

Page 149: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 8. Problématique de la visualisation des données sonores urbaines

149

Figure 63. Plusieurs type de cartes représentant de la temporalité. a) Séquence de cartes. b) Carte

unique synthétisant l'évolution. c) Cartes animées.

Les cartes animées sont considérées en général comme étant plus puissantes que les

autres types de cartes [RENOLEN 95] [KOUSSOULAKOU and KRAAK 92] pour représenter

la temporalité. Par exemple, un test a été effectué auprès d'un groupe d'étudiants sur l'affiche

d'une séquence de cartes statiques (strip map) et sur une carte animée [KOUSSOULAKOU and

KRAAK 92]. Dans ce test, les exactitudes des réponses n'ont pas été influencées par le type de

cartes utilisées. En revanche, les étudiants ont répondu plus rapidement lors de l'utilisation de la

carte animée (bien qu’ils soient plus doués à lire des cartes statiques). Par ailleurs, les compor-

tements des plantes peuvent être également visualisés et analysés plus clairement lors d'une

animation en réduisant un jour en quelques secondes [RENOLEN 95]. [PETERSON 95] a éga-

lement illustré de nombreuses et différentes applications des cartes animées. Etant donné ce

grand nombre d’applications, l'animation serait la meilleure méthode pour décrire l'évolution

des données [PETERSON 95].

Ainsi, est-il raisonnable et nécessaire d'adopter l'animation pour la visualisation de la

temporalité des données sonores.

a. b.

c.

Page 150: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 8. Problématique de la visualisation des données sonores urbaines

150

8.3 Problématiques et caractéristiques de l'animation des données sonores

Dans cette section, nous présentons quelques caractéristiques des données sonores à prendre en

compte pour la visualisation de l'animation. Les problématiques engendrées sont aussi présen-

tées.

1) Intégration de données multimédia

Des documents, images et enregistrements de son peuvent être intégrés aux cartes de

son en tant que données sonores. Par exemple, dans notre projet, certaines bandes sonores ont

été enregistrées sur un endroit localisé en un point et/ou sur un parcours pour faire écouter ces

enregistrements aux utilisateurs. Des documents de plaintes des habitants sont aussi associés

aux endroits concernés. Il faut noter que ces données multimédia intégrées peuvent aussi être

temporelles. Par exemple, des gens peuvent se plaindre du bruit uniquement pendant la nuit.

Dans ce cas, le document des plaintes sera donc valide pour la nuit et nous pouvons utiliser "la

nuit" (ceci est un exemple, alors qu’en pratique l'heure précise serait plutôt utilisée) comme in-

formation temporelle. Ainsi, faut-il prendre en compte et intégrer ce genre de données multimé-

dia à l’animation.

2) Nécessité de granularité par scène2 déterminable par utilisateurs pour la génération de l'ani-

mation

L'animation est un affichage rapide d'une séquence d'un ensemble de scènes. Afin de

générer chaque scène, il est nécessaire de déterminer la granularité représentant le temps d'une

scène. Nous l'appelons la granularité par scène dans ce mémoire.

Par exemple, pour l'animation de la température d'une année, nous pouvons générer

une séquence de scènes dont chaque scène représente un jour ou bien un mois. La granularité

par scène d'un jour (resp. un mois) conduit à générer 365 scènes (resp. 12 scènes) pour l'anima-

2

Nous utilisons le terme "scène" comme la traduction de terme "frame" en anglais qui représente une carte d'un état correspond à un instant t.

Page 151: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 8. Problématique de la visualisation des données sonores urbaines

151

tion. La Figure 64 illustre un exemple de deux animations selon différentes granularités par

scène pour représenter le changement de la position d'un véhicule. Pour simplifier, plutôt que de

présenter chacune des séquences des scènes pour les deux animations, le mouvement aperçu du

véhicule au cours de l'animation est représenté par l'ensemble des points représentant la position

du véhicule et par l'arc représentant la direction du mouvement. Chaque point représente donc la

position du véhicule à l'instant de chaque scène de l'animation. La Figure 64.a représente l'ani-

mation basée sur une granularité plus importante que celle de la Figure 64.b. Ainsi, le nombre

des scènes (le nombre des points) de l'animation dans la Figure 64.a est plus faible que celui de

la Figure 64.b.

a.

b.

Figure 64. Animation selon différentes granularités par scène pour le mouvement d'un véhicule

Des données sonores temporelles sont composées de plusieurs types et plusieurs cou-

ches de données. Il est ainsi possible de combiner des données sonores de plusieurs couches

pour l'animation. Ceci peut être identifié à l’action de zoom simultané de données spatiales is-

sues de plusieurs couches. En général, chaque type (couche) de données peut être représenté

dans l'animation par une granularité différente. Le problème qui se pose est de déterminer la

granularité adaptée pour toutes les données participant à l'animation. De plus, il ne paraît pas

raisonnable d'imposer une granularité fixe pour chaque type de données car il est utile de pou-

voir changer la granularité par scène pour un même ensemble de données comme dans le cas de

la Figure 3. Ainsi, est-il raisonnable et nécessaire de donner la possibilité aux utilisateurs de dé-

terminer une granularité par scène de l'animation. Cela conduit, en effet, à traiter les données

pour calculer les valeurs temporelles (ex. la position, la valeur d'un attribut, etc...) corres-

pondant à l'instant de chaque scène pour la granularité déterminée.

Page 152: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 8. Problématique de la visualisation des données sonores urbaines

152

3) Nécessité d'accéder aux données et de les analyser en cours d'animation

L'animation n'est pas seulement un affichage rapide d'une séquence de scènes. Elle

peut aller plus loin afin d'être utilisée comme un outil d'exploration des données. En général, les

outils existants pour l'animation fournissent des fonctions d'avancée, d'arrêt, de rembobinage de

la séquence de l'animation (métaphore du magnétoscope), etc. Toutefois, ces outils se limitent à

contrôler l'affichage des scènes et ne sont pas suffisants pour explorer des données. En effet, il

n'est pas possible de consulter ou de manipuler des données pendant l'animation.

Par exemple, un utilisateur peut stopper l'animation lorsqu'il aperçoit une scène "inté-

ressante" au cours de l'animation. Pendant l’arrêt de l'animation, il peut vouloir consulter des at-

tributs de données au moment de l’arrêt. Cela permet de mieux comprendre la situation de la

scène dite "intéressante" en analysant les données de la scène. Après il doit pouvoir relancer

l'animation, et l'animation recommence alors au moment de l’arrêt.

8.4 Conclusion

Les données sonores sont continues non seulement dans l'espace mais aussi dans le temps. Mal-

gré l'évolution du son au cours du temps, la plupart des cartes de son existantes sont plutôt sta-

tiques, lesquelles représentent plutôt la continuité spatiale que la temporalité des données sono-

res (y compris la continuité temporelle). L'animation est une méthode connue comme une

méthode efficace pour la représentation de la temporalité d'information d'une manière générale.

Les techniques d'animation jouent un rôle important pour l'analyse des données géo-

graphiques temporelles. Elles facilitent la compréhension de l'évolution et des changements des

données. Afin de mieux représenter de la temporalité des données sonore, nous avons présenté

les problématiques et les caractéristiques à prendre en compte pour réaliser l'animation des don-

nées sonores comme suit :

- intégration de données multimédia dans l'animation,

- nécessité de granularité par scène déterminable par les utilisateurs pour la génération

de l'animation,

- nécessité d'accéder aux données et les analyser au cours d'animation.

Page 153: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 8. Problématique de la visualisation des données sonores urbaines

153

L'interprétation de l'animation est basée sur la sensibilité des humains à détecter des

mouvements ou des changements dans l'affichage graphique [PETERSON 95]. Ainsi, faut-il

fournir aux utilisateurs un maximum d'outils et de possibilités de configurer (par exemple, défi-

nir la granularité par scène pour l'animation) ou de manipuler l'animation (par exemple, stopper

ou recommencer le déroulement de l'animation). Ainsi, l'animation peut être utilisée comme un

outil d'exploration des données afin de détecter les changements (les différences ou les similari-

tés) dans les données au cours de l'animation.

Page 154: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 9. Etat de l’art sur les cartes animées

154

9. Etat de l'art sur les cartes animées

Dans ce chapitre, nous présentons un état de l'art des cartes animées. La disponibilité de grands

volumes de données spatio-temporelles a stimulé les recherches dans les domaines de la visuali-

sation et de l'exploration des phénomènes temporels. Nous présentons d'abord le concept de va-

riables de l'animation et celui de variables dynamiques. Les variables de l'animation sont des

variables graphiques utilisées pour représenter les changements des données au cours d’une

animation. Les variables dynamiques donnent la possibilité de générer différentes séquences

d'animation. Ensuite, nous illustrons nos propos par des exemples. Enfin, nous présentons des

travaux relatifs à l'animation sur Internet.

9.1 Méthodes de génération et d'affichage d'une animation

Il existe trois types de méthodes pour générer une séquence de scènes pour une animation

[KRAAK et ORMELING 98] :

- Le « Scène par scène » (ou image par image) : Cette approche est la méthode de gé-

nération la plus élémentaire. Chaque image (correspondant à une scène) est générée

séparément. Ensuite, toutes les images sont combinées pour l'animation. Afin de

donner une impression de fluidité du mouvement, 24 à 30 images par seconde sont

nécessaires.

- La « Scène clé » : Seules les images importantes et caractéristiques (scènes clés)

sont générées. Un programme doit donc calculer (interpoler) les autres scènes à

partir des scènes clés.

Page 155: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 9. Etat de l’art sur les cartes animées

155

- L’animation algorithmique : Il s’agit de la méthode la plus puissante et la plus ré-

cente. Un programme définit ce qui va se passer au cours de l'animation. La per-

sonne qui conçoit l'animation définit seulement des objets, des changements et des

instants où les changements vont avoir lieu, etc..

Pour afficher une séquence d'animation, il existe deux méthodes [KRAAK et ORMELING 98]

[PETERSON 99] :

- Affichage on-line : Cela correspond à l'animation en temps réel. Un système très per-

formant génère (calcule) les scènes individuelles directement depuis des données (en

temps réel) et les affiche simultanément.

- Affichage off-line : Les scènes de l'animation sont préparées (générées) et stockées en

mémoire (ou sur le disque si nécessaire). La visualisation de l'animation s'effectue en af-

fichant des scènes stockées.

9.2 Animation temporelle et non temporelle

Lorsque l'on définit une animation comme l’affichage rapide d'une séquences de scènes, les

scènes de l'animation défilent selon l'ordre chronologique. En revanche, il est possible que l'or-

dre des scènes soit décidé par la valeur d'une variable autre que le temps. En effet, il existe deux

types d'animations [PETERSON 95].

9.2.1 Animation temporelle

L'animation représente la temporalité, c'est-à-dire les changements des données au cours du

temps. Ainsi, les scènes de la séquence sont ordonnées selon le temps. La Figure 65 illustre un

exemple d'une animation temporelle. Les scènes se déroulent de la gauche vers la droite. Ainsi,

chaque scène de l’animation représente le pourcentage de la population des personnes de plus

de 65 ans durant chaque décennie donnée.

Page 156: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 9. Etat de l’art sur les cartes animées

156

Figure 65. Exemple d'animation temporelle

9.2.2 Animation non temporelle

Dans ce cas, les changements de données entre les scènes ne proviennent plus de changements

temporels : l'ordre des scènes est basé sur une autre variable différente du temps. Autrement dit,

contrairement à l'animation temporelle où une scène représente des données à un instant tempo-

rel, ici une scène représente des données lorsqu’elles correspondent à la valeur d'une variable.

Par exemple, chaque parcelle dans une ville possède le pourcentage de la population de

chaque groupe d'âge (telles que 35-44 ans, 45-54 ans, 55-64 ans, plus de 60 ans). Supposons que

la population âgée se trouve proche du centre, et la population jeune plutôt proche de la péri-

phérie. Supposons que l’on associe une couleur foncée aux zones de forte population et une

couleur claire aux zones de faible population. Une animation de la population par groupe d'âge,

des plus jeunes vers les plus âgés (comme dans la Figure 66), provoque un "déplacement" des

zones foncées (représentant une forte population du groupe d'âge de chaque scène) de la péri-

phérie vers le centre.

Figure 66. Exemple d'animation non temporelle

Page 157: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 9. Etat de l’art sur les cartes animées

157

En définitive, l'animation non temporelle représente donc un changement causé par des

facteurs autres que le temps.

9.3 Variables graphiques d'animation et variables dynamiques

Dans le sémiologie graphique de [BERTIN 67], plusieurs variables graphiques ont été proposées

pour représenter graphiquement des informations dans le domaine de la cartographie :

- la taille, valeur (claire ou foncé), grain (densité de la couleur - texture), couleur,

orientation, forme.

De son côté, [PETERSON 95] a défini des variables graphiques d'animation pouvant

décrire des changements de données au cours de l'animation. En effet, toutes les variables gra-

phiques dans [BERTIN 67] peuvent être utilisées comme des variables graphiques d'animation

car les différences entre chaque variable peuvent représenter les changements des données. Ain-

si, [PETERSON 95] a défini d'autres variables pouvant être utilisées pour l'animation. Les va-

riables graphiques d'animation dans [PETERSON 95] sont :

- Taille : La taille d'une zone sur une carte peut être changée afin de mettre en évi-

dence le changement de la valeur. Par exemple, la taille des pays peut être propor-

tionnelle à la quantité du pétrole possédé par chaque pays.

- Forme : La forme d'un objet peut être modifiée au cours de l'animation.

- Position : Un point peut se déplacer au cours de l'animation pour représenter le

changement de position d'un véhicule.

- Point de vue : Une modification de l'angle de vue peut être utilisée. Par exemple,

une animation de l'évolution de la population en France peut utiliser l'angle de vue

qui concentre l'attention sur les régions du sud et de l'est où une augmentation im-

portante de la population s'est produite.

- Vitesse : La vitesse des mouvements peut varier pour accentuer le changement.

- Scène : La scène peut changer afin de représenter de différents sujets au cour de

l'animation.

- Distance : Les changements de la distance entre les utilisateurs et les cartes repré-

sentent les changements d'échelles.

- Variables graphiques telles que texture, motif (pattern), valeur (claire ou foncée),

couleur, etc..

Page 158: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 9. Etat de l’art sur les cartes animées

158

Ainsi, durant les scènes de l'animation ces variables changent. Quelques exemples de

modifications de ces variables sont représentés dans la Figure 67 (extrait de

http://cartography.geog.uu.nl/ica/madrid/ormeling.html).

a. Taille

b. Position

c. Point de vue (perspective)

d. Vitesse (taux de changements)

e. Scène

f. Distance (échelle : zoom)

g. Couleur

h. Texture

Figure 67. Modifications dans chaque variable graphique de l'animation

Le son peut être considéré comme une variable supplémentaire dans l'animation carto-

graphique afin d'accentuer l'animation [PETERSON 95]. Par exemple, le volume du son peut

augmenter lorsque survient un changement important des données entre deux scènes consécuti-

ves.

Page 159: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 9. Etat de l’art sur les cartes animées

159

Par ailleurs, les variables dynamiques ont été proposées par [DIBIASE et al. 92] et

[KRAAK et MACEACHREN 94]. D'après [DIBIASE et al. 92], des variables dynamiques peu-

vent être rajoutées aux variables graphiques d'animation traditionnelles. Ces variables dynami-

ques permettent de concevoir l'animation pour que les utilisateurs (spectateurs) puissent com-

prendre la « tendance » de l'animation. Les variables dynamiques proposées sont :

- Temps d'affichage : qui représente le temps durant lequel l'affichage d'un change-

ment est initialisé.

- Durée : qui représente la longueur du temps d'affichage entre deux scènes consécu-

tives.

- Fréquence : qui représente le nombre de scènes à défiler par unité temporelle, elle

est donc duale à la variable "Durée".

- Ordre : Cela correspond à l'ordre des scènes composant la séquence. L'ordre des

scènes de la séquence est chronologique (voir Figure 65). En revanche, dans une

animation non temporelle, l'ordre des scènes est basé sur des valeurs d'une variable

autre que le temps (voir Figure 66).

- Taux de changement : défini par la différence de magnitude du changement/unité

de temps pour chaque scène d'une séquence.

- Synchronisation : représente la correspondance temporelle de plus de deux séries.

Les animations possèdent un caractère narratif. Elles racontent une histoire. Les varia-

bles dynamiques peuvent être utilisées comme un outil pour concevoir des animations. Les va-

riables les plus importantes sont "la Durée" et "l’Ordre". Ces deux variables déterminent les

messages à transmettre par l'animation [KRAAK et ORMELING 98]. En effet, les autres varia-

bles sont soit fonctions, soit dépendantes de ces deux variables, ou encore dépendantes des don-

nées (changement de taux), ou spéciales (synchronisation - plusieurs ensemble des données

temporelles). Actuellement, les recherches se concentrent sur les effets de ces deux variables

[KRAAK et KLOMP 95].

Les symboles dynamiques peuvent aussi être utilisés pour renforcer les variables gra-

phiques. Par exemple, des symboles clignotants peuvent être utilisés pour attirer l'attention sur

certaines positions sur les cartes [KRAAK et ORMELING 98].

Page 160: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 9. Etat de l’art sur les cartes animées

160

9.4 Exemples d'applications des cartes animées

Il existe de nombreuses applications des cartes animées. Les animations peuvent être utilisées

pour décrire les changements de :

- phénomènes météorologiques tels que la température, les précipitations, etc..,

- taux de pollutions,

- zones de végétions,

- frontières des pays au fil des siècles,

- croissance de la population, pourcentages de population des plus de 65 ans,

- croissance des villes,

- accidents de trafics,

- relations socio-économiques,

- etc..

Quelques cartes animées sur la météorologie sont illustrées sur Internet (par exemple

http://www.sat.dundee.ac.uk/movie.html). Un autre exemple de l'animation des changements

des niveaux sonores se trouve sur le site http://yerkes.mit.edu/shiffer/MMGIS/noisenic.html.

Dans [BISHOP et al. 99], l'animation a été utilisée pour représenter les changements

géologiques en Inde du sud. Dans cette région, il existe des mouvements tectoniques issus de la

collision du sous-continent avec l'Asie. Pendant une longue période, ces changements ont eu un

impact majeur sur les drainages et sur les résultats hydrologiques. Par exemple, une rivière dans

la région s’est déplacée de plusieurs centaines de kilomètres au cours de cette période, ce qui a

entraîné un effet sur l'agriculture dans les zones concernées. Les changements de la surface des

terrains sont modélisés et animés. L'animation a donné une impression réaliste des changements

des surfaces des terrains; par exemple, des zones vertes (agriculture) se déplacent dans les au-

tres zones d'une manière progressive au fil du temps (durant plusieurs milliers d'années).

En revanche, la plupart des cartes animées sont habituellement implémentées de façon

passive, permettant seulement aux utilisateurs de regarder une séquence prédéfinie de cartes.

Par exemple, toutes les cartes animées illustrées ci-dessus sont dans ce cas. De nombreuses car-

tes animées actuelles sont implémentées par un film numérique au format MPEG ou QuickTime.

Dans ces formats, l'animation cartographie est aussi non interactive que les cartes sur papier car

elles ne permettent pas de contrôler comment et quelles scènes composent une animation [PE-

Page 161: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 9. Etat de l’art sur les cartes animées

161

TERSON 99]. Les lecteurs de ces formats fournissent seulement des contrôleurs de type magné-

toscope (c'est-à-dire lire, stop, avant, arrière, etc..). Dans la section suivante, nous présentons

des travaux sur l'animation cartographie interactive essayant de pallier cette limitation.

9.5 Animation cartographie interactive

Pour que l'animation cartographie soit interactive et qu’elle ne reste pas seulement au stade

d’affichage rapide des cartes, les utilisateurs doivent pouvoir contrôler (ou configurer) non seu-

lement les fonctionnements d'affichage de type magnétoscope mais aussi la génération de la sé-

quence de l'animation (quelles scènes composent l'animation ?). Cela peut être possible en don-

nant la possibilité aux utilisateurs de définir la valeur des variables dynamiques présentées ci-

dessus.

[PETERSON 95] a présenté quelques logiciels pour la génération des cartes animées interacti-

ves :

- Hypercard : L'animation dans le logiciel l'Hypercard (présenté par Apple Compu-

ter) est implémentée par un script HyperTalk. Dans ce script, nous pouvons spécifier

le temps d'affichage de chaque scène. Par exemple, nous pouvons ralentir la vitesse

d'affichage d'une séquence d'animation en faisant afficher chaque scène pendant 1/10

seconde (valeur initiale 1/60 seconde). Cela permet donc de contrôler la variable dy-

namique "Durée" représentant le temps d'affichage d'une scène.

- MacChoro II : Ce logiciel permet aux utilisateurs de spécifier la génération de

l'animation. Par exemple, dans la Figure 68.a, l'utilisateur a spécifié la génération de

la séquence d'animation représentant le "pourcentage de naissances chez les mères

de moins de 20 ans". Une carte est créée pour chaque nombre de classes considérées.

C'est-à-dire que le nombre de classes utilisé pour générer chaque carte est consécuti-

vement 2, 3, 4, 5, et 6. La séquence des cartes issue de cette configuration est repré-

sentée dans la Figure 68.b. Cette figure illustre une animation non temporelle et les

changements de scènes proviennent des changements du nombre de classes (= de

couleurs). Après la génération des cartes, les contrôleurs suivants peuvent être utili-

sés pour changer la vitesse de l'affichage de l'animation : "Scènes par seconde" ou

Page 162: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 9. Etat de l’art sur les cartes animées

162

"Seconde par scènes" (voir la Figure 68.c). Cela correspond à la variable dynamique

"Durée". Les contrôleurs de type magnétoscope sont aussi utilisés pour les mouve-

ments avant, arrières, etc.

Figure 68. MacChoroII : a) Fenêtres pour spécifier la génération de l'animation, b) Exemple de

l'animation issu de la configuration de la Figure 68.a, c). Contrôleurs de l'affichage de l'animation

[PETERSON 99] a proposé une autre méthode pour l'animation cartographie interac-

tive. Ces travaux ont en effet proposé les légendes actives qui permettent de contrôler l'ordre de

l'affichage des cartes individuelles. Lorsque la souris est placé sur une légende, l'animation affi-

che la carte correspondant à cette légende. La scène courante de l'animation peut donc changer

en fonction de la position de la souris. En déplaçant la souris sur plusieurs légendes actives,

nous pouvons animer des cartes selon plusieurs ordres.

a.

b.

c.

Page 163: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 9. Etat de l’art sur les cartes animées

163

La Figure 69 présente un exemple de l'utilisation des légendes actives. Chaque carte

individuelle (scène) est associée à un thème (ici une cause la mortalité) : cancer, attaque céré-

brale, maladie du cœur, maladie des poumons et la mortalité de total. Les causes de mortalité

sont classées en 5 groupes et sont représentées par une couleur. Dans la Figure 69, la souris se

situe sur la légende active "Maladie de cœur". Ainsi la carte courante affichée représente les

données associées à la cause de mortalité correspondante. L'animation des cartes se fait par le

déplacement de la souris d'une façon rapide sur les légendes actives. La Figure 70 illustre les

mouvements possibles de la souris sur les légendes. L'illustration de gauche représente les mou-

vements possibles de la souris lorsqu’une animation est composée de deux cartes. Et celle de

droite illustre un exemple rendant animées les quatre cartes individuelles.

Figure 69. Exemple d'une carte (scène) représentant des données correspondant à la légende active

sur laquelle la souris se situe.

Figure 70. Exemple des mouvements possibles de la souris avec les légendes actives.

Attaquecérébrale

Maladiede cœur

Maladie depoumons

Cancer

la positionde la souris

légendes actives

Page 164: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 9. Etat de l’art sur les cartes animées

164

Les légendes actives rendent possibles l'animation des cartes selon différents ordres,

avec divers types de combinaisons de cartes. La valeur de la variable dynamique "Ordre" peut

être fixée intéractivement par ce genre de méthode.

En revanche, cette méthode concerne plutôt l'animation non temporelle (comme nous

pouvons le remarquer). En effet, l'animation des cartes se déroule au cours du changement de la

cause de mortalité (et non pas dans le temps). La variable dynamique "Ordre" est en effet moins

significative dans le cas de l'animation temporelle (ce qui est notre cas), car l'ordre de la sé-

quence est constant et ordonné par le temps.

9.6 Cartes animées sur Internet

L'Internet est devenu un moyen important d'acquérir et de diffuser de l'information. Ceci est le

résultat de la grande popularité du World Wide Web. Le World Wide Web offre aussi de nom-

breux outils pour les animations cartographiques. Par exemple, les fichiers des cartes animées

sous le format de GIF animé ou MPEG peuvent être affichés sur la plupart des browsers Web. Il

existe aussi plusieurs types de plug-ins affichant, sur le Web, les fichiers dans un certain format

(ex. Shockwave de Macromedia). La langage Java peut être utilisé pour implémenter des anima-

tions cartographiques sur le Web. Du fait des possibilités et de l'importance de l'utilisation des

cartes animées sur le Web, nous ne présentons que quelques travaux sur des cartes animées sur

le Web.

1) Animation cartographique interactive sur le Web

Nous avons présenté le concept de "légende active" ci-dessus comme une méthode rendant pos-

sible l'animation cartographique interactive. [PETERSON 99] a implementé des légendes acti-

ves en langage JavaScript. Le JavaScript est un langage de script interprété exécuté par un

browser web, et non un langage compilé comme Java.

2) Variables dynamiques d'animation sur le Web

Grâce à la croissance importante du Web, de nombreuses personnes espèrent publier de l'infor-

mation cartographique via ce moyen. Ainsi, de nombreux problèmes sont apparus. Selon [STY-

NES et al. 01], les deux obstacles majeurs pour le contrôle cartographique performant sont la

Page 165: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 9. Etat de l’art sur les cartes animées

165

grande diversité des environnements des utilisateurs, et le manque d'intéractivité fourni par le

Web. Pour résoudre ces problèmes concernant les animations cartographiques sur le Web,

[STYNES et al. 01] traitent notamment de l'implication des variables dynamiques (présentées

dans la section 9.3) sur le Web et des possibilités de les implémenter.

3) VRML et animation interactive

VRML est un format standard de description graphique pour les graphiques à 3 dimensions (3D-

graphics) orientés objets, interactifs et animés sur Internet [VAG 97]. VRML est supporté par

de nombreux browsers. VRML à 3D animé est utilisé pour visualiser des données spatio-

temporelles [THEODOULIDIS et VAKALOUDIS 97]. [GRAUER et LUTTERMANN 99] ont

notamment proposé une extension de VRML supportant la description des objets spatio-

temporels et des entités en intégrant la dimension de temps valides et le concept entité. Ainsi un

ensemble des techniques de la visualisation interactive étendant les browsers standard de VRML

est proposé pour la navigation temporelle, par exemple, les fonctionnalités de stopper, d'avan-

cer, etc. dans le browser au cours de l'animation.

9.7 Conclusion

Dans ce chapitre, nous avons presenté un état de l'art des cartes animées. Une animation peut

être temporelle et non temporelle. Alors que des scènes dans une animation temporelle sont

ordonnées selon le temps, celles dans une animation non temporelle ne le sont pas. Elles sont

plutôt ordonnées selon les valeurs d'une autre variable que le temps.

Les travaux sur la définition des variables graphiques d'animation et les variables

dynamiques ont été présentés et nous avons illustré notre étude par quelques exemples

d'application de cartes animées et des travaux sur une animation cartographie interactive.

Dans le chapitre suivant, nous présentons notre application d'animation pour des

données sonores dans un SIG.

Page 166: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 10. Visualisation dynamique de la temporalité dans un SIG sonore urbain

166

10. Visualisation dynamique de la temporalité dans un SIG sonore urbain

Dans ce chapitre, nous allons décrire le prototype d'un SIG sonore urbain que nous avons conçu

[KANG et SERVIGNE 99] [SERVIGNE et al. 00] [SERVIGNE et KANG 01]. Dans un premier

temps, l'objectif d'un SIG dédié à l'environnement sonore urbain est présenté. Dans un deuxième

temps, les données temporelles utilisées dans cette application sont décrites. Ensuite, nous spé-

cifions les interfaces de saisie destinées à la définition par l'utilisateur des paramètres d'anima-

tion. Ces paramètres permettent de configurer (contrôler ou spécifier) la génération de la sé-

quence des scènes d'animation. Ainsi, nous pouvons générer plusieurs séquences différentes

d'animation à partir des mêmes données. Nous présentons aussi les contrôleurs de l'affichage

possèdent plus de fonctionnalités que celles de type magnétoscope afin d'explorer des données

géographiques et attributaires au cours de l'animation.

Avant de commencer ce chapitre, nous rappelons ci-dessous les problématiques et les

caractéristiques de l'animation des données sonores présentés dans la section 8.3 car le SIG ré-

alisé a été conçue en tenant compte de ces spécifications.

- intégration de données multimédia dans l'animation,

- nécessité de granularité par scène déterminable par les utilisateurs pour la généra-

tion de l'animation,

- nécessité d'accéder aux données et les analyser au cours d'animation.

Page 167: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 10. Visualisation dynamique de la temporalité dans un SIG sonore urbain

167

10.1 Objectif d'un SIG pour environnement sonore urbain

Depuis de nombreuses années, le bruit est un sujet de préoccupation cher aux gestionnaires de la

ville (urbaniste, architecte..). Ceux-ci disposent d’outils performants permettant la modélisation

des émissions sonores et de l’exposition des infrastructures à ces émissions. Le logiciel MI-

THRA (présenté dans la section 7.1) est un exemple de ce type d’outils. Les cartes de bruits gé-

rées par ce type d’outils représentent des données quantitatives (niveaux sonores, surface de

propagation du bruits…). Elles permettent d’établir des diagnostics et de décider de la mise en

place de stratégies défensives pour pallier les gènes engendrés par ces bruits (installation de

murs anti-bruit, mise en place de déviation…). Cependant, il apparaît que l’aménageur au-

jourd’hui, au delà de ces informations quantitatives, a besoin de données qualitatives lui per-

mettant de mieux appréhender la relation des habitants à leur environnement sonore.

C’est dans cet élan, que le CRESSON, en collaboration avec l'INRETS (Institut Natio-

nal de Recherche sur les Transports et leur Sécurité), décident en 1996 de mettre en place un

observatoire de l'environnement sonore à Lyon. Leur étude, reposant essentiellement sur des

enquêtes auprès de la population, a pour objectif la définition des critères qualitatifs les plus re-

présentatifs de l'environnement sonore en liaison avec la perception qu'ont les habitants de leur

environnement. Les critères qualitatifs définis dans ce travail sont donc par exemple "la sociabi-

lité" pour des zones de l'émergence d'activités sociales, "le fond sonore routier" pour des zones

où le bruit routier est très présent, etc. (pour plus de détails, voir [CHANLON 99] [SERVIGNE

et KANG 01]).

La réalisation d'une application dans un SIG est l’occasion d'évaluer l'intérêt de cette

nouvelle approche, couplant des critères qualitatifs et quantitatifs, devant permettre une meil-

leure appréhension de l'environnement sonore. Comme outil SIG, MapInfo (dont le langage de

développement est MapBasic) a été utilisé avec VisualBasic pour réaliser un prototype. Le pro-

totype à été testé sur une zone géographique du 1er arrondissement de Lyon dont les données

nous ont été fournies par la Communauté Urbaine de Lyon.

Comme nous l'avons déjà remarqué, le son évolue en fonction du temps. Ainsi, est-il

important de représenter la temporalité des données sonores. Nous intégrons donc la technique

d'animation cartographique au SIG. Bien que de nombreuses données soient modélisées et utili-

Page 168: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 10. Visualisation dynamique de la temporalité dans un SIG sonore urbain

168

sées dans cette application, nous ne présentons que les données temporelles qui sont utilisées

dans la section suivante.

Des niveaux sonores sont des données classiques comme des données quantitatives. En

revanche, dans cette section, des données de niveaux sonores ne sont pas traitées car nous nous

intéressons plutôt aux données qualitatives représentant l'environnement sonore.

10.2 Les données sonores temporelles utilisées

La précision temporelle est différente en fonction de la nature des données manipulées : allant

de la simple notation de l'année jusqu'à l'heure précise (à 10 mn prêt) de l'apparition.

Des données temporelles utilisées sont notamment :

- Signaux sonores,

- Trafic automobile,

- Multimédias (bandes sonores, documents, etc..).

Nous présentons précisément ces trois types de données selon leur représentation de la

temporalité et leur mode de visualisation pour l'animation.

10.2.1 Représentation de la temporalité de chaque type de données

1) Signaux sonores :

Comme nous l'avons présenté ci-dessus, cette application a pour but de représenter plutôt des

données qualitatives. Les données signaux sonores sont des données qualitatives. En se basant

sur les enquêtes et les entretiens auprès de la population ("indicateurs de l'identité sonore d'un

quartier"), un ensemble des signaux sonores a été défini en collaboration avec des architectes.

Les signaux sonores représentent des types de sons particulièrement identifiés dans un endroit

comme par exemple un son de voiture, usine, commerce, restaurant, musique, humain, etc. Cha-

que signal sonore est complété par un commentaire expliquant l'environnement sonore plus pré-

Page 169: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 10. Visualisation dynamique de la temporalité dans un SIG sonore urbain

169

cisément, par exemple "appels, rencontres et nombreux pas" , "entrée et sortie bars et boîtes de

nuit", etc. La temporalité de chaque signal sonore est de la forme :

{journée de la semaine, heure de début, heure de fin, durée, fréquence}.

La valeur de l'attribut "journée de la semaine" peut être choisie entre "se-

maine/samedi/dimanche/ tous les jours". En effet, ce genre de données représentant l'environ-

nement sonore dans une ville se manifeste périodiquement dans la vie quotidienne. Nous avons

ainsi décidé de ne pas distinguer les différents jours ouvrables de la semaine car cette distinc-

tion des jours ne semblait pas très significative du point de vue des architectes avec qui nous

avons travaillé. C'est la raison pour laquelle nous avons choisi ces trois catégories de jours au

lieu de mettre une date précise. Ainsi, des données qui se présentent par exemple, seulement le

mardi ne sont pas considérées dans ce travail.

La durée et la fréquence peuvent servir à modéliser des sons répétitifs qui se manifes-

tent plusieurs fois régulièrement dans une journée. Prenons l'exemple d'une cloche d'église qui

sonnerait toutes les heures, de 8h à 20h, pendant 5 minutes tous les jours. On aura donc comme

données:

{tous les jours, 8h00, 20h00, 5minutes, 60minutes}.

Autrement, des données qui ne se répètent pas plusieurs fois dans la journée et qui sont

régulières chaque jour comme des magasins ouvrant entre 9h et 19h pendant la semaine peuvent

être représentées par :

{semaine, 9h, 19h, 10h , 24h}.

2) Trafic automobile :

Le bruit de la circulation automobile est omniprésent et une des sources de bruit les plus impor-

tantes en milieu urbain, d'où la nécessité de le prendre en compte. Nous avons utilisé des don-

nées de comptage réalisés sur des tronçons de rue dans le quartier testé. Le nombre total des vé-

hicules empruntant chaque tronçon a été comptabilisé heure par heure. La temporalité de ces

données est de la forme :

Page 170: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 10. Visualisation dynamique de la temporalité dans un SIG sonore urbain

170

{journée de la semaine, n1, n2, …, n24}.

L'attribut journée de la semaine est le même que dans le cas des données de signaux

sonores présentées ci-dessus. Les attributs n1, n2 , …, n24 représentent respectivement le nom-

bre total des véhicules passant sur chaque tronçon entre 01h - 02h, 02h - 03h, …, 23h - 24h. En

effet, pour le jour ouvrable, ce sont des données moyennes pendant la semaine.

3) Multimédia :

Des données multimédias tels que des documents, images et enregistrements de sons sont inté-

grées aux données sonores. Elles sont en effet attachées à certains objets géographiques repré-

sentés sur les cartes de son :

- Des séquences sonores enregistrées sont associées aux points et aux parcours le long

desquels les enregistrements ont été réalisés. Cela donne aux utilisateurs une idée des

sons réels audibles en fournissant la possibilité d'écouter les enregistrements sonores sur

les cartes de son.

- Des documents concernants des plaintes des habitants sont associés aux bâtiments dans

lesquels des gens ont porté ces plaintes.

- Des documents contenant le résultat des entretiens avec des habitants ou des descrip-

tions de l’environnement sonore dans un quartier sont aussi utilisés en étant associés aux

zones correspondantes.

Ces données multimédias intégrées peuvent aussi être temporelles. La temporalité de

ces données multimédias est de la forme :

{date(aaaa/jj/mm/hhhhh), journée de la semaine, heure de début, heure de fin, durée, fré-

quence}.

L'attribut date est le moment où l'acquisition des données a été faite, par exemple,

2001/24/09/12h13 où un enregistrement sonore a été réalisé. Les autres attributs (les mêmes que

pour les données de signaux sonores) sont utilisés pour représenter le temps où des données sont

valides ou significatif. Par exemple, des gens peuvent se plaindre du bruit de la nuit du samedi

Page 171: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 10. Visualisation dynamique de la temporalité dans un SIG sonore urbain

171

entre 20h-23h seulement. Dans ce cas, le document des plaintes sera donc valide seulement

pendant cette période. Nous pouvons représenter la temporalité de cette plainte comme :

{2001/09/24/12h13, samedi, 20h, 23h, 3h, NUL}.

En effet, NUL est utilisé comme la valeur de l'attribut fréquence afin de représenter la

non répétition des données.

Un autre exemple serait une séquence sonore enregistrée sur un marché. Supposons

que cet enregistrement sonore soit le son représentatif que l'on peut entendre sur le marché entre

9h et 11h le dimanche. Nous pouvons représenter la temporalité de cet enregistrement sonore

comme suit:

{2001/09/25/9h15, dimanche, 9h, 11h, 2 minute, NUL}.

En effet, l'attribut date pourrait aussi être utilisé dans l'animation des données. En re-

vanche, dans ce travail, nous nous intéressons plutôt aux autres attributs représentant le temps

valide.

Les avantages de l'utilisation des données multimédias (enregistrements sonores) :

Parfois, des données sonores qualitatives représentant les caractéristiques du son (telles que les

signaux sonores) contiennent de nombreux aspects de la dimension sonore qui ne peuvent pas se

résumer par un seul mot ou signe légendé [ARLAUD 01]. Cela peut être résolu en intégrant des

enregistrements sonores et en donnant la possibilité aux utilisateurs de les écouter sur des cartes

de son. Par ailleurs, seuls les enregistrements sonores permettent de révéler certaines potentiali-

tés sonores d'un lieu à travers les usages les plus minuscules qui s'y déroulent. Elles peuvent

donc être de véritables références pour imaginer des concepts d'aménagement sonore ou propo-

ser et corriger un espace acoustique donné.

Page 172: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 10. Visualisation dynamique de la temporalité dans un SIG sonore urbain

172

10.2.2 Mode de visualisation de chaque type de données

Chaque signal sonore est représenté par un symbole localisé en son lieu d'émission et caractéri-

sé par les attributs suivants :

- sa couleur indique son appartenance typologique en fonction du découpage (inspiré du

mode de classification proposé par R. Murray Schafer - cité dans [ARLAUD 01]) :

- sons mécaniques en bleu : bruits de la circulation, des industries, etc., relati-

vement continus,

- sons humains en rouge : bruits de pas, de voix, etc., relativement continus,

- sons naturels en vert : bruits de l'eau, des oiseaux, etc., relativement continus,

- etc.

- sa forme précise, par l'utilisation de symboles graphiques, indique la fonction et la si-

gnification de chaque son représenté, par exemple : visage humain = discussions, per-

sonnage entier = passages humains, verre = bruits de café et restaurant, etc.

Ces seules différenciations visuelles (couleur et forme) ne permettent cependant pas

toujours d'exprimer clairement la nature exacte et la spécificité de chaque son répertorié. Un

commentaire textuel complémentaire ou un enregistrement sonore peut donc être associé à cha-

que signal sonore.

En effet, les usages des symboles favorisent non seulement la lectures des cartes stati-

ques mais aussi l'animation des cartes. Par exemple, pour représenter des niveaux sonores, nous

pouvons avoir deux types d'animation :

- animation des valeurs réelles - animation des surfaces des niveaux sonores,

- animation des symboles - animation des symboles qui représentent le classement de

l'intensité des niveaux sonore.

Dans de nombreux cas, l'animation des symboles peut être plus efficace que l'anima-

tion des valeurs réelles car elle ne nécessite pas de traitement compliqué (tel que le 'rendering')

[LAURINI 01].

Page 173: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 10. Visualisation dynamique de la temporalité dans un SIG sonore urbain

173

Des données multimédias (tels que enregistrement sonore, documents concernant des

plaintes et des interviews) sont aussi représentées par des symboles pendant l'animation par

exemple, un symbole sous forme de microphone pour un enregistrement sonore.

Le nombre total de véhicules passant sur chaque tronçon est utilisé comme données de

trafic automobile. Pour de telles données, nous utilisons la dégradation d'une couleur en fonc-

tion du nombre de véhicules, par exemple, plus la couleur est foncée, plus le nombre est impor-

tant. En effet, nous utilisons "la valeur (claire ou foncée)" comme étant une des variables gra-

phiques d'animation (présentées dans la section 9.3). Ainsi les changements de degré de la

dégradation de la couleur représentent les changements des nombres de véhicules au cours de

l'animation.

Des données de trafic automobile sont toujours présentes et continues dans le temps.

En revanche, la majorité des signaux sonores (définis et utilisés dans ce travail) sont plutôt des

données présentes seulement à un certain moment. Ainsi, comme nous le verrons plus tard, les

symboles des signaux sonores apparaissent et disparaissent au cours de l'animation. Ce sont

donc des symboles dynamiques qui donnent un rythme à l'animation plus particulièrement lors

que ces apparitions/disparitions se répètent régulièrement.

Dans cette section, nous avons présenté comment la temporalité de chaque type de

données peut être représentée et son mode de visualisation pour l'animation. Dans la section

suivante, nous présentons les interfaces utilisateur permettant de spécifier la génération d'une

séquence d'animation et de contrôler l'affichage de la séquence.

10.3 Carte animée interactive

Afin qu'une animation ne soit pas implémentée de façon passive (cité dans la section 9.5), les

utilisateurs doivent pouvoir contrôler non seulement l'affichage de l'animation mais aussi com-

ment et de quelle manière une carte animée est composée et affichée. Cela signifie que les utili-

sateurs doivent pouvoir contrôler non seulement l'affichage mais aussi la génération de l'anima-

tion. Ainsi, dans cette section, nous présentons d'abord les interfaces utilisateur permettant de

contrôler la génération d'une séquence d'animation. Ensuite, nous présentons un contrôleur plus

interactif que des contrôleurs existants de type magnétoscope pour l'affichage de l'animation.

Page 174: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 10. Visualisation dynamique de la temporalité dans un SIG sonore urbain

174

10.3.1 IHM et paramètres d’animation

Notre objectif est d’exploiter l’animation afin d’explorer et d’analyser des données sonores non

seulement spatiales mais aussi temporelles. Aussi, est-il nécessaire d’envisager la possibilité

d’offrir diverses formes de cartographies animées aux utilisateurs depuis les mêmes données

utilisées. Pour cela, nous avons défini quelques paramètres nécessaires pour configurer (spéci-

fier) une séquence d'animation des données sonores utilisées. Ainsi, nous avons proposé et ré-

alisé une interface permettant aux utilisateurs de définir leurs propres paramètres. La Figure 71

présente l’interface permettant le choix de ces paramètres d’animation que nous explicitons ci-

après.

Figure 71. Interface de détermination des paramètres d’animation.

Données à animer

Page 175: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 10. Visualisation dynamique de la temporalité dans un SIG sonore urbain

175

Comme nous l'avons vu précédemment, il existe plusieurs types de données sonores temporel-

les. Ce paramètre permet de combiner des types de données concernées pour l'animation.

Période d'analyse

L’utilisateur peut choisir la période de temps de l’animation en précisant les jours et heures de

début et de fin de période. Dans la Figure 71, l’animation est paramétrée pour représenter des

données à partir du "samedi 10 heures 30" jusqu'au "dimanche 10 heures 30". En effet, nous

donnons la possibilité de choisir "semaine/samedi/dimanche" à cause de la caractéristique des

données à traiter dans ce prototype. En revanche, une façon plus générique, de spécifier les da-

tes exactes serait par exemple, 1999/12/12 pour ce paramètre.

Granularité par scène

La granularité par scène exprime le temps que représente chaque scène. Comme nous l'avons

présenté dans la section 8.3, il est nécessaire de donner la possibilité de déterminer (spécifier) la

granularité par scène. En effet, il existe plusieurs types de données à animer et chaque type de

données peut être mieux représenté dans l'animation par différentes granularités. De plus, en es-

sayant plusieurs tailles de la granularité par scène pour une animation, les utilisateurs peuvent

exploiter et analyser des données de plusieurs points de vue comme le cas de changements

d'échelles sur une carte statique.

Ce paramètre permet donc de définir la taille de la granularité par scène de

l’animation. Dans la Figure 71 par exemple, la granularitè par scène est de 10 minutes. Cela

veut dire que chaque scène représente des données calculées sur 10 minutes. La durée de la pé-

riode de l’animation ayant été définie à 24 heures dans la Figure 71, nous pouvons en déduire

que cette animation sera composée de 144 scènes ((24*60)/10).

Les données brutes étant collectées suivant une périodicité propre, les données résul-

tantes affichées dans chaque scène requièrent des méthodes d’estimation afin de représenter la

continuité temporelle. Ces méthodes englobent l’interpolation, l’extrapolation, l’agrégation ou

encore la moyenne, etc. Par exemple, dans notre application, nous disposons du nombre de vé-

hicules passant sur les routes heure par heure. Chaque scène représente le nombre de véhicules

Page 176: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 10. Visualisation dynamique de la temporalité dans un SIG sonore urbain

176

passant pendant la taille de la granualité par scène définie par l’utilisateur. Cela requiert des

méthodes d’estimation différentes selon la valeur du granularité par scène. Nous pouvons sim-

plement utiliser la division ou la multiplication pour estimer des valeurs en fonction des granu-

larités. Supposons que la granularité par scène soit de 20 minutes. Nous divisons donc le nom-

bre de véhicules par 3 pour estimer le nombre de véhicules circulant pendant 20 minutes pour

chaque scène. D’autre part, si la granularité par scène est fixée est à 2 heures, la somme des vé-

hicules sur 2 heures serait demandée.

Caractéristiques graphiques

Par ailleurs, en perspective, il serait intéressant de donner aux utilisateurs la possibilité de défi-

nir les variables graphiques d'animation pour mettre en évidence le changement entre des scènes

de l'animation. Comme présenté dans la section 9.3, les variables graphiques d'animation con-

cernent la taille, la forme, la position, la texture, le motif et les couleurs, etc.

10.3.2 Contrôleur interactif d’animation

Dans la section précédente, nous avons proposé les interfaces utilisateur qui permettent de

configurer les paramètres d'une séquence de l’animation. Après avoir généré une séquence de

scènes d'animation selon les paramètres spécifiés par l'utilisateur, les scènes préparées seront

donc animées. Dans cette section, nous allons présenter un contrôleur interactif d’animation,

comme le montre la Figure 72. Les contrôleurs de type magnétoscope comme notre contrôleur

sont déjà utilisés dans certaines applications de l’animation, mais ils restent seulement comme

un outil d'affichage d'une séquence. En revanche, notre contrôleur permet de changer la vitesse

d'animation et aussi d’accéder aux données de chaque scène individuelle dans la cartographie

sonore animée, ou encore de les consulter et de les traiter.

Page 177: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 10. Visualisation dynamique de la temporalité dans un SIG sonore urbain

177

Figure 72. Contrôleur interactif d’animation.

Nous expliquons les composants du contrôleur d'animation.

Durée d'affichage par scène

Ce paramètre fixe la durée réelle pour afficher une scène sur l'écran. Cela signifie donc la durée

du temps d’affichage entre deux scènes consécutives. Dans la Figure 72, une scène reste affi-

chée 20 centièmes de secondes. En effet, ce paramètre correspond à la variable dynamique "la

Durée" présentée dans la section. Après avoir généré une séquence de scènes d'animation, nous

pouvons donc afficher une animation de plusieurs vitesses en changeant la valeur de ce paramè-

tre.

Boutons : début, lire, stop, avant, après

Ces boutons correspondent à des fonctionnements de type magnétoscope. Ainsi, "début" remet

l'animation au début de la séquence, "lire" affiche rapidement (selon la valeur de la durée d'af-

fichage par scène spécifiée par l'utilisateur) la séquence des scènes, et "stop" arrête l'animation.

Les boutons "avant" et "après" affichent une seule scène correspondante.

Bouton : Info

Comme nous l'avons présenté, la possibilité d'accéder aux données et de les analyser pendant

d'animation a été requise dans ce travail. Autrement dit, pour l’utilisateur, l’accès aux données

doit être possible à n’importe quel instant pendant le déroulement de l’animation afin d’explorer

Page 178: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 10. Visualisation dynamique de la temporalité dans un SIG sonore urbain

178

des données y compris des données multimédias intégrées aux données sonores. Ce besoin est

satisfait par l'intégration de la technique d'animation au SIG (le logiciel MapInfo).

Par exemple, un utilisateur peut stopper l’animation à un moment donné quand il aper-

çoit une scène intéressante à explorer et à analyser. Après avoir stoppé l'animation, l'utilisateur

peut choisir le bouton "Info". Cette action effectue en effet un changement de mode de visuali-

sation des données, c'est-à-dire un changement du mode de visualisation de l'animation vers ce-

lui du SIG. En effet, le mode de visualisation de l'animation est en général d'afficher des scènes

sous forme d'images. Il est difficile d'accéder aux donnés (non seulement aux objets spatiaux

mais aussi aux attributs liés à chaque objet ) sous ce mode. Ainsi, la fonction de "Info" (que

nous avons implémentée) visualise des données de la scène correspondant au moment du stop

dans le SIG sous forme des données exploitables par le SIG (donc plutôt des données de type

vecteur). Ainsi, nous pouvons explorer des données avec le SIG en utilisant toutes les fonctions

du SIG, par exemple consulter les attributs, exécuter des requêtes, zoomer, etc. Il est également

possible d'accéder aux données multimédias, par exemple, d'écouter des enregistrements ou de

consulter des documents liés à ce moment-là dans la cartographie animée pour avoir plus

d’information. Enfin, l'utilisateur peut redémarrer l'animation le bouton "lire".

En donnant la possibilité d'accéder aux données à n'importe quel moment au cours de

l'animation, le contrôleur que nous proposons n'est plus seulement un outil d'affichage de l'ani-

mation. Celui-ci peut être utilisé comme un outil d'exploration de l'animation.

10.3.3 Exemple

Dans cette section, nous présentons un exemple d'une séquence d'animation en utilisant le con-

trôleur présenté dans la section précédente.

Les Figure 73 à 76 montrent quelques scènes extraites au cours de la visualisation

d’une cartographie animée. Les routes épaisses colorées représentent l’existence des données

temporelles sur le trafic à savoir le nombre de véhicules à chaque heure sur les routes. Ces in-

formations sont des données continues temporelles. Nous avons donc besoin de méthodes

d’estimation en fonction de la granularité spécifiée par utilisateur comme nous l'avons déjà ex-

pliqué précédemment. Nous nous sommes servie du dégradé de couleur comme variable graphi-

Page 179: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 10. Visualisation dynamique de la temporalité dans un SIG sonore urbain

179

que d'animation afin de décrire l’évolution du trafic en fonction du temps. L’icône horloge indi-

que l'heure correspondant à la scène en cours.

L’utilisateur fait commencer l’animation après avoir défini tous les paramètres néces-

saires comme le montre la Figure 73. A l’instant représenté dans la scène de la Figure 74,

l’utilisateur arrête l’animation, écoute l’enregistrement du son sur un point et consulte le texte

pour la description de l’enregistrement du son. Il recommence l'animation, et il aperçoit l'appa-

rition du symbole point (indiqué par la flèche) dans la Figure 75. Ce symbole représente

l’émission du son d’une cloche d'église qui est un signal sonore. Le son de cette cloche se mani-

feste périodiquement durant un moment comme par exemple, de 8h à 20h, pendant 5 minutes

tous les jours. Ce symbole apparaît donc dans les périodes de la présence du son et disparaît en

dehors de ces périodes au cours de l’animation. Comme ce son se présente régulièrement et pé-

riodiquement, ce symbole apparaît et disparaît (comme dans la Figure 76) régulièrement au

cours de l'animation. Ce symbole étant finalement dynamique, a donné en effet une sorte de

rythme durant l'animation.

Page 180: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 10. Visualisation dynamique de la temporalité dans un SIG sonore urbain

180

Figure 73. Contrôleur interactif d’animation dans la cartographie animée : Début de l'animation.

Figure 74. Contrôleur interactif d’animation dans la cartographie animée : Arrêt de l'animation et

consultation des données multimédias.

Page 181: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 10. Visualisation dynamique de la temporalité dans un SIG sonore urbain

181

Figure 75. Contrôleur interactif d’animation dans la cartographie animée : Reprise de l'animation

et apparition d'un symbole représentant un signal sonore périodique et régulier.

Figure 76. Contrôleur interactif d’animation dans la cartographie animée : Reprise de l'animation.

Page 182: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

Chapitre 10. Visualisation dynamique de la temporalité dans un SIG sonore urbain

182

10.4 Conclusion

Dans ce chapitre, nous avons présenté le prototype réalisé d'un SIG sonore urbain. Dans un

premier temps, l'objectif de l'application a été présenté. Dans un deuxième temps, nous avons

décrit les données sonores temporelles utilisées dans ce prototype. Plusieurs types de données

temporelles y compris des données multimédias sont présentés selon leur représentation de la

temporalité et leur mode de visualisation. Enfin, nous avons détaillé les fonctionnalités permet-

tant une cartographie animée interactive.

Afin qu'une animation soit comme un outil d'exploration des données, elle doit être

implementée de façon interactive en permettant aux utilisateurs de contrôler non seulement l'af-

fichage de l'animation mais aussi la génération de l'animation :

- Nous avons proposé quelques paramètres déterminables par les utilisateurs. Ces pa-

ramètres permettent de contrôler (configurer) la génération d'une séquence de scènes pour

l'animation. Nous avons particulièrement défini le paramètre "granularité par scène" pour géné-

rer des scènes de l'animation.

- Le contrôleur proposé dans ce travail permet non seulement de contrôler l'affichage

de l'animation mais aussi de pouvoir accéder aux données (y compris des données multimédias)

au cours de l'animation.

Nous avons présenté les variables dynamiques dans la section 9.3. En effet, ces varia-

bles peuvent être utilisées comme des paramètres pour la génération de l'animation. Comme

nous l'avons vu, les variables les plus importantes et les plus utilisées sont les variables "Durée"

et ''Ordre". La variable "Durée" est particulièrement utile pour l'animation des données sonores

dans ce travail car elle permet de changer la vitesse de l'affichage d'animation. En revanche, la

variable "Ordre" n'a pas été utilisée car l'ordre des scènes d'une animation dans ce travail est

fixe (ordre chronologique).

Page 183: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs
Page 184: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

184

CONCLUSION et PERSPECTIVES

Page 185: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs
Page 186: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

186

Comme nous avons présenté notre travail en deux partie séparées, nous voudrions conclure ce

mémoire en résumant le travail effectué et en donnant les perspectives selon chaque partie.

PARTIE 1

Indexation par valeurs des données de type champs continus dans les SIG

Le domaine des bases de données de phénomènes continus commence à être étudié depuis quel-

ques années. Ce domaine concerne de nombreuses applications manipulant des données suppo-

sées continues dans l'espace et dans le temps, telles que des données météorologiques, géologi-

ques, écologiques, socio-économiques, acoustiques, etc.

Le traitement des requêtes par valeurs (dont il est question dans cette thèse) telles que

"Quelles sont les régions où la valeur du champ est égale à w' ?" est indispensable pour explo-

rer et analyser les données continues. Ce type de requêtes basées sur une valeur pourrait être

traité par un parcours séquentiel de toute la base de données (sans indexation). Cela entraînerait

une dégradation importante des performances pour les bases de données volumineuses. Ainsi,

notre travail a eu pour but de développer une méthode d'indexation pour accélérer les requêtes

par valeurs dans les champs continus (nommée méthode d'indexation par valeurs).

Avant d'aborder précisément la problématique de nos travaux, nous avons d'abord pré-

senté, dans le chapitre 1, la définition d'un champ continu dans le domaine des SIG et la néces-

sité d'une méthode d'estimation. Les modèles de champs continus les plus couramment utilisés

dans les SIG sont ainsi présentés. Dans ce chapitre, nous avons proposé un modèle générique

basé sur les modèles existants. Ce modèle repose sur des points-échantillons et sur une subdivi-

sion de l'espace en cellules. Chaque cellule est représentée par son aire, ses points-échantillons

et une fonction d'interpolation représentant l'espace de la cellule. Nos travaux sont basés sur le

traitement des requêtes dans les champs continus pouvant être représentés par ce modèle.

Dans le chapitre 2, les traitements des requêtes conventionnelles et des requêtes par va-

leurs sont présentés. Contrairement aux requêtes conventionnelles qui peuvent être supportées

par une des méthodes d'indexation spatiale existante, les requêtes par valeurs ne sont pas sim-

ples à traiter. En se basant sur le modèle générique proposé dans ce chapitre, nous avons mis en

évidence que le problème des requêtes par valeurs revient à "trouver les cellules dont l'intervalle

de valeurs chevauche la valeur de la requête". Les régions exactes de la réponse peuvent être

Page 187: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

187

calculées par interpolation des cellules trouvées. Une méthode d'interpolation différente peut

être spécifiée suivant les caractéristiques des données des applications. Cela implique que les

régions de la réponse peuvent donc varier selon la méthode d'interpolation spécifiée. Afin de

rester indépendant de la méthode d'interpolation, nous nous concentrons sur le problème de dé-

terminer les cellules satisfaisant la requête. En effet, trouver ces cellules est un processus grand

consommateur de temps pour les bases d’un grand nombre de cellules, alors que le temps de

calcul de l'interpolation est négligeable ; le calcul est une exécution (en mémoire centrale) en

traitant seulement les points-échantillons de la cellule. En effet, nous supposons que le nombre

des points-échantillons d'une cellule n'est pas très important et que nous pouvons effectuer les

calculs en mémoire centrale. Cette hypothèse implique l'utilisation d'une méthode d'interpola-

tion locale.

Dans le chapitre 3, nous avons effectué, dans un premier temps, un état de l'art des tra-

vaux sur les méthodes l'indexation par valeurs. Comme les travaux effectués jusqu'à présent ne

sont pas adaptés à nos besoins, nous avons dû développer une autre méthode. Dans un deuxième

temps, nous avons étudié des méthodes d'indexation existantes pour des données intervalles,

particulièrement dans les TDB (Temporal DataBase). En effet, le problème d'indexation par va-

leurs est d'accélérer la recherche des cellules selon une condition sur des intervalles. Cela im-

plique la nécessité d’une méthode d'indexation sur les intervalles. Nous avons présenté ses prin-

cipes, avantages et inconvénients. Nous avons choisi la méthode 2-D R*-tree avec

transformation parmi les méthodes présentées dans ce chapitre, afin d'indexer les intervalles

dans un champ continu.

Le chapitre 4 a été consacré à la présentation des méthodes d'indexation développées

dans nos travaux. La méthode la plus simple, nommé I-All, est d'indexer l'intervalle de chaque

cellule par un 2-D R*-tree avec transformation (la méthode choisie dans la section 3.2). A cause

du grand nombre d'intervalles à indexer, cette méthode n'est pas efficace. Nous avons donc pro-

posé un nouveau concept de sous-champ pour l'indexation par valeurs. Un sous-champ est un

sous-espace où les valeurs sont proches les unes des autres. La stratégie du traitement des

requêtes basées sur des sous-champs a ensuite été décrite (l'étape 'Filtrage' et 'Estimation'). Pour

l'étape 'Filtrage', un 2-D R*-tree est utilisé pour indexer les intervalles des sous-champs. Deux

méthodes basées sur le concept de sous-champ ont été présentées. Ces deux méthodes se distin-

guent par leurs stratégies pour implémenter les sous-champs :

Page 188: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

188

1) Méthode Interval Quadtree : Elle est basée sur la façon de découper l'espace d'un Quad-

tree. Elle utilise une taille maximale d'intervalle des sous-champs (un seuil) pour déterminer

les sous-champs. Deux implémentations de l'Interval Quadtree ont été proposées, a) Pointer-

based Interval Quadtree et b) Linear Interval Quadtree. Les tests de performances sur des

données réelles de terrains ont été effectués. Comme prévu, le Linear Interval Quadtree a été

meilleur que le Pointer-based Interval Quadtree et que le Balayage Séquentiel. En revanche,

cette méthode n'est pas utilisable pour les raisons suivantes, a) inexistence de moyen justi-

fiable pour décider du seuil optimal et b) la méthode de découpage quadratique n'est pas

adaptée aux champs représentés par des cellules non quadratiques.

2) Méthode I-Hilbert : D'abord, elle linéarise les cellules couvrant l'espace du champ selon la

clé de Hilbert des cellules. Ensuite, elle forme des sous-champs en ajoutant séquentielle-

ment des cellules linéarisées selon une condition du regroupement (basée sur le coût d'accès

à un sous-champ défini dans cette thèse). L'insertion d'une nouvelle cellule s'effectue de

manière à ne pas augmenter le coût d'accès. Cela permet d'essayer de minimiser la dégrada-

tion des performances par le coût d'accès s'adaptant à la distribution des données à traiter.

Dans le chapitre 5, nous avons effectué des tests pour mesurer les performances des

méthodes proposées (la méthode Balayage Séquentiel, la méthode I-All, et la méthode I-

Hilbert). Dans un premier temps, plusieurs données réelles ont été utilisées. Les résultats ont

montré que la méthode I-Hilbert a été la meilleure dans tous les tests effectués. Dans un

deuxième temps, nous avons simulé des données de champs par une méthode fractale. Cela

permet d'utiliser des données de taille plus importante et aussi plusieurs types des données. Le

paramètre "Rugosité" a été utilisé afin de simuler plusieurs types de données. La méthode I-

Hilbert a toujours été meilleure que les autres méthodes en donnant des performances très sta-

bles (sauf dans le cas des données extrêmes - voir la section 5.3.2). La méthode I-Hilbert a été

même 20 à 100 fois plus rapide que la méthode Balayage Séquentiel (voir la Figure 46).

Dans le chapitre 6, nous avons expliqué comment traiter les requêtes selon différents

opérateurs dans un champ continu avec la méthode I-Hilbert.

Enfin, les applications pouvant bénéficier de notre méthode d'indexation sont illustrées

dans le chapitre 7.

Les contributions de nos travaux peut être résumées comme suit :

Page 189: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

189

- Définition d’un modèle générique de sous-champs reposant sur des points-

échantillons,

- Proposition d’un nouveau concept de "sous-champ" et traitement des requêtes ba-

sées sur les sous-champs,

- Développement de méthode d'indexation par valeurs dans les champs continus,

- Validation des performances de nos méthodes par des tests, non seulement sur des

données réelles mais aussi sur des données simulées par une méthode fractale com-

prenant des cas de données extrêmes,

- Présentation des applications qui peuvent bénéficier de notre méthode d'indexation.

Nous concluons cette première partie en donnant quelques perspectives :

1) Traitement des champs vectoriels

Ayant focalisé notre attention sur les champs scalaires, l'indexation par valeurs sur les champs

vectoriels n'a pas été abordée. Les champs vectoriels sont importants dans certains domaines de

la modélisation environnementale, particulièrement ceux des courants et fluides (en modélisa-

tion 3D - ex. l'eau sous-terraine ou les modèles océaniques) [KEMP 93]. Comme expliqué dans

le chapitre 1, les champs vectoriels possèdent deux ou plus de deux valeurs en un point, par

exemple la magnitude et la direction (les deux à la fois en un point). Les données des champs

vectoriels peuvent donc être représentées comme des lignes orientées (Figure 77.a). Un vecteur

peut être décrit soit par les coordonnées cartésiennes du point final (Figure 77.b), soit par l'en-

semble de la magnitude et la direction (Figure 77.c). Selon [KEMP 93], il est plus facile d'effec-

tuer des calculs sur des coordonnées cartésiennes.

Figure 77. Représentation d'un champ continu vectoriel.

a. Champ vectorielb. Représentation du vecteur :coordonnées cartésiennes du point final

c. Représentation du vecteur: (magnitude, direction)

(x, y) (α, γ)

x

y

γα

Page 190: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

190

Nous allons, ici, juste présenter une intuition de la généralisation de la méthode I-

Hilbert pour les champs vectoriels. L'idée est d'étendre la dimension du domaine des valeurs.

Lorsque l'on considère le domaine des valeurs d'un champ scalaire à 1 dimension, le domaine

des valeurs d'un champ vectoriel peut être considéré comme à 2 ou 3 dimensions (selon le nom-

bre des valeurs associées en un point). La Figure 78 représente des cellules d'un champ vectoriel

ayant les valeurs (w1, w2) en un point afin de former des sous-champs. Chaque cellule est linéa-

risée selon sa clé de Hilbert à n dimensions (basée sur ses coordonnés spatiales ou spatio-

temporelles si le modèle est spatio-temporel) comme dans un champ scalaire. L'intervalle d'une

cellule dans un champ scalaire a été représenté par une ligne car le domaine des valeurs est à 1

dimension. Puisque le domaine des valeurs du champ illustré dans cette figure est à 2 dimen-

sions (la dimension de w1 et w2), nous pouvons représenter l'intervalle d'une cellule comme un

rectangle en 2 dimensions. Ce rectangle est composé de l'intervalle de chaque dimension comme

le montre la Figure 78. En effet, le rectangle des intervalles d'une cellule peut représenter tous

les vecteurs possibles (implicites ou explicites) à l'intérieur de la cellule.

Figure 78. Cellules linéarisées d'un champ vectoriel représentées par les intervalles de chaque di-

mension des valeurs.

clé de Hilbert

valeur w1

valeur w2

...

intervalle de la cellule sur la dimension w1

intervalle de la cellule sur la dimension w2

Page 191: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

191

Ainsi, le coût d'accès à un sous-champ doit être étendu, par exemple remplacer la taille

d'intervalle par la surface du rectangle. Après avoir défini le coût d'accès, la procédure For-

merSous-champ qui permet de construire les sous-champs (voir Algorithme 4 dans la section

4.4.1.2) s'effectuera de la même manière que dans les cas des champs scalaires. L'idée est fina-

lement de généraliser la dimension des valeurs. Par exemple pour un champ vectoriel ayant trois

valeurs (w1, w2, w3) en un point, l'intervalle des valeurs pourrait être représenté comme un vo-

lume à 3 dimensions.

Comme nous l'avons dit, ceci est une proposition simple et intuitive. Aussi, reste-t-il à

vérifier, à développer et à valider la proposition.

2) Traitement des autres requêtes avec notre méthode d'indexation par valeurs

Les requêtes basées sur la condition d'une valeur non mesurée, mais calculée (telles qu’une

moyenne, une intégrale ou un gradient) apparaissent aussi importantes dans les applications des

champs continus.

Des exemples de ce type de requêtes sont :

- "Quelles sont les régions (connectées) où la moyenne est comprise entre w' et w" ?"

- "Quelles sont les régions où le gradient est supérieur à w' ?"

Il serait possible et intéressant de trouver des méthodes pour traiter efficacement ce

type de requêtes avec notre méthode d'indexation par valeurs.

Page 192: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

192

PARTIE 2

Visualisation dynamique de la temporalité : Application à un SIG sonore urbain

En général, les données de type champs continus sont spatio-temporelles. Cela veut dire que les

phénomènes naturels évoluent en fonction de l'espace et en fonction du temps. Afin de mieux

faire comprendre et analyser un champ continu du point de vue temporel, il est important de re-

présenter son évolution selon le temps. Nous avons adopté l’animation pour cet objectif. Notre

travail a été effectué au sein d'un projet de modélisation et réalisation d'une application d'un

SIG sonore urbain (représentant l'environnement sonore). Ainsi, la technique de l'animation a

été intégrée dans une application d'un SIG pour la visualisation de la temporalité des données

sonores.

Malgré la caractéristique spatio-temporelle de l’environnement sonore, la plupart des

cartes de son existantes demeurent des cartes statiques, et elles ne représentent pas l'évolution

temporelle du son. Autrement dit, bien qu'il existe quelques cartes animées, elles sont implé-

mentées de façon passive, permettant seulement aux utilisateurs de regarder une séquence de

scènes prédéfinies. Cela ne suffisait pas pour être utilisé comme un outil d'exploration de don-

nées. Ainsi, dans ce travail, nous avons eu pour but de proposer des cartes animées interactives

et de réaliser les fonctionnalités nécessaires dans un SIG.

Dans le chapitre 8, nous avons présenté la problématique de la visualisation des don-

nées sonores ; malgré l'évolution temporelle des données sonores, la plupart des cartes de son

proposées ne visualise pas la temporalité car ce sont uniquement des cartes statiques. Cela nous

a conduit à adopter la technique de l'animation car elle est reconnue comme la méthode la plus

efficace pour représenter la temporalité des données. Nous avons aussi précisé, dans ce chapitre,

les problématiques et les caractéristiques de l'animation des données sonores pour implémenter

une carte animée interactive.

Le chapitre 9 a été consacré à l'état de l'art des cartes animées dans plusieurs applica-

tions. La définition des variables graphiques d'animation et des variables dynamiques a été pré-

sentée. Les changements des variables graphiques d'animation telles que la taille ou la couleur

représentent en effet l'évolution des données au cours de l'animation. Même s'il existe plusieurs

variables dynamiques, les variables "Durée" et "Ordre" sont considérées comme les plus impor-

tantes pour déterminer les caractéristiques d'une animation. Selon [PETERSON 99], pour qu'une

animation soit interactive, les utilisateurs doivent pouvoir contrôler non seulement l'affichage

Page 193: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

193

de l'animation mais aussi la génération de l'animation. Il existe de nombreux travaux sur la car-

tographie interactive. En revanche, ils ne traitent pas toutes les caractéristiques et problémati-

ques de l'animation de données sonores dans l'application (présentées dans le chapitre 8).

Enfin, nous avons présenté, dans le chapitre 10, un prototype de l'application d'un SIG

sonore urbain. Des données multimédias ont été intégrées pour l'animation. Pour réaliser une

carte animée interactive, nous avons proposé quelques paramètres contrôlant (spécifiant) la gé-

nération des scènes de l'animation. Ces paramètres sont déterminables par les utilisateurs. Cela

permet en effet aux utilisateurs de pouvoir générer plusieurs types de séquences de scènes

d'animation à partir de même données. Le paramètre "granularité par scène" (que nous avons

proposé) nous semble particulièrement important mais il n'a pas été assez exploité pour la car-

tographie animé. Il peut être considéré comme une nouvelle variable dynamique car la granula-

rité est une caractéristique générale des données temporelles. Après avoir généré une séquence

d'animation, il est nécessaire de pouvoir contrôler aussi l'affichage de l'animation. Nous avons

donc proposé et réalisé un contrôleur interactif. En plus des possibilités de contrôler l'affichage

de l'animation (y compris la vitesse de l'animation), ce contrôleur permet aussi d'accéder aux

données au cours de l'animation, afin de mieux analyser et explorer des données temporelles.

Cela est en effet réalisée en exploitant l'intégration de l'animation au SIG.

Nous concluons ce mémoire en donnant quelques perspectives de la deuxième partie

comme suit :

1) Caractéristiques graphiques d'animation par les variables graphiques d'animation

Comme nous l'avons déjà présenté précédemment, il serait intéressant de donner aux utilisateurs

la possibilité de définir eux-mêmes les variables graphiques d'animation. En effet, dans notre

travail, nous avons prédéfini les variables graphiques d'animation pour chaque type de données,

par exemple, le dégradé de couleur a été utilisé afin de représenter le changement du trafic

(nombre des véhicules) au cours de l'animation. Ce changement peut être représenté par une au-

tre variable graphique d'animation telles que la taille, la forme, la position, la texture, etc. En

donnant aux utilisateurs la possibilité d'essayer plusieurs variables graphiques, ils pourraient

choisir la mode de visualisation la plus compréhensible et la mieux adaptée à leur conception

d'animation. Cela rend une carte animée plus personnalisée et plus interactive.

2) Généralisation des paramètres pour la génération d'animation

Page 194: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

194

Nous souhaitons généraliser et compléter les paramètres proposés dans ce travail. En effet, les

paramètres proposés (qui déterminent les types des données à animer, la période d'animation, la

granularité par scène) pour la génération de l'animation ne concernent pas seulement des don-

nées sonores. Ils peuvent être utilisés pour l'animation d'autres types de données. Il serait donc

intéressant de trouver une autre application comme par exemple la pollution de l'air dans les vil-

les, pour utiliser et valider ces paramètres. Nous souhaitons aussi enrichir et compléter les pa-

ramètres pour pouvoir générer des scènes d'animation plus variées et personnalisées.

3) Application de notre prototype d'animation pour des données de niveaux sonores

Dans ce travail, nous ne nous sommes pas intéressée aux données de niveaux sonores, lesquelles

sont des données quantitatives typiques dans un système sonore urbain. Cela est dû aux caracté-

ristiques du projet ayant amené ce travail. En effet, rappelons que l'objectif du projet mené en

collaboration avec le CRESSON (Centre de recherche sur l'espace sonore et l'Environnement

Urbain de Grenoble) et la Communauté Urbaine de Lyon était la prise en compte de données

qualitatives sonores pour représenter l'environnement sonore urbain. Toutefois, même si nous

avons privilégié les données qualitatives dans notre projet, les données quantitatives comme les

niveaux sonores sont des données importantes. Ainsi, nous envisageons d'appliquer et de tester

notre proposition d'animation pour des données de niveaux sonores. Une méthode d'estimation

est nécessaire pour représenter non seulement la continuité spatiales mais aussi la continuité

temporelle pour traiter de différentes granularités par scène pour l'animation.

Page 195: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

195

Page 196: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

196

REFERENCES BIBLIOGRAPHIQUES

Page 197: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs
Page 198: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

198

[ANG et TAN 95] ANG C. and TAN K. The Interval B-tree. Information Processing Letters. 1995, Vol. 53, n° 2,

p. 85-89.

[ARLAUD 01]

ARLAUD B. VERS UNE INFOGRAPHIE DE L’AMBIANCE SONORE URBAINE. Thèse

sci.: Ecole polytechnique de l'Université de Nantes, CRESSON, UMR 1563, Ecole d'Architec-

ture de Grenoble, le 29 octobre 2001. 369 p.

[BARTELS et al 87]

BARTELS R.H., BEATTY J.C. and BARSKY B.A. An Introduction to Splines for Use in

Computer Graphics & Geometric Modeling. Los Altos (USA) : Morgan Kaufmann, 1987, 476 p.

[BECKMANN et al. 90]

BECKMANN N., KREIGEL R., SCHNEIDER R. and SEEGER B. The R*-tree: an efficient

and Robust Access Method for Points and Rectangles. Proceedings of the 1990 ACM SIGMOD

International Conference on Management of Data. Atlantic City, NJ, USA, May 23-25, 1990. p.

322-331.

[BERTIN 67]

BERTIN J. Sémiologie graphiques. Paris : Gauthier-Villars, 1967. 435 p.

[BERTINO et al. 97]

BERTINO E., OOI B.C., SACKS-DAVIS R., TAN K-L., ZOBEL J., SHIDLOVSKY B. and

CATANIA B. Indexing Techniques for Advanced Database Systems. Boston : Kluwer Acade-

mic Publishers, 1997. 264 p. (Kluwer International Series on Advances in Database Systems, n°

8)

[BISHOP et al. 99]

BISHOP I.D., RAMASAMY S.M., STEPHENS P. and JOYCE E.B. Visualisation of 8000

years of geological history in Southern India. International Journal of Geographical Informa-

tion Science. 1999. Vol. 13, n° 4, p. 417-427.

Page 199: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

199

[BROWN 97]

BROWN I.M. Multi-parameter visualisation of 3D/4D spatio-temporal data. Proceedings of the

3rd Joint European Conference and Exhibition on Geographical Information (JEC-GI). Vienna,

Austra, April 16-18, 1997. p. 566-574

[BURROUGH et FRANK 96]

BURROUGH P.A. and FRANK A.U. Geographic Objects with Indeterminate Boundaries.,

London : Taylor & Francis, 1996. 345 p. (GISDATA SERIES)

[CHANLON 99]

CHANLON A.C. Représentation de l'environnement sonore urbain à l'aide d'un Système d'In-

formation Géographique. Rapport de Projet de Fin d'Etudes. Département Informatique, Institut

National des Sciences Appliquées de Lyon, Villeurbanne, Juin 1999. 38 p.

[CIGNONI et al. 96]

CIGNONI P., MONTANI C., PUPPO E. and SCOPIGNO R. Optimal isosurface extraction

from irregular volume data. Proceedings of the 1996 symposium on Volume visualization. Octo-

ber ,1996. p. 31-38.

[CIGNONI et al. 97]

CIGNONI P., MONTANI C., PUPPO E. and SCOPIGNO R. Speeding up isosurface extrac-

tion using interval trees. IEEE Transactions on Visualization and Computer Graphics. 1997.

Vol.3, n° 2, p. 158-170.

[DIBIASE et al. 92]

DIBIASE D., MACEACHREN A. M., KRYGIER J. B. and REEVES C. Animation and the

Role of Map Design in Scientific Visualization. Cartography and Geographic Information Sys-

tems. 1992. Vol.19, n° 14, p. 201-214.

[EDELSBRUNNER 80]

EDELSBRUNNER H. Dynamic data structures for orthogonal intersection queries. Inst. Infor-

mationsverarb., Technical University of Graz, Graz, Austria, 1980. Technical Report. F59

Page 200: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

200

[ELMASRI et al. 90]

ELMASRI R., WUU G.T.J. and KIM Y-J. The Time Index: An Access Structure for Tempo-

ral Data. Proceedings of the 16th International Conference on Very Large Data Bases (VLDB).

Brisbane, Queensland, Australia, August 13-16, 1990. p. 1-12.

[FALOUTSOS 96]

FALOUTSOS C. Searching Multimedia Databases by Contents. Boston : Kluwer Academic

Publishers, 1996. 155 p. (The Kluwer International Series on ADVANCES DATABASE SYS-

TEMS, n° 3)

[FALOUTSOS et ROSEMAN 89]

FALOUTSOS C. and ROSEMAN S. Fractals for Secondary Key Retrieval. Proceedings of the

8th ACM SIGACT-SIGMOD-SIGART Symposium on Principles of Database Systems (PODS).

Philadelphia, Pennsylvania, U.S.A., March 29-31, 1989. p. 247-252.

[FOURNIER et al. 82]

FOURNIER A., FUSSELL D.S. and CARPENTER L.C. Computer Rendering of Stochastic

Models. Communications of the ACM . June 1982, Vol. 25, n° 6, p. 371-384.

[GAEDE et GUNTHER 95]

GAEDE V. and GUNTHER O. Survey on multidimensional access methods. Institut fur Wirt-

schaftsinformatik, Humboldt Universitat zu Berlin, August 1995. 77 p. Technical Report ISS-

16. Disponible sur : <http://www.wiwi.hu-berlin.de/~gaede/survey.rev.ps.Z> (consulté le 23.

10.2001).

[GOODCHILD 97]

GOODCHILD M.F. Unit 054 - Representing Fields. NCGIA Core Curriculum in GIScience.

National Center for Geographic Information and Analysis. University of California, Santa Bar-

bara, CA, USA. 1997. Disponible sur :

<http://www.ncgia.ucsb.edu/education/curricula/giscc/units/u054/> (consulté le 23. 10.2001).

[GORDILLO et BALAGUER 98]

GORDILLO S. and BALAGUER F. Refining an Object-oriented GIS design Model: Topolo-

gies and Field Data. Proceedings of the 6th ACM International Workshop on Advances in Geo-

graphic Information Systems. Washington, D.C., USA, November 3-7, 1998. p. 76-81.

Page 201: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

201

[GRAMMON 96]

GRAMMON J. Base de Données sur l’Environnement Sonore Urbain. Rapport de Projet de

Fin d'Etudes Département Informatique, Institut National des Sciences Appliquées de Lyon,

Villeurbanne, Juin, 1996. 63 p.

[GRAUER et LUTTERMANN 99]

GRAUER M. and LUTTERMANN H. Using Interactive, Temporal Visualizations for WWW-

based Presentation and Exploration of Spatio-Temporal Data. Lecture Notes in Computer

Science. 1999. n° 1678, p. 100-118.

[GRIFFITHS 86]

GRIFFITHS J.G. An algorithm for displaying a class of space-filling curves. Software-

Practice and Experience. May 1986. Vol. 16, n° 5, p. 403-411.

[GUNADHI et SEGEV 93]

GUNADHI H. and SEGEV A. Efficient indexing methods for temporal relation. IEEE Tran-

sactions on Knowledge and Data Engineering. 1993. Vol. 5, n° 3, p. 496-509.

[GUTTMAN 84]

GUTTMAN A. R-trees - a Dynamic Index Structure for Spatial Searching. Proceedings of the

1984 ACM SIGMOD International Conference on Management of Data. Boston M.A., USA,

June 18-21, 1984. p. 47-57.

[HERRING 91]

HERRING J.R. Using Spline Functions to Represent Distributed Attributes. Proceedings of

Auto-Carto 10. Baltimore, USA, September 20-23, 1991. Vol. 6, p. 46-58.

[JAGADISH 90]

JAGADISH H.V. Linear clustering of objects with multiple attributes. Proceedings of the 1990

ACM SIGMOD International Conference on Management of Data. Atlantic City, NJ, U.S.A.,

May 23-25, 1990. p. 332-342.

Page 202: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

202

[JEANSOULIN 91]

JEANSOULIN R. Extension, Intension et Interpolation Spatiales. RFIA 91, Actes du 8ème

Congrès de Reconnaissance des Formes et Intelligence Artificielle. Villeurbanne, 25-29 No-

vember, 1991. Vol. 1, p. 429-432.

[KAMEL et FALOUTSOS 93]

KAMEL I. and FALOUTSOS C. On packing r-trees. Proceedings of the 2nd International

Conference on Information and Knowledge Management (CIKM). Washington, DC, USA, No-

vember 1-5, 1993. p. 490-499.

[KAMEL et FALOUTSOS 94]

KAMEL I. and FALOUTSOS C. Hilbert R-tree: An Improved R-tree using Fractals. Procee-

dings of the 20th International Conference on Very Large Data Bases (VLDB). Santiago de

Chile, Chile, September 12-15, 1994. p. 500-509.

[KANG et al. 99]

KANG M.-A., SERVIGNE S., LI K.-J. and LAURINI R. Indexing field values in field orien-

ted systems: interval Quadtree. Proceedings of the 1999 ACM CIKM International Conference

on Information and Knowledge Management. Kansas City, Missouri, USA, November 2-6,

1999. p. 335-342.

[KANG et SERVIGNE 99]

KANG M.-A. et SERVIGNE S. Animated Cartography for Urban Soundscape Information. Pro-

ceedings of the 7th International Symposium on Advances in Geographic Information Systems

(ACM-GIS). Kansas City, USA, November 2-6, 1999. p. 116-121.

[KANG et al. 01]

KANG M.-A., FALOUTSOS C., LAURINI R. and SERVIGNE S. Indexing Values in Conti-

nuous Field Databases. International Conference on Extending Database Technology (EDBT

2002). will be held March 24-28 2002, Prague, Sumitted to publication.

[KEMP 93]

KEMP K.K. Environmental Modeling with GIS: A strategy for dealing with spatial continuity.

National Center for Geographic Information and Analysis. University of California at Santa

Barbara, 1993. Technical Report N° 93-3. Disponible sur :

<http://www.ncgia.ucsb.edu/Publications/Tech_Reports/93/93-3.PDF> (consulté le 23.10.2001).

Page 203: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

203

[KEMP 97a]

KEMP K.K. Fields as a Framework for Integrating GIS and Environmental Process Models.

Part 1: Representing Spatial Continuity. Transactions in GIS. 1997. Vol. 1, n° 3, p. 219-234.

[KEMP 97b]

KEMP K.K. Fields as a Framework for Integrating GIS and Environmental Process Models.

Part 2: Specifying field variables. Transactions in GIS. 1997. Vol. 1, n° 3, p. 235-246.

[KIM et al. 95]

KIM M.S., SHIN Y.S., CHO M.J., and LI K.-J. A comparative study of spatial access me-

thods. Proceedings of the 3rd ACM International Workshop on Advances in Geographic Infor-

mation Systems (ACM-GIS). Baltimore, Maryland, USA, December 1-2, 1995. p. 29-36.

[KNUTH 73]

KNUTH D.E. The Art of Computer Programming, Vol. 3: Sorting and Searching. New York :

Addison-Wesley, 1973. 722 p.

[KOLOVSON et STONEBRAKER 91]

KOLOVSON C.P. and STONEBRAKER M. Segment Indexes: Dynamic Indexing Techniques

for Multi-Dimensional Interval Data. Proceedings of the 1991 ACM SIGMOD International

Conference on Management of Data. Denver, Colorado. U.S.A., May 29-31, 1991. p. 138-147.

[KORTH et SILBERSCHATZ 91]

KORTH H.F and SILBERSCHATZ A. DATABASE SYSTEM CONCEPTS: second edition.

New York : McGraw-Hill, 1991. 694 p.

[KOUSSOULAKOU and KRAAK 92]

KOUSSOULAKOU A. and KRAAK M. J. Spatio-temporal maps and cartographic communi-

cation. The Cartographic Journal, 1992. Vol. 29, n° 2, p. 101-108.

[KRAAK et KLOMP 95]

KRAAK M. J. and KLOMP A. A classification of cartographic animations: towards a tool for

the design of dynamic maps in a GIS environment. Proceedings on the Seminar on Teaching

animated cartography. Madrid, Spain, August 30 - September 1, 1996. p. 29-36.

Page 204: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

204

[KRAAK et MACEACHREN 94]

KRAAK M. J. and MACEACHREN A. M. Visualization of the temporal component of spatial

data. Proceedings of the 6th International Symposium on Spatial Data Handling (SDH). Edin-

burgh, Scotland, September 1-5, 1994. p. 391-409.

[KRAAK et ORMELING 98]

KRAAK M.J. and ORMELING F.J. Cartography: Visualization of spatial data. Harlow :

Longman Publishers. 1998. 222 p.

[LAM 83]

LAM N.S.N. Spatial Interpolation Methods: A Review. The American Cartographer. 1983. Vol.

10, n° 2, p. 129-149.

[LAURINI 01]

LAURINI R. Information Systems for Urban Planning: A hypermedia co-operative approach.

London: Taylor & Francis. 2001. 349 p.

[LAURINI et al. 99]

LAURINI R. LI K.-J., SERVIGNE S. and KANG M.-A. Modeling an Auditory Urban Data-

base with a Field-Oriented Approach. INFORMATICA. 1999. Vol. 23, p.169-185.

[LAURINI et PARIENTE 96]

LAURINI R. and PARIENTE D. Towards a Field-oriented Language: First Specifications. In :

Burrough P.A. and Frank A.U. Eds. Geographic Objects with Indeterminate. London : Taylor &

Francis, 1996. p. 225-235. (GISDATA SERIES)

[LAURINI et THOMPSON 92]

LAURINI R., THOMPSON D. Fundamentals of Spatial Information Systems. San Diego:

Academic Press. 1992. 680 p. (The Apic Series, n° 37)

[LI 92]

LI K.-J. Contributions aux Systèmes d'Hypermédia: Modélisation et Indexation des Objets Spa-

tio-Temporels. Thèse sci. : Institut National des Sciences Appliquées de Lyon, Villeurbanne, 7

Juillet, 1992. 191 p.

Page 205: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

205

[LIN et RISCH 97]

LIN L. and RISCH T. Using a Sequential Index in Terrain-Aided Navigation. Proceedings of

the 6th International Conference on Information and Knowledge Management (CIKM). Las Ve-

gas, Nevada, U.S.A., November 10-14, 1997. p.177-184.

[LIN et al. 96]

LIN L., RISCH T., SKOLD M. and BADAL D.Z. Indexing Values of Time Sequences. Pro-

ceedings of the 5th International Conference on Information and Knowledge Management

(CIKM). Rockville, Maryland, USA., November 12 - 16, 1996. p. 223-232.

[LOMET et SALZBERG 89]

LOMET D. and SALZBERG B. Access methods for multiversion data. Proceedings of the

1989 ACM SIGMOD International Conference on Management of Data. Portland, Oregon,

U.S.A., May 31 - June 2, 1989. p. 315-324.

[MAGILLO et al. 00]

MAGILLO P., De FLORIANI L. and PUPPO E. A Librarny for multiresolution Modeling of

Field Data in GIS. Proceedings of the International Workshop on Emerging Technologies for

Geo-Based Applications. Ascona, Switzerland, Mai 22-25, 2000. p.133-151.

[MATHERON 67]

MATHERON G. Kriging, or Polynomial Interpolation Procedures?. Canadian Mining and Me-

tallurgy Bulletin 60. 1967. n° 665, p. 1246-1266.

[MULLER et al. 99]

MULLER J.-C., SCHARLACH H. and JAGER M. Noise in Urban Environment: Problems of

Representation and Communication. Proceedings of the 19th International Cartographic Confe-

rence (ICA), Ottawa, August 14 -21,1999. p. 105-114.

[NASCIMENTO et al. 95]

NASCIMENTO M.A., DUNHAM M.H. and KOURAMAJIAN V. Mapping-Based Approach

for Range Indexing. Southern Methodist University, August, 1995. 26 p. Technical Report 95-

CSE-14. Disponible sur : <http://citeseer.nj.nec.com/160741.html> (consulté le 25.10.2001).

Page 206: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

206

[NASCIMENTO et al. 96]

NASCIMENTO M.A., DUNHAM M.H. and KOURAMAJIAN V. A Multiple Tree Mapping-

Based Approach for Range Indexing. Journal of the Brazilian Computer Society. 1996. Vol. 2,

n° 3, p. 36-46.

[NASCIMENTO et SILVA 98]

NASCIMENTO M.A. and SILVA J.R.O. Towards Historical R-trees. Proceedings of the 1998

ACM symposium on Applied Computing (ACM-SAC). Atlanta, GA, USA, February 27 - March

1, 1998. p. 235-240.

[ORMELING 95]

ORMELING F. Teaching Animated Cartography. Proceedings of the Seminar on Teaching

Animated Cartography. Madrid, Spain, August 30 - September 1, 1995. p. 21-28.

[OUATIK EL ALAOUI 99]

OUATIK EL ALAOUI S. Représentaion et Modélisation des Champs Spatio-tremporels Con-

tinus. Thèse sci. : Université‚ Mohammed V-Agdal, Rabat, Maroc, 27 Juillet, 1999. 123 p.

[PARIENTE 94]

PARIENTE D. Estimation, Modélisation et Langage de Déclaration et de Manipulation de

Champs Spatiaux Continus. Thèse sci. : Institut National des Sciences Appliquées de Lyon, Vil-

leurbanne, 6 December, 1994. 192 p.

[PEANO 1890]

PEANO G. Sur une courbe qui remplit toute une aire plaine. Mathematische Annalen. 1890.

Vol. 38, p. 157-160.

[PEITGEN et al.92]

PEITGEN H.O., JURGENS H. and SAUPE D. Fractals for the classroom: Part One, introduc-

tion to fractals and chaos. New York : Springer-Verlag, 1992. 450 p.

[PETERSON 95]

PETERSON M.P. Interactive and Animated Cartography. New Jersey: Prentice Hall. 1995. 257

p. (Prentice Hall Series in Geographic Information Science)

Page 207: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

207

[PETERSON 99]

PETERSON M. P. Active legends for interactive cartographic animation. International Journal

of Geographical Information Science. 1999. Vol. 13, n° 4, p. 375-383.

[RENOLEN 95]

RENOLEN A. Temporal Maps and Temporal Geographical Information Systems. Review of

Research. Department of Surveying and Mapping (IKO), The Norwegian Institute of Technolo-

gy, November, 1995. Disponible sur : <http://citeseer.nj.nec.com/correct/150339> (consulté le

25.10.2001).

[SALZBERG et TSOTRAS 97]

SALZBERG B. and TSOTRAS V.J. A Comparison of Access Methods for Temporal Data. Ju-

ne 13, 1997. 88 p. A TIMECENTER Technical Report TR-18. Disponible sur :

<http://www.cs.auc.dk/research/DP/tdb/TimeCenter/TimeCenterPublications/TR-18.pdf> (con-

sulté le 23.10.2001).

[SAMET 90a]

SAMET H. The Design and Analysis of Spatial Data Structures. New York : Addison-Wesley,

1990. 480 p.

[SAMET 90b]

SAMET H. Application of Spatial Data Structures: Computer Graphics, Image Processing, and

GIS. New York : Addison-Wesley, 1990. 507 p.

[SELLIS et al. 87]

SELLIS T., ROUSSOPOULOS N. and FALOUTSOS C. The R+-tree: A Dynamic Index for

Multidimensional Objects. Proceedings of the 13th International Conference on Very Large Da-

ta Bases (VLDB). Brighton, England, September 1-4, 1987. p. 507-518.

[SERVIGNE et al. 00]

SERVIGNE S., KANG M-A. and LAURINI R. GIS for urban soundscape : from static maps

to animated cartography. Proceedings of the 2nd International Conference on Decision Making

in Urban and Civil Engineering (DMinUCE). Lyon, France, November 20-22, 2000. 11 p.

Page 208: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

208

[SERVIGNE et al. 99]

SERVIGNE S., KANG M.-A. and LAURINI R. First Specifications of an Information System

for Urban Soundscape. Proceedings of the IEEE International Conference on Multimedia Com-

puting and Systems' 99. Florence, June 7-11, 1999. Vol. 2, p. 262-266.

[SERVIGNE et KANG 01]

SERVIGNE S. and KANG M-A. SIG pour l'environnement sonore urbain. De la représentation

à la visualisation animée. Revue internationale de Géomatique: SIG, aménagement du territoire

et environnement. 2001. Vol. 10 n° 3-4, p. 411-432.

[SHEN et JOHNSON 95]

SHEN H.W. and JOHNSON C.R. Sweeping Simplices: A fast iso-surface extraction algorithm

for unstructured grids. Proceedings of IEEE Visualization '95. Atlanta, Georgia, October, 1995.

p. 143-150.

[STYNES et al. 01]

STYNES K., WOOD J., DYKES J., FISHER P. and UNWIN D. Publishing Cartography on

the Web. University of Leicester, UK. Technical Report du projet Argus. Disponible sur :

<http://www.geog.le.ac.uk/argus/ICA/K.Stynes/> (consulté le 23.10.2001).

[THEODORIDIS et PAPADIAS 95]

THEODORIDIS Y. and PAPADIAS D. Range queries involving spatial relations: A perfor-

mance analysis. Lecture Notes in Computer Science, Springer-Berlin, 1995. Vol. 988, p. 537-

551.

[THEODOULIDIS et VAKALOUDIS 97]

THEODOULIDIS B. and VAKALOUDIS A. A Data Model and a Query Language for 3D

Spatiotemporal Information. 1st CHOROCHRONOS International Workshop on Spatio-

Temporal Database Systems. 1997. Petronell - Carnuntum, Austria. p. 17-25. ChoroChronos

Technical Report CH-97-02.

[TSOTRAS et KANGELARIS 95]

TSOTRAS V.J. and KANGELRARIS N. The snapshot index, an I/O optimal access method

for timeslice queries. Information Systems. 1995. Vol.3, n° 20, p. 237-260.

Page 209: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

209

[VAG 97]

VAG (VRML Architecture Group). The Virtual Reality Modeling Language Specifications.

ISO/IEC DIS 14772-1. Web3D Consortium, 1997. Disponible sur :

<http://www.web3d.org/technicalinfo/specifications/specifications.htm> (consulté le

23.10.2001).

[van KREVELD 94]

van KREVELD M. Efficient methods for isoline extraction from a TIN. International Journal

of Geographic Information Science. 1996. Vol.10, n°5, p. 523-540.

[VCKOVSKI 95]

VCKOVSKI A. Representation of Continuous Fields. Proceedings of the Auto-Carto 12. Char-

lotte, North Carolina,USA, Febrary. 27 - March 1, 1995. Vol. 4, p. 127-136.

[YU et al. 96]

YU S., VAN M. and SNOEYINK J. Drainage queries in TINs : from local to global and back

again. Proceedings of the Symposium on Spatial Data Handling (SDH). Delft, the Netherlands,

August 12-16, 1996. p. 13A.1-13A.14.

Page 210: Indexation et visualisation des données de champs continus ...theses.insa-lyon.fr › publication › 2001ISAL0078 › these.pdf · concept pour indexer des données sur les valeurs

210

FOLIO ADMINISTRATIF

THESE SOUTENUE DEVANT L’INSTITUT NATIONAL DES SCIENCES APPLIQUEES DE LYON

NOM : KANG DATE de SOUTENANCE :

(avec précision du nom de jeune fille, le cas échéant) 20 décembre 2001

Prénoms : MYOUNG-AH

TITRE :

INDEXATION ET VISUALISATION DES DONNEES DE CHAMPS CONTINUS DANS LES SIG

(SYSTEMES D’INFORMATION GEOGRAPHIQUE)

NATURE : Doctorat Numéro d’ordre : 2001ISAL0078

Formation doctorale :

Documents multimedia, Images et Systèmes d'Information Communicants (DISIC)

Cote B.I.U-Lyon : T 50/210/19 / et bis CLASSE :

RESUME :

L’objectif des bases de données de champs continus est la représentation des phénomènes continus (météorologie, géologie, pollution, etc..). Nous proposons une méthode d’indexation pour le traitement efficace des requêtes par valeurs dans une grand base de données de champs. Ces requêtes sont basées sur la condition d’une valeur de champ, telles que “Quelles sont les régions où la température est inférieure à 30° ? ”. Pour cela, nous proposons un nouveau concept de sous-champ. Nous divisons un espace en plusieurs sous-champs pour que toutes les valeurs explicites ou implicites dans un sous-champ soient proches dans le domaine de valeur défini. Ainsi, les intervalles des sous-champs peuvent être indexés par une méthode existante d'indexation d’intervalles. Nous présentons deux nouvelles méthodes d'implémentation de sous-champs : les méthodes "Interval Quadtree" et "I-Hilbert". La méthode "I-Hilbert" est issue de la réflexion sur l’amélioration de la mé-thode "Interval Quadtree"

Par ailleurs, nous nous intéressons à la visualisation de la temporalité des données. Afin de mieux comprendre et ana-

lyser des données selon le temps, il est important de représenter leur évolution temporelle. Du point de vue thématique appli-cative, nous avons travaillé sur un SIG sonore urbain. Après une étude des outils existants, nous avons adopté des techniques d’animation pour représenter l'évolution temporelle du son. Utiliser une carte animée comme outil d'exploration des données nécessite la spécification d’une carte animée interactive permettant aux utilisateurs de contrôler non seulement l'affichage mais aussi la génération de l’animation. Afin de réaliser une telle carte animée, nous proposons des paramètres contrôlant la génération des scènes d’animation et un contrôleur interactif de l’affichage des animations. Ces spécifications d’une carte animée interactive ont été validées dans un prototype développé sous MapInfo et VisualBasic.

MOTS-CLES : Système Information Géographique, Traitement Requête, Indexation, Fractal,

Animation, Visualisation Interactive, Carte Son, Evolution Temporelle

Laboratoire(s) de recherches : Laboratoire d'Ingénierie des Systèmes d'Information (L.I.S.I.) de l’I.N.S.A. de Lyon

Directeur de thèse : R. LAURINI, S. SERVIGNE

Président de jury : P. BERGOUGNOUX

Composition du jury : R. LAURINI, K.-J. LI, S. SERVIGNE, S. SPACCAPIETRA, G. ZURFLUH