Till now two thinking processes can be applied to. The first is
classification of features to feature class: 'point feature class’,
line feature class’ and ’area feature class’. The second is gene-
ralisation of some properties from all features of one class to the
feature class itself: since every point feature possesses a pair of
coordinates, the point feature class possesses the description with
a pair of coordinates. À further generalisation can be carried out
if a super class - ’class of terrain feature classes” - is created:
since every feature possesses a geometric and a thematic des-
cription, the ’class of terrain feature classes’ possesses the pro-
perty being descripted by geometry and thematics.
A class corresponds to an entitiy in the database theory, so that
entity-relations may be well defined between classes. However,
as will be shown in later, entity-relationships give only data
oriented models that is only one aspect of FDS.
The classes of point, line and area features construct the contact
level of GIS to human without specifying the way to describing
the positions, shapes and topology that are located at a more pri-
mitive level.
In this primitive level a class composed of nodes and a class com-
posed of arcs are defined. They construct the complete geome-
tric network with a planar topological structure: non arc has a
crossing point with another arc without creating an node; non
node overlaps an arc without spliting it; and non node overlaps
another node.
Every node possesses a pair of coordinates. Ervery arc (an edge
or a non-enclosed curve) is associated with a shape description
(may contain more coordinate pairs). Between the two classes
entity-relationships must also be pre-defined: every arc begins
with a node and ends upon an other node. Between the feature
and the primitive level some constant entity-relationships must
also be pe-defined: Every point feature is associated with a node;
Every line feature is associated with one or more arcs and inte-
rior nodes; Every area feature is associated with more arcs.
As consequency all inter-relationships between terrain features
are not defined as entity-relations upon the feature classes. They
are expressed indirectly by the entity-relations between terrain
feature classes and geometric primitives; and entity-relations
within primitives themselves. For user only terrain features are
accessable. Every thing which occurs at the geometric and topo-
logical level is organized automatically by the system.
It should be noted that nodes and arcs as primitives are not ac-
cessable to user for topological consistancy. Manipulations
(creation, updating and deletion) can only performed for satify-
ing the requirements generated from the manipulations on the
feature level. Explicit functions are only defined on the feature
level.
For example a spatial query to test if two line features have a
crossing point initializes the process to access all arcs by tracing
the entity-relationship (line_feature_to_arc) and to find out if the
related arcs have a common node.
More interests should be spend to the opposite side of cassifica-
tion and generalisation, that is the inheritance of ’properties’
from super class to classes and from class to features. Not only
the ’attribute properties’ like the ’description by geometry and
thematics’ are inheritable. More important are ’functional pro-
perties’ that will be dealt with in the next sections.
152
har rizin i rien Model
In the sense of object oriented design and programming (Kim,
1990) every object can be understood as an encapsulaed unit
composed of a set of data and a set of functions to operate on the
data. Data set (attributes) gives the state of, and function set
(methods) the behavior of the object.
The behavior of an object is involved via message passing to it.
A message is always composed of three parts: the identifier for
obtaining the object to which the message is to be sent; the se-
lector for specifying the state or behavior of the object; and the
optional arguments that can be evaluated by the object (they may
be attributes, objects or messages). For passing message to an
object message interface must be defined for it. There is no way
to access an object execpt through the public interface specified
for it.
By grouping objects sharing the same set of attributes and
methods into a class -it is a new object- the common attributes
and methods can be factored out from individual objects into the
class (classification). Every object which belongs to a class is
an instance which inherits all the attrubutes and methods of the
class and may have additioal attributes and methods.
Classes as objects can themselves be grouped into a superclass
(generalization). Similiarly all attibutes and methods defined for
a superclass are inherited into all its subclasses.
A class may have any number of subclasses. However, a con-
straint can be made for an object oriented system that a class
may belong to only one superclass. In this case a class inherits
attributes and methods from only one superclass; this is called
single inheritance. Without the constraint a class can inherit at-
tributes and methods from more than one superclass; this is
called multiple inheritance. In a system which supports single
inheritance, all classes form a hiearchy.
Object oriented model includes the core properties of many well-
used models such as entitiy-relationship model and semantic
data model. The class concept captures the (instance-of) rela-
tionship between an object and the class to which it belongs; the
concept of a subclass specifying its superclass captures the ge-
neralization (is-a) relationship; and the composition of an object
in terms of attributes capture the aggregation relationship.
An significant point of object oriented model is the way dealing
with the attributes and their domains. The domain of an attribu-
te is a class to which the values of the attribute belong (e.g.,
integer, string etc). This means that every integer or string value
is an object or instance. The class of integers and the class of
strings are only two primitive classes. The domain of an attri-
bute can also be any non-primitive class composed of objects
other than alphanumerics. Sometimes a constraint is made that
the domain of an attribute should only be a class hierachically
rooted at a user-specified class to avoid the nested structures.
Obviously the relationship between an object from one class and
the objects from the classes as domains of attributes of the first
object gives a class hierarchy, which is called class-composition
hierarchy and has nothing to do with inheritance of attributes and
methods. The class-composition hierachy corresponds to the ag-
gregation relationship and can be well-used for (e.g.) inter-rela-
tionships between the geometric primitives.
A fi
exte
duc
defi
and
Er
quit
fror
Spo
may
Atc
thus
feat
whe
log;
It sl
pos:
selv
An
clas
mez
clas
gar
fror
a li
con
and
Cor
geo
fig
to à
ins
doe
cari
Spe
terr
and
The
ters
an ;
noc
ryl
fea
Co
nui
lea
late
Bu
wil
fun
out
prc