Cartopy

This Page

RasterSources and accessing WMS and WMTS

Implements RasterSource classes which can retrieve imagery from web services such as WMS and WMTS.

The matplotlib interface can make use of RasterSources via the cartopy.mpl.geoaxes.GeoAxes.add_raster() method, with additional specific methods which make use of this for WMS and WMTS (add_wms() and add_wmts()). An example of using WMTS in this way can be found at wmts example.

class cartopy.io.ogc_clients.WMSRasterSource(service, layers, getmap_extra_kwargs=None)[source]

A WMS imagery retriever which can be added to a map.

Note

Requires owslib and PIL to work.

Note

No caching of retrieved maps is done with this WMSRasterSource.

To reduce load on the WMS server it is encouraged to tile map requests and subsequently stitch them together to recreate a single raster, thus allowing for a more aggressive caching scheme, but this WMSRasterSource does not currently implement WMS tile fetching.

Whilst not the same service, there is also a WMTSRasterSource which makes use of tiles and comes with built-in caching for fast repeated map retrievals.

service : string or WebMapService instance
The WebMapService instance, or URL of a WMS service, from whence to retrieve the image.
layers : string or list of strings
The name(s) of layers to use from the WMS service.
getmap_extra_kwargs : dict or None
Extra keywords to pass through to the service’s getmap method. If None, a dictionary with {'transparent': True} will be defined.
getmap_extra_kwargs = None

Extra kwargs passed through to the service’s getmap request.

layers = None

The names of the layers to fetch.

service = None

The OWSLib WebMapService instance.

class cartopy.io.ogc_clients.WMTSRasterSource(wmts, layer_name)[source]

A WMTS imagery retriever which can be added to a map.

Uses tile caching for fast repeated map retrievals.

Note

Requires owslib and PIL to work.

Args:

  • wmts - The URL of the WMTS, or an

    owslib.wmts.WebMapTileService instance.

  • layer_name - The name of the layer to use.

layer = None

The layer to fetch.

wmts = None

The OWSLib WebMapTileService instance.