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.
WFSGeometrySource
(service, features, getfeature_extra_kwargs=None)[source]¶ Web Feature Service (WFS) retrieval for Cartopy.
Args:
- service:
The URL of a WFS, or an instance of
owslib.wfs.WebFeatureService
.
- features:
The typename(s) of the features from the WFS that will be retrieved and made available as geometries.
Kwargs:
- getfeature_extra_kwargs:
Extra keyword args to pass to the service’s getfeature call.
-
default_projection
()[source]¶ Return a
cartopy.crs.Projection
in which the WFS service can supply the requested features.
-
fetch_geometries
(projection, extent)[source]¶ Return any Point, Linestring or LinearRing geometries available from the WFS that lie within the specified extent.
Args:
- projection:
cartopy.crs.Projection
The projection in which the extent is specified and in which the geometries should be returned. Only the default (native) projection is supported.
- projection:
- extent: four element tuple
(min_x, max_x, min_y, max_y) tuple defining the geographic extent of the geometries to obtain.
- Returns:
- A list of Shapely geometries.
-
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 Pillow 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 Pillow 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.