An open GIS architecture for inexpensive hardware ... - CiteSeerX

2 downloads 962 Views 243KB Size Report
so a lot of GISs were based on CAD systems. [1]. ... Database management systems (DBMS) present a major .... information systems”, Masters thesis, The.
An open GIS architecture for inexpensive hardware platforms Dejan Mitrovi´c, Slobodanka Djordjevi´c, Leonid Stoimenov Computer graphics & GIS Lab University of Niˇs, Yugoslavia Abstract This paper presents a novel GIS architecture for inexpensive hardware platforms based on commercially available relational databases. Basic characteristics of a GIS toolkit named GINIS are described. The toolkit is based on object–oriented extension of an relational data model and provides all the necessary facilities for implementation of end–user applications. Few applications based on GINIS are also discussed.

1

Introduction

Early computer systems, due to limited memories and processing power, were based on a centralized architecture, where a number of users shared the resources of one processing unit. Such an architecture could not efficiently support numerous different requirements inherent in spatial data processing (complex concepts, huge data sets, interactive nature of tasks, large number of users and so on). Designing a GIS on such systems inevitably included a lot of compromises. The biggest problem was interactivity, so a lot of GISs were based on CAD systems [1]. Therefore, early GISs were expensive and complex, thus making them unreachable for most potential users. The advances in computer hardware and software during 80’s and 90’s enabled GIS programs to run on personal computers and inexpensive graphics workstations. However, these programs are still based on inherited complex architectures of earlier generations, which causes the difficulties in broader applications of GISs. Therefore, a new GIS architecture is highly desirable [2]. A GIS toolkit based on a new architecture named GINIS is developed at the Computer Graphics and GIS Lab, the University of Niˇs

[3]. The goal of the project was to demonstrate possibilities of a fully functional, high performance GIS on the inexpensive hardware platforms, i.e. IBM PC compatible computers. This paper presents basic features of the architecture and capabilities of the toolkit. The next section introduces the architecture, the following one describes some of the applications developed on top of GINIS. The final section contains the conclusions.

2

GINIS architecture

Database management systems (DBMS) present a major landmark in computing sciences. Information systems based on DBMSs possess significant advantages over those based on file systems, namely data security, reduced data redundancy, improved and faster data manipulation, support for multiuser operation, easier application development, support of ad– hoc queries etc. GISs has been using these advantages for a long time now, but the decision that distinguishes our approach from the similar ones [4] is that all the data, alphanumeric as well as geometrical and topological ones, should be stored in a commercially available database and other system components are designed so as to maximize system’s performance. Although being dominant at the market today, the relational data model is not convenient for complex concepts found in GISs, like geometrical or topological ones. Besides this, query languages and supporting indexing structures are not suitable for spatial data. In order to exploit all the advantages of a relational DMBS and to implement a GIS on top of it, an object–oriented extension of the relational data model referred to as GeoQL has been devised. GeoQL is

Figure 1: The hierarchy of spatial object classes based on a predefined hierarchy of spatial object classes (fig. 1). A class encapsulate geometrical data and all the functions which can access these data. Geometrical data are stored into binary database fields as abstract data types [5]. GeoQL defines the top two levels in the hierarchy of spatial objects classes, whereas the subclasses can be applicatively developed by introduction of new attributes and operations needed. Such an approach provides for upgrade of existing thematic database into a spatial one simply by translating the entities from the former into new classes in the hierarchy.

spatial object is used for indexing purposes. Direct search from the B + tree results in a relatively small set of candidate objects and a final result is obtained by brute force on this set. Besides GeoQL, GINIS possesses another significant component – a graphical user interface (fig. 2). It consists of functions for raster maps manipulation, functions for direct manipulation on spatial objects and the GFORM interpreter. The usage of scanned raster maps is a significant aspect of GINIS. They are used as “visual context” for users. Users are mostly interested in just one or small number of neighbouring objects, but in order to locate them in space it is necessary to display geometrical data and textual annotations for a number of surrounding objects. All these additional data form a “visual context”. Generation of such data from a relational database is an enormous problem for the system’s interactive operation. In GINIS, raster maps substitute all the data not necessary for the user, but needed for manipulation with the object of interest.

GeoQL also provides spatial operators which enlarge the standard query language of relational databases (SQL). These operators handle spatial queries (for example point inclusion and rectangle cover problems) and combinations of spatial and alphanumerical queries. A significant dimension of GeoQL is a mechanism for spatial indexing. Since B + trees, which are broadly used in RDBMSs, cannot efficiently support two-dimensional queries, and since external indexing structures would greatly reduce the positive effects of a RDBMS, we have decided to apply a modified version of the OneKey/FourKey method [6, 7], which linearizes the two-dimensional problem, thus enabling the application of B + trees. The approach known as “geometric filter” [8] is applied here, since only an approximation of a

The existence of scanned maps has other advantages too, because the user is already familiar with the originals and prefers standard scales [9]. Scanned raster maps enable the head-up digitilization process, known to be the easiest and fastest way of entering the data to a GIS with precision depending on scanning resolution and scale of the original 2

Figure 2: Overview of GINIS architecture verification etc). Such an approach is usual in 4GL tools in RDBMSs. User–defined forms are stored in the database and are interpreted when needed. Forms consists of standard controls from MS Windows environment which can be tied to triggers. Trigers are procedures containing SQL statements and fire in accordance with the events in the system. Forms can also contain special controls which interpret multimedia data, stored as binary fields in the database. For example, some of already developed controls operate with graphical data in DXF, HPGL, BMP, PCX and TGA formats. GFORM editor, besides the creation of forms, allows the user to alter table definitions, i.e. it serves as a visual data definition language. This is especially important for tables containing geometrical data, in which “manual” changes could be potentially dangerous. Meta–data, describing tables containing spatial data, are stored in the extended data dictionary enabling GINIS operation and horizontal and vertical fragmentation of the database in distributed systems. GINIS is implemented in MS Windows environment as a user interface shell and a dynamic link library (DLL). The user interface shell contains only those elements needed for starting an application: a working window, a menu and scroll bars for panning of

map, which is in most cases satisfactory. MapEdit is a component of GINIS which prepares raster maps. Some of the functions it enables are: filtering, deskewing of scanned maps, joining of neighbouring segments or division into pieces which can be compressed into separate files. The display may show one, two or four raster map files at the moment. Thanks to the disk cache technologies, used even in PCs, a small scroll across the raster map is done without accessing the disk. Manipulation with raster data in MS Windows environment is fast and easy, and CD ROMs and optical disks can store a lot of raster maps. Direct manipulation functions implement composite interaction techniques enabling input, editing and retrieval of the spatial component of geographical database. The usage of these functions is consistent with other MS Windows applications. GFORM interpreter processes alphanumeric data of spatial objects. It interprets system’s or user–defined forms, which enable communication of the data between the user and the GINIS system. System’s forms display alphanumeric fields from a table for one or more objects chosen. On the other hand, GFORM editor provides tools by which the user can create a form with complex interaction with the database (checking the data, 3

raster maps. All other functions are implemented as the DLL. Such a distribution supports development of applications either by customization of the UI shell’s menu or by programming in standard programming languages using the DLL as an application programmers interface. Connection with the database is made through standard Microsoft ODBC functions so a number of commercial RDBMS could be used.

3

participating in the action on the map, to move them (when needed) to new positions using drag & drop metaphor, to retrieve the corresponding data, to measure distances and areas and so on. For implementation of that function new subclasses were formed (vehicles, people) also done through GFORM editor. Positioning, moving and deleting functions also come from GeoQL, but user interface had to be developed separately because of the complexity of interaction and necessity of recording the trace of interaction. Nevertheless, the development of the subsystem on Microsoft Visual Basic had been lasted only a few weeks due to existing GINIS functions. An excerpt from the FireGuard system is shown in figure 3. The other applications built on top of GINIS are PLEX — an intelligent system for urban planning [10] and MapSys — a spatial objects control system [11]. In all cases development time was extremely short and applications run on IBM PC compatibles with 386 processor under MS Windows 3.X operating environment.

GINIS applications

GINIS has been used as a basis for several end–user applications. FireGuard is an information system developed for Fire & Rescue Department consisting of 2 subsystems sharing a common database. Inspection subsystem aids in monitoring the state of the equipment and follow–up of legal regulations concerning fire and other accidents. This subsystem processes only alphanumeric data which are regularly updated. Since its manipulates large data sets, it was the first subsystem implemented. Classic Entity–Relationship model was formed and mapped into a normalized relational model. This subsystem is implemented using our own WYSIWYG user interface development tool. The Fire subsystem supports decision making during fire extinction. The three functions of this subsystem are:

4

Conclusions

The application of relational databases in GIS is constantly growing due to their advantages. GINIS presents a novel GIS architecture using database technology which overcomes the shortcomings of earlier GIS architectures. Its components are GeoQL, an object–oriented extension to relational data model and a graphical user interface. GeoQL provides storage and management of spatial data and easy development of applications using predefined spatial object classes. The user interface enables user friendly interaction and high performances of the system. GINIS also provides additional tools for creation and display of forms, which are means of alphanumeric data communication. Applications developed using GINIS, such as FireGuard, have proved the goodness of design decisions. Future research directions include enlarging the set of classes and functions, adding 3D terrain modeling capabilities, and new Windows features (like OLE 2.0 and NetDDE) for better integration with other Windows applications thus easing the burden of interaction on the user.

• finding the shortest/fastest route to a given object, • retrieval of data (from inspection subsystem) concerning the entities of interest and • monitoring and control of fire extinction actions. Since all the operations of the Fire subsystem are visual it is necessary to extend the database. Those objects (from inspection subsystem) with spatial data required creation of new subclasses, that is, adding new fields into existing database tables for storing these data, is done from GFORM editor. The first two functions of Fire subsystem were implemented directly by using GINIS functions. The last function enables the operator to place the symbols for vehicles and people 4

Figure 3: Excerpt from the FireGuard References

[8] Orenstein J., Manola F., ”PROBE Spatial Data Modeling and Query Processing in an Image Database Application”, IEEE Tran. on Software Eng., 14, 5, 1988.

[1] Nagy G., Wagle S., ”Geographic Data Procesing”, ACM Computing Surveys, 11, 2, 1979. [2] D.J. Abel at all, “EDSS: a prototype for the next generation of spatial information systems”, AURISA 91, 1991.

[9] Frank A., ”MAPQUERY: Data Base Query Language for Retrieval of Geometric Data and their Graphical Representation”, ACM Computer Graphics, 16, 3, 1982.

[3] Mitrovi´c D. “Relational database system extension for applications in geographic information systems”, Masters thesis, The University of Niˇs, 1993.

[10] Mitrovi´c D.; Radenkovi´c Z.; Mitrovi´c A. “PLEX — a knowledge–based system for urban planning”, System Research and Information Science, 6, 1, 1994.

[4] van Oosterom P., van den Bos J., ”An Object–Oriented Approach to the design of Geographic Information System”, Computers & Graphics, 13, 4, 1989.

[11] D. Mitrovi´c, Djordjevi´c S., Mitrovi´c A., Radenkovi´c Z., Stoimenov L., “MapSys – A Spatial Objects Control System”, paper accepted for 3rd Int. Conference on Automation, Robotics & Computer Vision, Singapore, november 1994.

[5] Kemper A., Wallrath M., ”An Analysis of Geometric Modeling in Database Systems”, ACM Computing Surveys, 19, 1, 1987. [6] D.J. Abel, J.L. Smith, “A data structure and algorithm based on a linear key for a rectangle retrieval problem”, CVG&IP, 1, 1983. [7] D.J. Abel, J.L. Smith, “A data structure and query algorithm for a database of areal entities”, Australian Comp. J., 11, 1984.

5