Construction of interfaces for the transfer of data between geographical information systems
Thesis DisciplineComputer Science
Degree GrantorUniversity of Canterbury
Degree NameDoctor of Philosophy
This thesis deals with the problem of constructing the interfaces needed to transfer data between different geographical information systems. Traditionally, data values were moved from one computer system to another using magnetic tapes and, more recently, using CD-ROM. Use of communication networks to move data sets from one computer system to another greatly widens the scope for data transfers. Examples of types of data transfer now possible are: the development of federated and distributed database management systems which allow data to be transferred among databases stored on different computer systems; the use of electronic mail servers for the distribution of data files; use of hand-held data collectors that can transfer field data through communication links; and applications which, though executing on separate computer systems, communicate with each other through a network. The diverse data representations defined for different geographical information systems cause difficulties when attempting to transfer geographical data. To better understand these representations, and thereby assist in the construction of interfaces, the representation of geographical data values is discussed using the concepts of: an abstraction, which is a collection of ideas about the data to be represented; a data model, which defines a notation for describing the types of data values, and operations for manipulating these values; and a schema, which is a definition of an abstraction using the notation and operations defined by a data model. The author's approach to interface construction is based on generating interfaces from formal transfer specifications. Any such specification defines: the various representations to which the data conforms before, during, and after the transfer; the transformations to modify the data values from one representation to another; and perhaps also transformations to move the values between different computer systems. An interface can be generated from such a transfer specification using the software tool a2b, which has been developed by the author as part of this project. An interface is defined as comprising some combination of four types of interface modules. Decoder modules transform data values from a text-file representation into a memory-resident representation, and encoder modules perform the reverse transformation. Translator modules modify the types of data values, and communication modules send and receive data values through a communications network. These modules are either generated directly by a2b, or from specifications generated by a2b and processed by other software tools such as bison, flex, and the software tools rosy and pepsy provided within the ISO Development Environment (ISODE).