AN OBJECT-ORIENTED MODELLING FRAMEWORK FOR GEOGRAPHIC INFORMATION
M. Isdale & Y.C. Lee
Department of Surveying Engineering
University of New Brunswick
Fredericton, N.B. Canada
ISPRS COMMISSION III
ABSTRACT
One of the drawbacks of many Geographic Information Systems is in the concepts provided for representing features in the real
world. These concepts tend to be far removed from those employed by users when they think about geographic features. As a
result, these concepts lack the power to represent the higher level, semantic aspects of geographic information. This paper describes
the design and implementation of a framework for the storage of geographic models of the real world. It can operate at a level closer
to that of GIS users, and supports concepts based on those of Entity/Relationship and Object-Oriented modelling. It provides a
number of data types suitable for spatial processing, and they can be extended by the user. The implementation of the framework
was carried out using an object-oriented programming language called Eiffel.
KEY WORDS: Data Base, Object-Orientation, GIS/LIS, System Design.
1. INTRODUCTION
The abstract view of the world provided by many of today's
Geographic Information Systems (GIS) is based heavily on
the data structures used to represent information. For
example, the concepts provided by the graph abstraction of
space — points, lines and polygons — are often given a
great deal of emphasis. Such emphasis on particular
structures reflects an over-dependance on them, and leads to
a lack of flexibility in using others. In addition, the identities
of the things being represented are often hidden away among
a great deal of interconnected data. The combination of a
polygon and identifier, a feature code and a set of relational
tuples is often the extent of the powers of a GIS when it
comes to representing a plot of land, for example.
This paper deals with the design and implementation of a
framework for the storage of geographic information. In
this framework, an attempt is made to provide better
representational powers by supplying structures which
explicitly represent the existance of the things of interest —
nothing more. These structures can then be linked to others
which represent information about the things of interest —
names and positions, for example, along with other
quantitative and qualitative information.
By elevating the things of interest to a position of greater
importance, and by supplying the structures to represent
them, two things are acheived. First, the representation in
the GIS should correspond more closely to the user's
perception of the real world. This should make it easier for
the user to interact with the representation and to get work
done. Second, with the de-emphasis of the structures used
to represent information about the things of interest, it is
anticipated that a more flexible approach to using such
structures will be possible. It should be noted that although
the importance of a structure such as a line graph may well
be de-emphasised from an overall point of view, this in no
way detracts from the fact that it is a powerful structure for
modelling and analysing networks, and for providing a basis
for polygonal structures.
The framework which was developed can be described as
being object-oriented, both in terms of its implementation
and the way in which it models the real world. This paper
first sets out to explain what object-orientation is, and how it
can be applied. It then goes on to describe the ideas behind
the design of the framework, and the experiences
encountered in trying to implement it.
2. OBJECT-ORIENTATION
The term ‘object-orientation’ is one of the biggest computer
buzzwords of our time. It is one that is often used without
much understanding of what it implies, and has, for some
people, become a hi-tech synonym for ‘good’. Object-
orientation is based on some fundamental concepts which
754
can be used at a number of different levels. They are used in
software development, modelling, and as the basis for user
interfaces. This can lead to some conflict in what people
perceive as being object-oriented. In this section, the
concepts behind object-orientation will be outlined, and their
application in different situations described. These concepts
need to be covered before a complete explanation of the
modelling framework can be undertaken.
2.1 Concepts of Object-Orientation
The basic idea behind all things object-oriented is that in one
way or another, a system can be viewed as a collection of
inter-related objects. An object has a unique identity
(implying its existance), a state (defining its structural
characteristics at any point in time), and a behaviour
(defining its operational characteristics, or what it can do).
The concept of classification dictates that an object must
belong to a class of objects, all with the same specifications
of state and behaviour. A class defines the nature of the state
and behaviour, while an object records the identity and state
of one particular instance of a class.
The objects dealt with are dictated by the kind of system
being considered. When looking at a model of a real world
system, objects such as roads or rivers may be dealt with.
When concerned with the implementation of a software
system, objects such as arrays and lists would be important
— in addition to those representing things in the real world,
were this the purpose of the software system. Object-
oriented user interfaces use objects such as windows, icons
& pointers to allow the user to control a computer
environment. The common idea is that a system — be it the
code for a computer programme, a model of reality or a
computer environment — is viewed as a collection of inter-
related, uniquely identifiable objects with a state and
behaviour.
As well as the concepts of object and class, object-
orientation also supplies the dual concepts of
generalisation and specialisation. Together, these
allow classes to be arranged in a hierarchy. A class which is
a descendant of another in the hierarchy is said to be a more
specialised subclass, while the more general class is the
superclass. A subclass has the characteristics of the
superclass automatically defined for it. It can also define
more specialised characteristics of its own, however.
To make things happen in an object-oriented system,
messages are passed to objects. This may be done by the
user or by other objects. An object which has a message
sent to it will then behave in some way, depending on what
kind of system is being dealt with. Object-oriented systems
are therefore dynamic in nature.
A GIS is a software system concerned with modelling the
real world. There are three separate systems which can be
spe
inh
def
attr
inh
gen
on
sup
inte
diff