vers un traitement linéaire des interrogations spatiales

12
Vincent ORM' Jean-Marc SAGLIO University of Alberta E.N.S.T** - 46, me Barrault Edmonton, Canada T6G 2H1 75634 Paris cedex 13 - France e-mail : [email protected] e-mail : [email protected] Mots CI& : Bases de domCes spatiales, relations spatiales, interrogations et requZtes spatiales, langage d'interrogation, dkcompositiola d'objets R6SUlnB Dans urne base de donnbes spatiales, les relations topologiques et les relations de directioa permetteut de positiormer les objets, les uas par rapport aux autres. Les objets spatiaux sont de grande taille et on prbfe?re souvent opdrer le traiternent des requ2tes d'abord sur des approximations afin de r6duire l'ensemble des objets avant de leur appliquer les opirateurs spatiaux. Nous avons propos6 un langage intermddiaire compost de deux SolLY-lQUgages compltrnentaires, permettant le calcul des reqrrCtes spatiales suivant les deux &tapes. E'origiaalit& de ce langage se trouve dans le fait qu'il ramdne l'ttude des relations spatiales h des 6tudes liataires. NOUS montrons que la dtcomposition en trapizoïdes permet une implantation &galement lintaire du langage. Abstract We have designed a logic intermediate spatial query language independent of QU^ storage mode1 based on the spatial relationships of objects (Le. the positioas of objects relative to each ofher). The l~~lg~~ge is csmposed of two complementary sub-langunges. The first one uses an object approxiuflate and resdts in the sekction of a set of candidate objects, which are investigated more in Qetail using the second one. We have showed that this language can be easily cornputcd by a procedural execution using a small set of operators. The manipulateci pieces of data are intervals both in the two sub- languages. In this paper, W@ show hoav the decompositon of objects into rrapezoids allolvs a straight line processing for the language. * Ce travail a kt6 realisc! lorsque l'auteur &ait encore affiliB ii I'ENST - Paris ** Ecole Nationale Superieure des TBlBcommunications - 582 -

Upload: others

Post on 06-Feb-2022

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Vers un traitement linéaire des interrogations spatiales

Vincent ORM' Jean-Marc SAGLIO University of Alberta E.N.S.T** - 46, me Barrault

Edmonton, Canada T6G 2H1 75634 Paris cedex 13 - France e-mail : [email protected] e-mail : [email protected]

Mots CI& : Bases de domCes spatiales, relations spatiales, interrogations et requZtes spatiales, langage d'interrogation, dkcompositiola d'objets

R6SUlnB

Dans urne base de donnbes spatiales, les relations topologiques et les relations de directioa permetteut de positiormer les objets, les uas par rapport aux autres. Les objets spatiaux sont de grande taille et on prbfe?re souvent opdrer le traiternent des requ2tes d'abord sur des approximations afin de r6duire l'ensemble des objets avant de leur appliquer les opirateurs spatiaux. Nous avons propos6 un langage intermddiaire compost de deux SolLY-lQUgages compltrnentaires, permettant le calcul des reqrrCtes spatiales suivant les deux &tapes. E'origiaalit& de ce langage se trouve dans le fait qu'il ramdne l ' ttude des relations spatiales h des 6tudes liataires. NOUS montrons que la dtcomposition en trapizoïdes permet une implantation &galement lintaire du langage.

A b s t r a c t

We have designed a logic intermediate spatial query language independent of QU^ storage mode1 based on the spatial relationships of objects (Le. the positioas of objects relative to each ofher). The l ~ ~ l g ~ ~ g e is csmposed of two complementary sub-langunges. The first one uses an object approxiuflate and resdts in the sekction of a set of candidate objects, which are investigated more in Qetail using the second one. We have showed that this language can be easily cornputcd by a procedural execution using a small set of operators. The manipulateci pieces of data are intervals both in the two sub- languages. I n this paper, W @ show hoav the decompositon of objects into rrapezoids allolvs a straight line processing f o r the language.

* Ce travail a kt6 realisc! lorsque l'auteur &ait encore affiliB ii I'ENST - Paris

** Ecole Nationale Superieure des TBlBcommunications

- 582 -

Page 2: Vers un traitement linéaire des interrogations spatiales

INTRODUCTION

Les relations spatiales permettent, dans le cadre d'un langage d'interrogations de bases de données spatiales, de formuler des requêtes sur les positions relatives des objets les uns par rapport aux autres. On distingue deux types de relations spatiales : les relations de direction et les relations topologiques. Les relations de direction sont les relations telles que "à gauche de", "à droite de", "au dessus de", "en dessous de" [Davis 861, [Chang 881 ou ''il l'est de", 'là l'ouest de", "au nord de", "au sud de" des applications géographiques [Peuquet 871, [Dutta 891, [Franck 911. Les relations topologiques sont toutes les relations qui concernent la frontière, l'intérieur et l'extérieur des objets [Egenhofer 911. La plupart des études antérieures se sont intéressées exclusivement à l'un ou à l'autre type de relations spatiales. La structure d'index 2D- string [Chang 88, Chang 891 est une approche permettant l'indexation des objets spatiaux à partir de projections symboliques des objets sur les différents axes. La même approche a été reprise par Guesgen [Guesgen 891 dans le cadre d'un langage logique, mais son approche reste limit6e aux objets de formes rectangulaires.

Des approches théoriques de modèles pour bases de données spatiales commencent à voir le jour [Egenhofer 91, Kanellakis 90, Grumbach 94, Paredaens 94 et Papadimitriou 961. En attendant une base théorique universelle, nous avons repris l'approche de la projection symbolique pour définir les opérateurs d'un langage logique de filtrage (ProLo : Projection Logic). Nous avons également proposé un langage de raffinement (PaLo : Path Logic), complémentaire à ProLo [Cheiney 95, Oria 941. Ces travaux ont permis de ramener le traitement des relations spatiales d'un espace donné à des traitements sur des espaces unidimentionnels.

Généralement, on préfère décomposer les objets spatiaux en objets plus simples avant le calcul des relations spatiales. La décomposition a pour but de remplacer un algorithme coQteux par un ensemble d'algorithmes simples et rapides. Plusieurs techniques de décomposition, notamment en géométrie algorithmique [Preparata 88, Boissonat 961, permettent de ramener un polygone en composantes simples et disjointes. D'après la comparaison des méthodes de décomposition [Kriegel 911, la décomposition en trapézoïdes introduite par Asano Ta. et Asano Te. [Asano 831, présente des propriétés intéressantes. Les composantes produites par cet algorithme sont des trapézoïdes avec deux côtés horizontaux, c'est-à-dire parallèles à l'axe des abscisses.

Après un rappel sur le langage ProLo-PaLo dans la première partie, la seconde proposera un algorithme linéaire pour le traitement des requêtes du langage dans le cadre d'un plan.

- 583 -

Page 3: Vers un traitement linéaire des interrogations spatiales

Comme nous l'avons déjh montré dans [Cheiney 95]., [Oria 941, le langage ProEo-PaLo est un langage intermediaire composé de deux sous- langages complhentaires. Il ne nécessite aucune structure de donn6es particuliBre et peut 8tre utilis6 au dessus de tout modble spatial. Le sous-langage ProLo permet d'exprimer des requctes filtres dont les rBsultats seront examin6s plus en detail B l'aide de requ&tes Bcrites en PaLo. Cette partie prCsente les deux sous-langages.

1.1 - LE LANGAGE DE FILTRAGE ProEs(Prsjection Eogic)

La logique des projections permet de ramener 1'Btude des relations spatiales entre les objets d'un espace de dimension n, B n études sur chacun des domaines 616mentaires. Pour cela, on projette prdalablement les objets sur les axes et les rksultats des projections sont utilises pour ddfinir des relations spatiales binaires de base.

L'exemple da la figure 1 montre que les projections des objets 0 1 et O 2 s'intersectent sur l'axe 1 tandis que la projection de l'objet 0 2 précBde celle de l'objet 81 sur l'axe 2. Ce sont ces notions d'intersection et de préCCdence qui sont reprises dans le langage ProEo, B travers les operateurs "avant" et "intersecte". Ces deux op6rateurs servent B d6finir des formules atomiques qui, cornbinCes i l'aide de connecteurs logiques classiques, conduisent B des formules de ProLo plus complexes.

axe 2

"1- - T - - - -2' I I I

I w -, - -et !a@- I

axe 1

- 584 -

Page 4: Vers un traitement linéaire des interrogations spatiales

1.1.1 - Les opérateurs de ProLo

La projection des objets sur les axes donne une représentation grossière des objets. Il n'est pas nécessaire de définir des opérations aussi exactes que l'adjacence, l'inclusion et le chevauchement. Nous regroupons ces trois opérations en une seule qui teste l'intersection. Le langage ProLo n'a donc que deux opérateurs par axe. Ce sont les opérateurs "avunt" et "intersecte" définis de la manière suivante pour l'axe i :

ai-avant (pi) : 0 1 p i 0 2 ~ = r b' x E Pi ( O l ) , b' y E Pi (02) : x < y

*i-intersecte (Ii) : 0 1 I i 0 2 u 3x : x E Pi ( 0 1 ) A x E Pi ( 0 2 ) .

1.1.2 - Définition des formules

Le langage ProLo se définit pour un espace de dimension n par rbcurrence comme suit :

O termes : une variable sur les objets, une constante objet

formules atomiques : si 0, et 0, sont des termes, alors O l

O connecteurs logiques : si f et g sont des formules alors

sont des termes.

q O,, où q E { p l ,..:, p n , I I , ..., Zn/, est une formule atomique.

fAg est une formule ; -f est une formule.

Les autres connecteurs logiques se rajoutent comme étant des abréviations. Les propositions connectives f v g , fi;, g, fm g abrègent respectivement 7 ( - f n 7 g ) , ( g v 7 f ) , (f*g)A(g*.f) . La constante booltenne vrai est l'abréviation de (fv-f) et faux celle de ( -vra i ) .

Le langage ProLo se fonde sur l'utilisation d'approximations par les boites d'encombrement minimums. Le résultat d'une interrogation en ProLo nécessite un examen plus fin à l'aide d'un langage tel que PaLo.

1.2 - L E LANGAGE DE RAFFINEMENT PaLo(Path Logic)

A la différence de ProLo qui opère à partir des axes, PaLo préconise le tracé de c h e m i n s (droites paralèlles à un des axes) et étudie les relations entre des parties d'objets intersectant chaque chemin.

- 585 -

Page 5: Vers un traitement linéaire des interrogations spatiales

Un chemin est une droite parall6le ii un des axes et est mat6rialis6 en fixant comme constantes les valeurs de n-1 composantes d'un espace de dimension n. Le domaine pour lequel il n'a pas 6t6 fixé de constante est appel6 domaine act i f . ConsidCrons que, dans l'exemple de la figure 2, 11 ou 12 sont des chemins avec pour domaine actif le domaine de l'axe 1. Le chemin 11 coupe bien les objets 0 1 , 0 2 et 0 3 . Si on considbre les intersections du chemin 11 avec les objets respectifs 01, 0 2 et 0 3 , on obtient les segments 11 ( O 1), 11 ( 0 2 ) et 11 ( 0 3 ) qu'il est possible de comparer. Par exemple, on peut dire que 11 (0 1) est contigu 21 11 (02) et que 11 (0 1 ) est avant 11 ( O 3 ) . Nous donnons la definition des op6rateurs du langage PaLo et la d&finitisn des formules du langage.

axe 2 1-

l

C l

7

Figure 2 : Chemins et objets

Soit A:y'=@', UR chemin de domaine actif Di et soient z= (x,, ..., xn) l>

et F=(y , $...,y,) des variables de D ; on définit sur 1 les opérateurs contenus dans le tableau décrit par la figure 3. Ces op6rateurs rappellent ceux definis par Allen [Allen 831 pour des intervales temporels.

- 586 -

Page 6: Vers un traitement linéaire des interrogations spatiales

~~

Figure 3 : Les opérateurs spatiaux de PaLo pour un chemin 1

De même, les autres opérateurs logiques s'ajoutent comme étant des abréviations. Une formule en PaLo est indéfinie, si elle contient au moins un terme pour lequel l'intersection avec le chemin est vide. Dans le cas de la figure 2, l'expression (O, O,) est indéfinie.

1.2.2 - Définition des formules

Le langage PaLo est un langage logique à deux types : un type objet et un type chemin.

termes de type objet : une variable sur les objets et une constante objet sont des termes de type objet.

termes de type chemin : une variable sur les chemins, une constante chemin sont des termes de type chemin.

formule atomique : si 01 et 0, sont des termes de type objet et 1, un chemin d'un domaine actif D i , a l o r s O 8 O2 où e E (+,,5,,r>,,@,}est une formule atomique.

* quantificateurs (ne sont utilisés que pour les chemins) : si 1 est une variable libre sur les chemins et f, est une formule sur le chemins 1, alors :

(3jl)fn est une formule, (VA)f, est une formule.

les opérateurs logiques : si f et g sont des formules : f A g est une formule, --,f est une formule.

Dans l'exemple de la figure 2, suivant le chemin 11, l'expression des relations spatiales est donnée par (01~,102)~(01 +,, O,)A(O, b,, O,) et suivant le chemin 12, on a (O, @,2 O , ) .

- 587 -

Page 7: Vers un traitement linéaire des interrogations spatiales

Nous avons montré dans [Cheiney 95, Oria 94.3 que le langage ProLo-PaLo permet de calculer des requstes de recouvrement et de disjonction et qu'il est indépendent de toute implantation. NCamoins, le fait d'avoir ramend le calcul des relations spatiales B des calculs lineaires nous a fait penser B une implantantion lindaire que nous proposons. Pour la suite, du fait des rksultats prkalables que nous utilisons, nous allons nous restreindre h une dtude sur un plan.

Les objets spatiaux sont en géndral de grandes tailles et pour les manipuler, il est préfdrable de les décomposer en objets simples plus facile ZI traiter [Pr6parata 881. Le trapbzoïde et le triangle en sont des exemples. Le trap6zoïde pr6sente la caract6tistique suivante qu'il a deux c6tbs parallèles aux axes et donc pouvant supporter des chemins de Palo. Mous pr6sentons la technique de dtcomposition en trapéaoïdes [Asano 831 avant de proposer un algorithme de traitement des requêtes bas6 sur cette méthode et qui minimise le nombre de chemins.

L'algorithme de dtcomposition des objets en trapézoïdes utilise la rnkthode du p l a n e - s w e e p lPreparata 881. L'id6e de base de la d6composition en trap6zoïdes est d'émettre, B partir des sommets, un ou deux rayons B l'indrîeur du polygone jusqu'à toucher un arc. L'algorithme se compose des deux étapes suivantes :

0 Trier les sommets du polygone pour construire la liste des points événements (@vent point list), c'est-à-dire, une liste tri& de tous les points que l'algorithme aura 5 traiter.

0 Traiter la liste des points BvBnements (sommets) en passant de l'un au suivant et en émettant B chaque fois un rayon de partition (sveret point seheduling). Avec ce processus chaque rayon et, son successeur forment un trapizoïde (figure 4). Dans certains cas, on peut avoir des traptzoïdes dggCnBrés, c'est-&-dire, des triangles avec seulement un c6t6 horizontal.

- 588 -

Page 8: Vers un traitement linéaire des interrogations spatiales

Figure 4: Exemple de décomposition en trapézoïdes

Les principales propriétés de la décomposition en trapézoïdes s o n t :

- par construction, les trapézoïdes possèdent deux catés horizontaux ; ce qui restreint le processus de décomposition au choix des points d'arrêt (event point Zist) de la sweep-Zine (ligne verticale de balayage de l'espace);

- les trapézoïdes sont des composantes simples ;

- un polygone à n sommets se décompose en m trapézoïdes, avec m c n ;

- la décomposition est facile à implanter avec un temps d'exécution de l'ordre de O(nZogn) où n représente le nombre de sommets du polygone et le nombre de composantes produites est, dans le pire des cas, égal à trois fois le nombre optimal [Asano 831.

2.2 - LE TRAITEMENT DES INTERROGATIONS ET LA DIkOMPOSITION EN TRAPÉZOÏDES

Une caractéristique essentielle des trapézoïdes est qu'un ou plusieurs trapézoïdes peuvent être appochés par des rectangles. Le test d'intersection de deux objets revient à tester les intersections de leurs trapézoïdes respectifs. Notre but est de ramener le test d'intersection de deux objets à des tests d'intersection des REM (Rectangles d'Englobants Minimums) des trapézoïdes qui les composent et de ne traiter en détail que les trapézoïdes pour lesquels une intersection est détectée. Autrement dit, le langage ProLo sera utilisé sur les REM des trapézoïdes et PaLo ne s'appliquera que sur les trapézoïdes pour lesquels ProLo aura détecté une intersection.

- 589 -

Page 9: Vers un traitement linéaire des interrogations spatiales

Soient R = e l , ..., rtl> et S = <SI, ..., les skquences respectives des trapkzsïdes obtenus par ddcomposition des objets R et S. On note par c R E M ( r l ) , ..., REM(r,J> et c R E M ( s l ) , ..., REM(s , )> les sCquences respectives des rectangles englobants des trap6zoïdes R et S. Vkrifier que R et S s'intersectent A l'aide de ProEs-Pd0 revient i :

- calculer i l'aide de ProLo toutes les paires (r, s) avec r E Ir], . . ., rn) et s E / S J , ..., s,) telles que REM(r) intersecte REM(s).

- calculer il l'aide de PaLo toutes les paires (r, s) avec r ~ { r l , ..., rfJ et S E { S ~ , ..., sm) telles que r intersecte S.

La solution naïve consiste L comparer à l'aide de ProLo chaque trapézoïde r e { r l , ..., r,l) B tous les trapsdaoïdes s e { s l , ..., sm} avec une complexité de O(7z.m). Cette solution, qui est meilleure ii la solution de comparer l'objet entier R à l'objet entier S , n'est pas satisfaisante car elle n'exploite pas la rkpartitisn des objets dans l'espace. Nous en proposons une autre.

2.2.2 L'algorithme du tri-d'abord

La mtthode du tri-d'abord consiste à ordonner les trapézoïdes des deux objets suivant l'axe des ordonnées et 3 ne comparer que ceux qui sont proches. Les Ctapes de la mdthode du tri-d'abord sont :

- ordonner les trapkzoïdes des objets R et S suivant l'axe des ordonnées il l'aide de la relation d'ordre partiel difinie de la f a p n suivante : 8 1 < 02 si 3 x G P 2 ( 0 1 ) , II, E P 2 ( 0 2 ) : x < y avec Pz la projection des objets sur l'axe des ordonnCes ;

- rechercher les paires (r, s) r E { r ] , ..., rrJ et s €{SI, ..., sm} telles que r précède s ou s prtckde r ;

- effectuer les deux Ctapes de la solution naïve h partir du résultat de 1'6tape pr6cbdente.

Appliquons la mCthode du tri-d'abord h I'exernple de la figure 5 :

- l'ordonnancement des trapCzoïdes est : s3 c rq < ~2 c sl < r3 < r2 < rl ;

- la deuxikme Ctape 'fournit comme paires de trap6zoïdes candidats à l'intersection (r4, s3). (r4, s2), (r3, S I ) ;

- l'application de PrsEo sur le resultat de l'étape pr6cédente donne des résultats positifs pour la paire (1-3, S I ) ;

- l'application de PaLo est également positif pour (r3, S I ) .

- 590 -

Page 10: Vers un traitement linéaire des interrogations spatiales

t

S

Figure 5 : Un exemple de test d'intersection d'objets après décomposition en trapézoïdes

Cette solution permet d'éviter l'application systématique de PaLo à tous les trapézoïdes. Faut-il pour autant parcourir tous les chemins coupant chaque paire de tapézoïdes candidats ?

Proposition : Soient r et s deux trapézoïdes dont l'un au moins est non dégénéré. On note par CI et .,'(cl <ci) les coefficients des chemins qui supportent les deux côtés parallèles du trapézoïde r. De même on note par cf et c,"(cf <cl) les coefficients des chemins qui supportent les deux c6tés parallèles du trapézoïde S. Si r et s s'intersectent alors il existe c = coeff(2) et c E { [c;,cf], [ci,c;]} tel que l'on ait rqs où 8E(~A,D1,@1}, c'est-à-dire que l(r) et l(s) s'intersectent.

Preuve : c~{[~,',c~],[c~,c~]}repré~ente la zone d'intersection de Pz( r ) et de P 2 (s). Une condition nécessaire pour qu'un point p(x , y ) appartienne aux trapézoïdes r et s (si on suppose r<s au sens de la relation d'ordre definie dans la section 2.2.2) est que c; 5 y l c f en particulier pour y=.; ou y =CS.

La proposition ramène le test d'intersection de deux trapézoïdes l'étude de la répartition des deux objets sur deux chemins. Sur chacun des chemins, la partie d'un des objets sur le chemin est donnée par un des côtés parallèles de l'un des trapézoïdes.

- 591 -

Page 11: Vers un traitement linéaire des interrogations spatiales

Les formules des langages ProEo et PaLo font référence à des domaines unidimentionnels. En effet, que ce soit au niveau de PaEo ou de ProLo, une requQte se caract6rise par un ensemble de formules à vérifier sur un ensemble donne de modèles linéaires. Ce qui nous a permis d'envisager u n traitement linGaire des requêtes formulées à l'aides de ces langages. L'implantation linBaire de ProLo-PaEo impose une minimisation du nombre de chemins. Bien que le modble s'applique B un espace quelconque, nous avons abord6 la minimisation des chemins dans le cadre d'un plan afin de tirer profit des difErents travaux effectués en géom6trie algorithmique [Préparata 881.

En nous aidant des techniques connues de dicomposition des objets en 6lBments simples (notamment en trapézoïdes), nous avons montr6 que 1'6tude de la tdpartition des trapbzoïdes sur seulement deux chemins conduit au test d'intersection de deux trap6zoïdes. De plus, les trapptzoïdes peuvent 6tre approchés par des rectangles. Cette remarque permet d'appliquer ProEo plusieurs fois de manière à localiser les trapézoïdes susceptibles de s'intersecter et de n'utiliser Palo que sur ces trapezoïdes uniquement. Nous avons montre que tester [

l'intersection de deux trapézoïdes revient à Btudier, B l'aide de PaLo, la repartition de ces trapézoïdes sur uniquement deux chemins. De nouveaux algorithmes de ddcomposition existent [Boissonat 951, les travaux futurs chercheront B en tirer profit. Nous envisageons également d'étendre les rBsultats présentes ici à des espaces de dimension supdrieure à deux.

[Allen 833

[Asano 831

[Boissonat 951

[Chang 881

[Chang 891

A L L E N J. F., "Mnintaining Knowledge about Temporal Intervals", CACM, vol. 26(11), November 1983

A S A N O Ta., ASANO Te., "Minimum Partition of Polygonal Regions info Trapezoids", in Proc. of 24th Annual Symposium on Fondations of Computer Science, 233-241, 1983

BOISSOMAT et YVENIC, "Gkomitrie Algorithmique", Ediscience, 1995

CHANG N. S. , YAN C. W., DIMITRBFF D. C., ARNDT T., " A n lnfel l igent Image Database System" IEEE Transactions On Software Enginnering, Vol 14, N"5, May 1988

CHANG S . K., JUNCERT E., LI Y., "The Design of Pictorial Butabase Based Upon rke Theory of Symbolic Projection" In Proc. of 1st International Symposium on Design and Implementation of Large Spatial Databases (SSD), Santa-Barbara USA, July 1989

- 592 -

Page 12: Vers un traitement linéaire des interrogations spatiales

[Cheiney 951

[Davis 861

[Dutta 891

CHEINEY J.-.P. , ORIA v., "Spatial Databases Querying with Logic Languages", in Proc. of 4th Int. Conf. on Database Systems for Advanced Applications, Singapore, April, 1995

D AVIS E. "Representing and Acquiring Geographic Knowledge", Morgan Kaufmann Publishers Inc., Los Altos, CA, 1986

DUTTA S . "Qualitative Spatial Reasonning : a Semi-Quantitative Approach Using Fuzzy Logic" In proc. of Design and Implementation of Large Spatial Databases (SSD'89), Santa Barbara, July, 1990

[Egenhofer 911 EGENHOFER M.J., "Reasoning about Binary Topological Re la t ions" In Proc. of 2nd symp. on the Design of Large Spatial Databases (SSD'gl), Zurich, Switzerland, 1991

[Franck 911 FRANCK A. "Qualitative Spatial Reasonning About Cardinal Directions", In Autocarto 10, Baltimore, MD, March 1991

[Grumbach 941 GRUMBACH S . , SU J., "Finetely Representable Databases", in Proc. of 13th ACM Symposium on Principles Database Systems (PODS), Miniapolis, USA, 1994

[Guesgen 891 GUESGEN H. W., "Spatial Reasoning Based on Allen's Temporal Logic" , Technical Report TR-89-049, International Cornputer Science Institute, Berkeley, August 1989

[Kanellakis 901 KANELLAKIS P. C., KUPER G. M., REVESZ P. Z. "Constraint Query Languages", "in Proc. of 9thn lth ACM Symposium on Principles Database Systems (PODS),Atlantic City, NJ , USA, 1990

[Kriegel 911 KRIEGEL H-P., BRINKHOFF T.,SCHEIDER R., "The Combination Of Spatial Access Methods and Computational Geometry in Geographic Database Systems " in Proc. of 2nd Symp. on the Design of Large Spatial Databases (SSD'gl), Zurich, Switzerland, 1991

[Oria 941 Oria V, "Construction d'une Base de donnies d'Images : Etudes d'une Approche orientée Objets et d'un Langage logique d'interrogations spatiales", Thèse de 1'ENST-Paris, septembre 1994

[Papadimitriou 961 PAPADIMITRIOU C. H., SUCIU D., VIANU V. , "TopoEogical Queries in Spatial Dtabases". in Proc. of 15th ACM Symposium on Principles Database Systems (PODS), Montréal, Canada, 1996

[Paredaens 941 PAREDAENS J., VAN DEN BUSSCHE J., VAN GUCHT D., "Toward a Theory of Spatial Database Queries", in Proc. of 13th ACM Symposium on Principles Database Systems (PODS), Miniapolis, USA, 1994

[Peuquet 871 PEUQUET D. J., CI-XIANG Z., "An Algorithm to Determine the directional Relationship between Arbitrarily-Shaped Polygons in the Plane", Pattern Recognition, 20(1), pp 65-74,

[Preparata 881 PREPARATA F., SHAMOS 1. S . , "Cornpututional Geometry an Introduction", Springer-Verlag, 1988

- 593 -