Foursquare Studio has support for connecting to WMS services and rendering map imagery as a visual layer in FSQ Studio.

WMS support in Foursquare Studio is mainly intended to enable users to connect to existing WMS services.

Note: Foursquare does not provide support for serving map data as a WMS service. See below for some information on solutions for serving data via the WMS protocol.

WMS is able to be visualized via the WMS layer.

WMS Protocol Overview

WMS (Web Map Service) is a protocol for serving geo-referenced map images over the internet.

WMS was standardized in 1999 as a way to serve map images over the web. The WMS (Web Mapping Service) is one of the many protocols collectively referred to as the OGC Web Services, a suite of web mapping standards, published by the Open Geospatial Consortium (OGC).

WMS is not a single file format but rather a protocol, specifying a set of HTTP requests that a server must implement. Some of these WMS protocol requests return binary images (normally in png or jpeg format) representing a section of the map, or a legend, and the remaining requests return metadata, formatted as XML text.

The XML responses have a fairly detailed structure and some variations exist, so when working with WMS it is typically useful to have access to well-tested parsers for each XML response type.

Layers

A WMS service defines one or more named map "layers". These map layers typically represent different geographic features as defined by the map services provider based on their underlying data. For a traditional base map service, map layers might represent land, water, roads and buildings, while for a weather service, the selection of available map layers might represent temperature, precipitation, wind speeds, and other climate-related data.

When loading map images, the user can specify one or more map layer names supported by that WMS service. By default, Studio selects and loads the first layer available from the service. Multiple layers can be rendered (roads, buildings, etc.) by creating several Studio layers and altering their order and opacity.

Layer Loading

Under the hood, Foursquare Studio will attempt to auto load the list of layer names for each connected WMS service. All standards-compliant WMS servers are required to support loading the layer list (via the WMS GetCapabilities request), however, it can sometimes be slow, especially on public/free servers or servers that offer very long lists of layers. In certain cases, high-resolution requests (such as local city blocks and roads) may be deprioritized by the provider, resulting in an even longer delay. As a result, it can occasionally take some time (hopefully no more than a minute) for Studio to auto load the list of supported layer names. Once the list is loaded, the layer list is available for selection.

WMS Versions and Compatibility

The WMS protocol has been around for almost 25 years and has undergone some revision. This has resulted in slightly incompatible versions of the protocol. In addition there are some differences between WMS service implementations that can sometimes cause problems. While a number of services have been tested, please report any issues. It is expected that this WMS implementation will gradually become more robust as more corner cases are ironed out.

v1.3.0

Release in Jan 2004

  • Use CRS instead of SRS
  • The order of parameters for BBOX now depends on whether the CRS definition has flipped axes. You will see this in the GetCapabilities request at 1.3.0 - the response should show the flipped axes.
    • BBOX=xmin,ymin,xmax,ymax NON-FLIPPED
    • BBOX=ymin,xmin,ymax,xmax FLIPPED
    • EPSG:4326 needs to have flipped axes. 4326 1 WGS 84 Latitude North Longitude East
  • In WMS 1.3.0 the correct axes lat/long are used. CRS:84 is defined by OGC as having the same datum as EPSG:4326 (that is the World Geodetic System 1984 datum ~ EPSG::6326) but axis order of long/lat.
  • CRS:84 was introduced with the publication of the WMS 1.3.0 specification, to overcome the lat/long order issue.

See stackexchange.

v1.1.1

Released in Jan 2002

  • Use SRS for 1.1.1
  • In WMS 1.1.1 EPSG:4326 is wrongly defined as having long/lat coordinate axes. See v1.3.0 documentation for details.

v1.1.0

Released in June 2001

v1.0.0

Released in April 2000

Vendor parameters

A specific WMS service can support additional vendor specific parameters, e.g GeoServer. Typically these are optional but in case of doubt please check the documentation of the service you are using.

WMS Servers

GeoServer is a full featured open source server with mature support for serving map imagery over WMS.