Center for Spatial Information Science and Systems (CSISS)

Use cases of Geospatial Web Services

Table of Contents

Use case #1 - Invoke a web service dynamically

CSISS/GMU Geobrain team has developed a client application which could dynamically call a web service. You can use it to automatically create a test client from the WSDL description for a web service. Its URL is:

    http://laits.gmu.edu:8099/wscaller/wscaller.jsp
    
You could append "?wsdl=the wsdl URL of any web service" to the above URL. For example, to test Grass_Raster_DataConversion web service, you could input the address like that:
    http://laits.gmu.edu:8099/wscaller/wscaller.jsp?wsdl=http://geobrain.laits.gmu.edu:801/axis/services/Grass_Raster_DataConversion?wsdl
    

It's cooool! Now enjoy to call any of our GRASS web services.

Use case #2 - Geobrain Online Analysis System (GeOnAS)

CSISS/GMU Geobrain team has also been developing GeoBrain Online Analysis System (GeOnAS). GeOnAS is a browser-centric interoperable application for accessing geospatial web services, especially those from Open Geospatial Consortium (OGC) standards, including Web Coverage Service (WCS), Web Feature Service (WFS), Web Map Service (WMS) and Catalog Service for Web (CSW) Specifications. It help to search data, automatically invoke a web service, do some analysis, data management and view the analysis result maps online. Its URL is:
    http://geobrain.laits.gmu.edu:81/OnAS/
    
You can find the draft User Guide at:
    
    http://geobrain.laits.gmu.edu:81/OnAS/User_Guide.htm in htm
    
    http://geobrain.laits.gmu.edu:81/OnAS/User_Guide.pdf in pdf
    

Use case #3 - Find Shortest Path

This case shows how to use shortest_path operation within Grass_Vector_ShortestPath service to search the shortest path on a vector network. The shortest path algorithm has been deployed as a process in 52North Web Processing Service. WPS defines three operations: GetCapabilities, DescribeProcess and Execute, which can be requested by a client.
  1. GetCapabilities: This operation allows a client to request and receive back service metadata (or Capabilities) documents that describe the abilities of the specific server implementation.
  2. DescribeProcess: This operation allows a client to request and receive back detailed information about one or more process(es) that can be executed by an Execute operation, including the input parameters and formats, and the outputs.
  3. Execute: This operation allows a client to run a specified process implemented by the WPS, using provided input parameter values and returning the outputs produced.

We can send requests to the WPS:

  1. Get Capabilities request:
  2. On this page http://geobrain.laits.gmu.edu:8099/wps/WebProcessingService?Request=GetCapabilities&Service=WPS, you could find different processes by '<'ows:Identifier'>' in '<'ProcessOfferings'>'. "edu.gmu.laits.wps.server.algorithm.ShortestPathAlgorithm" is included in it. This means our WPS service provides such process or algorithm.
  3. DescribeProcess request:
  4. The description of the process could be viewed by this link: (This is a DescribeProcess request) http://geobrain.laits.gmu.edu:8099/wps/WebProcessingService?Request=DescribeProcess&Service=WPS&Version=0.4.0&Identifier=edu.gmu.laits.wps.server.algorithm.ShortestPathAlgorithm This page describes or gives you some information about inputs and outputs of the process "edu.gmu.laits.wps.server.algorithm.ShortestPathAlgorithm". Here request one process by "Identifier=".
  5. Execute post:
  6. The shortest path algorithm (or process) could be executed by requesting an Execute operation. WPS test page URL is: http://geobrain.laits.gmu.edu:8099/wps/test_shortestpath.html. This test form was written according to WPS executes specification (wpsExecute.xsd). It corresponds to the DescribeProcess description of the process. If you want to execute it, you should specify each input values for the process.

The image of the result gml is shown at the below.

In the future, our OnAS web client could parser gml file and render it to an image, we could view the result in OnAS directly.

Use case #4 - Create a Clipping Web Service

For our vector clipping service example, we are going to create a webservice which import two vector files from URLs, clip by using GRASS commands v.overlay), return the result as a web-accessible URL. (Same as the way in this page http://grass.itc.it/grass57/tutorial/vectoroverlay.html

Here we create clipping web service based on our three GRASS webservices:

  1. Grass_General_Commands Service (http://geobrain.laits.gmu.edu:8099/axis/services/Grass_General)
    You can see corresponding Java interface (http://geobrain.laits.gmu.edu:8099/webservices/grass/Grass_General_Commands.java )
    We use its "create_dummy_location" method to initialize the GRASS environment: database, location and mapset
  2. Grass_Vector_InOut_Commands Service (http://geobrain.laits.gmu.edu:8099/axis/services/Grass_Vector_InOut )
    Java interface ( http://geobrain.laits.gmu.edu:8099/webservices/grass/Grass_Vector_InOut_Commands.java)
    Use its "v_in_ogr" method to import two vector files
    Use its "v_out_ogr" method to export the result.
  3. Grass_Vector_Commands Service (http://geobrain.laits.gmu.edu:8099/axis/services/Grass_Vector )
    Java interface ( http://geobrain.laits.gmu.edu:8099/webservices/grass/Grass_Vector_Commands.java )
    Use its "v_overlay" method to do vector clipping

You could find the implement code in the files Clip_Functions.java and Clip_FunctionsSoapBindingImpl.java. Note that you need to have three GRASS webservices stubs in your classpaths (see the import statements in the code, eg. "import edu.gmu.laits.ws.grass.Grass_General_Commands.*;"). You can create these stubs using WSDL2Java in Axis.

It will be an easy thing to turn the above Java programs into a clipping web service using Axis. . We also deployed this clipping algorithm into 52North Web processing Service.
Test page URL : http://geobrain.laits.gmu.edu:8099/wps/testgrassclipper.html.

Use case #5 - Stream Extraction from DEM

This service was created from Georain project NIU (Northern Illinois University) partner talking about the model to derive stream network from DEM based on topographic curvature. We try to find a set of command line inside GRASS to implement it as follows:
There is a number of modules suitable for different applications inside GRASS [ Helena Mitasova]. We created three operations for the Grass_Raster_StreamExtraction Service. The flowDirectionBasedMethod operation implements the above algorithms. Other two operations curvatureBasedMethod, simplifiedCurvatureMethod are created for getnerating streams respectively using special algorithms based on topographic curvature.

Use case #6 - GRASS Web Application Software System (GWASS)

Our NEHEA member - The University of Texas at Dallas developed some applications based on our web service, which named GRASS Web Application Software System (GWASS). Its URL is: http://wastetoenergy.utdallas.edu/geobrainapp.You need to input user ID and password to login. Their funcions include:
  1. User Data Management: upload new data, download data, delete data and show image
  2. Maps Calculator: e.g. calculate a NDVI(Normalized Difference Vegetation Index)
  3. FFT: Fast Fourier Transform
  4. IFFT: Inverse Fast Fourier Transform
  5. Image Mosaic
  6. Zero-crossing (edge detection)
  7. Unsupervised Classification
  8. RGB2HIS: Transform from RGB to HIS
  9. HIS2RGB: Transform from HIS to RGB
  10. RGB composite
  11. Tasseled Cap
  12. Optimum Index Factor
  13. Principal Components Analysis

See also



CSISS Web Services index        GRASS GIS Reference Manual        GeoBrain Project       GeoBrain Products        CSISS Development Team

Copyright Center for Spatial Information Science and Systems (CSISS), 2002-2007
George Mason University (GMU), 6301 Ivy Lane, Suite 620, Greenbelt, MD 20770 USA


Any comments to:webmaster