Version 0.12 (April 14, 2015)#
Features#
We are very pleased to announce that Elliott Sales de Andrade was added to the cartopy core development team. Elliott has added several new projections in this release, as well as setting up cartopy’s Python 3 testing on TravisCI and generally improving the cartopy codebase.
Installing cartopy became much easier for conda users. A
scitools
channel has been added which makes getting cartopy and all of its dependencies on Linux, OSX and Windows possible with:conda install -c scitools cartopy
Support for Python 3, specifically 3.3 and 3.4, has been added. Some features that depend on OWSLib will not be available as it does not support Python 3.
Two new projections,
AzimuthalEquidistant
andAlbersEqualArea
have been added. See the Cartopy projection list for the full list of projections now available in cartopy.The Web Map Service (WMS) interface has been extended to support on-the-fly reprojection of imagery if the service does not support the projection of the map being drawn. The following example demonstrates the process by adding WMS imagery to an Interrupted Goode Homolosine map - unsurprisingly this WMS service does not provide IGH imagery, so cartopy has had to reproject them from a projection the WMS does support:
Peter Killick added an interface for accessing MapBox tiles using the MapBox Developer API. A MapBox client can be created with,
MapboxTiles
and as with the other imagery from a simple URL based imagery service, it can be added to aGeoAxes
with theadd_image()
method. The following example demonstrates the interface for another source of imagery:Some improvements were made to the geometry transformation algorithm to improve the stability of geometry winding. Several cases of geometries being incorrectly inverted when transformed have now been resolved. (PR #545)
Mark Hedley added the
central_rotated_longitude
keyword tocartopy.crs.RotatedPole
, which is particularly useful for limited area rotated pole models in areas such as New Zealand:A new method has been added to the
GeoAxes
to allow control of the neatline of a map drawn with the Matplotlib interface. The method,set_boundary()
, takes amatplotlib Path
object, which means that arbitrary shaped edges can be achieved:A new SRTM3 RasterSource has been implemented allowing interactive pan/zoom of 3 arc-second elevation data from the Shuttle Radar Topography Mission. The SRTM example has also been updated to use the new interface.
New additions to the gallery:
Deprecations#
The SRTM module has been re-factored for simplicity and to take advantage of the new raster source interface. Some methods have therefore been deprecated and will be removed in future releases. The function
cartopy.io.srtm.srtm()
has been replaced with thecartopy.io.srtm.SRTM3Source.single_tile()
method. Similarly,cartopy.io.srtm.srtm_composite
andcartopy.io.srtm.SRTM3_retrieve
have been replaced with thecartopy.io.srtm.SRTM3Source.combined()
andcartopy.io.srtm.SRTM3Source.srtm_fname()
methods respectively.The
cartopy.io.RasterSource.fetch_raster
interface has been changed such that a sequence ofcartopy.io.LocatedImage
must be returned, rather than a single image and its associated extent.The
secant_latitudes
keyword incartopy.crs.LambertConformal
has been deprecated in favour ofstandard_parallels
.