Roadmap DB Sys. Design & Impl. Reference. Detailed roadmap. Spatial Access Methods - problem. z-ordering - Detailed outline.

Size: px
Start display at page:

Download "Roadmap DB Sys. Design & Impl. Reference. Detailed roadmap. Spatial Access Methods - problem. z-ordering - Detailed outline."

Transcription

1 D Sys. Design & Impl. Z-ordering Christos Faloutsos Roadmap 1) Roots: System R and Ingres 2) Implementation: buffering, indexing, q-opt 3) Transactions: locking, recovery 4) Distributed DMSs 5) Parallel DMSs: Gamma, lphasort 6) OO/OR DMS 7) Data nalysis - data mining 8) enchmarks 9) vision statements extras (streams/sensors, graphs, multimedia, web, fractals) C. Faloutsos 2 Detailed roadmap 1) Roots: System R and Ingres 2) Implementation: buffering, indexing, q-opt OS support for DMS R-trees and GiST Z-ordering uffering... 3) Transactions: locking, recovery Reference Jack. Orenstein: Spatial Query Processing in an Object-Oriented Database System. SIGMOD Conference 1986, pp C. Faloutsos C. Faloutsos 4 - Detailed outline What is the problem / S..M. main idea - 3 methods use w/ -trees; algorithms (range, knn queries...) non-point (eg., region) data analysis; variations Spatial ccess Methods - problem Given a collection of geometric objects (points, lines, polygons,...) organize them on disk, to answer spatial queries (like??) C. Faloutsos C. Faloutsos 6 1

2 Spatial ccess Methods - problem Given a collection of geometric objects (points, lines, polygons,...) organize them on disk, to answer point queries range queries k-nn queries spatial joins ( all pairs queries) Q: applications? SMs - motivation C. Faloutsos C. Faloutsos 8 SMs - motivation Q: applications? : GIS multimedia indexing traditional db... SMs: solutions R-trees (grid files) Q: how would you organize, e.g., n-dim points, on disk? (C points per disk page) C. Faloutsos C. Faloutsos 10 - Detailed outline What is the problem / S..M. main idea - 3 methods use w/ -trees; algorithms (range, knn queries...) non-point (eg., region) data analysis; variations Q: how would you organize, e.g., n-dim points, on disk? (C points per disk page) Hint: reduce the problem to 1-d points(!!) Q1: why? : Q2: how? C. Faloutsos C. Faloutsos 12 2

3 Q: how would you organize, e.g., n-dim points, on disk? (C points per disk page) Hint: reduce the problem to 1-d points (!!) Q1: why? : -trees! Q2: how? Q2: how? : assume finite granularity; = bitshuffling = N-trees = Morton keys = geocoding = C. Faloutsos C. Faloutsos 14 Q2: how? : assume finite granularity (e.g., 2 32 x2 32 ; 4x4 here) Q2.1: how to map n-d cells to 1-d cells? Q2.1: how to map n-d cells to 1-d cells? C. Faloutsos C. Faloutsos 16 Q2.1: how to map n-d cells to 1-d cells? : row-wise Q: is it good? Q: is it good? : great for x axis; bad for y axis C. Faloutsos C. Faloutsos 18 3

4 Q: How about the snake curve? Q: How about the snake curve? : still problems: 2^32 2^ C. Faloutsos C. Faloutsos 20 Q: Why are those curves bad? : no distance preservation (~ clustering) Q: solution? Q: solution? (w/ good clustering, and easy to compute, for 2-d and n-d?) 2^32 2^ C. Faloutsos C. Faloutsos 22 Q: solution? (w/ good clustering, and easy to compute, for 2-d and n-d?) : /bit-shuffling/linear-quadtrees looks better: few long jumps; scoops out the whole quadrant before leaving it a.k.a. space filling curves /bit-shuffling/linear-quadtrees Q: How to generate this curve (z = f(x,y) )? : 3 (equivalent) answers! C. Faloutsos C. Faloutsos 24 4

5 /bit-shuffling/linear-quadtrees Q: How to generate this curve (z = f(x,y))? 1: z (or N ) shapes, RECURSIVELY Notice: self similar ( fractal ) method is hard to use: z =? f(x,y) order-1 order-2... order (n+1) order-1 order-2... order (n+1) C. Faloutsos C. Faloutsos 26 /bit-shuffling/linear-quadtrees Q: How to generate this curve (z = f(x,y) )? : 3 (equivalent) answers! Method #2? bit-shuffling y x 0 0 y 1 1 z =( ) 2 = x C. Faloutsos C. Faloutsos 28 bit-shuffling y x 0 0 y 1 1 bit-shuffling y x 0 0 y x z =( ) 2 = 5 How about the reverse: (x,y) = g(z)? x z =( ) 2 = 5 How about n-d spaces? C. Faloutsos C. Faloutsos 30 5

6 /bit-shuffling/linear-quadtrees Q: How to generate this curve (z = f(x,y) )? : 3 (equivalent) answers! Method #3? linear-quadtrees : assign N->1, S->0 e.t.c. W E 1 N S C. Faloutsos C. Faloutsos and repeat recursively. Eg.: z blue-cell = WN;WN = (0101) 2 = 5 W E N S Drill: z-value of magenta cell, with the three methods? W E 1 N 0 S C. Faloutsos C. Faloutsos 34 Drill: z-value of magenta cell, with the three methods? W E method#1: 14 1 method#2: shuffle(11;10)= N (1110) 2 = S Drill: z-value of magenta cell, with the three methods? W E method#1: 14 1 method#2: shuffle(11;10)= N (1110) 2 = 14 method#3: EN;ES =... = 14 0 S C. Faloutsos C. Faloutsos 36 6

7 - Detailed outline main idea - 3 methods use w/ -trees; algorithms (range, knn queries...) non-point (eg., region) data analysis; variations - usage & algo s Q1: How to store on disk? : Q2: How to answer range queries etc C. Faloutsos C. Faloutsos 38 - usage & algo s Q1: How to store on disk? : treat z-value as primary key; feed to -tree usage & algo s MJOR DVNTGES w/ -tree: already inside commercial systems (no coding/debugging!) concurrency & recovery is ready C. Faloutsos C. Faloutsos 40 - usage & algo s Q2: queries? (eg.: find city at (0,3) )? usage & algo s Q2: queries? (eg.: find city at (0,3) )? : find z-value; search -tree C. Faloutsos C. Faloutsos 42 7

8 - usage & algo s - usage & algo s Q2: range queries? 5 12 Q2: range queries? : compute ranges of z-values; use -tree 9, C. Faloutsos C. Faloutsos 44 - usage & algo s Q2 : range queries - how to reduce # of qualifying of ranges? 9, usage & algo s Q2 : range queries - how to reduce # of qualifying of ranges? : ugment the query! 9, > C. Faloutsos C. Faloutsos 46 - usage & algo s Q2 : range queries - how to break a query into ranges? - usage & algo s Q2 : range queries - how to break a query into ranges? : recursively, quadtree-style; decompose only non-full quadrants 9, , C. Faloutsos C. Faloutsos 48 8

9 - usage & algo s Q2 : range queries - how to break a query into ranges? : recursively, quadtree-style; decompose only non-full quadrants , 11 9, Detailed outline main idea - 3 methods use w/ -trees; algorithms (range, knn queries...) non-point (eg., region) data analysis; variations C. Faloutsos C. Faloutsos 50 - usage & algo s Q3: k-nn queries? (say, 1-nn)? usage & algo s Q3: k-nn queries? (say, 1-nn)? : traverse -tree; find nn wrt z-values and C. Faloutsos C. Faloutsos 52 - usage & algo s... ask a range query. - usage & algo s... ask a range query. nn wrt z-value nn wrt z-value C. Faloutsos C. Faloutsos 54 9

10 - usage & algo s Q4: all-pairs queries? ( all pairs of cities within 10 miles from each other? ) (we ll see spatial joins later: find all P counties that intersect a lake) - Detailed outline main idea - 3 methods use w/ -trees; algorithms (range, knn queries...) non-point (eg., region) data analysis; variations C. Faloutsos C. Faloutsos 56 - regions Q: z-value for a region? z =?? z C =?? C - regions Q: z-value for a region? : 1 or more z-values; by quadtree decomposition C z =?? z C =?? C. Faloutsos C. Faloutsos 58 - regions don t care - regions don t care Q: z-value for a region? z = 11** Q: z-value for a region? z = 11** 1 W E N z C =?? W E N z C = {0010; 1000} S S C 1 0 C C. Faloutsos C. Faloutsos 60 10

11 - regions Q: How to store in -tree? Q: How to search (range etc queries) - regions Q: How to store in -tree? : sort (*<0<1) Q: How to search (range etc queries) C C z obj-id etc 0010 C C 11** C. Faloutsos C. Faloutsos 62 - regions Q: How to search (range etc queries) - eg red range query C z obj-id etc 0010 C C 11** - regions Q: How to search (range etc queries) - eg red range query : break query in z-values; check -tree C z obj-id etc 0010 C C 11** C. Faloutsos C. Faloutsos 64 - regions lmost identical to range queries for point data, except for the don t cares - i.e., C 1100?? 11** z obj-id etc 0010 C C 11** - regions lmost identical to range queries for point data, except for the don t cares - i.e., z1= 1100?? 11** = z2 Specifically: does z1 contain/avoid/intersect z2? Q: what is the criterion to decide? C. Faloutsos C. Faloutsos 66 11

12 - regions z1= 1100?? 11** = z2 Specifically: does z1 contain/avoid/intersect z2? Q: what is the criterion to decide? : Prefix property: let r1, r2 be the corresponding regions, and let r1 be the smallest (=> z1 has fewest * s). Then: C. Faloutsos 67 - regions r2 will either contain completely, or avoid completely r1. it will contain r1, if z2 is the prefix of z1 C 1100?? 11** region of z1: completely contained in region of z C. Faloutsos 68 - regions Drill (True/False). Given: z1= ** z2= 01****** z3= 0100**** T/F r2 contains r1 T/F r3 contains r1 T/F r3 contains r2 - regions Drill (True/False). Given: z1= ** z2= 01****** z3= 0100**** T/F r2 contains r1 - TRUE (prefix property) T/F r3 contains r1 - FLSE (disjoint) T/F r3 contains r2 - FLSE (r2 contains r3) C. Faloutsos C. Faloutsos 70 - regions - regions Drill (True/False). Given: z1= ** z2= 01****** z3= 0100**** z2 Drill (True/False). Given: z1= ** z2= 01****** z3= 0100**** z3 z2 T/F r2 contains r1 - TRUE (prefix property) T/F r3 contains r1 - FLSE (disjoint) T/F r3 contains r2 - FLSE (r2 contains r3) C. Faloutsos C. Faloutsos 72 12

13 - regions Spatial joins: find (quickly) all counties intersecting lakes - regions Spatial joins: find (quickly) all counties intersecting lakes C. Faloutsos C. Faloutsos 74 - regions Spatial joins: find (quickly) all counties intersecting lakes - regions Spatial joins: find (quickly) all counties intersecting lakes Naive algorithm: O( N * M) Something faster? z obj-id etc 0010 LG 1000 WS 11** LG z obj-id etc 0011 Erie 0101 Erie 10** Ont C. Faloutsos C. Faloutsos 76 - regions Spatial joins: find (quickly) all counties intersecting lakes Solution: merge the lists of (sorted) z-values, looking for the prefix property - Detailed outline main idea - 3 methods use w/ -trees; algorithms (range, knn queries...) non-point (eg., region) data analysis; variations footnote#1: * needs careful treatment footnote#2: need dup. elimination C. Faloutsos C. Faloutsos 78 13

14 - variations Q: is the best we can do? - variations Q: is the best we can do? : probably not - occasional long jumps Q: then? C. Faloutsos C. Faloutsos 80 - variations Q: is the best we can do? : probably not - occasional long jumps Q: then? 1: Gray codes - variations 2: Hilbert curve! (a.k.a. Hilbert-Peano curve) C. Faloutsos C. Faloutsos 82 - variations Looks better (never long jumps). How to derive it? - variations Looks better (never long jumps). How to derive it? order-1 order-2... order (n+1) C. Faloutsos C. Faloutsos 84 14

15 - variations Q: function for the Hilbert curve ( h = f(x,y) )? : bit-shuffling, followed by post-processing, to account for rotations. Linear on # bits. See textbook, for pointers to code/algorithms (eg., [Jagadish, 90]) - variations Q: how about Hilbert curve in 3-d? n-d? : Exists (and is not unique!). Eg., 3-d, order- 1 Hilbert curves (Hamiltonian paths on cube) #1 # C. Faloutsos C. Faloutsos 86 - Detailed outline main idea - 3 methods use w/ -trees; algorithms (range, knn queries...) non-point (eg., region) data analysis; variations - analysis Q: How many pieces ( quad-tree blocks ) per region? : C. Faloutsos C. Faloutsos 88 - analysis Q: How many pieces ( quad-tree blocks ) per region? : proportional to perimeter (surface etc) - analysis (How long is the coastline, say, of England? Paradox: The answer changes with the yardstick -> fractals...) C. Faloutsos C. Faloutsos 90 15

16 - analysis Q: Should we decompose a region to full detail (and store in -tree)? - analysis Q: Should we decompose a region to full detail (and store in -tree)? : NO! approximation with 1-3 pieces/zvalues is best [Orenstein90] C. Faloutsos C. Faloutsos 92 - analysis Q: how to measure the goodness of a curve? - analysis Q: how to measure the goodness of a curve? : e.g., avg. # of runs, for range queries C. Faloutsos 93 4 runs 3 runs (#runs ~ #disk accesses on -tree) C. Faloutsos 94 - analysis Q: So, is Hilbert really better? : 27% fewer runs, for 2-d (similar for 3-d) Q: are there formulas for #runs, #of quadtree blocks etc? : Yes ([Jagadish; Moon+ etc]) - fun observations Hilbert and curves: space filling curves : eventually, they visit every point in n-d space - therefore: order-1 order-2... order (n+1) C. Faloutsos C. Faloutsos 96 16

17 - fun observations... they show that the plane has as many points as a line (-> headaches for 1900 s mathematics/topology). (fractals, again!) - fun observations Observation #2: Hilbert (like) curve for video encoding [Y. Matias+, CRYPTO 87]: Given a frame, visit its pixels in randomized hilbert order; compress; and transmit order-1 order-2... order (n+1) C. Faloutsos C. Faloutsos 98 - fun observations In general, Hilbert curve is great for preserving distances, clustering, vector quantization etc - Detailed outline main idea - 3 methods use w/ -trees; algorithms (range, knn queries...) non-point (eg., region) data analysis; variations Conclusions C. Faloutsos C. Faloutsos 100 Conclusions is a great idea (n-d points -> 1-d points; feed to -trees) used by TIGER system and (most probably) by other GIS products works great with low-dim points C. Faloutsos

Roadmap DB Sys. Design & Impl. Review. Detailed roadmap. Interface. Interface (cont d) Buffer Management - DBMIN

Roadmap DB Sys. Design & Impl. Review. Detailed roadmap. Interface. Interface (cont d) Buffer Management - DBMIN 15-721 DB Sys. Design & Impl. Buffer Management - DBMIN Christos Faloutsos www.cs.cmu.edu/~christos Roadmap 1) Roots: System R and Ingres 2) Implementation: buffering, indexing, q-opt 3) Transactions:

More information

Roadmap DB Sys. Design & Impl. Reference. Detailed Roadmap. Motivation. Outline of LRU-K. Buffering - LRU-K

Roadmap DB Sys. Design & Impl. Reference. Detailed Roadmap. Motivation. Outline of LRU-K. Buffering - LRU-K 15-721 DB Sys. Design & Impl. Buffering - LRU-K Christos Faloutsos www.cs.cmu.edu/~christos Roadmap 1) Roots: System R and Ingres 2) Implementation: buffering, indexing, q-opt 3) Transactions: locking,

More information

Spatial Data Management

Spatial Data Management Spatial Data Management [R&G] Chapter 28 CS432 1 Types of Spatial Data Point Data Points in a multidimensional space E.g., Raster data such as satellite imagery, where each pixel stores a measured value

More information

Spatial Data Management

Spatial Data Management Spatial Data Management Chapter 28 Database management Systems, 3ed, R. Ramakrishnan and J. Gehrke 1 Types of Spatial Data Point Data Points in a multidimensional space E.g., Raster data such as satellite

More information

Multidimensional Indexes [14]

Multidimensional Indexes [14] CMSC 661, Principles of Database Systems Multidimensional Indexes [14] Dr. Kalpakis http://www.csee.umbc.edu/~kalpakis/courses/661 Motivation Examined indexes when search keys are in 1-D space Many interesting

More information

Roadmap DB Sys. Design & Impl. Association rules - outline. Citations. Association rules - idea. Association rules - idea.

Roadmap DB Sys. Design & Impl. Association rules - outline. Citations. Association rules - idea. Association rules - idea. 15-721 DB Sys. Design & Impl. Association Rules Christos Faloutsos www.cs.cmu.edu/~christos Roadmap 1) Roots: System R and Ingres... 7) Data Analysis - data mining datacubes and OLAP classifiers association

More information

Principles of Data Management. Lecture #14 (Spatial Data Management)

Principles of Data Management. Lecture #14 (Spatial Data Management) Principles of Data Management Lecture #14 (Spatial Data Management) Instructor: Mike Carey mjcarey@ics.uci.edu Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1 Today s Notable News v Project

More information

Algorithms for GIS:! Quadtrees

Algorithms for GIS:! Quadtrees Algorithms for GIS: Quadtrees Quadtree A data structure that corresponds to a hierarchical subdivision of the plane Start with a square (containing inside input data) Divide into 4 equal squares (quadrants)

More information

Roadmap DB Sys. Design & Impl. Overview. Reference. What is Join Processing? Example #1. Join Processing

Roadmap DB Sys. Design & Impl. Overview. Reference. What is Join Processing? Example #1. Join Processing 5-7 DB Sys. Design & Impl. Join Processing Christos Faloutsos www.cs.cmu.edu/~christos Roadmap ) Roots: System R and Ingres ) Implementation: buffering, indexing, q-opt OS R-trees z-ordering buffering

More information

IMPORTANT REMINDERS. Code-packaging info for your tar file. Other reminders, FYI

IMPORTANT REMINDERS. Code-packaging info for your tar file. Other reminders, FYI Carnegie Mellon University 15-826 Multimedia Databases and Data Mining Spring 2016, C. Faloutsos Homework 2 Due Date: Feb. 3, 3:00pm, in class Designed by: Di Jin. IMPORTANT REMINDERS All homeworks are

More information

CSG obj. oper3. obj1 obj2 obj3. obj5. obj4

CSG obj. oper3. obj1 obj2 obj3. obj5. obj4 Solid Modeling Solid: Boundary + Interior Volume occupied by geometry Solid representation schemes Constructive Solid Geometry (CSG) Boundary representations (B-reps) Space-partition representations Operations

More information

Multidimensional Indexing The R Tree

Multidimensional Indexing The R Tree Multidimensional Indexing The R Tree Module 7, Lecture 1 Database Management Systems, R. Ramakrishnan 1 Single-Dimensional Indexes B+ trees are fundamentally single-dimensional indexes. When we create

More information

Faloutsos 1. Carnegie Mellon Univ. Dept. of Computer Science Database Applications. Outline

Faloutsos 1. Carnegie Mellon Univ. Dept. of Computer Science Database Applications. Outline Carnegie Mellon Univ. Dept. of Computer Science 15-415 - Database Applications Lecture #14: Implementation of Relational Operations (R&G ch. 12 and 14) 15-415 Faloutsos 1 introduction selection projection

More information

Solid Modelling. Graphics Systems / Computer Graphics and Interfaces COLLEGE OF ENGINEERING UNIVERSITY OF PORTO

Solid Modelling. Graphics Systems / Computer Graphics and Interfaces COLLEGE OF ENGINEERING UNIVERSITY OF PORTO Solid Modelling Graphics Systems / Computer Graphics and Interfaces 1 Solid Modelling In 2D, one set 2D line segments or curves does not necessarily form a closed area. In 3D, a collection of surfaces

More information

Carnegie Mellon Univ. Dept. of Computer Science Database Applications. Why Sort? Why Sort? select... order by

Carnegie Mellon Univ. Dept. of Computer Science Database Applications. Why Sort? Why Sort? select... order by Carnegie Mellon Univ. Dept. of Computer Science 15-415 - Database Applications Lecture 12: external sorting (R&G ch. 13) Faloutsos 15-415 1 Why Sort? Faloutsos 15-415 2 Why Sort? select... order by e.g.,

More information

Computer Graphics. Bing-Yu Chen National Taiwan University The University of Tokyo

Computer Graphics. Bing-Yu Chen National Taiwan University The University of Tokyo Computer Graphics Bing-Yu Chen National Taiwan University The University of Tokyo Hidden-Surface Removal Back-Face Culling The Depth-Sort Algorithm Binary Space-Partitioning Trees The z-buffer Algorithm

More information

Topic 6 Representation and Description

Topic 6 Representation and Description Topic 6 Representation and Description Background Segmentation divides the image into regions Each region should be represented and described in a form suitable for further processing/decision-making Representation

More information

What we have covered?

What we have covered? What we have covered? Indexing and Hashing Data warehouse and OLAP Data Mining Information Retrieval and Web Mining XML and XQuery Spatial Databases Transaction Management 1 Lecture 6: Spatial Data Management

More information

Linear clustering in database systems

Linear clustering in database systems University of Wollongong Research Online University of Wollongong Thesis Collection 1954-2016 University of Wollongong Thesis Collections 1994 Linear clustering in database systems Manish Vijay Bhutkar

More information

Last Class. Carnegie Mellon Univ. Dept. of Computer Science /615 - DB Applications. Why do we need to sort? Today's Class

Last Class. Carnegie Mellon Univ. Dept. of Computer Science /615 - DB Applications. Why do we need to sort? Today's Class Carnegie Mellon Univ. Dept. of Computer Science 15-415/615 - DB Applications C. Faloutsos A. Pavlo Lecture#12: External Sorting (R&G, Ch13) Static Hashing Extendible Hashing Linear Hashing Hashing vs.

More information

Spatial Data Structures

Spatial Data Structures 15-462 Computer Graphics I Lecture 17 Spatial Data Structures Hierarchical Bounding Volumes Regular Grids Octrees BSP Trees Constructive Solid Geometry (CSG) April 1, 2003 [Angel 9.10] Frank Pfenning Carnegie

More information

So, we want to perform the following query:

So, we want to perform the following query: Abstract This paper has two parts. The first part presents the join indexes.it covers the most two join indexing, which are foreign column join index and multitable join index. The second part introduces

More information

Multidimensional Data and Modelling - DBMS

Multidimensional Data and Modelling - DBMS Multidimensional Data and Modelling - DBMS 1 DBMS-centric approach Summary: l Spatial data is considered as another type of data beside conventional data in a DBMS. l Enabling advantages of DBMS (data

More information

Spatial Data Structures

Spatial Data Structures 15-462 Computer Graphics I Lecture 17 Spatial Data Structures Hierarchical Bounding Volumes Regular Grids Octrees BSP Trees Constructive Solid Geometry (CSG) March 28, 2002 [Angel 8.9] Frank Pfenning Carnegie

More information

Query Processing and Advanced Queries. Advanced Queries (2): R-TreeR

Query Processing and Advanced Queries. Advanced Queries (2): R-TreeR Query Processing and Advanced Queries Advanced Queries (2): R-TreeR Review: PAM Given a point set and a rectangular query, find the points enclosed in the query We allow insertions/deletions online Query

More information

Database Applications (15-415)

Database Applications (15-415) Database Applications (15-415) DBMS Internals- Part V Lecture 13, March 10, 2014 Mohammad Hammoud Today Welcome Back from Spring Break! Today Last Session: DBMS Internals- Part IV Tree-based (i.e., B+

More information

Computer Graphics. Bing-Yu Chen National Taiwan University

Computer Graphics. Bing-Yu Chen National Taiwan University Computer Graphics Bing-Yu Chen National Taiwan University Visible-Surface Determination Back-Face Culling The Depth-Sort Algorithm Binary Space-Partitioning Trees The z-buffer Algorithm Scan-Line Algorithm

More information

layers in a raster model

layers in a raster model layers in a raster model Layer 1 Layer 2 layers in an vector-based model (1) Layer 2 Layer 1 layers in an vector-based model (2) raster versus vector data model Raster model Vector model Simple data structure

More information

Evaluation of Relational Operations: Other Techniques

Evaluation of Relational Operations: Other Techniques Evaluation of Relational Operations: Other Techniques [R&G] Chapter 14, Part B CS4320 1 Using an Index for Selections Cost depends on #qualifying tuples, and clustering. Cost of finding qualifying data

More information

Spatial Queries. Nearest Neighbor Queries

Spatial Queries. Nearest Neighbor Queries Spatial Queries Nearest Neighbor Queries Spatial Queries Given a collection of geometric objects (points, lines, polygons,...) organize them on disk, to answer efficiently point queries range queries k-nn

More information

An Introduction to Spatial Databases

An Introduction to Spatial Databases An Introduction to Spatial Databases R. H. Guting VLDB Journal v3, n4, October 1994 Speaker: Giovanni Conforti Outline: a rather old (but quite complete) survey on Spatial DBMS Introduction & definition

More information

Announcements. Written Assignment2 is out, due March 8 Graded Programming Assignment2 next Tuesday

Announcements. Written Assignment2 is out, due March 8 Graded Programming Assignment2 next Tuesday Announcements Written Assignment2 is out, due March 8 Graded Programming Assignment2 next Tuesday 1 Spatial Data Structures Hierarchical Bounding Volumes Grids Octrees BSP Trees 11/7/02 Speeding Up Computations

More information

CMSC 425: Lecture 10 Geometric Data Structures for Games: Index Structures Tuesday, Feb 26, 2013

CMSC 425: Lecture 10 Geometric Data Structures for Games: Index Structures Tuesday, Feb 26, 2013 CMSC 2: Lecture 10 Geometric Data Structures for Games: Index Structures Tuesday, Feb 2, 201 Reading: Some of today s materials can be found in Foundations of Multidimensional and Metric Data Structures,

More information

Last Class Carnegie Mellon Univ. Dept. of Computer Science /615 - DB Applications

Last Class Carnegie Mellon Univ. Dept. of Computer Science /615 - DB Applications Last Class Carnegie Mellon Univ. Dept. of Computer Science 15-415/615 - DB Applications C. Faloutsos A. Pavlo Lecture#12: External Sorting (R&G, Ch13) Static Hashing Extendible Hashing Linear Hashing Hashing

More information

9. Three Dimensional Object Representations

9. Three Dimensional Object Representations 9. Three Dimensional Object Representations Methods: Polygon and Quadric surfaces: For simple Euclidean objects Spline surfaces and construction: For curved surfaces Procedural methods: Eg. Fractals, Particle

More information

Evaluation of Relational Operations: Other Techniques

Evaluation of Relational Operations: Other Techniques Evaluation of Relational Operations: Other Techniques Chapter 12, Part B Database Management Systems 3ed, R. Ramakrishnan and Johannes Gehrke 1 Using an Index for Selections v Cost depends on #qualifying

More information

A Real Time GIS Approximation Approach for Multiphase Spatial Query Processing Using Hierarchical-Partitioned-Indexing Technique

A Real Time GIS Approximation Approach for Multiphase Spatial Query Processing Using Hierarchical-Partitioned-Indexing Technique International Journal of Scientific Research in Computer Science, Engineering and Information Technology 2017 IJSRCSEIT Volume 2 Issue 6 ISSN : 2456-3307 A Real Time GIS Approximation Approach for Multiphase

More information

Algorithms for GIS csci3225

Algorithms for GIS csci3225 Algorithms for GIS csci3225 Laura Toma Bowdoin College COB multiplication, matrix layout and space-filling curves Matrix layout Matrix a is given in row-major order 8 row-major order 0 1 2 3 4 5 6 7 8

More information

Page 1. Area-Subdivision Algorithms z-buffer Algorithm List Priority Algorithms BSP (Binary Space Partitioning Tree) Scan-line Algorithms

Page 1. Area-Subdivision Algorithms z-buffer Algorithm List Priority Algorithms BSP (Binary Space Partitioning Tree) Scan-line Algorithms Visible Surface Determination Visibility Culling Area-Subdivision Algorithms z-buffer Algorithm List Priority Algorithms BSP (Binary Space Partitioning Tree) Scan-line Algorithms Divide-and-conquer strategy:

More information

Space Filling Curves

Space Filling Curves Algorithms for GIS Space Filling Curves Laura Toma Bowdoin College A map from an interval to a square Space filling curves Space filling curves https://mathsbyagirl.wordpress.com/tag/curve/ A map from

More information

Chap4: Spatial Storage and Indexing

Chap4: Spatial Storage and Indexing Chap4: Spatial Storage and Indexing 4.1 Storage:Disk and Files 4.2 Spatial Indexing 4.3 Trends 4.4 Summary Learning Objectives Learning Objectives (LO) LO1: Understand concept of a physical data model

More information

Space-filling curves for spatial data structures

Space-filling curves for spatial data structures Space-filling curves for spatial data structures Herman Haverkort & Freek van Walderveen, TU Eindhoven Report all rectangles that intersect rectangular query range Space-filling curves for spatial data

More information

Spatial Data Structures

Spatial Data Structures CSCI 420 Computer Graphics Lecture 17 Spatial Data Structures Jernej Barbic University of Southern California Hierarchical Bounding Volumes Regular Grids Octrees BSP Trees [Angel Ch. 8] 1 Ray Tracing Acceleration

More information

Filling Space with Random Line Segments

Filling Space with Random Line Segments Filling Space with Random Line Segments John Shier Abstract. The use of a nonintersecting random search algorithm with objects having zero width ("measure zero") is explored. The line length in the units

More information

Multidimensional Data and Modelling

Multidimensional Data and Modelling Multidimensional Data and Modelling 1 Problems of multidimensional data structures l multidimensional (md-data or spatial) data and their implementation of operations between objects (spatial data practically

More information

AN OVERVIEW OF SPATIAL INDEXING WITHIN RDBMS

AN OVERVIEW OF SPATIAL INDEXING WITHIN RDBMS AN OVERVIEW OF SPATIAL INDEXING WITHIN RDBMS ADD SUBTITLE IN ALL CAPS DAVID DEHAAN SQL ANYWHERE QUERY PROCESSING TEAM SYBASE THURSDAY 9 FEB 2012 CHERITON SCHOOL OF COMPUTER SCIENCE, CS 448/648 OUTLINE

More information

Spatial Data Structures for Computer Graphics

Spatial Data Structures for Computer Graphics Spatial Data Structures for Computer Graphics Page 1 of 65 http://www.cse.iitb.ac.in/ sharat November 2008 Spatial Data Structures for Computer Graphics Page 1 of 65 http://www.cse.iitb.ac.in/ sharat November

More information

15-415/615 Faloutsos 1

15-415/615 Faloutsos 1 Carnegie Mellon Univ. Dept. of Computer Science 15-415/615 - DB Applications Lecture #14: Implementation of Relational Operations (R&G ch. 12 and 14) 15-415/615 Faloutsos 1 Outline introduction selection

More information

Spatial Data Structures

Spatial Data Structures CSCI 480 Computer Graphics Lecture 7 Spatial Data Structures Hierarchical Bounding Volumes Regular Grids BSP Trees [Ch. 0.] March 8, 0 Jernej Barbic University of Southern California http://www-bcf.usc.edu/~jbarbic/cs480-s/

More information

FRACTALS The term fractal was coined by mathematician Benoit Mandelbrot A fractal object, unlike a circle or any regular object, has complexity at all scales Natural Fractal Objects Natural fractals

More information

Data Organization and Processing

Data Organization and Processing Data Organization and Processing Spatial Join (NDBI007) David Hoksza http://siret.ms.mff.cuni.cz/hoksza Outline Spatial join basics Relational join Spatial join Spatial join definition (1) Given two sets

More information

CS 4604: Introduction to Database Management Systems. B. Aditya Prakash Lecture #10: Query Processing

CS 4604: Introduction to Database Management Systems. B. Aditya Prakash Lecture #10: Query Processing CS 4604: Introduction to Database Management Systems B. Aditya Prakash Lecture #10: Query Processing Outline introduction selection projection join set & aggregate operations Prakash 2018 VT CS 4604 2

More information

Outline. Database Management and Tuning. Index Data Structures. Outline. Index Tuning. Johann Gamper. Unit 5

Outline. Database Management and Tuning. Index Data Structures. Outline. Index Tuning. Johann Gamper. Unit 5 Outline Database Management and Tuning Johann Gamper Free University of Bozen-Bolzano Faculty of Computer Science IDSE Unit 5 1 2 Conclusion Acknowledgements: The slides are provided by Nikolaus Augsten

More information

Spatial Data Models. Raster uses individual cells in a matrix, or grid, format to represent real world entities

Spatial Data Models. Raster uses individual cells in a matrix, or grid, format to represent real world entities Spatial Data Models Raster uses individual cells in a matrix, or grid, format to represent real world entities Vector uses coordinates to store the shape of spatial data objects David Tenenbaum GEOG 7

More information

XZ-Ordering: A Space-Filling Curve for Objects with Spatial Extension

XZ-Ordering: A Space-Filling Curve for Objects with Spatial Extension 6th Int. Symposium on Large Spatial Databases (SSD), 1999, Hong Kong, China XZ-Ordering: A Space-Filling Curve for Objects with Spatial Extension Christian Böhm 1, Gerald Klump 1 and Hans-Peter Kriegel

More information

Workloads Programmierung Paralleler und Verteilter Systeme (PPV)

Workloads Programmierung Paralleler und Verteilter Systeme (PPV) Workloads Programmierung Paralleler und Verteilter Systeme (PPV) Sommer 2015 Frank Feinbube, M.Sc., Felix Eberhardt, M.Sc., Prof. Dr. Andreas Polze Workloads 2 Hardware / software execution environment

More information

Introduction to Geographic Information Science. Some Updates. Last Lecture 4/6/2017. Geography 4103 / Raster Data and Tesselations.

Introduction to Geographic Information Science. Some Updates. Last Lecture 4/6/2017. Geography 4103 / Raster Data and Tesselations. Geography 43 / 3 Introduction to Geographic Information Science Raster Data and Tesselations Schedule Some Updates Last Lecture We finished DBMS and learned about storage of data in complex databases Relational

More information

Image Processing. Bilkent University. CS554 Computer Vision Pinar Duygulu

Image Processing. Bilkent University. CS554 Computer Vision Pinar Duygulu Image Processing CS 554 Computer Vision Pinar Duygulu Bilkent University Today Image Formation Point and Blob Processing Binary Image Processing Readings: Gonzalez & Woods, Ch. 3 Slides are adapted from

More information

Implementation of Relational Operations: Other Operations

Implementation of Relational Operations: Other Operations Implementation of Relational Operations: Other Operations Module 4, Lecture 2 Database Management Systems, R. Ramakrishnan 1 Simple Selections SELECT * FROM Reserves R WHERE R.rname < C% Of the form σ

More information

Chapter 1: Introduction to Spatial Databases

Chapter 1: Introduction to Spatial Databases Chapter 1: Introduction to Spatial Databases 1.1 Overview 1.2 Application domains 1.3 Compare a SDBMS with a GIS 1.4 Categories of Users 1.5 An example of an SDBMS application 1.6 A Stroll though a spatial

More information

Sorting in Space and Network Distance Browsing

Sorting in Space and Network Distance Browsing Sorting in Space and Network Distance Browsing Hanan Samet hjs@cs.umd.edu http://www.cs.umd.edu/ hjs Department of Computer Science University of Maryland College Park, MD 20742, USA These notes may not

More information

Intersection Acceleration

Intersection Acceleration Advanced Computer Graphics Intersection Acceleration Matthias Teschner Computer Science Department University of Freiburg Outline introduction bounding volume hierarchies uniform grids kd-trees octrees

More information

Review of Cartographic Data Types and Data Models

Review of Cartographic Data Types and Data Models Review of Cartographic Data Types and Data Models GIS Data Models Raster Versus Vector in GIS Analysis Fundamental element used to represent spatial features: Raster: pixel or grid cell. Vector: x,y coordinate

More information

Carnegie Mellon Univ. Dept. of Computer Science /615 DB Applications. Outline. (Static) Hashing. Faloutsos - Pavlo CMU SCS /615

Carnegie Mellon Univ. Dept. of Computer Science /615 DB Applications. Outline. (Static) Hashing. Faloutsos - Pavlo CMU SCS /615 Faloutsos - Pavlo 15-415/615 Carnegie Mellon Univ. Dept. of Computer Science 15-415/615 DB Applications Faloutsos & Pavlo Lecture#11 (R&G ch. 11) Hashing (static) hashing extendible hashing linear hashing

More information

Sorting a file in RAM. External Sorting. Why Sort? 2-Way Sort of N pages Requires Minimum of 3 Buffers Pass 0: Read a page, sort it, write it.

Sorting a file in RAM. External Sorting. Why Sort? 2-Way Sort of N pages Requires Minimum of 3 Buffers Pass 0: Read a page, sort it, write it. Sorting a file in RAM External Sorting Chapter 13 Three steps: Read the entire file from disk into RAM Sort the records using a standard sorting procedure, such as Shell sort, heap sort, bubble sort, Write

More information

Extending Rectangle Join Algorithms for Rectilinear Polygons

Extending Rectangle Join Algorithms for Rectilinear Polygons Extending Rectangle Join Algorithms for Rectilinear Polygons Hongjun Zhu, Jianwen Su, and Oscar H. Ibarra University of California at Santa Barbara Abstract. Spatial joins are very important but costly

More information

Introduction to Spatial Database Systems

Introduction to Spatial Database Systems Introduction to Spatial Database Systems by Cyrus Shahabi from Ralf Hart Hartmut Guting s VLDB Journal v3, n4, October 1994 Data Structures & Algorithms 1. Implementation of spatial algebra in an integrated

More information

Speeding up Bulk-Loading of Quadtrees

Speeding up Bulk-Loading of Quadtrees Speeding up Bulk-Loading of Quadtrees 0 Gísli R. Hjaltason 1 Hanan Samet 1 Yoram J. Sussmann 2 Computer Science Department, Center for Automation Research, and Institute for Advanced Computer Studies,

More information

Algorithms for GIS: Space filling curves

Algorithms for GIS: Space filling curves Algorithms for GIS: Space filling curves Z-order visit quadrants recursively in this order: NW, NE, SW, SE Z-order visit quadrants recursively in this order: NW, NE, SW, SE Z-order visit quadrants recursively

More information

Evaluation of Relational Operations: Other Techniques

Evaluation of Relational Operations: Other Techniques Evaluation of Relational Operations: Other Techniques Chapter 14, Part B Database Management Systems 3ed, R. Ramakrishnan and Johannes Gehrke 1 Using an Index for Selections Cost depends on #qualifying

More information

Introduction to Indexing R-trees. Hong Kong University of Science and Technology

Introduction to Indexing R-trees. Hong Kong University of Science and Technology Introduction to Indexing R-trees Dimitris Papadias Hong Kong University of Science and Technology 1 Introduction to Indexing 1. Assume that you work in a government office, and you maintain the records

More information

Course Content. Objectives of Lecture? CMPUT 391: Spatial Data Management Dr. Jörg Sander & Dr. Osmar R. Zaïane. University of Alberta

Course Content. Objectives of Lecture? CMPUT 391: Spatial Data Management Dr. Jörg Sander & Dr. Osmar R. Zaïane. University of Alberta Database Management Systems Winter 2002 CMPUT 39: Spatial Data Management Dr. Jörg Sander & Dr. Osmar. Zaïane University of Alberta Chapter 26 of Textbook Course Content Introduction Database Design Theory

More information

Cost-based Query Sub-System. Carnegie Mellon Univ. Dept. of Computer Science /615 - DB Applications. Last Class.

Cost-based Query Sub-System. Carnegie Mellon Univ. Dept. of Computer Science /615 - DB Applications. Last Class. Cost-based Query Sub-System Carnegie Mellon Univ. Dept. of Computer Science 15-415/615 - DB Applications Queries Select * From Blah B Where B.blah = blah Query Parser Query Optimizer C. Faloutsos A. Pavlo

More information

Image Rotation Using Quad Tree

Image Rotation Using Quad Tree 80 Image Rotation Using Quad Tree Aashish Kumar, Lec. ECE Dept. Swami Vivekanand institute of Engneering & Technology, Ramnagar Banur ABSTRACT This paper presents a data structure based technique of rotating

More information

Renderer Implementation: Basics and Clipping. Overview. Preliminaries. David Carr Virtual Environments, Fundamentals Spring 2005

Renderer Implementation: Basics and Clipping. Overview. Preliminaries. David Carr Virtual Environments, Fundamentals Spring 2005 INSTITUTIONEN FÖR SYSTEMTEKNIK LULEÅ TEKNISKA UNIVERSITET Renderer Implementation: Basics and Clipping David Carr Virtual Environments, Fundamentals Spring 2005 Feb-28-05 SMM009, Basics and Clipping 1

More information

Space Filling Curves and Hierarchical Basis. Klaus Speer

Space Filling Curves and Hierarchical Basis. Klaus Speer Space Filling Curves and Hierarchical Basis Klaus Speer Abstract Real world phenomena can be best described using differential equations. After linearisation we have to deal with huge linear systems of

More information

A New Progressive Lossy-to-Lossless Coding Method for 2.5-D Triangle Mesh with Arbitrary Connectivity

A New Progressive Lossy-to-Lossless Coding Method for 2.5-D Triangle Mesh with Arbitrary Connectivity A New Progressive Lossy-to-Lossless Coding Method for 2.5-D Triangle Mesh with Arbitrary Connectivity Dan Han University of Victoria October 31, 2016 New Mesh-Coding Method Dan Han 1 Outline 1 Introduction

More information

SP-GiST a new indexing framework for PostgreSQL

SP-GiST a new indexing framework for PostgreSQL SP-GiST a new indexing framework for PostgreSQL Space-partitioning trees in PostgreSQL Oleg Bartunov, Teodor Sigaev Moscow University PostgreSQL extensibility The world's most advanced open source database

More information

UNIVERSITY OF WATERLOO Faculty of Mathematics

UNIVERSITY OF WATERLOO Faculty of Mathematics UNIVERSITY OF WATERLOO Faculty of Mathematics Exploring the application of Space Partitioning Methods on river segments S.S. Papadopulos & Associates Bethesda, MD, US Max Ren 20413992 3A Computer Science/BBA

More information

Evaluating Queries. Query Processing: Overview. Query Processing: Example 6/2/2009. Query Processing

Evaluating Queries. Query Processing: Overview. Query Processing: Example 6/2/2009. Query Processing Evaluating Queries Query Processing Query Processing: Overview Query Processing: Example select lname from employee where ssn = 123456789 ; query expression tree? π lname σ ssn= 123456789 employee physical

More information

DS504/CS586: Big Data Analytics Data Management Prof. Yanhua Li

DS504/CS586: Big Data Analytics Data Management Prof. Yanhua Li Welcome to DS504/CS586: Big Data Analytics Data Management Prof. Yanhua Li Time: 6:00pm 8:50pm R Location: KH 116 Fall 2017 First Grading for Reading Assignment Weka v 6 weeks v https://weka.waikato.ac.nz/dataminingwithweka/preview

More information

The exam begins at 2:40pm and ends at 4:00pm. You must turn your exam in when time is announced or risk not having it accepted.

The exam begins at 2:40pm and ends at 4:00pm. You must turn your exam in when time is announced or risk not having it accepted. CS 184: Foundations of Computer Graphics page 1 of 10 Student Name: Class Account Username: Instructions: Read them carefully! The exam begins at 2:40pm and ends at 4:00pm. You must turn your exam in when

More information

R-Trees. Accessing Spatial Data

R-Trees. Accessing Spatial Data R-Trees Accessing Spatial Data In the beginning The B-Tree provided a foundation for R- Trees. But what s a B-Tree? A data structure for storing sorted data with amortized run times for insertion and deletion

More information

Multidimensional (spatial) Data and Modelling (2)

Multidimensional (spatial) Data and Modelling (2) Multidimensional (spatial) Data and Modelling (2) 1 Representative operations on maps l l l l l are operations on layers used in maps (all 2-d). Synonyms f. map: layer, spatial partition Def. properties:

More information

Database Applications (15-415)

Database Applications (15-415) Database Applications (15-415) DBMS Internals- Part VI Lecture 17, March 24, 2015 Mohammad Hammoud Today Last Two Sessions: DBMS Internals- Part V External Sorting How to Start a Company in Five (maybe

More information

COMP 430 Intro. to Database Systems. Indexing

COMP 430 Intro. to Database Systems. Indexing COMP 430 Intro. to Database Systems Indexing How does DB find records quickly? Various forms of indexing An index is automatically created for primary key. SQL gives us some control, so we should understand

More information

Chapel Hill Math Circle: Symmetry and Fractals

Chapel Hill Math Circle: Symmetry and Fractals Chapel Hill Math Circle: Symmetry and Fractals 10/7/17 1 Introduction This worksheet will explore symmetry. To mathematicians, a symmetry of an object is, roughly speaking, a transformation that does not

More information

Chapter 4. Chapter 4. Computer Graphics 2006/2007 Chapter 4. Introduction to 3D 1

Chapter 4. Chapter 4. Computer Graphics 2006/2007 Chapter 4. Introduction to 3D 1 Chapter 4 Chapter 4 Chapter 4. Introduction to 3D graphics 4.1 Scene traversal 4.2 Modeling transformation 4.3 Viewing transformation 4.4 Clipping 4.5 Hidden faces removal 4.6 Projection 4.7 Lighting 4.8

More information

Module 4: Tree-Structured Indexing

Module 4: Tree-Structured Indexing Module 4: Tree-Structured Indexing Module Outline 4.1 B + trees 4.2 Structure of B + trees 4.3 Operations on B + trees 4.4 Extensions 4.5 Generalized Access Path 4.6 ORACLE Clusters Web Forms Transaction

More information

Database Applications (15-415)

Database Applications (15-415) Database Applications (15-415) DBMS Internals- Part IV Lecture 14, March 10, 015 Mohammad Hammoud Today Last Two Sessions: DBMS Internals- Part III Tree-based indexes: ISAM and B+ trees Data Warehousing/

More information

Exploiting Depth Camera for 3D Spatial Relationship Interpretation

Exploiting Depth Camera for 3D Spatial Relationship Interpretation Exploiting Depth Camera for 3D Spatial Relationship Interpretation Jun Ye Kien A. Hua Data Systems Group, University of Central Florida Mar 1, 2013 Jun Ye and Kien A. Hua (UCF) 3D directional spatial relationships

More information

Spatial Data Structures

Spatial Data Structures Spatial Data Structures Hierarchical Bounding Volumes Regular Grids Octrees BSP Trees Constructive Solid Geometry (CSG) [Angel 9.10] Outline Ray tracing review what rays matter? Ray tracing speedup faster

More information

Image Processing Via Pixel Permutations

Image Processing Via Pixel Permutations Image Processing Via Pixel Permutations Michael Elad The Computer Science Department The Technion Israel Institute of technology Haifa 32000, Israel Joint work with Idan Ram Israel Cohen The Electrical

More information

6. Object Identification L AK S H M O U. E D U

6. Object Identification L AK S H M O U. E D U 6. Object Identification L AK S H M AN @ O U. E D U Objects Information extracted from spatial grids often need to be associated with objects not just an individual pixel Group of pixels that form a real-world

More information

SAMLab Tip Sheet #5 Creating Graphs

SAMLab Tip Sheet #5 Creating Graphs Creating Graphs The purpose of this tip sheet is to provide a basic demonstration of how to create graphs with Excel. Excel can generate a wide variety of graphs, but we will use only two as primary examples.

More information

Carnegie Mellon Univ. Dept. of Computer Science /615 - DB Applications. Overview - detailed. Goal. Faloutsos & Pavlo CMU SCS /615

Carnegie Mellon Univ. Dept. of Computer Science /615 - DB Applications. Overview - detailed. Goal. Faloutsos & Pavlo CMU SCS /615 Faloutsos & Pavlo 15-415/615 Carnegie Mellon Univ. Dept. of Computer Science 15-415/615 - DB Applications Lecture #17: Schema Refinement & Normalization - Normal Forms (R&G, ch. 19) Overview - detailed

More information

CS443: Digital Imaging and Multimedia Binary Image Analysis. Spring 2008 Ahmed Elgammal Dept. of Computer Science Rutgers University

CS443: Digital Imaging and Multimedia Binary Image Analysis. Spring 2008 Ahmed Elgammal Dept. of Computer Science Rutgers University CS443: Digital Imaging and Multimedia Binary Image Analysis Spring 2008 Ahmed Elgammal Dept. of Computer Science Rutgers University Outlines A Simple Machine Vision System Image segmentation by thresholding

More information

Chapter 11 Representation & Description

Chapter 11 Representation & Description Chain Codes Chain codes are used to represent a boundary by a connected sequence of straight-line segments of specified length and direction. The direction of each segment is coded by using a numbering

More information

Problem. Indexing with B-trees. Indexing. Primary Key Indexing. B-trees: Example. B-trees. primary key indexing

Problem. Indexing with B-trees. Indexing. Primary Key Indexing. B-trees: Example. B-trees. primary key indexing 15-82 Advanced Topics in Database Systems Performance Problem Given a large collection of records, Indexing with B-trees find similar/interesting things, i.e., allow fast, approximate queries 2 Indexing

More information

Lecture 25 of 41. Spatial Sorting: Binary Space Partitioning Quadtrees & Octrees

Lecture 25 of 41. Spatial Sorting: Binary Space Partitioning Quadtrees & Octrees Spatial Sorting: Binary Space Partitioning Quadtrees & Octrees William H. Hsu Department of Computing and Information Sciences, KSU KSOL course pages: http://bit.ly/hgvxlh / http://bit.ly/evizre Public

More information