OBJECT CONSTRAINTS ON AN OBJECT
LINE STRING not intersecting itself
CONNECTED area boundaries are closing line strings,
AREA not overlapping, and with ordering property
' DISCONNECTED component areas non-overlapping
AREA
AREA PARTITION set of non-overlapping areas
with covering property
Figure 2. Additional constraints on some geometrical objects
AssociationObject and AggregationObject are both
aggregations of ComponentDomain and Component.
The Component attribute of each classes is constrained
by the ComponentDomain, in which the possible
components of the class are listed. ComponentDomain.
provides a grouping mechanism for the objects that are
the only possible building blocks of the aggregate.
Geometrical objects of the model consist of geometrical
base objects and geometrical complex objects. The
geometrical base object classes are Point, LineString
and ConnectedArea. Higher level geometrical objects,
which are called geometrical complex objects, are
formed by aggregating or associating the base objects.
The geometrical base objects are aggregates themselves,
for example, point is an aggregate of two or three
coordinate values forming a tuple. In this modelling
scheme, a distinction is made between the base objects
and the complex objects is made to give an idea of the
logical connection of this model to the geographical
modelling conventions in general. Geometrical
complex objects of the model are DisconnectedArea,
AreaAssociation, LineAssociation, and AreaPartition.
The object classes are described by their attributes in
Figure 1. Figure 2 gives a listing of the implicit
constraints on the object classes that are not included
in the Figure 1. The implicit constraints on the object
classes determine the implicit integrity of the object.
For example, the boundary line string(s) of a connected
area is constrained to be closing. On the other hand,
the boundary line string is an instance of the
LineString class whose instances are constrained so
that they may not intersect themselves. In this case, the
constraint of the component class propagates to the
owner aggregate.
The most complex object in the model is the
AreaPartition object, whose components are areas and
line strings. The semantics of AreaPartition lies in the
covering property of the object, so that the subareas,
that is, areas constituting the area partition may not
overlap each other. This geometrical object type is used
to define the geometry of a geographical phenomenon
that is known to exist allover the geographical region
to be modelled, for example, land use, or real estate
division. Note the similarity of this geometrical object
type with the consistency principle of a map database
in general, presented in (White, 1984).
460
4.2 OPERATIONAL FEATURES OF THE MODEL -
OBJECT METHODS
The implicit integrity of the geometrical object model
described above is enforced by the methods of object
classes. The methods consist of procedures that
determine whether or not the state of an object is
consistent with respect to the class definition; the
procedure can alsoaffect the state of an object so that it
will reach the consistent state. For example, the
consistency of an instance of the ConnectedArea class
is enforced by a defining a method for the class that
determines whether or not the boundary of a
particular instance is closing.
Constraint analysis is a possible design process for the
object-oriented database design environment (Urban &
Delcambre, 1990). In the process, the constraints on
object classes are first specified using first-order logic
representation, which is then converted to Horn clause
form. The Horn clauses are numbered, and they are
arranged to a graph based the dominating relationship
between two clauses. The authors of the paper
mentioned above propose that the constraint graph
can be used as a help when specifying methods for
object classes.
In this study, the analysis of object methods is based on
the idea of constraint analysis, but the handling of the
problem is different. The analysis of object methods is
performed based on the figure 3 which is a description
of order between geometrical objects. The semantics of
order between objects are the following. If an object
class is defined as an aggregate (or an association) of
other object classes, the aggregate (association) follows
its component classes in the orderscheme. In figure 3,
object B follows object A, if object A is in the head of
the arrow connecting the two objects. For example,
LineString follows Point, because the geometry of a
line string is determined by points. Thus, LineString
class should be provided by a method, that checks that
the components of a line string instance do exist (as
instances of the ComponentDomain of ConnectedArea
class). Methods for the object classes are listed in Figure
4 based on the structural features of the model (Figure
1) and the order between the objects as in (Figure 3).
POINT -«4— LINE STRING + CONNECTED AREA
DISCONNECTED
AREA
LINE AREA
ASSOCIATION ASSOCIATION
AREA PARTITION
Figure 3. Order between geometrical object classes.
Lin
Co
Dis
Are
43 S
CON
The
this |
with
the c
the s
that
relati
This
geog
user
The |
are I