GISdevelopment.net ---> AARS ---> ACRS 1992 ---> Digital Image Processing

A deductive object - oriented approach to Geographic Information Systems

Vilas Wuwongse, Wiboon Promphanich
Division of Computer Science Asian Institute of Technology
P.O. Box 2754, Bangkok 10501, Thailand


Abstract
This paper aims at proposing a deductive object-oriented data model which is suitable for the specific characteristics and requirements of geographic information system (GISs). A GIS involves the creation, storage, retrieval, browsing and management of electronic from of map entities. In the proposed data model, spatial entities are modeled as an instance of subclass of classes point, Line, and Polygon. Spatial entities in harit properties of their super classes apart from their own properties. These spatial entities are associated with maps. The other type of maps is overlay which is derived from other existing maps derived from other existing maps. The overlay is modeled as rules which are the intentional part of GI.

The model provides a language for data. Definition and manipulation. The language is a modification of SQL and includes commands for the user to create, insert, delete, and update both the data and the rules.

Introduction
A geographic information system (GIS) can be viewed as a database system in which most of the data are spatially indexed [ SMITH et. al., 1987] . Associated with this database is a set of procedures which are operated in order to answer queries about spatial entities in the database. Data stored in GIS may be represented on one of the three basic types of maps, i.e. cartographic, thematic and topographic maps. This paper concerns with thematic map GIS.

Thematic maps consist of closed regions. Each region is associated with an attribute. For example, a soil map would associate each region to a particular soil type. Land-use and zoning maps used in urban planning are other examples of thematic maps. Partition maps. They have the additional property that there is a one-to-one mapping from the set of regions to the set of attribute values.

One of the important steps in designing a GIS is the selection of a data model because the model will determine how the data can be represented, stored and utilized. Three major data models which have been proposed for GIS are relational, deductive and object oriented data models. [ van ROESSEL, 1987; TRINIDAD, 1990; WORBOYS, et al., 1990] Even though it has been very successful in business applications, the relational data model has limited representational capability. The relational data model only a allows data to be represented in terms of records which is a set of certain field. Complicated data cannot readily be expressed as records. Deductive and object oriented data models extend the relational model by allowing complex data to be represented as intensional rules and classes or objects, respectively. The intensional rules of the deductive data model and the inheritance mechanism of the object-oriented data model also helps reduce redundancy in data representation.

This paper proposed and develop a deductive object-oriented data model ( DOODM ) for GIS. The model combines the advantages of both deductive and object-oriented data models. Under the model, GIS entities and characteristics are readily and efficiently represented. The remainder of the

Paper is organized into four sections. Section 2 describes requirements of GIS Section 3 gives the details of the proposed data model while section 4 a brief description of a prototype GIS implemented. Section 5 draws conclusions.

Requirements of GIS
The research of [ GALKINS, 1983; PEUQUET, 1984] adopted by [ SMITH et. al., 1987 ] suggests that the following general requirements should be satisfied in the design and implementation of GIS:
  • ability to handle large, multilayered, heterogeneous data bases of spatially indexed data;
  • ability to query such data bases about the existence, location and properties of a wide range of spatial objects;
  • efficiency in handling such queries that permits the system to be interactive;
  • flexibility in configuring the system that is sufficient to permit the system to be easily tailored to accommodate a variety of specific applications and users;
  • ability of the system to ' learn in a significant way about the spatial objects in its knowledge and data bases during use of the system.
The data Model

1 GIS and DOODM
DOODMS represent data and their relationships in terms of objects / classes and aggregation / association / generalization / rules respectively. Complex data can be expressed by means of object / class representation while reduction of redundant data materialized by means of generalization and rule representation. There are three common data types on GIS, i.e. explicit, virtual and display data types. They can all be represented under DOODMS.

There are two types of the explicit data type: primitive and complex types. Example of primitive types are INTEGER, REAL, CHARACTER, etc. These primitive types could be used to represent attributes of complex types, e.g. INTERGER representing the number of rooms which is an attribute of building objects. Examples of complex types are buildings which consist of geometric objects ( e.g. points, lines and polygons ) and other attributes ( e.g. number of rooms and height ). In our model, explicit data types are components of the base maps which are stored in the fact base or the extionional database.

The virtual data type is not explicitly stored in the database but is deduced from the explicit data. In the proposed model, the virtual data type represents derived maps and is stored in the rule base or the intensional database.

The display data type is composed or report and graphics subtypes. Both explicity and virtual data types can be displayed by report generators or graphic programs. This data type depends on the applications of the user, Therefore, in this paper we will not concern ourselves with this data type.

2 The GIS Extensional Database
Unlike other kinds of data used by most information systems, geographical data must include information about locations and attributes which are related to each other. All geographical data can be reduced t5o three basic topological constructs: points, lines and polygons ( areas ). For examples, roads and railways can be represented as lines, houses as points and soil-types as polygons. Each point or line or polygon may have attributes associated with it. For example, a road may have a name and a house an address. These geographical and attribute data types such as INTEGER and STRING.

2.1 Class Primitive
Primitive objects are provided by the system for the user to build more complex objects. Normally the class primitive includes classes CHARACTER, NUMBER, DATE, TIME, STRING, ARRAY, SET and LIST. In addition, there is a class Specially defined for GISs, i.e. class Coordinate XY. [ Definition 3.1. ] A Coordinate XY object is the aggregation of Coordinate X object and Coordinate Y object. Both Coordinate X and Coordinate Y objects are instances of class INTEGER.

The representation of Coordinate XY object is composed of integer, @ sign and integer. For example. (1 @ 2 ) > point with x-coordinate = 1 and Y - coordinate = 2.

2.2. Class Geo Object
The Geo Object class is an abstract class representing the geographic description of spatial objects. This class is divided into three subclasses : Point, Line, and Polygon. [ Definition 3.2] A point object is the aggregation of Id object and CoordinateXY object. A Pointed object is an instance of class STRING.

[ Definition 3.3] A line object is the aggregation of ID object and a list of CoordinateXY objects. A line object is the aggregation of ID object and a list of CoordinateXY objects. A LineID objects is an instance of class STRING. A list of CoordinateXY object is an instance of class LIST.

[ Definition 3.4] A polygon object is the aggregation of ID object A polygonID object is an instance of class STRING. A set of CoordinateXY objects is an instance of class SET.

2.3 Class BaseMapObject
This GIS extensional database is composed of a set of basemap objects. A basemap object is an instance of class BaseMapObject.

[ Definition 3.5] An attribute object is the aggregation of attribute name and a Primitive or GeoObject Object. The attribute object is represented by the form (0) where L is an object of type STRING and o is a Primitive or GeoObject object.

Examples of attribute objects are
Id ( 'Dusit')
Pt ( 1 @ 2 )
Grade (1)

[Definition 3.6] A spatial object is an object of classes Point, Line or Polygon, or existing subclasses of these classes. A spatial object is the aggregation of a1, a2, …, am and b1, b2, … bn inherited from a super class of the spatial object and bj an Attribute object of its own class. A spatial object is represented as s (a1, a2, am, bi, b2, bn) where s is an object of type STRING representing the class name. An example of this class of objects, i.e. Hotel object, is

Hotel (id ('Dusit'), pt (a @ 2), no of Floor (10) style ('Roman'), year Built ( 1965),no Room (500), grade (1)) [Definitions 3.7] A basemap object is the aggregation of a mapid object and spatial objects. A mapid object is an instance of class STRING. A Spatial object is an instance of class Geo Object. A basemap object is represented by a set of clauses mapid (s) where s is a spatial object. No of Floor (10), Style ('Roman'), year Built1965), no Room (500), grade (1) )

3 The GIS Intensional Database
The GIS intensional database employs the idea from the first order predicate logic where terms are defined as follows.
  • a variable is a term.
  • a primitive object is a term.
  • an attribute object is a term.
  • a spatial object is a term.
The GIS intensional database consists of a set of derived map objects. A derived map object represents a thematic map. the derived map object is represented by the form:

m (s) - m1 (s1), … , mn (sn), p1 (arg1),…, p, (arg),

Where mi is the map identifier, Sj is the spatial object associated with map m, pi is the GIS built-in predicate, and arg1 is the argument required by pi.

The declarative semantics of the rule above is "if m, (s1) and. .. mn (sn) and P1 (arg1)… and p, (arg,) are true then m(s) is true.

4 The GIS Date Definition Language
There are five data definition language commands. Their BNF definitions are as follows:






5 The GIS Data Manipulation Language
The four major data manipulation language commands are:






6 Examples of the Language






A Prototype
A prototype of the GIS model proposed has been developed on an MS-DOS microcomputer using Smalltalk/v. As an object-oriented programming language, Smalltalk/v provides the user with facilities objects, classes and methods. It also has, as a class, a logic programming language called prolog/v. Therefore, Smalltalk/v is ideal for the development of the prototype. The developed prototype consists of two major subsystems: user interface and class hierarchy.

1 User Interface
The user interface subsystem is carried out via windows. There are three types of windows provided by the system: GIS Class Hierarchy Browser, GIS Rule Browser, and GIS Query Browser.

The GIS Class Hierarchy Browser allows the user to create new classes or delete existing ones. When the user creates a new class, its definition will be stored in the system dictionary and if there the system dictionary and if there is no inconsistency with the is no inconsistency with the existing classes or objects, it will be inserted into the extensional database.

The GIS Rule Browser helps the user to insert new rules or delete existing one. When the user inserts and new rule, the system checks wheather the new rule is valid or not. If it is valid, then it will be stored in the intensional database.

The GIS Query Browser enables the user to ask questions and obtaine dinformation by suing a set of extended SQL commands described in the previous section. This browser also provides a graphic pane to display data in geometric views.

2 Class Hierarchy
The prototype assumes that there are six object classes: Magnitude (for primitive objects), Collection (for the formation of complex objects), GeoObject, Logic (for Prolog/v), Class Hierarchy Browser (for browsing and editing class definitions), and Application (for defining application specific objects).

Conclusions
Geographical information systems involve the creation, storage, retrieval, browsing, and management of spatial data entities associated with maps. A deductive object-oriented data model for GIS which consists of primitive, complex, geographic and logic objects, etc., and their Operations has been proposed. A prototype of the model has been developed using Smalltalk/v, and object-oriented programming language which includes Prolog as one of its classes.

The proposed data model and prototype meet the requirements of GIS mentioned in section 2 in the following ways:

Requirement 1 is met by the employment of object-oriented concept. Various data types and databases can be unified under this concept.

Requirements 2 and 3 are satisfied by the modification and extension of SQL, the de facto standard query language for relational databases.

Requirement 4 is satisfied by the provision of class Application by which application specific features can be implemented.

The last requirement, requirement 5, is, in fact, a goal which has no yet been materialized by the current technology. However, the deductive component of the proposed model provides the proposed model provides the foundation for the development of the learning capability.

References
  • CALKINS, H.W. ( 1983), A Pragmatic Approach to GIS Design, International Geographic Union Commission on Geographical Data Sensing and Processing, New York.
  • PEUQUET, D.J., (1984), A Conceptual Framework and Comparison of Spatial Data Models, Cartographica, 21, pp. 66.
  • SMITH, T.R., MENON, S., STAR J.L., ESTES, J.E., ( 1987), Requirements and Principles for the Implementation and Construction of Large-Scale Geographic Information Systems, International Journal of Geographical Information Systems, Vol. 1, No. 1, pp. 13-31.
  • TRINIDAD, G.S., ( 1990 ) ,. A Deductive Database Approach to Geographic Information Systems, AIT Dissertation No. Cs-90-1, Asian Institute of Technology, Bangkok, Thailand.
  • Van ROESSEL, J.W., ( 1987), Design of a Spatial Data Structure Using the Relational Normal Form , International Journal of geographical Information Systems, Vol. 1, pp. 33.