Spatial Databases 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 Database 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 Spatial Database 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 R (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: • Quadtrees • 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 Quadtree 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-tree 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 • data mining 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 Grid File", 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.