<<

Spatial and Spatial Indexing Techniques

Timos Sellis

Computer Science Division Department of Electrical and Computer Engineering National Technical University of Athens Zografou 15773, GREECE

Tel: +30-1-772-1601 FAX: +30-1-772-1659 e-mail: [email protected] Spatial Systems Timos Sellis

Spatial Databases and Spatial Indexing Techniques

Timos Sellis National Technical University of Athens e-mail: [email protected]

Aalborg, June 1998

Outline

• Data Models • Algebra • Query Languages • Data Structures • Query Processing and Optimization • System Architecture • Open Research Issues

Spatial Database Systems 1

1 Systems Timos Sellis

Introduction : Spatial Database Management Systems (SDBMS)

QUESTION “What is a Spatial Database Management System ?”

ANSWER • SDBMS is a DBMS • It offers spatial data types in its data model and query language • support of spatial relationships / properties / operations • It supports spatial data types in its implementation • efficient indexing and retrieval • support of spatial selection / join

Spatial Database Systems 2

Applications of SDBMS

Traditional GIS applications

• Socio-Economic applications • Urban planning • Route optimization, market analysis • Environmental applications • Fire or Pollution Monitoring • Administrative applications • Public networks administration • Vehicle navigation

Spatial Database Systems 3

2 Spatial Database Systems Timos Sellis

Applications of SDBMS (cont'd)

Novel applications

• Image and Multimedia databases • shape configuration and similarity issues • medical databases • Time-series databases • management of time intervals • Traditional DBMS • data warehouses

Spatial Database Systems 4

SDBMS Requirements

• Manipulation of very large amounts of data e.g. terabytes of data per day from satellite images • Data distinction spatial and non-spatial (alphanumeric) data • Complex spatial relationships and operations topological, directional, metric relationships, spatial join operation

Spatial Database Systems 5

3 Spatial Database Systems Timos Sellis

SDBMS Requirements (cont'd)

• Complex spatial relationships (topological, directional,metric) • “Find all cities adjacent to a river” • “Find all dark shapes left to the heart” • “Find the 5 closest hospitals with respect to a given location”

• Spatial join: An expensive operation • “Find the 5 closest hospitals with respect to any highway”

Spatial Database Systems 6

SDBMS Issues of Interest

• Data Models • Algebras • Query Languages • Data Structures • System Architectures

Spatial Database Systems 7

4 Spatial Database Systems Timos Sellis

Spatial Data Models

• Two main approaches for spatial representation

• raster model (image-based partition of space) R R R H R R R R R • vector model (object-based partition of space) Y-Axis

House River

X-Axis Spatial Database Systems 8

Raster Model

• RASTER MODEL

subdivision of space into cells of regular size and shape (i.e., regular tessellation) square triangular hexagonal

Spatial Database Systems 9

5 Spatial Database Systems Timos Sellis

Raster Model (cont'd)

• RASTER MODEL (cont'd)

• each cell is assigned the value of the attribute it represents • each cell in a raster file is assigned only one value • different attributes are stored in separate files (layers)

Spatial Database Systems 10

Raster Model (cont'd)

• RASTER MODEL (cont'd)

Example:

land cover land layer Area water resources water layer topography topography layer

Spatial Database Systems 11

6 Spatial Database Systems Timos Sellis

Vector Model

• VECTOR MODEL

• subdivision of the space based on geographic features position (i.e., irregular tessellation)

• features are represented by (2-D space): • Points (x,y) • Lines (x1,y1, x2,y2, ..., xn,yn) • Regions (x1,y1, ..., xn,yn, x1,y1) ... referred to a common coordinate system (X,Y)

Spatial Database Systems 12

Vector Model (cont'd)

• VECTOR MODEL (cont'd)

• Layer-based model: features organised into separate layers (files) based on their properties

• Feature-based model: features organised into one layer (file) and characterised by a code (closer to O- O approach)

Spatial Database Systems 13

7 Spatial Database Systems Timos Sellis

Spatial Algebra

Spatial operations

• Local • information retrieval (e.g. point-in-polygon query) • classification and recoding • measurement (e.g. area, perimeter) • polygon overlay / spatial join

Spatial Database Systems 14

Spatial Algebra (cont'd)

Spatial operations (cont'd)

• Zonal • spatial selection

• Focal • proximity determination • (e.g. Voronoi diagrams) • interpolation

Spatial Database Systems 15

8 Spatial Database Systems Timos Sellis

Spatial Query Languages

• Database query languages are the tools that end-users most often use to interact with a spatial database system.

• Such a language should be: • powerful enough to express a query involving both spatial and non-spatial components • simple enough to use effectively as an interface between user and system

Spatial Database Systems 16

Spatial Query Languages (cont'd)

Basic queries: Spatial selection • Find all rivers within a specified area • Find all cities within a 100Km distance from Athens Spatial join • Find all cities within a 10Km distance from any shoreline.

Spatial Query Languages • New languages ‘from-the-scratch’ (e.g. GEO-SAL [SH91]) • Extensions of well-known languages such as SQL, QUEL (e.g. GEOQL [OSM89], PSQL [RFS88])

Spatial Database Systems 17

9 Spatial Database Systems Timos Sellis

PSQL

• Pictorial Structured Query Language (PSQL) [RFS88]:

An SQL extension, which supports: • spatial entity types (point, segment, region), and • spatial operators • topological (e.g. overlaps, covers, within) • directional (e.g. north_of, south_of)

Spatial Database Systems 18

PSQL (cont'd)

PSQL Syntax: SELECT < attribute-list > FROM < relation-list > ON < picture-list > WHERE < condition >

Example: SELECT state, state_region, population_density FROM states, cities ON us_map WHERE state_region overlap circle (location, 1500) AND city_name = “Washington, D.C.”

Spatial Database Systems 19

10 Spatial Database Systems Timos Sellis

Spatial Data Structures

Requirements

• Specialized data structures are necessary, for performance, uniformity, etc. • Point- and non-point objects need to be efficiently indexed and retrieved • Support of several spatial relationships is necessary

Spatial Database Systems 20

Spatial Data Structures (cont'd)

Examples

• Raster Model: • • Vector Model: • K-D-B-trees, Quadtrees, Grid Files (for points), • R-trees and variations (for non-point objects)

Spatial Database Systems 21

11 Spatial Database Systems Timos Sellis

Data Structures, Raster Model

• Quadtrees [Sam84]

Data set Representation root

0 1

20 21 0123 3 22 23

20 21 22 23

Spatial Database Systems 22

Data Structures, Vector Model

• Using approximations instead of the exact geometry of shapes e.g. the Minimum Bounding Rectangle (MBR)

NO FI IC SW

Example: UK

DE

IR GE PL NL

CZ BE LU FR AU RO HU CH

BU YU AL PO SP IT GR

Spatial Database Systems 23

12 Spatial Database Systems Timos Sellis

Data Structures, Vector Model (cont'd)

• Two-step query processing

• Filter step: based on objects’ approximations to output the candidate set

• Refinement step: comparison of actual objects’ geometric shapes to output the answer set

Spatial Database Systems 24

Data Structures, Vector Model (cont'd)

• Several indexing methods (a survey in [GG95])

• R- family: the most popular ones e.g. R- [Gut84], R+- [SRF87], R*- [BKSS90] etc.

• Numerous applications (“trees have grown everywhere” [SRF97]) Multimedia / medical / time-series databases, data warehouses, ...

Spatial Database Systems 25

13 Spatial Database Systems Timos Sellis

R-Trees

An example of R-trees

K A F G J B D E H I ABC

M DE F G HI J K LMN

N L C

Spatial Database Systems 26

R-Trees (cont'd)

An example of R-trees

K A F G J B D E H I ABC

range query M point query DE F G HI J K LMN

N L C

Spatial Database Systems 27

14 Spatial Database Systems Timos Sellis

Packed R-trees

• Problems with random insertions • Goal: • minimal coverage of leaf nodes • minimal overlap of intermediate nodes • Sorting & packing of spatial objects improves search & space performance by 1-2 orders of magnitude • Starting point for R+-trees, R*-trees, Hilbert R-trees, & Cubetrees

VLDB 97 28

R+-trees

K A F G

P J B D E I H

ABC P

M

DE F G I J K L MN GH L N

C May add more levels to the tree .....but it is faster

VLDB 97 29

15 Spatial Database Systems Timos Sellis

What has been done since 1987?

• Lots of other improvements and extensions to the basic structure (R*-tree, Hilbert R-tree, TV-Tree, P- and JP- Tree, and many more) • Commercial systems are incorporating them • Has given rise to lots of interesting other research • More packing algorithms • Spatial joins • Direction queries • Parallelization • Nearest-neighbor queries • Analysis of algorithms and structures VLDB 97 30

Nearest Neighbor Searching

downward pruning MINDIST MBR1 MBR2 M11 P M22 M13 M21

NN is there M12 MINMAXDIST

VLDB 97 31

16 Spatial Database Systems Timos Sellis

Analysis of R-trees

• Uniformity assumption • BUT: pessimistic + unrealistic • Solution: FRACTALS - What is the fractal dimension? •≈“intrinsic” dimensionality

• Nominal dimension = 2 • “Intrinsic” dimension = 1

VLDB 97 32

Analysis of R-trees

Non-integer fractal dimensions • e.g. sierpinski triangle

• fractal dimension = log3/log2 = 1.59

VLDB 97 33

17 Spatial Database Systems Timos Sellis

Analysis of R-trees

Are real data sets fractal?

• Coastlines ( fd = 1.1 - 1.58 - e.g. Norway !) • Mamalian brain surface (2.7) • Cardiovascular system (3!) • Stock prices (1.5) • “Montgomery County” (~1.7)

VLDB 97 34

Analysis of R-trees

End result: Great accuracy in estimations !

• Range queries in R-trees (<10% error versus ~20% of uniformity) • Spatial joins (<10% vs 100%) • Nearest-neighbors (good bounds)

VLDB 97 35

18 Spatial Database Systems Timos Sellis

What was the influence?

• More than a decade of very active and intense research and development • “Reaching out” to other areas, e.g. • active database systems • indexing multimedia databases by content • supporting OLAP and DataCube processing • indexing time sequences • and clustering

VLDB 97 36

Indexing Multimedia Presentations

(10,50) 12 A 18 F B E

7 D C B C D F A 8

È 10 13 17 20 24 28 30 Time Θ

spatial layout temporal layout

queries spatial - temporal - spatio-temporal

VLDB 97 37

19 Spatial Database Systems Timos Sellis

OLAP - CubetreesC

(0,0,c,q) Table R(A,B,C,Q) (0,b,c,q) (a,0,c,q) (0,0,c,q) T(a,b,c,q) Relation tuple groupby(A,C) 0 (a,0,c,q) (0,b,c,q) groupby(A,B) (0,b,0,q) (a,0,0,q) (a,0,0,q) groupby(B,C) T (a,b,c,q) groupby(A) (0,b,0,q) (a,b,0,q) A groupby(B) (a,b,0,q) groupby(C) B groupby(none) ‹ relation tuples: points in the N-d space ‹ groupby projections: also points ‹ point data is very efficient for multidimensional indexing

VLDB 97 38

Packing & Sort Order of Cubetrees

‹ Cubetrees are packed and compressed from N-d to lower dimensions ‹ Sort order is used for merging during incremental bulk updates

C well clustered groupbys }(on the same or consecutive pages)

these groupbys dispersed } (on different pages)

A For a chosen sort order : A,B,C B

VLDB 97 39

20 Spatial Database Systems Timos Sellis

Cubetrees for OLAP Queries

• Very fast OLAP queries (2-3 orders of magnitude) • Minimal space overhead (less than 15%) • Efficient bulk updates (6 GB per hour on a single processor/single disk) • Scalable solution (merge packing)

VLDB 97 40

Query Processing & Optimization

Query Processing

Examples of queries • Point / range queries • Direction, topological, distance queries • k- Nearest neighbor queries • Spatial join queries (join based on any spatial operator)

Spatial Database Systems 41

21 Spatial Database Systems Timos Sellis

Query Processing & Optimization

Query Processing (cont'd)

HOW? • by using specialized indexing methods or • by making appropriate transformations in order to use methods for point / range queries

Spatial Database Systems 42

Query Processing & Optimization

Query Processing (cont'd)

Example “Find all countries northeast of Switzerland”

The transformation is not always trivial !

Spatial Database Systems 43

22 Spatial Database Systems Timos Sellis

Query Processing & Optimization

Query Optimization

• Heuristic rules not so clear as those for traditional DBMS

• Cost Estimates mainly based on uniformity assumption (e.g. [FSR87])

Spatial Database Systems 44

System Architecture

• Extending traditional DBMS architecture by introducing:

• new data models and query languages • specialized data structures and access methods • new techniques for query optimization • GUIs for input / output

Spatial Database Systems 45

23 Spatial Database Systems Timos Sellis

System Architecture

• Alternative strategies to implement an SDBMS:

• Hybrid system: introduce a specialized software (for storage and analysis of spatial data) within a standard DBMS • Extensible DBMS: develop appropriate an integrated architecture based on extensible DBMS facilities

Spatial Database Systems 46

System Architecture (cont'd)

• Hybrid System

SPATIAL S/W DATABASE TO MANAGE SPATIAL DATA SPECIALIZED ‘SPATIAL’ S/W STANDARD DBMS TO MANAGE ATTRIBUTE NON-SPATIAL DATABASE ‘ATTRIBUTE’ DATA

Examples: ARC/INFO [Mor89], SAND [AS91]

Spatial Database Systems 47

24 Spatial Database Systems Timos Sellis

System Architecture (cont'd)

• Extensible DBMS

SPECIALIZED EXTENSIONS TO ACCOMMODATE ‘SPATIAL’ S/W SPATIAL AND SPATIAL DATA ATTRIBUTE DATABASE EXTENSIBLE DBMS

Examples: PROBE [OM88], Gral [Gut89], DASDBS [SPSW90]

Spatial Database Systems 48

Research Issues

Open fields of interest

• fuzzy information • graphical query languages • query optimization • spatio-temporal issues • system synergy ...

Spatial Database Systems 49

25 Spatial Database Systems Timos Sellis

Research Issues: Fuzzy Information

• Several kinds of fuzziness

• Fuzzy operators • Imprecise object boundaries

• … and more

Spatial Database Systems 50

Research Issues: Fuzzy Information (cont'd)

• Fuzzy operators

from … true very close close far very far false distance

to ... 1 very close close far very far 0 distance

Spatial Database Systems 51

26 Spatial Database Systems Timos Sellis

Research Issues: Graphical Query Languages

• Pictorial Query-By-Example (PQBE) [PS95]

F Query: “Find all objects A J B northeast of object E” D G E C P_X H E G J I skeleton image results symbolic image

Spatial Database Systems 52

Research Issues: Query Optimization

Cost models for selection / join queries on different data distributions

• Proposals: • Fractal dimension of a data set [FK94] • Density surface of a data set [TS96]

Spatial Database Systems 53

27 Spatial Database Systems Timos Sellis

Research Issues: Query Optimization (cont'd)

• Fractal dimension the fractal dimension d of a 2-dimensional data set varies between d=2 and d=3, with respect to the objects irregularity

• Density Surface

Spatial Database Systems 54

Research Issues: Spatiotemporal Data

• Examples Questions: Ship navigation

B “When did ship A get A close to the coast?”

or

“Did a collision between A and B happen, if yes when?”

Spatial Database Systems 55

28 Spatial Database Systems Timos Sellis

Research Issues: Spatiotemporal Data (cont'd)

• Examples (cont'd) Questions: Fire monitoring “Which is the shortest R distance between the fire front and the town?” F3 F2 T or F1 “What are the speed and direction of the fire front at this moment?”

Spatial Database Systems 56

Research Issues: System Synergy

• The proposed model

net

DSS GIS

SDBMS

Spatial Database Systems 57

29 Spatial Database Systems Timos Sellis

Research Issues: System Synergy (cont'd)

An example DATA IN BATCH MODE GEOGRAPHICAL DATA SATELLITE/AIRBORNE MEFISTOTM (digital form) IMAGES, PAPER MAPS

REAL-TIME DATA

FIRE INFORMATION

METEOROLOGICAL INPUT AIOLOS-F AIOLOS-F DATA INTERFACE INTERFACE (forest fire simulator)

OTHER DATA DATA DISPLAY PROCESSING MONITORING

FIRE-FRONT TEMPERATURES FIRE GEOGRAPHIC WIND DATABASE PARAMETERS GDS-GIS OTHER OUTPUTS MEFISTO SYSTEM

Spatial Database Systems 58

Summary: Need more work

• Extend standard DBMS architectures with • representations for spatial data types spatial operators • spatial indexes • access methods for spatial indexes • optimizer extensions • query language extensions to cover spatial queries • user interface extensions to handle graphical interaction, input- output of spatial data and relationships, etc.

Spatial Database Systems 59

30 Spatial Database Systems Timos Sellis

Summary: What is coming next?

• Some of the issues we find intriguing

Benchmarking

• Define statistically well founded workloads for a variety of applications • Provide an environment which includes an attractive user interface and tools for visualisation

Spatial Database Systems 60

Summary: What is coming next?

Performance Evaluation of Access Methods • Thorough experimental examination of the approaches to test the behavior under real workloads • Evaluation with realistic query types • Extensibility on the range of queries • Scalability behavior with growing volumes of data

Spatial Database Systems 61

31 Spatial Database Systems Timos Sellis

Summary: What is coming next?

Query Optimization • Relatively undeveloped in the area of spatial DBs • In many cases, e.g. geographic DBs, the execution strategy chosen is not near-optimal; just barely reasonable execution order • Systematic cost estimates of different execution strategies are needed

Spatial Database Systems 62

32 Bibliography

Proceedings Series: International Symposium on Large Spatial Databases (SSD) 1989, 1991, ..., 1997 Journals GeoInformatica, vol.1 (1997) Books R. Laurini and D. Thompson, Fundamentals of Spatial Information Systems, Academic Press, 1992 N. Adam and A. Gangopadhyay, Database Issues in Geographic Information Systems, Kluwer Academic, 1997

Collected list of papers

[AS91] W.G. Aref, H, Samet, ”Extending a DBMS with Spatial Operations", Proceedings of the 2nd Symposium on Large Spatial Databases (SSD), 1991. [BKS93] T. Brinkhoff, H.-P. Kriegel, B. Seeger, "Efficient Processing of Spatial Joins Using R-trees", Proceedings of ACM SIGMOD International Conference on Management of Data, 1993. [BKSS90] N. Beckmann, H.-P. Kriegel, R. Schneider, B. Seeger, "The R*-tree: An Efficient and Robust Access Method for Points and Rectangles", Proceedings of ACM SIGMOD International Conference on Management of Data, 1990. [CF80] N. S. Chang, K. S. Fu, "Query-by-Pictorial-Example", IEEE Transactions on Software Engineering, Vol. 6, No. 6, November 1980, pp. 519-524. [EF88] M. J. Egenhofer, A. U. Frank, "Towards a Spatial Query Language: User Interface Considerations", Proceedings of the 14th International Conference on Very Large Databases (VLDB), 1988. [EF91] M. J. Egenhofer, R. Franzosa, "Point-Set Topological Spatial Relations", International Journal of Geographic Information Systems, Vol. 5, No. 2, 1991, pp. 161-174. [Ege94] M. J. Egenhofer, "Spatial SQL: A Query and Presentation Language", IEEE Transactions on Knowledge and Data Engineering, Vol. 6, No. 1, February 1994, pp. 86-95. [EH90] M. J. Egenhofer, J. R. Herring, "A Mathematical Framework for the Definition of Topological Relationships", Proceedings of the 4th International Symposium on Spatial Data Handling (SDH), 1990. [FB74] R. A. Finkel, J. L. Bentley, "Quad Trees: A Data Structure for Retrieval on Composite Keys", Acta Informatica, Vol. 4, No. 1, 1974, pp. 1-9. [FK94] C. Faloutsos, I. Kamel, “Beyond Uniformity and Independence: Analysis of R-trees Using the Concept of Fractal Dimension”, Proceedings of the 13th ACM Symposium on Principles of Database Systems (PODS), 1994. [Fra91] A. Frank, "Properties of Geographic Data: Requirements for Spatial Access Methods", Proceedings of the 2nd Symposium on Large Spatial Databases (SSD), 1991. [Fre87] M. Freeston, "The BANG File: A New Kind of ", Proceedings of ACM SIGMOD International Conference on Management of Data, 1987. [FRM94] C. Faloutsos, M. Ranganathan, Y. Manolopoulos, "Fast Subsequence Matching in Time-Series Databases", Proceedings of ACM SIGMOD International Conference on Management of Data, 1994. [FSR87] C. Faloutsos, T. Sellis, N. Roussopoulos, "Analysis of Object Oriented Spatial Access Methods", Proceedings of ACM SIGMOD International Conference on Management of Data, 1987. [GB90] O. Gunther, A. Buchmann, "Research Issues in Spatial Databases", SIGMOD Record, Vol. 19, No. 4, 1990, pp. 61-68. [GG95] V. Gaede, O. Gunther, ”Multidimensional Access Methods", Technical Report ISS-16, Humboldt University of Berlin, Germany, 1995. [Gre89] D. Greene, "An Implementation and Performance Analysis of Spatial Data Access Methods", Proceedings of the 5th IEEE International Conference on Data Engineering (ICDE), 1989. [GS95] R. H. Guting, M. Schneider, ”Realm-Based Spatial Data Types: The ROSE Algebra", VLDB Journal, Vol. 4, 1995, pp. 100-143. [Gun89] O. Gunther, "The Design of the Cell Tree: An Object-Oriented Index Structure for Geometric Databases", Proceedings of the 5th IEEE International Conference on Data Engineering (ICDE), 1989. [Gut84] A. Guttman, "R-trees: A Dynamic Index Structure for Spatial Searching", Proceedings of ACM SIGMOD International Conference on Management of Data, 1984. [Gut89] R. H. Guting, "An Extended Relational Database System for Geometric Applications", Proceedings of the 15th International Conference on Very Large Databases (VLDB), 1989. [Gut94] R. H. Guting, "An Introduction to Spatial Database Systems", VLDB Journal, Vol. 3, No. 4, October 1994, pp. 357-399. [HSW89] A. Henrich, H.-W. Six, P. Widmayer, "The LSD-tree: Spatial Access to Multidimensional Point and Non Point Objects", Proceedings of the 15th International Conference on Very Large Databases (VLDB), 1989. [Jag90] H. V. Jagadish, "Linear Clustering of Objects with Multiple Attributes", Proceedings of ACM SIGMOD International Conference on Management of Data, 1990. [KF93] I. Kamel, C. Faloutsos, "On Packing R-trees", Proceedings of the International Conference on Information and Knowledge Management (CIKM), 1993. [KS89] C.. Kolovson, M. Stonebraker, "Indexing Techniques for Historical Databases", Proceedings of the 5th IEEE International Conference on Data Engineering (ICDE), 1989. [Mor89] S. Morehouse, “The Architecture of ARC/INFO”, Proceedings of Auto-Carto 9, 1989. [NHS84] J. Nievergelt, H. Hinterberger, K. C. Sevcik, "The Grid File: An Adaptable, Symmetric Multikey file Structure", ACM Transactions on Database Systems, Vol. 9, No. 1, 1984, pp. 38-71. [OM88] J. A. Orenstein, F. A. Manola, "PROBE Spatial Data Modeling and Query Processing in an Image Database Application", IEEE Transactions on Software Engineering, vol. 14, No. 5, May 1988, pp. 611-629. [Ore89] J. Orenstein, "Redundancy in Spatial Databases", Proceedings of ACM SIGMOD International Conference on Management of Data, 1989. [OSM89] B. C. Ooi, R. Sacks-Davis, K. J. McDonell, "Extending a DBMS for Geographic Applications", Proceedings of the 5th IEEE International Conference on Data Engineering (ICDE), 1989. [PS95] D. Papadias, T. Sellis, “A Pictorial Query-By-Example Language”, Journal of Visual Languages and Computing, Vol. 6, No. 1, 1995 , pp. 53-72. [PSTW93] B.-U. Pagel, H.-W. Six, H. Toben, P. Widmayer, "Towards an Analysis of Range Query Performance in Spatial Data Structures", Proceedings of the 12th ACM Symposium on Principles of Database Systems (PODS), 1993. [PT97] D. Papadias, Y. Theodoridis, “Spatial Relations, Minimum Bounding Rectangles, and Spatial Data Structures”, International Journal of Geographical Information Science, Vol. 11, No. 2, March 1997 , pp. 111- 138. [PTSE95] D. Papadias, Y. Theodoridis, T. Sellis, M.J. Egenhofer, “Topological Relations in the World of Minimum Bounding Rectangles: A Study with R- trees”, Proceedings of ACM SIGMOD International Conference on Management of Data, 1995. [RFS88] N. Roussopoulos, C. Faloutsos, T. Sellis, "An Efficient Pictorial Database System for PSQL", IEEE Transactions on Software Engineering, vol. 14, No. 5, May 1988, pp. 639-650. [RKV95] N. Roussopoulos, S. Kelley, F. Vincent, "Nearest Neighbor Queries", Proceedings of ACM SIGMOD International Conference on Management of Data, 1995. [Rob81] J. T. Robinson, "The K-D-B-Tree: A Search Structure for Large Multidimensional Dynamic Indexes", Proceedings of ACM SIGMOD International Conference on Management of Data, 1981. [Sam84] H. Samet, "The Quadtree and Related Hierarchical Data Structures", ACM Computer Surveys, vol. 16, No. 2, 1984, pp. 187-260. [SH91] P. Svensson, Z. Huang, ”Geo-SAL: A Query Language for Spatial Data Analysis", Proceedings of the 2nd Symposium on Large Spatial Databases (SSD), 1991. [SK88] B. Seeger, H.-P. Kriegel, "Techniques for Design and Implementation of Efficient Spatial Access Methods", Proceedings of the 14th International Conference on Very Large Databases (VLDB), 1988. [SPSW90] H.J. Schek, H.B. Paul, M.H. Scholl, G. Weikum, ”The DASDBS Project: Objectives, Experiences, and Future Prospects", IEEE Transactions on Knowledge and Data Engineering, Vol. 2, 1990, pp. 25-43. [SRF87] T. Sellis, N. Roussopoulos, C. Faloutsos, "The R+-tree: A Dynamic Index for Multidimensional Objects", Proceedings of the 13th International Conference on Very Large Databases (VLDB), 1987. [SRF97] T. Sellis, N. Roussopoulos, C. Faloutsos, ”Multidimensional Access Methods: Trees Have Grown Everywhere", 10-year award talk, 23rd International Conference on Very Large Databases (VLDB), 1997. [Tom91] C.D. Tomlin, “Cartographic Modelling”, Geographic Information Systems: Principles and Applications, Vol. 1, 1996, pp. 361-374. [TS96] Y. Theodoridis, T. Sellis, “A Model for the Prediction of R-tree Performance”, Proceedings of the 15th ACM Symposium on Principles of Database Systems (PODS), 1996.