Title: MapServer Support for Web Coverage Services
1MapServer Support for Web Coverage Services
- Stephen Lime - Minnesota DNR
- Dr. Thomas E. Burk - University of Minnesota
- MUM 2004 - Ottawa, Canada
2Presentation Overview
- Background
- Implementation
- Usage
- Demo Application
- Future Work
3MapServer
- Pre-dates OGC interoperability efforts
- Two primary objectives, via the Internet
- create maps and associated products (e.g.,
scalebars, legends and reference maps) - query spatial data
- Two primary components
- mapserv CGI provides out-of-box functionality
- MapScript, access to the C/C API from popular
programming languages
4GDAL
- Geographic Data Abstraction Library
- Middleware for raster data access, similar in
concept to ODBC - Provides most MapServer raster input and some
output capabilities - Provides limited image processing support for
operations such as projection and resampling
5MapServer OGC Support
- Web Mapping Service (WMS) - a perfect match for
existing MapServer functionality - Web Feature Service (WFS) - MapServer supports
non-transactional elements, equates roughly to
MapServer query support - Web Coverage Service (WCS) - furthest spec from
core MapServer functionality, must rely heavily
on MapServer/GDAL interface
6Groundwork
- MODIS Download Facility early 2000
- First extension of MapServer that has several
characteristics of recent WCS standard - Lead to development of a SEEDS proposal for NASA
funding - Partners University of North Dakota and the Jet
Propulsion Laboratory
7WCS Overview
- Like WFS, WCS is a natural progression from WMS
- Unfiltered access to a coverage, values or
properties at a set of geographic locations - WCS 1.0.0 is limited to simple, that is grid,
coverages whew - Supports simple queries in the form of spatial,
temporal and/or other property subsets
8Design Assumptions
- Not a ground-up WCS implementation
- Will not support the full WCS specification
- Build upon functionality already available within
MapServer - Any extensions to MapServer must be made
available via the core product, the CGI interface
and MapScript - Must integrate with OGC specification
implementations supported by MapServer (e.g. WMS
and WFS) - Relies upon GDAL for data extraction,
transformation (e.g. projection) and formatting
9Our ToDo List
- Enable ISO8601 extended date format parsing
- Enhance tiling to support
- filtering based on tile attributes
- specification of band/bands as an attribute
- Alter GDAL/MapServer interface to support key WCS
features (multi-band raw mode) - Update MapServer compilation process
- Developed interface to process WCS requests via
the MapServer CGI program - GetCapabilities/DescribeCoverage/GetCoverage
10Spatial/Temporal Tiling
- Mechanism to organize and present a large volume
of data using a single MapServer layer definition - Has utility beyond immediate WCS needs, for
example for access control - Simplifies development of client applications
- Potential performance benefits
- May be cumbersome to setup
11Tiling Example Multiple Images
1.img
2.img
3.img
4.img
5.img
6.img
7.img
8.img
9.img
12Tiling Example Single Image, Temporal Bands
NDVI_03.img
May
June
July
August
13Development Status
- Elements of WCS (e.g. tiling) is enabled in 4.2
release, beta WCS support is now available in 4.3
development version - Requires GDAL and Proj.4
- Supports GetCapabilities, DescribeCoverage and
GetCoverage
14Enabling WCS
- Very similar to enabling WMS and WFS
- Define WCS specific metadata elements
- GDAL can discover some values (e.g. resolution)
- Optionally, these values can be hardcoded
- Set the layer DUMP attribute
- If necessary, structure image data appropriately
using new tiling capabilities
15An Example
LAYER NAME "ndvi" STATUS OFF TYPE
RASTER METADATA wcs_label "North Central
US MODIS-based NDVI Images for 2002" ows_srs
"EPSG26915 EPSG4269 EPSG4326"
ows_extent "159707 4597895 1400207 5501395"
wcs_resolution "500.0 500.0" wcs_formats
"GEOTIFF_INT16" wcs_nativeformat "raw
binary" wcs_timeposition "2002-001,2002-033,
,2002-193" wcs_timeitem "imgdate" END
DUMP TRUE TILEINDEX 'ndvi_idx' END
LAYER NAME "ndvi_idx" TYPE TILEINDEX DATA
"mod13" END
16Demo Application
- MODIS Download Facility
- Run the demo...
17Future Enhancements
- Non-temporal range subsetting
- Via TILEINDEX layers
- Via raster cell values
- Automatic metadata discovery
- XML encoded requests
- Support for multiple spatial interpolation
methods - True support of ISO8601 date formats
- WCS client support
- Oh yeah, need to write documentation
18Questions?