How to Spatially Enable Your IBM Informix Database

Preview:

Citation preview

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

Recommended