YOU ARE DOWNLOADING DOCUMENT

Please tick the box to continue:

Transcript
Page 1: R-Trees and applications Efficient grid queries in the Dynamo reservoir modelling software.

R-Trees and applications

Efficient grid queries in the Dynamo reservoir modelling

software

Page 2: R-Trees and applications Efficient grid queries in the Dynamo reservoir modelling software.

R-Tree Project

A.N. Yzelman (UU)

Supervisors

A.N. Swart (Alten)

G.L.G. Sleijpen (UU)

Project Owners

Eric Haesen (Alten)

Hans Molenaar (Shell)

Page 3: R-Trees and applications Efficient grid queries in the Dynamo reservoir modelling software.

Overview

• Problem: Querying large spatial databases.

• Application in Dynamo reservoir simulation software.

• R-Trees.- Example- Testing- Implementation

Page 4: R-Trees and applications Efficient grid queries in the Dynamo reservoir modelling software.

Querying spatial data

• Needed in areas of:1. Image processing

(Ray-tracing / CAD)2. Geographical information systems (e.g., TomTom)

3. Robotics

Page 5: R-Trees and applications Efficient grid queries in the Dynamo reservoir modelling software.

Example

The San Francisco road network

Page 6: R-Trees and applications Efficient grid queries in the Dynamo reservoir modelling software.

Typical Queries

• Containment“What objects are contained in ...”

• Neighbours“What objects are close to...”

• Intersection“What objects cross...”

Page 7: R-Trees and applications Efficient grid queries in the Dynamo reservoir modelling software.

The Naive Approach

-> Test all objects

May take enormous amount of time:

174599 nodes for San Francisco Map

Conclusion: need a clever data structure

Page 8: R-Trees and applications Efficient grid queries in the Dynamo reservoir modelling software.

Trees

Example: Binary Search tree

Each node has max. two children

Page 9: R-Trees and applications Efficient grid queries in the Dynamo reservoir modelling software.

Trees

• Searching takes O(log(n)) time(2048 entries take twice the time of 1024 entries!)

• Insertion/Deletion may be slower

Main issue for spatial data:

need an ordering

Page 10: R-Trees and applications Efficient grid queries in the Dynamo reservoir modelling software.

Dynamo

• Dynamo uses high resolution grids• Queries: neighbours, intersections,

overlap• Currently uses a bisection method, which

may be sub-optimal

Dynamo may benefit from a custum taylored R-Tree implementation

Page 11: R-Trees and applications Efficient grid queries in the Dynamo reservoir modelling software.

Example Grid

Page 12: R-Trees and applications Efficient grid queries in the Dynamo reservoir modelling software.

R-Trees

• Consider a simple two-dimensional case:

Page 13: R-Trees and applications Efficient grid queries in the Dynamo reservoir modelling software.

R-Trees

• Add Bounding Boxes

Page 14: R-Trees and applications Efficient grid queries in the Dynamo reservoir modelling software.

R-Trees

• Add Bounding Boxes

Page 15: R-Trees and applications Efficient grid queries in the Dynamo reservoir modelling software.

R-Trees

• Add Bounding Boxes

Page 16: R-Trees and applications Efficient grid queries in the Dynamo reservoir modelling software.

R-Trees

• Add Bounding Boxes

Page 17: R-Trees and applications Efficient grid queries in the Dynamo reservoir modelling software.

R-Trees

• Add Bounding Boxes

Page 18: R-Trees and applications Efficient grid queries in the Dynamo reservoir modelling software.

R-Trees

• Add Bounding Boxes

Page 19: R-Trees and applications Efficient grid queries in the Dynamo reservoir modelling software.

R-Tree Properties

• Every node contains between m and M data elements unless it is the root.

• All leaves appear at the same level, and contain all the data elements.

• The bounding boxes used tightly encloses the objects within.

Page 20: R-Trees and applications Efficient grid queries in the Dynamo reservoir modelling software.

R-Tree Properties

• Every node contains between m and M data elements unless it is the root.

m and M may be chosen with memory or disk cache size in mind. In the latter case, R-trees reduce to the well known B-trees.

Page 21: R-Trees and applications Efficient grid queries in the Dynamo reservoir modelling software.

Subtleties

• By the previous example, an R-tree can be built in many different ways.

Page 22: R-Trees and applications Efficient grid queries in the Dynamo reservoir modelling software.

R-Trees

Page 23: R-Trees and applications Efficient grid queries in the Dynamo reservoir modelling software.

Variants

• By the previous example, we saw an R-tree can be built in many different ways.

• Leads to many different R-tree variations.

Page 24: R-Trees and applications Efficient grid queries in the Dynamo reservoir modelling software.

Variants

• By the previous example, we saw an R-tree can be built in many different ways.

• Leads to many different R-tree variations.• For example:

R*-tree, PR-tree, Hilbert-tree, R+-tree,

and more...

Page 25: R-Trees and applications Efficient grid queries in the Dynamo reservoir modelling software.

Testing

• Use real life geographical data supplied by Shell.

• Test several R-tree variations.• Tune tree parameters to the specifics of

Shell data.• Quantify results in terms of query time,

memory usage and query response quality.

Page 26: R-Trees and applications Efficient grid queries in the Dynamo reservoir modelling software.

Implementation

• Object-Oriented C++• Easily extended• “Plug & Play” solution for spatial data

storage• Generic design targeted at n-dimensional

polygons in different spaces

Page 27: R-Trees and applications Efficient grid queries in the Dynamo reservoir modelling software.
Page 28: R-Trees and applications Efficient grid queries in the Dynamo reservoir modelling software.

Questions?


Related Documents