How to Spatially Enable Your IBM Informix Database Chris Bosch
2 Agenda Introduction spatial data models spatial standards spatial products spatial processes Geometry concepts Spatially enabling your database Moving forward
3 Introduction: spatial data models Fundamental GIS data models Raster Vector Real World
4 Introduction: spatial data models Collections of Thematic Layers
5 Introduction: spatial standards Open GIS Consortium (OGC) OpenGIS Simple Features Specification for SQL, Revision 1.1 –SQL92 implementations (SFS NG) using numeric SQL types for geometry storage and ODBC access. using binary SQL types for geometry storage and ODBC access. –SQL92 with Geometry Types implementations (SFS TF) supporting both textual and binary ODBC access to geometry. SQL/MM (Multi-Media)
6 Introduction: spatial products OGC SFS conforming products
7 Introduction: spatial products IBM DB2 Spatial Extender IDS Spatial DataBlade module IDS Geodetic DataBlade module Partner products for IBM Informix Dynamic Server MapInfo SpatialWare module MapInfo Geocoding module BCS Grid And more …
8 Introduction: spatial processes Input Manipulation Management Query Analysis Visualization
9 Agenda Introduction Geometry concepts Coordinate Systems OGC Geometry Object Model Basic Methods on Geometries Methods for testing Spatial Relations Methods that support Spatial Analysis Spatially enabling your database Moving forward
10 Multiple Coordinate systems exist Geographic (GEOGCS) –longitude/latitude Projected (PROJCS) –X,Y Geocentric (GEOCCS) –X,Y,Z Defined by several objects DATUM SPHEROID PRIMEM UNIT Geometry Concepts
11 What is coordinate data? Sets of values describing a particular location on a grid. Longitude/Latitude X,Y Z –Altitude or Depth value M –Measures 0,0 10 y 20 x Geometry Concepts
12 Projections Transform locations of features on the Earth’s surface to a two dimensional surface. –Mathematical –Preserving Shape –Preserving Accuracy area distance location Geometry Concepts
13 Geometry Concepts Conic A portion of the Earth's surface is projected onto a cone. The cone is then flattened Mercator The Earth's sphere is flattened out. In this projections the further away from the equator a point is, the larger it seems
14 Geometry Concepts
15 Geometry Concepts
16 Geometry Concepts OpenGIS Consortium (OGC) Geometry Object Model
17 Geometry Concepts Basic Methods on Geometries Dimension ( ):Integer GeometryType ( ):String SRID ( ):Integer Envelope ( ):Geometry IsEmpty ( ):Integer IsSimple ( ):Integer Boundary ( ):Geometry AsText ( ):String AsBinary ( ):Binary
18 Geometry Concepts Dimension used to classify shapes three values can be used –0 (has neither length nor area) points, multipoints –1 (has length) linestrings, multilinestrings –2 (has area) polygons, multipolygons
19 Geometry Concepts IsSimple Some subclasses may be simple or non-simple, while others are always simple multipoints, linestrings, multilinestrings are non-simple if their interiors intersect Non-simpleSimple Non-simpleSimple
20 Geometry Concepts IsEmpty A geometry is empty if it does not have any points –An empty set An empty geometry has an instantiable type An empty geometry has an SRID –The set is empty but has the same SRID as the column being queried.
21 Geometry Concepts SRID (Spatial Reference ID) Each ordinate of a geometry is stored within a 32-bit integer The x offset, y offset and system units determine the limits (“box”) of the coordinate reference system Spatial functions require that geometries have the same SRID –Geometries stored in a spatial column must all have the same SRID
22 Geometry Concepts Geometry types Point LineString Polygon MultiPoint MultiLineString MultiPolygon
23 Geometry Concepts Point Represent distinct locations –wells, landmarks, elevations... Dimension of 0 Single XY coordinate Always simple Null boundary –all “interior” interior
24 Geometry Concepts LineString Represent linear feature –rivers, roads, power lines... Dimension of 1 –linestrings have length String of coordinates defining a linear interpolated path Simple if it does not intersect its interior simplenon-simple
25 Geometry Concepts LineString continued … Boundary is the endpoints Boundary is null if the linestring is closed LineString is a ring if the linestring is closed and simple boundary interior
26 Geometry Concepts Polygon A surface stored as a sequence of points that define an exterior ring and possibly one or more interior rings The rings cannot overlap Rings can intersect at a tangent Always simple interior boundary
27 Geometry Concepts Polygon continued … The rings are the boundary Polygons have area and length (perimeter) Define water bodies, parcels of land... Polygon with a hole. Outer coordinates are expressed counter-clockwise, inner coordinates clockwise.
28 Geometry Concepts MultiPoint A collection of points Dimension of 0 Simple or non-simple Boundary is NULL Define broadcast patterns...
29 Geometry Concepts MultiLineString A collection of linestrings Dimension of 1 Has length Simple and non-simple Simple if endpoints of all elements intersect SimpleNon-SimpleSimple
30 Geometry Concepts MultiLineString continued … Boundary is the endpoints of all elements combined Boundary is null if all endpoints intersect other endpoints, in which case the MultiLineString is closed Define networks
31 Geometry Concepts MultiPolygon A collection of polygons Dimension of 2 Has area and perimeter Boundary is defined by the set of interior and exterior rings that form its elements
32 Geometry Concepts MultiPolygon continued … Always simple Rings cannot overlap Rings can intersect at a single tangent point
33 Geometry Concepts Methods for testing Spatial Relations between Geometries Equals (anotherGeometry:Geometry):Integer Disjoint (anotherGeometry:Geometry):Integer Intersects (anotherGeometry:Geometry):Integer Touches (anotherGeometry:Geometry):Integer Crosses (anotherGeometry:Geometry):Integer Within (anotherGeometry:Geometry):Integer Contains (anotherGeometry:Geometry):Integer Overlaps (anotherGeometry:Geometry):Integer Relate (anotherGeometry:Geometry, intersectionPatternMatrix:String):Integer
34 Geometry Concepts Equals
35 Geometry Concepts Disjoint
36 Geometry Concepts Intersects
37 Geometry Concepts Touches
38 Geometry Concepts Crosses
39 Geometry Concepts Within
40 Geometry Concepts Contains
41 Geometry Concepts Overlaps
42 Geometry Concepts Methods that support Spatial Analysis Intersection (anotherGeometry:Geometry):Geometry Union (anotherGeometry:Geometry):Geometry Difference (anotherGeometry:Geometry):Geometry SymDifference (anotherGeometry:Geometry):Geometry Buffer (distance:Double):Geometry ConvexHull ( ):Geometry Distance (anotherGeometry:Geometry):Double
43 Geometry Concepts Intersection
44 Geometry Concepts Difference
45 Geometry Concepts Union
46 Geometry Concepts SymDifference
47 Geometry Concepts Buffer
48 Geometry Concepts ConvexHull
49 Agenda Introduction Geometry concepts Spatially enabling your database Product version requirements Installation and configuration Adding spatial types and functions to your database Adding spatial data to your database Moving forward
50 Agenda Introduction Geometry concepts Spatially enabling your database Moving forward Enroll in customer training courses Become certified Participate in user community Make use of on-line resources Engage IBM technical support Provide feedback
51 Moving Forward Enroll in customer training courses IBM Informix Dynamic Server –FN-848: Managing and Optimizing IBM Informix Dynamic Server Databases –FN-910: Data Migration and Reorganization –L1-846: IBM Informix Dynamic Server Administration –L2-403: IBM Informix Dynamic Server Performance Tuning –L2-748: IBM Informix Dynamic Server Backup and Restore
52 Moving Forward Enroll in customer training courses IBM DB2 –CF030 - DB2 Family Fundamentals (also available via CD-ROM) –CF120 - DB2 SQL Workshop (also available via CD-ROM) –CF131 - DB2 Advanced SQL Workshop (also available via CD-ROM) –CT28C - DB2 UDB for Experienced Relational DBAs (CD-ROM) –DW230 - Managing Geographic Data with DB2 Spatial Extender – ESRI –Creating and Managing Geodatabases (for ArcEditor 8 and ArcInfo 8) –Introduction to ArcSDE using ArcInfo –ArcSDE Administration for DB2 –
53 Moving Forward Become certified IBM Certified Solutions Expert - DB2 UDB V7.1 Database Administration for UNIX, Linux, Windows and OS/2 –Test 512 (or 718): DB2 UDB V7.1 Family Fundamentals –Test 513 (or 719): DB2 UDB V7.1 for UNIX, Linux, Windows and OS/2 Database Administration
54 Moving Forward Become certified IBM Certified Solutions Expert - Informix Dynamic Server V9 System Administrator –Test : Managing and Optimizing Informix Dynamic Server Databases –Test : System Administration for IBM Informix Dynamic Server Version 9
55 Moving Forward Participate in user community International Informix Users Group – International DB2 Users Group – ESRI International User Conference –
56 Moving Forward Make use of on-line resources Open GIS Consortium – IBM DB2 Spatial Extender – IBM Informix Spatial DataBlade module – IBM Geodetic DataBlade module – ESRI – ; IBM developerWorks : DB2 Developer Domain : Informix Developer Zone – Newsgroups –news://news.software.ibm.com/ibm.software.db2.udb.spatialnews://news.software.ibm.com/ibm.software.db2.udb.spatial
57 Moving Forward Engage IBM Informix technical support The IBM Software Support Guide begins here – Information specific to support of IBM Informix products – Information specific to support of IBM Informix Dynamic Server – Information specific to support of IBM DB2 – Information specific to support of IBM DB2 Spatial Extender – Provide feedback
How to Spatially Enable Your IBM Informix Database Chris Bosch