how to spatially enable your ibm informix database chris bosch
TRANSCRIPT
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
RealWorld
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
OGC Spec
Organization Product Type Contact Date
SFS TF 1.1
International Business Machines Corporation IBM DB2 Spatial Extender 7.1 Client Adler, David 6/13/2001
SFS TF 1.1
Informix Software, Inc. Spatial DataBlade Module 8.1 Client Stevens, Michael 6/25/2001
SFS TF 1.1
ESRI ArcSDE for Informix 8.1 Client Danko, David 6/21/2001
SFS TF 1.1
ESRI ArcSDE for DB2 8.1 Client Danko, David 6/21/2001
SFS TF 1.1
ESRI Spatial Database Engine for DB2 Datajoiner 3.0.2
Client Danko, David 12/23/1999
SFS TF 1.1
ESRI Spatial Database Engine for Informix 3.0.2
Client Danko, David 12/23/1999
SFS NG 1.1
Oracle Corporation Oracle8i Spatial Client Lopez, Xavier 10/24/2000
SFS NG 1.1
Oracle Corporation Oracle8i Spatial 8.1.6 Client Lopez, Xavier 5/17/1999
SFS NG 1.1
Oracle Corporation Oracle8i Spatial 8.1.5 Client Lopez, Xavier 5/12/1999
SFS NG 1.1
Oracle Corporation Oracle8 Spatial Cartridge 8.0.5 Client Lopez, Xavier 4/14/1999
SFS NG 1.1
ESRI Spatial Database Engine for Oracle 3.0.2 Client Danko, David 12/23/1999
SFS NG 1.1
Oracle Corporation Oracle Spatial, release 9i (9.0.1) Server Lopez, Xavier 9/30/2002
SFS NG 1.1
Oracle Corporation Oracle Spatial, 9i Release 2 (9.2.0) Server Lopez, Xavier 9/30/2002
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-simple Simple Non-simple Simple
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
simple non-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
Simple Non-Simple Simple
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
Databaseshttp://www.ibm.com/software/data/informix/education/courses/848.html
– FN-910: Data Migration and Reorganizationhttp://www.ibm.com/software/data/informix/education/courses/910.html
– L1-846: IBM Informix Dynamic Server Administrationhttp://www.ibm.com/software/data/informix/education/courses/846.html
– L2-403: IBM Informix Dynamic Server Performance Tuninghttp://www.ibm.com/software/data/informix/education/courses/403.html
– L2-748: IBM Informix Dynamic Server Backup and Restorehttp://www.ibm.com/software/data/informix/education/courses/748.html
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– http://www-3.ibm.com/services/learning/spotlight/db2/all.html
ESRI– Creating and Managing Geodatabases (for ArcEditor 8 and ArcInfo 8)– Introduction to ArcSDE using ArcInfo– ArcSDE Administration for DB2– http://www.esri.com/training/training.html
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 Fundamentalshttp://www-1.ibm.com/certify/tests/obj512.shtml
– Test 513 (or 719): DB2 UDB V7.1 for UNIX, Linux, Windows and OS/2 Database Administrationhttp://www-1.ibm.com/certify/tests/obj513.shtml
54
Moving Forward Become certified
IBM Certified Solutions Expert - Informix Dynamic Server V9 System Administrator
– Test 660-112: Managing and Optimizing Informix Dynamic Server Databaseshttp://www-1.ibm.com/certify/tests/obj660-112.shtml
– Test 660-612: System Administration for IBM Informix Dynamic Server Version 9 http://www-1.ibm.com/certify/tests/obj660-612.shtml
55
Moving Forward Participate in user community
International Informix Users Group– http://www.iiug.org/
International DB2 Users Group– http://www.idug.org/
ESRI International User Conference– http://www.esri.com/events/uc/index.html
56
Moving Forward Make use of on-line resources
Open GIS Consortium– http://opengis.org/
IBM DB2 Spatial Extender– http://www-4.ibm.com/software/data/spatial/
IBM Informix Spatial DataBlade module– http://www-4.ibm.com/software/data/informix/blades/spatial/
IBM Geodetic DataBlade module– http://www-4.ibm.com/software/data/informix/blades/geodetic/
ESRI– http://www.esri.com/ ; http://arconline.esri.com/
IBM developerWorks : DB2 Developer Domain : Informix Developer Zone– http://www7b.software.ibm.com/dmdd/zones/informix/ids_spatial.html
Newsgroups– news://news.software.ibm.com/ibm.software.db2.udb.spatial
57
Moving Forward Engage IBM Informix technical support
The IBM Software Support Guide begins here– http://techsupport.services.ibm.com/guides/handbook.html
Information specific to support of IBM Informix products– http://www-3.ibm.com/software/data/informix/support/
Information specific to support of IBM Informix Dynamic Server– http://www-3.ibm.com/software/data/informix/ids/support/
Information specific to support of IBM DB2– http://www-3.ibm.com/software/data/support/
Information specific to support of IBM DB2 Spatial Extender– http://www-3.ibm.com/software/data/spatial/support.html
Provide feedback
How to Spatially Enable Your IBM Informix Database
Chris Bosch