Interoperable GIS Applications: Tightly Coupling Environmental Models with GISs

Hassan A. Karimi
North Carolina Supercomputing Center
3021 Cornwallis Road
Research Triangle Park, NC 27709
Tel: (919) 248-9249; Fax: (919) 248-1101
E-mail: karimi@mcnc.org

ABSTRACT

The two possible strategies for integrating environmental models with GISs are the loosely-coupled approach and the tightly-coupled approach. The loose coupling of environmental models with a GIS, which relies on the transfer of data files between the GIS and the external modeling programs, though it is the simplest of the two approaches, is inefficient. The tight coupling of environmental models with a GIS, which facilitates means of building the environmental programs within the GIS or building the GIS within the environmental programs, is currently very difficult. Taking a tightly-coupled approach is highly desired by environmental modelers who intend to take full advantage of GISs. This is because through tight coupling, modelers can improve their efforts in building models and in applying their models to real-world problems. Taking a tightly-coupled approach requires that environmental modelers develop their models using GIS programming languages. Programming in a GIS language consists primarily of scripting GIS functions and commands in series. In some instances these GIS languages in GISs can simplify code requirements, but often offer no real advantage to the modeler from a modeling point of view. The effort in developing environmental models generally focuses on limiting the required GIS knowledge of the model user; and on creating a customized, menu driven display environment. Unlike the loosely-coupled approach, in tightly-coupled models no file conversions or intermediate file editing are necessary to run the model. The two primary inhibiting factors in developing tightly-coupled models within GISs are a) translating existing modeling codes into (generally) more restrictive GIS languages and b ) the inability of GIS languages to support the same capabilities in more traditional programming languages to accomplish processing tasks. As modeling needs change or expand, modelers may require access to different types of solutions. If new or separate models are needed, the tightly-coupled approach requires the additional investment of writing and developing each new model. Existing numerical routines in environmental models often rely on algorithms designed for the structure of parent languages and are incompatible with GIS languages. Attempts to perform complex environmental modeling have met with little success due to the inability of GIS languages to handle complex algorithms and iterative processes. Despite many advances in programming languages (e.g., C and C++) Fortran remains the preferred programming language by many modelers to develop numerically-oriented models. Compared with the Fortran routine which could process hundreds of iterations almost instantaneously, the GIS routine takes longer to process each iteration. One reason for such performance discrepancy is that GIS programming languages are interpreters. A compiled GIS programming language in lieu of the slower interpreted programming language could improve processing efficiency. Environmental modelers should have the freedom to develop models in whatever language they feel most comfortable and are most skilled. GIS programmers should be able to take working statistical or numerical codes and incorporate them into systems for environmental modeling without translation. For modelers to integrate with a GIS the integration must be open to multiple data types and formats. Using the GIS as the pre- and post- processor on the model can improve efficiency in developing the integration method and in managing the data . The custom file formatting capabilities in a GIS are typically not capable of handling the necessary preparation so modelers are left supporting a third platform to facilitate the integration. Still, programmers can create GIS applications which run models with the appearance of never leaving the GIS. Data in the GIS must be readily converted into required formats for model input and incorporated easily with non-spatial information. This can currently only be easily accomplished with external programming and only if the model uses ASCII file input. In order to fully integrate with GISs, modelers should be able to build model input data sets and perform simple file editing tasks without leaving the GIS environment. Interoperable GISs can overcome these problems and allow tightly coupling of environmental models with GIS functionalities. Interoperable GISs should support such features as high-speed of data transfer, non-GIS-specificity, and high-level of integration. Speed of data transfer is important as typically many diverse sets of data need to be transferred between GIS functions and models. GIS-specificity refers to the dependency of the integrated outcome on a specific GIS; GIS-specific means that the strategy can work only with a specific GIS, whereas non-GIS-specific means that the integrated outcome can work with different GISs. Level of integration is the degree of synergism between all modules, GIS functions and models. The primary goals of interoperable GISs are to facilitate application development (environmental modeling) activities by providing easy-to-use and flexible tools and to support similar capabilities that are available with programming languages familiar to modelers. For example, the availability of an embedded multi-language, perhaps within an object-oriented environment, will greatly enhance model development efforts. Interoperable GISs will help modelers to better utilize GISs and optimize modeling effort.