# Web Map Service

A Web Map Service (WMS) is a standard protocol developed by the Open Geospatial Consortium in 1999 for serving georeferenced map images over the Internet. These images are typically produced by a map server from data provided by a GIS database.

## History

The Open Geospatial Consortium (OGC) became involved in developing standards for web mapping after a paper was published in 1997 by Allan Doyle, outlining a "WWW Mapping Framework". The OGC established a task force to come up with a strategy, and organized the "Web Mapping Testbed" initiative, inviting pilot web mapping projects that built upon ideas by Doyle and the OGC task force. Results of the pilot projects were demonstrated in September 1999, and a second phase of pilot projects ended in April 2000.
The Open Geospatial Consortium released WMS version 1.0.0 in April 2000, followed by version 1.1.0 in June 2001, and version 1.1.1 in January 2002. The OGC released WMS version 1.3.0 in January 2004.

## Requests

WMS specifies a number of different request types, two of which are required by any WMS server:
* GetCapabilities – returns parameters about the WMS (such as map image format and WMS version compatibility) and the available layers (map bounding box, coordinate reference systems, URI of the data and whether the layer is mostly opaque or not)
* GetMap – returns a map image. Parameters include: width and height of the map, coordinate reference system, rendering style, image format
Request types that WMS providers may optionally support include:
* GetFeatureInfo – if a layer is marked as 'queryable' then you can request data about a coordinate of the map image.
* DescribeLayer – returns the feature types of the specified layer or layers, which can be further described using WFS or WCS requests. This request is dependent on the Styled Layer Descriptor (SLD) Profile of WMS.
* GetLegendGraphic – returns an image of the map's legend image, giving a visual guide to map elements.
All communication is served through HTTP.

## Map image

A WMS server usually serves the map in a bitmap format, e.g. PNG, GIF, JPEG, etc. In addition, vector graphics can be included, such as points, lines, curves and text, expressed in SVG or WebCGM format.

## Software

Open source software that provide web map services capability include:
* deegree
* GeoServer
* MapServer
* MapGuide Open Source
* QGIS Server
Proprietary server software that allow providing web map services include:
* ArcGIS Server
* ArcIMS
* Cubeserv from Terrapixel
* GeoWebPublisher from Bentley Systems
* GeognoSIS from Cadcorp
* GeoMedia
* Oracle MapViewer
* SIAS (Smallworld Internet Application Server) from GE Energy
* Autodesk's Infrastructure Map Server
* Manifold System
* MapTiler Server
* Luciad's LuciadLightspeed and LuciadFusion products
Open source standalone (client side) software that allow viewing web map services include:
* Marble
Proprietary standalone (client side) software that allow viewing web map services include:
* Google Earth
* Esri ArcGIS & ArcGIS Explorer
* Global Mapper
* Kongsberg Gallium Ltd. InterVIEW / InterMAPhics
* Luciad's LuciadLightspeed, LuciadRIA and LuciadMobile products
WMS is a widely supported format for maps and GIS data accessed via the Internet and loaded into client side GIS software. Major commercial GIS and mapping software that support WMS include:
* Autodesk's Map 3D and Civil 3D products
* Bentley Systems' MicroStation, Bentley Map, desktop and server based GIS products
* Cadcorp SIS product suite
* D3.js
* ESRI's ArcGIS products
* GeoMedia
* Global Mapper
* Kinetica
* Manifold System
* MapInfo Professional
* Maptitude Mapping Software
* MATLAB and Mapping Toolbox
* Qlik Sense
* Tableau
Open source software that supports WMS include:
* QGIS
* uDig
* OpenJUMP
* MapGuide Open Source
* NASA World Wind
* GRASS GIS
* GeoTrellis
* JOSM
* gvSIG
* OpenLayers
* Leaflet.js
* GE Energy's SIAS, an Ajax library, supports WMS for integrating WMS maps into web pages, as does Mapbender