Top Banner
R-Trees and applications Efficient grid queries in the Dynamo reservoir modelling software
28

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

Dec 27, 2015

Download

Documents

Wilfrid Gray
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
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?