WMS – What does it mean for map developers?
WMS (Web Map Service) is growing in popularity around the world as new map services appear and developers look for easier ways to integrate them. What is WMS and why is it good news for developers?
Standard protocol for delivering map data
Like other technologies that have common standards or protocols, such as digital media (DVD, Blu-ray), website building (CSS, HTML) or internet communication (HTTP, FTP), delivery of map data also offers a widely-used standard. Known as WMS, it is not new – in fact, the first version was released by the OGC (Open Geospatial Consortium) 12 years ago in April 2000. However, like many new developments, it takes time to be adopted by the majority and the supporting infrastructure to evolve.
Another factor that is pushing the growing adoption of WMS is the huge growth of connected mobile devices that are hungry for location-based intelligence and specialized map data. One source expects that by the year 2015 the number of internet connected devices will have doubled compared with today – what that means is a much greater need for LBS (Location-Based Services) and efficient methods for delivering map data. WMS aims to fill that need.
So how does it work?
The OpenGIS® Web Map Service Interface Standard (WMS) provides a simple HTTP interface for requesting geo-registered map images from one or more distributed geospatial databases. A standard WMS request defines the geographic layers and area of interest to be processed. The response to the request is one or more geo-registered map images (returned as a JPEG, PNG, etc.) that can be displayed in a browser application.
Standard WMS requests include:
- GetCapabilities – returns parameters about the WMS and the available layers
- GetMap – with parameters provided, returns a map image
The interface also supports the ability to specify whether the returned images should be transparent so that layers from multiple servers can be combined or not.
When the geo-registered map images arrive on the Telogis GeoBase map server (such as GeoStream) they are ‘cut up’ into individual tiles for serving to the client. To make sure there’s no lag when serving tiles to your users it’s a good idea to pre-seed your server’s cache when first loading a WMS feed.
The advantage of using WMS instead of WMTS (Web Map Tile Service) is that it means GeoStream can support custom zoom levels rather than being forced to match the zoom levels offered by the WMTS layer.
Why good news for developers?
When Microsoft announced that IE8 was to be CSS-compliant, the collective sigh of relief from website designers around the world was deafening. The dark days of adding IE-specific hacks to style sheets was slowly starting to fade into the background.
WMS is offering map developers the same hope. Rather than building specific fetch commands for different map services, developers can use standard calls for any WMS-compliant map server. Those commands can be used across a wide range of WMS servers available to developers including NASA Satellite, MetaCarta, NYC Freemap, Human Footprint and lots more.
A standard protocol for map services gives developers certainty and simplicity when it comes to adding additional data layers within their application. It also removes the need for additional processing of map data, improving the application’s overall speed and efficiency.
No doubt over time we will see additional map services adopt the WMS standard, so, if you haven’t already, it’s time to build your application with GIS mapping software that supports WMS.