spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf ·...

57
Spa$al Database Systems Gilberto Ribeiro de Queiroz ([email protected])

Transcript of spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf ·...

Page 1: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal

Spa$al  Database  Systems  

Gilberto  Ribeiro  de  Queiroz  ([email protected])  

Page 2: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal

Roadmap  •  What  is  a  Spa$al  Database  System  (SDS)?  

•  Spa$al  Data  Types  and  Operators  

•  What  is  a  Mul$-­‐dimensional  Access  Method  (Spa$al  Indexing)?  

•  GIS  and  DBMS  integra$on  

•  Standards  for  SDS  

•  Historical  Development  of  Spa$al  Database  Systems  

Page 3: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal

What  is  a  Spa$al  Database  System?  

Page 4: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal

Source:  W

ikiped

ia  

Geographic  Informa$on  Systems  (GIS)  

Source:  Wikipedia  

Electronic  Design  Automa$on  (EDA  or  ECAD)  

Source:  MMDB  

3D  Macromolecular  Structures  

Source:  3DS

licer  

3D  Magne$c  Resonance  Imaging  (MRI)  

Which  applica$ons  have  to  manage  data  related  to  space?  

Page 5: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal

Database  Technology  Evolu$on  

1960   1970   1980   1990   2000   2010  

Object  Oriented  Databases  

Object  Rela$onal  Databases  

Research  on  Database  Extensibility  

Generalized  Programming  

File  dependent  programs  

Hierarchical  Database  Model  (IBM  IMS)  

Rela$onal  Databases  (RDBMS)  

Emergent  and  demanding  applica$ons:  CAD,  GIS,  Mul$media,  OLAP,  Real-­‐$me,  Scien$fic  

Page 6: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal

Database  Technology  Evolu$on  

1960   1970   1980   1990   2000   2010  

Object  Oriented  Databases  

Object  Rela$onal  Databases  

Emergent  and  demanding  applica/ons:  CAD,  GIS,  Mul$media,  OLAP,  Real-­‐$me,  Scien$fic  

Generalized  Programming  

File  dependent  programs  

Hierarchical  Database  Model  (IBM  IMS)  

Rela$onal  Databases  (RDBMS)  

Several  Research  Prototypes  in  the  late  80’s:  Probe,  DASDBS  GEO-­‐Kernel,  Gral,  SIRO-­‐DBMS,  Starburst,  Geo++,  GéoSabrina,  GODOT,  GeoO2,  Paradise  

Page 7: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal

Is  there  a  unified  term  for  SDS?  

•  Common  terms  in  the  literature:  –  Pictorial  –  Image  – Geometric  – Geographic  –  Spa$al  database  system  

•  Most  dis$nguished:  –  Image  database  systems  –  Spa$al  database  systems  

raster  images:  such  as  remote  sensing  satellite  data  or  computer  tomography  

set  of  objects  in  space  

We  will  have  specific  classes  about  this  topic  

This  will  be  our  focus  for  the  next  classes  

Page 8: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal

A  Spa$al  Database  System  is…  

Database  System  

Spa/al  Data  Types  

Spa/al  Indexing  

+  

+  

geometric  informa$on  may  be  connected  to  non-­‐spa$al  data:  

“who  is  the  owner  of  a  given  parcel?”  

The  model  and  query  language  must  support  spa$al  types  such  as  points,  lines,  or  polygons  and  their  opera$ons  (intersec$on,  area,  ...)  

The  system  should  avoid  scanning  the  whole  set  of  objects  when  execu$ng  a  given  query  or  

performing  a  spa$al  join  

Page 9: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal

A  Spa$al  Database  System  is  not  a  full  GIS  

A  SDS  should  provide  the  underlying  database  technology  for  a  GIS  

 GIS  is  the  driven  technology  of  today  SDS  

Page 10: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal

Spa$al  Data  Types  

Page 11: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal

Spa$al  Data  Types  

Single  Objects  

Page 12: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal

Point  •  A  point  represents  an  object  for  which  only  its  loca$on  in  space  is  relevant:  –  its  extent  is  not  important  for  modeling.  –  Zero  dimensional  objects.  

•  Points  may  be  embedded  in:  –             (2D  space):  

•  (x,  y)  –             (3D  Space)  

•  (x,  y,  z)  •  (x,  y,  z,  m)        obs.:  m  =  measure  

ℜ2

ℜ3

Page 13: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal

Line  •  Used  for  represen$ng  a  curve  in  space:  

–  A  sequence  of  coordinates  –  Linear  objects  or  1-­‐dimensional  –  Roads,  rivers,  cables,  electricity  lines  

•  Lines  may  be  embedded  in:  –               (2D  space):  

•  {  (x1,  y1),  (x2,  y2),  ...,  (xn,  yn)}  –               (3D  Space)  –               (3D  Space)  +  Measure  

•  Segment  interpola$on:  –  Linear  interpola$on  between  nodes  –  Curved  segments  

ℜ2

ℜ3

ℜ3

Page 14: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal

Polygon  •  A  polygon  (or  region)  is  used  to  represent  something  having  an  extent  and  

area:  –  One  outer  ring  and  zero  or  more  inner  rings.  –  Surface  objects  or  2-­‐dimensional.  –  A  polygon  is  a  region  bounded  by  a  closed  line  (called  ring).  

Polygon  with  holes  (disconnected  exterior)  

     

A  region  with  several  disjoint  pieces  

     

Simple  polygon  (no  self  intersec$on)  

     

Polygon  without  holes  (non-­‐disconnected  exterior)  

     

Curved  and  Compound  Polygon  

     

Page 15: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal

Spa$al  Data  Types  

How  to  represent  a  collec$on  of  spa$al  objects?  

Page 16: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal

Par$$ons  of  the  plane  MG  Ci$es   MG  Crop  Lands  

No  overlap  of  regions.  Specially  interset:  adjacency  rela$onship.  

Useful  for  thema$c  maps.  

Page 17: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal

Networks  

A  graph  embedded  in  the  plane.  Set  of  points  forming  the  nodes  and  a  set  of  lines  forming  

the  edges.  

Page 18: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal

Internal  Representa$on  

•  Single  objects  (points,  lines,  polygons):  –  Data  structures  for  sequences:  vector  or  lists;  –  Orienta$on:  clockwise  or  counter-­‐clockwise;  –  Ordering:  x  or  y.  

•  Representa$ng  a  collec$on  of  objects:  Spaghem  Model  

O1   O2  

O3  

Topological  Model  

O1   O2  

O3  

n1  

n2  n3  n4  

a1  

a2  

a3  

a4  

Network  Model  

Page 19: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal

Spa$al  Data  Types  

Spa$al  Algebras  

Page 20: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal

Spa$al  Algebras  

•  When  introducing  spa$al  types  into  a  DBMS  it  is  necessary  to  define  a  spa$al  algebra:  

Abstract  Data  Types  (ADT):  ü  combina$on  of  data  types  and  their  opera$ons;  ü  Accessible  only  through  opera$ons  defined  on  them  (encapsula$on).  

∀p in polygon

p × p → bool intersects, disjoint, touches, overlapsp × p → geometry intersectionp → [lines] boundaryp × p → real distancep → real area, perimeter

Page 21: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal

Spa$al  Opera$ons  

Geometric  Operators  Metric  Operators  

Spa$al  Rela$onships  

Page 22: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal

Set  opera/ons                        

Geometric  Operators  Convex  

 Hull  

Buffer  distance  

Topological  Transforms:  rota$on,  transla$on,  scale  change,  symmetry.  

Dimensional  Transforms:  boundary.  

Extrac/on:  MBR,  centroid.  

Object  Proper/es:  is_convex,  is_connected,  is_simple.  

Intersec$on   Union  

Difference   Symetric  Difference  

Page 23: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal

Metric  Operators  

•  Length  •  Perimeter  •  Area  •  Distance  

Page 24: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal

Spa$al  Rela$onships  •  Topological  rela$onships:  

•  Direc$on  rela$onships:  – Above,  below,  north_of,  …  

•  Metric  rela$onships:  – Distance  between  two  objects  are  less  than  a  given  number  of  units.  

Touches   Overlaps   Disjoint  Contains   Within   Equals  

Page 25: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal

Spa$al  Rela$onships  Spa/al  Rela/onships  in  Experimental  Query  Languages  

Query  Language   Spa/al  Rela/onships  

Freeman  (1975)   ler  of,  right  of,  beside,  above,  below,  near,  far,  touching,  between,  inside,  outside  

ATLAS  (Tsurutani  et  al.,  1980)   area  adjacency,  line  adjacency,  boundary  rela$on-­‐  ship,  containment,  distance,  direc$on  

MAPQUERY  (Frank,  1982)   on,  adjacent,  within  

KBGIS  (Smith  and  Pazner,  1984)   containment,  subset,  neighborhood,  near,  far,  north,  south,  east,  west  

KGIS  (Ingram  and  Phillips,  1987)   distance,  overlay,  adjacent,  overlap  

PSQL  (Roussopoulos  et  al.,  1988)   covering,  coveredBy,  overlapping,  disjoint,  near-­‐  est,  furthest,  within,  outside,  on  perimeter  

SQL  extension  (Herring  et  al.,  1988)   adjacent,  contains,  contains  point,  enclosed  by,  intersect,  near,  self  intersect  

Geo-­‐Rela$onal  Algebra  (Gü$ng,  1988)  

equal,  not  equal,  inside,  outside,  intersect  

Spa$al  SQL  (Egenhofer,  1989)   disjoint,  equal,  meet,  overlap,  concur,  commonBounds  

Source:  Egenhofer  and  Herring  (1990)  

Page 26: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal

A  Framework  for  the  Descrip$on  of  Topological  Spa$al  Rela$ons  

4-­‐intersec$on  Matrix  (Egenhofer  and  Franzosa,  1991)  

Ao  

 δA  

Ao  ∩  Bo  

δA  ∩  Bo  

Ao  ∩  δB  

δA  ∩  δB  

Bo   δB  

Page 27: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal

4-­‐Intersec$on  Matrix  

Page 28: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal

Refinements  on  Intersec$on  Matrix  

Ao  

 δA    A-­‐  

Bo                                    δB                                  B-­‐  

dim(Ao  ∩  Bo  )  

dim(δA  ∩  Bo  )  

dim(A-­‐  ∩  Bo  )  

dim(Ao  ∩  δB  )  

dim(δA  ∩  δB  )  

dim(A-­‐  ∩  δB  )  

dim(Ao  ∩  B-­‐  )  

dim(δA  ∩  B-­‐  )  

dim(A-­‐  ∩  B-­‐  )  

Ao  

 δA    A-­‐  

         

Ao  ∩  Bo  

δA  ∩  Bo  

A-­‐  ∩  Bo  

Ao  ∩  δB  

δA  ∩  δB  

A-­‐  ∩  δB  

Ao  ∩  B-­‐    

δA  ∩  B-­‐  

A-­‐  ∩  B-­‐  

Bo   δB   B-­‐  

9-­‐intersec$on  Matrix  (Egenhofer,  1991)  

Dimension  Extended  9-­‐intersec$on  Matrix  (Clemen$ni  et  al.  ,  1993)  

Page 29: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal
Page 30: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal

Opera$ons  on  Collec$ons  of  Objects  

•  Voronoi  diagram  •  Overlay:  – Generates  a  new  set  based  on  two  input  sets.  

•  Aggregate:  –  fusion/merging  of  adjacent  areas  if  an  awributes  are  equal.  

•  Merge:  – Union  of  two  or  more  sets  with  the  same  schema.  

•  Closest:  –  Find  the  objects  closest  to  a  query  object.  

Page 31: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal

Implementa$on  Issues  

Geometric  Algorithms    

Page 32: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal

How  to  efficiently  compute  the  intersec$on  matrix?  

•  Segment  intersec$on?  

•  Point  in  polygon  tests?  

•  Temporary  data  structures  used  to  represent  the  objects  boundary?  

Page 33: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal

Spa$al  Access  Methods  

Let’s  see  some  typical  search  opera$ons  in  a  GIS  data  relies  on  

spa$al  indexing…  

Page 34: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal

Point  Queries  

•  Defini/on:  Given  a  point  in  the  space,  find  all  objects  that  contain  it.  

•  Also  known  as  “stabbing  query”.  

Page 35: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal

Region  Queries  

•  Defini/on:  Given  a  region  (or  query  window),  find  all  objects  that  intersect  it.  

•  Also  known  as  “range  queries”  

Page 36: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal

Nearest  Neighbors  

•  Defini/on:  Given  a  point  or  object,  find  its  nearest  neighbor(s).  

•  Varia/ons:  fixed  distance,  fixed  number  of  neighbors,  closest  object  

Page 37: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal

Spa$al  Joins  

•  Defini/on:  Given  two  sets  of  spa$al  objects  S1  and  S2,  and  a  spa$al  rela$onship  θ,  find  the  pairs  (s1,  s2)  ∈  S1  X  S2  which    geometry  matches  θ.  

•  Example:  S1  =  focos  S2  =  trechos  rodoviários  θ  =  focos  con$dos  num  raio  de  1000  metros  de  um  dado  trecho  

Page 38: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal

Spa$al  Access  Methods  

kd-­‐tree,  Quad-­‐tree,  Grid,  R-­‐Tree    

Page 39: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal

k-­‐d-­‐tree  (Bentley,  1975)  

Page 40: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal

Quad-­‐trees  (Finkel  and  Bentley,  1974;  Samet,  1990  )  

Page 41: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal

Fixed-­‐Grid  

Page 42: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal

R-­‐tree  (Guwman,  1984)  

Page 43: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal

Spa$al  Query  Processing  

 Spa$al  Selec$ons  Spa$al  Joins  

Page 44: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal

Spa$al  Query  (Kriegel  et  al.,  1993)  

 Spa/al  Query  

Spa$al  Query  Processor  

Candidates  

Geometric  Filter  

Hits   False  Hits   Candidates  

Exact  Geometry  Processor  

Response  Set  

False  Hits  

Page 45: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal

Spa$al  Joins  (Brinkhoff  et  al.,  1994)  

 Rela/on  A   Rela/on  B  

SAMs  

Candidate  Pairs  

Geometric  Filter  

Hits   False  Hits   Candidate  Pairs  

Exact  Geometry  Processor  

Response  Set  

False  Hits  

∩MBR  join  

Page 46: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal

Spa$al  Query  Languages  

Page 47: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal

Spa$al  Databases  Standards  

OGC  SFS  ISO  SQL-­‐MM  Spa$al  

Page 48: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal

GIS  and  DBMS  

Page 49: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal

GIS  and  DBMS  (Before  the  advent  of  SDS)  

GIS  

RDBMS  Spa/al  Data  Manager  

Geo   Alpha-­‐numeric  

GIS  

Spa/al  Data  Manager  

Geo  +  

Alpha-­‐Numeric  

Dual  Architecture   Layered  Architecture  

RDBMS  

Page 50: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal

GIS  and  DBMS  (Advent  of  SDS)  

GIS  

Extensible  DBMS  

Integrated  Architecture  

Spa/al  Data  Support  

Geo  +  

Alpha-­‐Numeric  

Page 51: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal

References  

Page 52: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal

Introductory  

•  Ralf  Hartmut  Gü$ng.  1994.  An  introduc+on  to  spa+al  database  systems.  The  VLDB  Journal,  v.  3,  n.  4,  357-­‐399,  October  1994.  

•  Philippe  Rigaux,  Michel  Scholl  and  Agnès  Voisard.  2001.  Spa+al  Databases  with  Applica+on  to  GIS.  Morgan  Kaufmann  Publishers  Inc.,  San  Francisco,  CA,  USA.  

Page 53: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal

Surveys  

•  Volker  Gaede  and  Oliver  Günther.  1998.  Mul/dimensional  access  methods.  ACM  Compu)ng  Surveys,  v.  30,  n.  2,  June  1998,  pp.  170-­‐231.  

•  Hanan  Samet.  1990.  The  Design  and  Analysis  of  Spa/al  Data  Structures.  Addison-­‐Wesley  Longman  Publishing  Co.,  Inc.,  Boston,  MA,  USA.  

Page 54: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal

Topological  Rela$ons  •  M.  Egenhofer  and  J.  Herring.  Categorizing  Binary  Topological  Rela+ons  Between  

Regions,  Lines,  and  Points  in  Geographic  Databases.  Technical  Report,  Department  of  Surveying  Engineering,  University  of  Maine,  1990.  

•  M.  Egenhofer  and  R.  Franzosa.  Point-­‐Set  Topological  Spa+al  Rela+ons.  Interna$onal  Journal  of  Geographical  Informa$on  Systems  5  (2):  161-­‐174,  1991.  

•  M.  Egenhofer.  Reasoning  about  Binary  Topological  Rela+ons.  Second  Symposium  on  Large  Spa$al  Databases,  Zurich,  Switzerland.  O.  Gunther  and  H.-­‐J.  Schek  (eds.),  Lecture  Notes  in  Computer  Science,  Vol.  525,  Springer-­‐Verlag,  pp.  143-­‐160,  August  1991.  

•  Eliseo  Clemen$ni,  Paolino  Di  Felice,  and  Peter  van  Oosterom.  1993.  A  Small  Set  of  Formal  Topological  Rela+onships  Suitable  for  End-­‐User  Interac+on.  In  Proceedings  of  the  Third  Interna)onal  Symposium  on  Advances  in  Spa)al  Databases  (SSD  '93),  David  J.  Abel  and  Beng  Chin  Ooi  (Eds.).  Springer-­‐Verlag,  London,  UK,  UK,  277-­‐295.  

Page 55: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal

Spa$al  Access  Methods  •  Jon  Louis  Bentley.  1975.  Mul+dimensional  binary  search  

trees  used  for  associa+ve  searching.  Communica)ons  of  the  ACM,  v.  18,  n.  9,  September  1975,  pp.  509-­‐517.  

•  R.  A.  Finkel  and  J.  L.  Bentley.  Quad  trees:  A  data  structure  for  retrieval  on  composite  keys.  Acta  Informa)ca,  4(1):1-­‐9,  1974.  

•  Antonin  Guwman.  1984.  R-­‐trees:  a  dynamic  index  structure  for  spa+al  searching.  In  Proceedings  of  the  1984  ACM  SIGMOD  interna)onal  conference  on  Management  of  data  (SIGMOD  '84).  ACM,  New  York,  NY,  USA,  47-­‐57.    

Page 56: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal

Spa$al  Query  Processing  

•  Kriegel  H.-­‐P.,  Brinkhoff  T.,  Schneider  R.  Efficient  Spa+al  Query  Processing  in  Geographic  Database  Systems.  IEEE  Data  Engineering  Bulle$n,  Vol.  16,  No.  3,  1993,  pp.  10-­‐15.  

•  Thomas  Brinkhoff,  Hans-­‐Peter  Kriegel,  Ralf  Schneider,  and  Bernhard  Seeger.  1994.  Mul+-­‐step  processing  of  spa+al  joins.  SIGMOD  Rec.  23,  2  (May  1994),  197-­‐208.  

 

Page 57: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal

Spa$al  Query  Processing  

•  Oliver  Günther.  1993.  Efficient  Computa+on  of  Spa+al  Joins.  In  Proceedings  of  the  Ninth  Interna)onal  Conference  on  Data  Engineering.  IEEE  Computer  Society,  Washington,  DC,  USA,  pp.  50-­‐59.