GIS software development based on OPENGIS principles
A. Limpouch, V. Červenka, J.Faltejsek, Z. Hárovník, F. Pivnička
Help Service Mapping
Brdičkova 1916, CZ-15500 Praha 5, Czech Republic
e-mail: limpouch@topol.cz, http://www.topol.cz
INTRODUCTION
Widespread use of computers and building of information systems increased problems with geospatial data exchange (sharing) and embedding GIS into larger (enterprise-wide) information systems. The OpenGIS Consortium, Inc. (OGC) was founded in 1994 in response to wide-spread recognition of the problem of GIS data and software non-interoperability. Consortium members would like to overcome these problems through detailed interface specifications for distributed access to geodata and geoprocessing resources. This paper presents the OpenGIS model and principles for future GIS system design as well as the first experience with design and development of software fully built on these principles.
OpenGIS CONSORTIUM
The Open GIS Consortium, Inc. (OGC) is a not-for-profit trade association founded in 1994 and dedicated to promoting new technical and commercial approaches to interoperable geoprocessing. Software vendors (GIS, database, data visualization), system integrators, computer vendors, telecommunications companies, universities, information providers, and federal agencies have joined the Consortium to participate in creating software specifications and data transfer strategies, which will help solve problems with GIS data and software non-interoperability. It is clear that the Consortium activities will have significant influence on GIS community and design of future GIS systems.
At first, the fundamental model for inter-operable geoprocessing was defined in the Open Geodata Interoperability Guide. This document defines common architecture for future GIS systems, which is based on the Pluggable Computing Model. Continuos migration is expected from current monolithic GIS to the environment of functionally oriented components, which can be easily combined and interoperate in the context of various information systems. The Guide defines in general three main parts of the overall model, which are the Open Geodata Model, Open Services Model and Information Communities Model.
The OpenGIS Abstract Specification is built in the context of the fundamental model. This specification consists of documents, which are dedicated on the abstract modelling level to particular subjects of the whole specification (e.g. Features, Coverages, Catalogs, Service Architecture Model).
On the basis of an abstract specification document, the Consortium issues requests for proposals of implementation specifications. These specifications are prepared by teams of the Consortium members. The best proposals are in two-level revision process selected and adopted as Consortium standards. Such standards are publicly released to be accessible to all software vendors. The first implementation specifications for Simple Features were adopted in August 97 for CORBA, OLE/DCOM a SQL platforms. Implementation specifications for Simple Coverages and Catalogs were requested in March 98.
COMPONENT-BASED SOFTWARE ARCHITECTURE
The Pluggable Computing Model, which is based on a component software architecture, should significantly help in the problem of GIS software non-interoperability. This architecture is fully based on the most sophisticated multi-tier modular approach to the development of software.
The figure of Pluggable Computing Model (published in OGIS Guide, p. 44) shows inter-connection of all components and their relation to the context of computer environment. A component is specialised for its task and it is fully dependent on external services and resources of operating system (hardware access, object model, distributed computing platform) as well as other data management tools (e.g. database management systems) and other components (e.g. image processing).
The most common operating system Microsoft Windows (in any 32bit version - Windows 95/98/NT) enables developers to define components based on the OLE/COM object model in the RPC/DCOM distributed computing environment. This support provides a reasonable basis for development of component-based software systems. New Windows NT 5.0 version should include system services for real support of complex distributed system development (the COM+ model).
DATA ACCESS BASED ON OpenGIS PRINCIPLES
It is obvious from the Abstract Specification for Features and the OpenGIS Simple Feature specification, that spatial data access should be seen in the context of database problems. Spatial geometry should be considered as one of object attributes and feature collections could be easily represented as database tables. Several feature collections (tables) also forms one database.
This point of view is supported by current trends in database systems, where new technologies supporting spatial data storage in relational database systems were introduced. One group of them is based on the middleware approach (e.g.. ESRI SDE or MapInfo SpatialWare for Oracle). This approach creates special tier between application and database system. Such a tier manages spatial data and usually support spatial queries. Another approach is based on object-relational database systems, where spatial data management and query engine are included into a database management system (e.g. Oracle Spatial Data Cartridge, Informix DataBlades technology in conjunction with MapInfo SpatialWare DataBlade).
Unfortunately there exist large base of spatial data stored in proprietary formats (mostly binary data of various GIS systems). We cannot expect that such data will be converted into databases massively For this reason, the OpenGIS Simple Feature Specification provides unified method for accessing data stored in both databases and proprietary formats. This technology is based on data providers for both OLE/COM and CORBA environments. These modules provides data in unified table-oriented manner to any system or application.
Data provider technology for the OLE/COM environment is based on the standard OLE DB mechanism for table-oriented data access. Overall architecture is presented on the Figure.
TopoL NT TECHNOLOGY
During last year we started the development of new generation of our TopoL GIS technology - TopoL New Technology (NT). The technology architecture and modules are built on the basis of recommendations and specifications of the OpenGIS Consortium (if they are available for particular module). Technology design is based on following principles:
New technology changes totally our approach to the design of software architecture and spatial data access. We will continuously migrate all functionality of original TopoL GIS system (including remote sensing and photogrammetric tools) into the context of new technology using our large experience in GIS and image processing. The open architecture will also support integration with third-party technologies, e.g. Atlas technology for digital elevation model processing.
SPATIAL DATA ACCESS COMPONENTS
Spatial data access in TopoL NT technology is based on data providers. Data providers for vector data are based on the OLE DB technology and the OpenGIS Simple Feature Specification. We defined our own interfaces for raster data providers, which will be made compatible with OpenGIS specifications when they will be available.
We implemented vector data provider module, which supports read-only access to relational database systems (e.g. Microsoft Access or SQL Server) as well as to current TopoL GIS binary format. In this case, one instance of data provider can access on database or one TopoL block. This object makes individual data tables or block object groups accessible. So that, TopoL block represents one database composed from several collections of points, polylines and areas, which divided into tables by their group code. Each table includes geometry column, internal object attributes as well as primary database attributes (if available).
We also implemented data provider (connector) for raster data which provides full (read
/write) access to raster data independent of their formats. Our provider supports our internal RAS format as well as standard TIFF, BMP and CIT raster formats. Many varieties of RAS and TIFF formats are supported as well as some methods for specification of raster geo-referencing. It should be noted that compressed formats (RAK, CIT and some TIFF varieties) are accessible directly and the provider performs on-line compression and decompression of data.COMPONENTS FOR DISPLAY AND PRINTING DATA
Another part of our technology, which is just under intensive development, is the set of components for spatial data display and printing. The set includes display setting components with flexible methods for colour and symbol definition as well as the order of data display. Object for colour and symbol transfer as well as components for standard and user-defined symbol management are also available. Transformation objects allows to define of display transformation as well as transformation between co-ordinate systems and measurement units.
TopoL NT technology provides OLE Control (OCX) object for display of data in window on screen. For data printing, another set of components was prepared. These components makes map composition printing. It includes map window printing components, composition template management objects as well as template printing component. Definition of templates is based on the use of the XML (eXtensible Markup Language) standard and overall flexible mechanisms allows to define new template item types.
EXAMPLE OF TECHNOLOGY APPLICATION
Besides of numerous sample and test applications, the first real application is currently finished. This application (TAXCarto) will be supplied in the context of larger forest management systems and will be devoted to printing forest management maps. We can expect that the first commercial application of this technology will be released at the end of August 98. TopoLCarto application will complement TopoL GIS system with a tool for printing of map compositions.
We also expect, that application development kit for third-party developers (code name ”TopoLeX”) will be released in September 98. This product will include set of components (described above) as well as detailed documentation and sample application. This kit will help software solution providers to develop specific GIS solution for different areas as well as integrate geodata in the context of information systems. European-wide consortium of developers is currently founded to provide broad support for development of TopoL NT applications and new technology components. Several companies from Germany, Italy and Czech Republic (e.g. Technofarming, GGS) expressed their mutual interest in this activity. We also expect that new version of TopoL GIS system (code name ”OpenTopoL”) will be released in IIIQ of next year.
CONCLUSION
This paper presents the first experience of GIS software vendor with design and development of software, which architecture is based on OpenGIS Pluggable Computing Model and accepts data provided in compliant way with Simple Feature implementation specification (stored e.g. in ordinary relational database management system). Results are demonstrated on the new generation of TopoL technology, which is based on this architecture and which provides data in TopoL binary format in standard way for needs of specific applications (e.g. map printing).
REFERENCES