Elsevier

Computers & Geosciences

Volume 36, Issue 8, August 2010, Pages 1060-1068
Computers & Geosciences

Sharing geoscience algorithms in a Web service-oriented environment (GRASS GIS example)

https://doi.org/10.1016/j.cageo.2010.03.004Get rights and content

Abstract

Effective use of the large amounts of geospatial data available for geospatial research and applications is needed. In this paper, the emerging SOAP-based Web service technologies have been used to develop a large number of standard compliant, chainable geospatial Web services, using existing geospatial modules in software systems or specific geoscientific algorithms. A prototype for wrapping legacy software modules or geoscientific algorithms into loosely coupled Web services is proposed from an implementation viewpoint. Module development for Web services adheres to the Open GIS Consortium (OGC) geospatial implementation and the World Wide Web consortium (W3C) standards. The Web service interfaces are designed using Web Services Description Language (WSDL) documents. This paper presents how the granularity of an individual existing geospatial service module used by other geoscientific workflows is decided. A treatment of concurrence processes and clustered deployment of Web services is used to overcome multi-user access and network speed limit problems. This endeavor should allow extensive use of geoscientific algorithms and geospatial data.

Introduction

The rapid development of network technology has led to an explosion of data and information. For example, the National Aeronautics and Space Administration (NASA)’s Earth Observing System (EOS) satellites alone generate more than 3 terabytes (TB) of interdisciplinary earth system science data daily (NASA, 2007). Large volumes of geospatial data are archived at a variety of levels of processing. These Earth surface observation can be used for many purposes, among them are hydrological analysis, wildfire prediction, air pollution monitoring, water and land resource management and agricultural production estimation.

Each year a massive amount of funding is spent to collect, process, manage, and publish large amounts of geospatial data, but large amounts of the data have not been studied yet, for several reasons. Data processing is an additional burden and requires extensive processing time. The users are not familiar with the data format. The traditional research systems may involve high costs. One of the biggest problems is how to make the geospatial data readily available to scientists, policy makers, and the general public.

The accumulating data should be used effectively for geospatial research and applications. Geographic Information Systems (GIS) have come to be an indispensable tool for geospatial analysis and interpretation. They help the users to analyze, manage, and interpret spatial data. They facilitate geographic analysis and geographic modeling by scientists, policy makers, and the general public. A variety of proprietary and open source GIS products have been developed to meet practically all the basic needs of GIS users. Some modules to solve specific geoscientific problems are embedded into the GIS software. For most users, either the processing functions they want to use may be just a small part of a software package or some processing functions they need may not be provided in that software package. Moreover, many geoscientific algorithms or models use earth observation surface data to solve different kinds of earth sciences problems. Generally, these geoscientific algorithms or models created by different specialists are so complex that the users require considerable time to learn how to use them. Traditionally, these geospatial modules or models are developed and used on a local machine. This situation limits the use of geospatial algorithms or models, and potentially limits the use of geospatial data in modeling and analysis. The development of Web service technologies and new interoperability standards provides a solution to the above problems. The use of Web service technologies fulfills two crucial roles: the interoperability of Web services accelerates the sharing of spatial data and information by applications on different platforms, and the modularity of Web services promotes the sharing of specific geospatial functions by a wide range of users.

Web services are implemented by adopting a collection of communication standards for the global information society. The most critical technologies for implementation of Web services are eXtensible Markup Language (XML) (Bray et al., 2008), Simple Object Access Protocol (SOAP) (Mitra and Lafon, 2007), Web Services Description Language (WSDL) (Christensen et al., 2001), and universal description, discovery and integration (UDDI) (OASIS, 2004). At its most abstract level, a Web service consists of an XML document sent to and/or received from a remote software program (Newcomer, 2002). A service requester delivers a request message in the form of an XML document to a Web service and receives a response message in the form of an XML document from the Web service. XML hides the details of the underlying transport protocols and provides a platform-independent structured information format (Zhao et al., 2007). SOAP can encode messages to be exchanged between service requesters and providers. It provides a standard and simple way to structure XML messages. WSDL is an XML-based schema for describing the public interface (input/output parameters, and functionality) of a Web service in a standard and extensible manner. It is not intended for humans to read. It is generally used to support interoperable machine-to-machine interaction. Some information can be obtained from a WSDL document, including the data types to be exchanged, the operations offered, the protocol used, as well as the name and location of the Web service. UDDI is a protocol for publishing and discovering metadata about Web services. It allows the service provider to register a Web service in the Catalog Service for the Web (CSW) and facilitates the service requester's discovery and access to a Web service.

It is worth differentiating geospatial Web services as defined by the Open GIS Consortium (OGC) from Web services in the e-business world. OGC geospatial Web services have been developed in parallel with the evolution of Web services defined by the World Wide Web Consortium (W3C) and the organization for the advancement of structured information standards (OASIS). The geospatial Web services discussed in this paper are implemented using OGC and W3C standards. The reason to choose OGC standards is that OGC is the only international organization dedicated to develop geospatial implementation standards consistent with the international organization for standardization (ISO), the federal geographic data committee (FGDC), and the International Committee for information technology standards (INCITS), and other abstract or content standards. OGC standards have been fully tested in both NASA’s and other data providers’ environments. OGC specifications are widely used by geospatial communities for sharing data and resources and are becoming ISO standards (Deng and Di, 2009). When there is no relevant OGC standard, W3C Web services standards will be adopted.

In a broader sense, geospatial Web services embrace Web services that handle geospatial data and provide services in processing geospatial data (Zhao et al., 2007). OGC has published a series of geospatial Web services specifications for data sharing and processing. The Web Map Service (WMS), Web Feature Service (WFS), and Web Coverage Service (WCS) standards are widely used over the Web. Use of these services makes geospatial data more easily available. For clarity, this paper refers only to the customized geospatial Web services complete certain operations as “Web services”. Most geospatial Web services that have been implemented are classified as “processing services”, a taxonomic group following ISO/DIS 19119 (ISO/TC 211, 2005). Geoprocessing algorithms can be utilized effectively and shared using the Web service technologies.

Section snippets

GRASS GIS to Web

The geographic resources analysis support system (GRASS) is an open source geographic information system (GIS) with more than 350 modules for management, processing, analysis and visualization of georeferenced data (Neteler and Mitasova, 2008). It is widely used by universities, government offices, and non-profit or commercial organizations throughout the world. GRASS GIS contains modules that can be used for scientific analysis of geospatial data and solving geospatial problems in many areas,

Example implementaion

The functional sizes of individual GRASS service modules are an important factor affecting their flexibility, applicability, and reusability in different geospatial Web service models (Di, 2004). The creation of Web services in the early CSISS work (Dadi and Di, 2009) was based mainly on the command level, as this is the level of the GRASS functional units. At this level, to do a special task requires combining several Web services through a workflow manager, such as the BPEL engines (Zhao et

Implementation solutions and challenges

To implement customized geospatial Web services, the developers must determine which operations are to be published, how to manage the intermediate and temporary file spaces, how to achieve the best performance in a distributed environment, and how to secure the system at large (Zhao et al., 2007). Several challenging problems need to be solved.

Conclusions

A number of standard, interoperable, Web-executable geospatial Web services have been developed to provide geospatial processing and analysis based on GRASS GIS software or/and some existing geoscientific algorithms for raster and vector data processing. All these Web services can be readily used for research in any part of the world. The major results of this paper are as follows:

  • (1)

    Implemented geospatial Web services will undoubtedly improve the efficiency of geoscientific research and bring the

Acknowledgements

This work is supported by a grant from the National Aeronautics and Space Administration (NASA) GeoBrain project (HM1582-04-1-1021, PI: Dr. Liping Di). Special thanks to Dr. Barry Schlesinger for his detailed comments on this paper.

References (41)

  • Apache Axis

    Web services—axis, version 1.4

    The Apache Software Foundation

    (2006)
  • Apache Module

    Apache module mod_proxy_balancer version 2.2

    The Apache Software Foundation

    (2010)
  • Apache Tomcat

    Apache Tomcat, version 6.0.26

    The Apache Software Foundation

    (2009)
  • L. Arge et al.

    Efficient flow computation on massive grid terrain datasets

    Geoinformatica

    (2003)
  • Y. Bai et al.

    A taxonomy of geospatial services for global service discovery and interoperability

    Computers & Geosciences

    (2009)
  • Blazek, R., Nardelli, L., 2004. The GRASS server. In: Proceedings of the Free & Open Source Software (FOSS)/Geographic...
  • J. Brauner

    Providing GRASS with a Web Processing Service interface

  • Bray, T., Paoli, J., Sperberg-McQueen, C.M., Maler, E., Yergeau, F. (Eds.), 2008. Extensible Markup Language (XML) 1.0...
  • M. Cannata

    Linking GRASS with chameleon, geo-analysis on the Web

    Geographic Resources Analysis Support System (GRASS)/OSGeo-News

    (2006)
  • J. Cepicky et al.

    Geospatial processing via Internet on remote servers—PyWPS

    OSGeo Journal

    (2007)
  • Christensen, E., Curbera, F., Meredith, G., Weerawarana, S. (Eds.), 2001. Web Services Description Language (WSDL) 1.1....
  • Dadi, U., Di, L., 2009. Creating Web service interfaces and scientific workflows using command line tools: a GRASS...
  • M. Deng et al.

    Building an online learning and research environment to enhance use of geospatial data

    International Journal of Spatial Data Infrastructures Research

    (2009)
  • Di, L., 2004. GeoBrain-A Web services based geospatial knowledge building system. In: Proceedings of NASA Earth Science...
  • Di, L., Zhao, P., Han, W., Wei, Y., Li, X., 2007. GeoBrain Web service-based online analysis system (GeOnAS). In:...
  • Ehlschlaeger, C., 1989. Using the AT search algorithm to develop hydrologic models from digital elevation data. In:...
  • GeoBrain

    NASA EOS Higher Education Alliance (NEHEA)—Geobrain Products

    (2010)
  • GeoServer

    GeoServer version 2.0.1

    GNU General Public License

    (2010)
  • Geospatial Web Services Manual

    (2010)
  • GRASS GIS 6.4.0svn Reference Manual

    r.external command

    The Open Source Geospatial Foundation

    (2008)
  • Cited by (47)

    • A web-based platform for automatic and continuous landslide monitoring: The Rotolon (Eastern Italian Alps) case study

      2014, Computers and Geosciences
      Citation Excerpt :

      The tool developed is a web-based platform able to gather and synchronize continuous data provided by various instruments and sensors installed in the monitoring system (Lan et al., 2009; Lee et al., 2012; Yamada and Tosa, 2008) in a common user-friendly and customizable framework (Bird et al., 2008; Chiu et al., 2012; Ulutas et al., 2012). The main aim of the web-based platform is to support a wide range of users to analyse, manage and interpret monitored data (Sun et al., 2011), facilitating the identification of the geographic location of sensors, the comparison of measurements and the following interpretation by scientists, policymakers, and the general public (Li et al., 2010; Xiao et al., 2012). The catchment of the Rotolon stream overlays an area of about 5 km2.

    View all citing articles on Scopus
    View full text