Introduction to Object-Oriented GIS Technology

Topics

Introduction

The world is complex...

And changes with time...

Programming the old way

What’s wrong with this situation?

Programming with objects

What can be “object-oriented”?

OO is not a panacea

“Core” OO is the beginning

Topics

Object-oriented terms and principles

Object identity

Object encapsulation

Object aggregation

Classes and aggregation

Geographic feature classes

Geographic feature instances

Simple OO Inheritance

PPT Slide

Extensibility by Inheritance

Messages, methods, and polymorphism

Dynamic binding

Self and Super

So what is an OO GIS ?

What does this achieve for the customiser ?

What does this achieve for the GIS systems programmer ?

Topics

Goals and objectives

Early OO philosopher

Object-oriented GIS design is easy

Object-oriented design of complex systems is hard

Fundamental Theory

Object-oriented analysis and design

Cheat. Use existing Patterns

CRC Methodology

CRC guidelines

Action scripts

Example scripts

From analysis to design...

From design to implementation...

But you have to loosen up to describe the real world...

Exercise: traffic intersection

Exercise: change it again

Topics

OO-GIS: database re-engineering

Spatial and non-spatial attributes

Geometry as an attribute

Active Representation - 1

Active Representation - 2

PPT Slide

PPT Slide

On-Demand Mapping

Dynamic Generalisation

Active Objects & Static Features -1

Active Objects & Static Features -2

Topology Management

Multiple Topologies

Relationships as objects

Validation triggering and the object lifecycle

Object lifecycle “reflexes”

Value Reflexes

Active Database

Long transactions

Versions and transactions - 1. Branching

Versions and transactions - 2. Merging a Branch

Versions and transactions - 3. Merging second branch

Behaviour over time

Geospatial project management

Distributed data maintenance

Summary of OO GIS types

Topics

Object-oriented database management systems

RDBMS - ODBMS

Key fields and join tables

Object pointers

Application-based vs. schema-based relationships

Value-based queries

RDBMS trade-offs

RDBMS trade-offs - 2

ODBMS trade-offs

ODBMS trade-offs - 2

Migrating between RDBMS and ODBMS

Which is better suited for GIS and data warehousing?

Topics

Object and interoperability standards activities

OMG CORBA & IIOP

Microsoft COM, ActiveX

ODBC, ADO and JDBC

ODMG

Object-Relational SQL-3

Java

OGC OpenGIS™

Old Paradigm: Static Data Transfer

OpenGIS: Dynamic Interoperability

Architectural layers in a GIS

Pluggable computing model

Pluggable tools

OpenGIS approach

Model of location and geometry

Features and coverages

OpenGIS feature model

Detailed feature model

OpenGIS coverage model

OpenGIS is an interface standard

Well-known structures

The Big Picture

USIGS Common Facilities

OpenGIS Services Architecture

Geospatial Domain Access Services

Other standards activities

Topics

Crop Subsidy Monitoring

Per-Parcel Land Use Monitoring

Dynamic Classification & Parcel Generation

Mixed Vector/Raster Representation

Benefits of OO for GIS - 1

Benefits of OO for GIS - 2

Benefits of OO

Route Planning and Network Analysis

Site Location & Land-Use Planning

Storm Drainage Planning

What does all this mean?

New Markets

Better “Mind Tools”

Bringing GIS to decision-makers

Topics

GIS and OO Resources

Good starting points

International resources

Academic resources

Academic resources - USA

USA National resources

Other GIS Resources

OO Resources

Usenet Newsgroups

OO Periodicals

OO Conferences