Spatial Database Systems Tyler Reainthong CSE 7330 Fall 2009 Topics • • • • • • • Definitions Storage and Indexing Spatial Relationships Spatial Queries Standards Systems Applications and the Future What is a Spatial Database? • Database that models space, objects in space, or a combination of both • Provide capabilities to store and manipulate spatial data as well as find various interactions between them What is a Spatial Database? (cont) • Uses spatial data types (SDTs) and spatial indexes • Uses spatial queries which are able to work with the spatial data types • Usually provides these capabilities as an extension to a standard RDBMS What is Spatial Data? • Each vendor’s implementation will consist of different spatial data types • Each type can be abstracted to basic geometric primitives which consist of: – Points – Lines – Polygons/Regions What is Spatial Data? (cont) • Point – Can define locations of interest – Used when you do not care about the extent of the object – Can be used to define “space” • Land • Map boundaries • Grids What is Spatial Data? (cont) • Line – Can be straight, arcing or a combination of both – Can be used to define movement and connections between spatial objects What is Spatial Data? (cont) • Polygon/Region – Basic shapes (box, square, triangle, etc.) – May have holes Spatial Data Types (SDTs) • Spatial Data Types often referred to as “geometries” can either be defined as one or more spatial data primitive types • Example Oracle Spatial SDO_GTYPE: Source: http://www.oreillynet.com/network/2003/11/10/oracle_spatial.html Spatial Storage • Creating a normal table with an additional spatial column in Oracle Spatial Source: http://www.oreillynet.com/network/2003/11/10/oracle_spatial.html Spatial Indexing • R-Trees – Similar to B-trees but allow indexing for multidimensional data – Creates minimum bounding boxes that essentially partition the spatial data into hierarchical rectangular shaped boxes – These boxes provide rough approximations of the geometries which optimizes query performance Spatial Indexing (cont) • Example R-Tree Source: http://publib.boulder.ibm.com/infocenter/idshelp/v10/index.jsp?topic=/com.ibm.rtree.doc/rtree29.htm Spatial Indexing (cont) • Quad-Trees – Recursively divide space into four quadrants Source: http://publib.boulder.ibm.com/infocenter/idshelp/v10/index.jsp?topic=/com.ibm.rtree.doc/rtree29.htm Spatial Relationships • Spatial relationships can be categorized into three different types – Topological relationships • Contains, Inside, Covers, Adjacent, Touch, Disjoint – Directional relationships • Above, Below, West of, East of – Metric relationships • Distances between two geometries • Each vendor may or may not implement certain relationships as a function Spatial Relationships (cont) • Oracle Spatial supports the following relationships Source: http://docs.autodesk.com/TOPOBSCLNT/2010/ENU/Autodesk %20Topobase%202010%20User%20Documentation/images/IS D/Everest-ALL/English/pic_admin_oracle_spatial.png Spatial Queries • SQL can work with spatial data types • Spatial operators and functions can also be used with SQL Spatial Queries (cont) • Spatial Query Examples in PostGIS Source: http://postgis.refractions.net/docs/ch04.html#id2538511 Spatial Queries (cont) • Spatial Query Examples in PostGIS Source: http://postgis.refractions.net/docs/ch04.html#id2538511 Standards and Specifications • Standards and specifications governed by the Open Geospatial Consortium (OGC) – http://www.opengeospatial.org • Defines standard Geographic Information Systems (GIS) object types, functions associated with them, and metadata tables – Simple Feature Access Architecture • http://www.opengeospatial.org/standards/sfa Some Spatial DBMS Systems • • • • • Oracle Spatial PostgreSQL with PostGIS extension MySQL Microsoft SQL Server 2008 IBM DB2 with Spatial Extender Applications and the Future • • • • GIS/Mapping CAD and GIS integration Location based services Spatial data is becoming ubiquitous – – – – – – Environmental Health sectors Agricultural Geological Hazard management Military and intelligence Bibliography • • • • • • • • • • • • http://portal.acm.org/ft_gateway.cfm?id=615206&type=pdf&coll=Portal&dl=GUIDE&CFID=604957 78&CFTOKEN=48744014 http://publib.boulder.ibm.com/infocenter/idshelp/v10/index.jsp?topic=/com.ibm.rtree.doc/rtree2 9.htm http://www.oreillynet.com/pub/a/network/2003/11/10/oracle_spatial.html http://download.oracle.com/docs/cd/B10501_01/appdev.920/a96630/sdo_objrelschema.htm http://postgis.refractions.net/docs/ch04.html http://www.oracle.com/technology/products/oracle9i/pdf/OracleSpatial.pdf http://docs.autodesk.com/TOPOBSCLNT/2010/ENU/Autodesk%20Topobase%202010%20User%20D ocumentation/index.html?url=WS73099cc142f48755b0eae110a8ea4f1d98a3.htm,topicNumber=d0 e17737 http://edndoc.esri.com/arcsde/9.1/general_topics/understand_spatial_relations.htm http://www.oracle.com/technology/products/spatial/htdocs/spatial_stds_support.html http://www.oracle.com/technology/products/spatial/pdf/lvvw_narrowingthegap.pdf http://www.oracle.com/technology/products/spatial/index.html http://www.gisdevelopment.net/application/index.htm