LAITS' Papers
Serving NASA HDF-EOS Data through NWGISS Coverage Server

Wenli Yang and Liping Di
Laboratory for Advanced Information Technologies and Standards
Center for Earth Observing and Space Research School of Computational Sciences
George Mason University 9801
Greenbelt Road, Suite 316-317 Lanham, MD 20706

Abstract
This paper describes the Web Coverage Server component of the NASA Web GIS software suite (NWGISS) that provides HDF-EOS data through the web using OpenGIS Consortium (OGC) Web Coverage Service (WCS) specification. The NWGISS Web Coverage Server (NWGISS WCS) is designed to allow clients of geographic information systems (GIS) to access multi-dimensional, multi-temporal HDF-EOS data. It has been implemented with three interface protocols: GetCapabilities, DescribeCoverageType, and GetCoverage. In addition to HDF-EOS, the server can encode the returned data in several widely used formats, including binary, geoTiff, NITF, and GIF. The server provides on-the-fly georectification function that can extract swath data and georectified it into user requested spatial resolutions. This functionality is important to many HDF-EOS data users.

I. Introduction
The Hierarchical Data Format (HDF) is a widely used scientific data format because of its portability and multiple data model support. NASA's Earth Observing System (EOS) project extended HDF to HDF-EOS by adding three new EOS specific data models ­ point, swath, and grid [1]. HDF-EOS is the standard format for EOS data and products. EOS project has since produced tremendous amount of data in HDF-EOS format and these data are highly demanded by a broad range of research and application communities. GIS is one of the important tools for analyzing NASA's EOS data. However, current GIS systems use different internal formats and are very difficult to interoperate with each other and with EOS data information system (EOSDIS) directly. Most GIS software packages are also incapable of ingesting data in HDF-EOS. Therefore, the development of capability for delivering GIS-ready EOS data directly to user's GIS systems through Internet for analysis will greatly enhance the interoperability and public use of EOS data.

The objective of NWGISS WCS is to make HDF-EOS data available to GIS applications according to OGC Web GIS Specifications. Through the development of NWGISS WCS, we will evaluate the suitability of OGC interface standards for making NASA data accessible to GIS community. The NWGISS WCS works with the two HDF-EOS grided data models, i.e., swath and grid, and is easy-to-use and easy-to-setup. The development of NWGISS WCS will make NASA EOS data immediately available and accessible to GIS developed by major GIS vendors. Hence, it will significantly increase the accessibility, interoperability, and inter-use of HDF-EOS data, improve the data analysis and visualization, promote the use of HDF-EOS data not only in the global change research but also in the public concerned issues such as environment and resource management, education, and community planning.

II.The OGCWeb Mapping Testbed and Web Services Initiative
The Open GIS Consortium, Inc. (OGC) is a not-for-profit membership organization founded in 1994 to address the lack of interoperability among systems that process geospatial data, and between these systems and mainstream computing systems. OGC's mission is to give the world's information systems a new connection to physical reality by making georeferenced data behave like just another standard data type in systems of all kinds. To achieve that mission, OGC has successfully engaged key user organizations and technology providers in a consensus process to develop technology standards and business process innovations that support widespread adoption and use of georeferenced data and services.

OGC had successfully implemented two Web Mapping Testbeds, WMT I and WMT II [2]. The testbeds produced a set of web-based interoperability specifications. WMT I resulted in an OGC Web Mapping Specification (WMS) version 1. WMS allows interactively assembling maps from multiple servers. WMT II was finished in December 2000 and produced a set of new interoperability specifications. One of the most important specifications for NASA from WMT II is the Web Coverage Specification (WCS). It allows a WCS client to access real multi-dimensional, multi-temporal data from coverage servers. WCS provides an interoperable way of accessing geospatial data, especially those from remote sensing.

OGC Web Services (OWS) represent an evolutionary, standards-based framework that enable seamless integration of a variety of online geoprocessing and location services [3]. OWS was launched in 2001 and the first phase ended with a demo in April, 2002. NWGISS WCS was an important part of the OWS demo and was the only WCS that can serve NASA HDF-EOS products. OWS phase II is just started and a demo will be held in November of 2002.

III. The OGC Web Coverage Service Specification
The OGC Web Coverage Service Specification is designed for enabling GIS clients to access real multi-dimensional, multi-temporal data. WCS specification defines two required interface protocols, namely GetCapabilities and GetCoverage. A third optional protocol, DescribeCoverageLayer was added in versions 0.5, 0.6, and 0.7 [4].

The GetCapabilities interface is designed to let OGC web coverage clients obtain information about the server capabilities as well as the availability of coverage layers. With these pieces of information, a client can formulate a GetCoverage request based on user requirements. The capability description is encoded in XML. The OGC specification provides the XML schema for the description.

The GetCoverage interface is designed for clients to request multidimensional data by specifying extents in the spatial, temporal, elevation, band, and other dimensions, and the encoding format for the returning coverage. The server has to extract the data from archives based on client's specifications, package the data in the format specified by the client, and return the data to client.

The optional DescribeCoverageLayer interface lets clients request a full description of any coverage layers served by a the server. It is different from the getCapabilities interface in that DescribeCoverageLayer gives information about a specific data coverage layer while getCapabilities gives overall description of coverage layers and service. In the latest version of WCS specification (version 0.7), the Capabilities XML contains detailed descriptions of all available coverage layers. Thus, a DescribeCoverageLayer request will result in one or more subsets from the Capabilities XML.

IV. The NWGISS Web Coverage Server
NWGISS WCS is implemented according to the OGC WCS specification versions 0.5 and 0.6 and is ready to be upgraded to include version 0.7, which was first released for discussion on April 04, 2000, as soon as version 0.7 is stabilized.

A. Data format supported by NWGISS WCS
NWGISS WCS is specifically designed for NASA EOS data products. Thus, only NASA HDF-EOS formatted data can be served in this server. We have learned that that a few data producers use native HDF rather than HDF-EOS in generating satellite remote sensing data. Because native HDF does not provide a standard method to store geolocation information, it is not possible to serve native HDF file in a WCS. We have developed a native HDF to HDF-EOS conversion tool for certain HDF products so that those data can be made available to web coverage clients through WCS.

B. Returning Data Format from NWGISS WCS
OGC WCS specification does not prescribe any particular encoding for coverage replies. NWGISS WCS provides a few widely used data encoding. These include binary, HDF-EOS, NITF [5], and GeoTIFF [6]. In the binary encoding, science data sets and geolocation data are written in different plain binary files and information about data sets, including number and sizes and dimension, data types, geographic projections or geo/data mapping relationships, is written in a separate ASCII text file. All these separate files are zipped into a single file and returned to the client. In the HDF-EOS encoding, the original metadata is copied into the returned file, with modifications to the spatial bounding box information if it exists in the original HDF-EOS file. The original data structures (e.g., swath, grid, names of swaths, grids, fields, dimensions) are kept unchanged. NITF can only handle georectified data (i.e., NASA level 3 data). It is not very useful for NASA levels 1 and 2 data because it is not capable of handle geolocation information in swath data. GeoTiff format provides limited capability of storing geo/data mapping information through geo-tie points or transform matrix but is not very suitable for most NASA levels 1 and 2 data. In addition to the aforementioned four encoding methods, NWGISS WCS also provide GIF encoding upon returning. Since GIF is an image format, this encoding does not provide original coverage data, but the image(s) derived from the coverage data. It is essentially a Web Mapping Service functionality and is provided here as a value-add component, which will be useful in future development of a Web Coverage Portrayal Server.

C. Subsetting in NWGISS WCS
NWGISS WCS supports multidimensional subsetting, both spatial and non-spatial. Spatial subsetting is based on spatial bounding box provided by the clients and non-spatial subsetting is based on dimension name and a subsetting value, such as Band_1KM_Emissive=1/16/3. For georectified data (i.e., HDF-EOS grid), the returned coverage exactly matches the requested spatial bounding box. For ungeorectified data (i.e., HDF-EOS swath), the returned coverage represents the minimum subset to fill the spatial bounding box sent by the client. That is, no single row (scan) or column (cross-scan) can be drop from the returned coverage. Otherwise the requested bounding box will not be filled. This is a significant improvement to some existing software packages that retrieve a complete swath scan once the scan touches the bounding box.

D. On-the-fly Georectification in NWGISS WCS
On-the-fly georectification is designed for getting georectified coverage from HDF-EOS swath data. A further modification to the minimum coverage subsetting on swath data is to georectify the swath subset into grid so that it can be fitted exactly into the requested bounding box. Two georectification algorithms are implemented in NWGISS WCS: a bivariate polynomial regression approach and a piecewise bilinear interpolation approach.

The bivariate polynomial regression approach is effective and accurate when geometric distortions can be modeled by low order polynomials (usually two- to four-order) and adequate number of ground control points (GCP) is available. For data with significant geometric distortions, such as airborne images, global polynomial fitting usually cannot generate satisfactory results. A remedy to this problem is using piecewise rectification approaches in which polynomial regressions are performed locally and transform piece by piece the original image to map/earth coordinate using locally derived fitting functions [7][8]. We implemented the global bivariate polynomial regression algorithm in NWGISS WCS. The algorithm produced satisfactory results for data with relatively small distortion or within a small bounding box (e.g., ASTER data or 1/4 to 1/6 scan/frame of MODIS L1B data) but significant errors were observed for data having wide scan angles (e.g., MODIS L1B full granule data).

Many satellite data products contain very dense geolocated pixels, such as the level 1B AVHRR data and MODIS data. For those data, the piecewise bilinear interpolation algorithm is more appropriate. The algorithm utilizes every available geolocation pixel and produces more accurate rectified images in many cases. The algorithm was first developed for processing AVHRR level 1B data stored in half inch, 9-track tapes [9]. It is modified and implemented in the NWGISS WCS based on HDF-EOS swath structure. The algorithm involves a spatial interpolation procedure that transfers pixels of a data field from raw image coordinate to map/earth coordinate, and a data value interpolation that fills blank pixels in the map/earth coordinate. This algorithm performs extremely accurate in our testing with MODIS and ASTER data. The position error is less than one-tenth of a pixel (assuming the geolocation data in swath are error free).

E. Multiple Spatial Reference System Support in NWGISS WCS
The OGC WCS specification versions 0.5 to 0.7 provide two ways in defining spatial bounding box: a) a single spatial reference system (SRS) for both request and returning data; and b) one SRS for request and another for returning data.

With the on-the-fly georectification capability, NWGISS WCS can easily handle the multi-SRS requests. For example, a client may specify bounding box in row/column (scan/frame) coordinate and request returning data in latitude/longitude (lat/lon) coordinate, or vise versa. As long as the returning SRS is not in row/column coordinate, on-the-fly georectification is invoked for swath coverage.

F. NWGISS WCS websites and test queries
NWGISS WCS can be accessed at the following address: http://laits.gmu.edu/cgi-bin/NWGISS/wcshdfeos http://heineken.gsfc.nasa.gov:8080/cgi-bin/dib/wcshdfeos.
The followings are sample queries that request capabilities or HDF-EOS data from NWGISS WCS: http://laits.gmu.edu/cgi-bin/NWGISS/wcshdfeos? service=wcs&REQUEST=capabilities
http://laits.gmu.edu/cgi-bin/NWGISS/wcshdfeos?VERSION=0.5&REQUEST=COVERAGE&BBOX=
-120,22,-110,30&FORMAT=HDFEOS&LAYERS=mod2.hdf:SWATH:MODIS_SWATH_Type_L1B:
EV_1KM_Emissive&SRS=EPSG:4326&Band_1KM_Emissive=1/16/1&exception=xml
http://laits.gmu.edu/cgi-bin/NWGISS/wcshdfeos?service=wcs&request=coverage&bbox=20.65,1.5,96.85,25&
layers=india_2kb1_rect.hdf:GRID:AVHRR:Band1&srs=EPSG:4326&format=geoTiff&exception=xmlV.

Future Work
The current NWGISS WCS is fully functional with all current OGC WCS specification versions (up to version 0.6). Further upgrade will be needed as new versions emerge, e.g., version 0.7, which is under discussion and modification. With the start of OWS phase II, more upgrade to the server is expected. In addition, we believe that coordinate reprojection functionality should be implemented. Currently, consensus has not been reached as if the reprojection should be included in WCS or should be separate service. We believe that a minimal reprojection capability is necessary as part of WCS. Currently, we have implemented a bounding box reprojection function between integerized sinusoidal (ISIN) projection and lat/lon coordinate. This is essential because a large number of EOS data are in ISIN projection and most users will request data in lat/lon rather than ISIN bounding box. Thus, an ISIN to lat/lon reprojection for the bounding box corners is necessary. Reprojections between other SRSs are also needed. Other expected developments include implementing full functional DescribeCoverageLayer capability, parsing XML encoded post request (currently only implemented for version 0.6 specification), encoding for other popular remote sensing and GIS formats such as ARC/INFO grid and shapefile, building multi-temporal database and improving/adding temporal subsetting capability. This last capability is especially worth to be mentioned. The multi-temporal subsetting is limited to dimension subsetting. That is, time is a dimension in multidimensional data (such as TOMS ozone data that contain temporal dimension). Multi-temporal information is also presented in multiple file's metadata, such as multiple MODIS granule with time stamp included in metadata. Because there is no standard as to how to store time information in metadata for different HDF-EOS files, we have not implemented the temporal search in metadata. We expect to start from product specific capability first and gradually to include most, if not all, EOS products.

Acknowledgement
This project was supported mainly by grants from NASA Earth Science Technology Office (ESTO). Additional funding was provided by Open GIS Consortium (OGC) for the development of NWGISS coverage server as a part of OGC WMT II.

References
[1] NASA, HDF-EOS Library User's Guide for the ECS Project, NASA Technical Peper, 170-TP-500-001, 1999.
[2]OGC,http://www.opengis.org/pressrm/summaries/20011107.TS.WMT2.htm
[3] OGC, Introduction to OGC Web Services, A. Doyle and C. Reed, eds, 2001, http://ip.opengis.org/ows/index.html
[4] OGC, Web Coverage Sevice (WCS), versions 0.5, 0.6, 0.7, J. Evans, eds, 2000, 2001, 2002, http://www.opengis.org/



Copyright Laboratory for Advanced Information Technology and Standards, 2002-2005
George Mason University, 6301 Ivy Lane, Suite 620, Greenbelt, MD 20770 USA