## MapServer OGC Web Services Workshop

### Website

http://ms-ogc-workshop.maptools.org/

### Abstract

Interoperability is increasingly becoming a focus point for organizations that distribute and share data over the Internet. The Open Geospatial Consortium (OGC) focuses on the development of publicly available geospatial web standards. MapServer currently supports numerous OGC specifications, allowing users to publish their data services in an interoperable manner. This workshop will review the OGC specifications supported in MapServer as well as provide information on implementation options and issues, as well as what the future holds for OGC support in MapServer

- Slides for hands-on session (.ppt)

### Notes

- You MUST be familiar with basic MapServer concepts to do this workshop. This workshop assumes you are comfortable with:

- Writing and working with mapfiles
- Connecting various data types
- Working with templates, fonts, symbols, legends, scalebars, etc.

- You need to be connected to the Internet for examples and exercises which connect to external Web Services and the "Links of Interest" section of this page.

### Hands-on Session

#### 1./ Basic MapServer

- Basic MapServer interface -- mapfile here

#### 2./ Projection Setup

- More EPSG codes (add to @osgeo4w@/proj/epsg)

#### 3./ Setting up OGC parameters in mapfile

- Mapping of mapfile to OGC services
- Hiding your mapfile parameter through HTTP server settings -- server config example here -- mapfile here. N.B. copy @osgeo4w@/Apache/cgi-bin/mapserv.exe to @osgeo4w@/Apache/cgi-bin/ms_ogc_workshop
- OWS metadata generator tool

#### 4./ Publishing OGC:WMS

- Publishing as OGC:WMS (GetCapabilities) -- mapfile here
- Publishing as OGC:WMS (DescribeLayer) -- mapfile here
- Publishing as OGC:WMS (GetMap) -- mapfile here
- Publishing as OGC:WMS (GetFeatureInfo) on vector data -- HTML response -- mapfile here -- query templates global header | data header | data body | global footer
- Publishing as OGC:WMS (GetFeatureInfo) on vector data -- OGC:GML response -- mapfile here
- Publishing as OGC:WMS (GetFeatureInfo) on raster data-- HTML response -- mapfile here -- query templates global header | data header | data body | global footer
- Publishing as OGC:WMS (GetFeatureInfo) on raster data -- OGC:GML response -- mapfile here

#### 5./ Publishing OGC:WMS with OGC:SLD

- Publishing as OGC:WMS (GetMap) with remote styling (OGC:SLD) -- SLD document here -- mapfile here
- Publishing as OGC:WMS (GetMap) with remote styling (OGC:SLD) and filtering (OGC:Filter) -- SLD document here -- mapfile here
- Publishing as OGC:WMS (GetMap) with remote styling (OGC:SLD) and filtering (OGC:Filter) to highlight features -- SLD document here -- mapfile here
- Publishing as OGC:WMS (GetMap) with remote styling (OGC:SLD) to classify imagery -- SLD document here -- mapfile here
- Publishing as OGC:WMS (GetLegendGraphic) -- mapfile here
- Publishing as OGC:WMS (GetLegendGraphic) with remote styling (OGC:SLD) -- mapfile here
- Publishing as OGC:SLD with OGC:WMS (GetStyles) to convert MapServer classes to SLD documents -- mapfile here

#### 6./ Using OGC:SLD via MapScript

- Publishing as OGC:SLD with Mapscript to convert MapServer classes to SLD documents -- mapfile here

#### 7./ Publishing OGC:WFS

- Publishing as OGC:WFS (GetCapabilities) -- mapfile here
- Publishing as OGC:WFS (DescribeFeatureType) -- mapfile here

- GML2 Application Schema
- GML3 Level 0 Application Schema

- Publishing as OGC:WFS (GetFeature) with custom query (OGC:Filter) -- Filter Encoding Examples here -- mapfile here

- GML2
- GML3 Level 0

#### 8./ Publishing OGC:WCS

- Publishing as OGC:WCS (GetCapabilities) -- mapfile here
- Publishing as OGC:WCS (DescribeCoverage) -- mapfile here
- Publishing as OGC:WCS (GetCoverage) -- mapfile here

#### 9./ Publishing OGC:SOS

- Publishing as OGC:SOS (GetCapabilities) -- mapfile here
- thin client

#### 10./ Consuming OGC:WMS

- Consuming OGC:WMS -- mapfile here

#### 11./ Consuming OGC:WFS

- Consuming OGC:WFS -- mapfile here

#### 12./ Consuming OGC:GML

- Consuming OGC:GML as a static document -- mapfile here -- GML document here -- GML application schema here -- GML structure (OGR .gfs file) here

#### 13./ Consuming OGC:WMC

- Publishing as OGC:WMC with MapServer CGI -- mapfile here
- Publishing as OGC:WMC with Mapscript -- mapfile here

#### 14./ Consuming Remote Web Services

- Consuming Gazetteer Web Services with PHP middleware -- mapfile here

#### 15./ Mapscript OWS Services

- Perl Example
- Python Example
- PHP Example -- Run script here

### Exercises

#### 1./ Publishing OGC:WMS

- GetCapabilities Test -- mapfile here

#### 2./ Consuming OGC:WMS

- Demo -- mapfile here

#### 3./ Consuming OGC:WFS with Filters

- Demo -- mapfile here

### Links of Interest

- MapServer Documentation Index
- MapServer Mapfile Reference
- MapServer WMS Client HOWTO
- MapServer WMS Server HOWTO
- MapServer WMS Time Support HOWTO
- MapServer WFS Client HOWTO
- MapServer WFS Server HOWTO
- MapServer WFS Configuration for Application Schema Compliance
- MapServer SOS Server HOWTO
- MapServer Filter Encoding HOWTO
- MapServer Web Map Context Documents HOWTO
- MapServer SLD HOWTO
- MapServer Filter Wiki Page
- MapServer WCS Server HOWTO
- MapServer MapScript wrappers for WxS Services
- OGR GML Support

- Open Source Geospatial Foundation
- O'Reilly Web Mapping Illustrated
- O'Reilly Mapping Hacks

- Open Geospatial Consortium (OGC)
- OGC Public Forum
- OGCNetwork
- OGC Schemas
- OGC:WMS Specification (1.1.1)
- OGC:SLD Specification (1.0.0)
- OGC:WFS Specification (1.0.0)
- OGC:SOS Discussion Paper (0.0.31)
- OGC Filter Encoding Specification (1.0.0)
- OGC:GML Specification (2.1.1)
- OGC:GML Specification (2.1.2)
- OGC:GML Specification (3.0.0)
- OGC:WMC Specification (1.0.0)
- OGC:WCS Specification (1.0.0)
- European Petroleum Survey Group (EPSG)

- World Wide Web Consortium (W3C)
- Hypertext Markup Language (HTML)
- Cascading Style Sheets (CSS)
- eXtensible Markup Language (XML) (1.0)
- W3C XML Schema
- XML Path Language (XPath) (1.0)
- eXtensible Stylesheet Language (XSL) (1.0)

### Contact

- tom.kralidis at ec.gc.ca

Last Updated: