optimisers

Attributes

GLOBE_AREA

Classes

AlbersEqualArea

Base class for optimised cartopy CRS classes.

CRSOptimiser

Base class for optimising cartopy CRS classes based on domain extents.

Equatorial

A domain with a central longitude < ±25 degrees, covering < 20% of the globe.

Global

A domain which covers >60% of the globe.

LambertAzimuthalEqualArea

Base class for optimised cartopy CRS classes.

Landscape

A non-equitorial domain with an aspect ratio > 1.2.

LargeEqatorial

A domain with a central longitude < ±25 degrees, covering > 20% of the globe.

NorthPolar

A domain with a central longitude > 75 degrees.

NorthPolarStereo

Base class for optimised cartopy CRS classes.

OptimisedCRS

Base class for optimised cartopy CRS classes.

PlateCarree

Base class for optimised cartopy CRS classes.

Portrait

A non-equitorial domain with an aspect ratio < 0.8.

SouthPolar

A domain with a central longitude < -75 degrees.

SouthPolarStereo

Base class for optimised cartopy CRS classes.

Square

A non-equitorial domain with an aspect ratio > 0.8 and < 1.2.

TransverseMercator

Base class for optimised cartopy CRS classes.

Module Contents

class optimisers.AlbersEqualArea

Bases: OptimisedCRS

Base class for optimised cartopy CRS classes.

CENTRAL_LATITUDE = 'central_lat'
CENTRAL_LONGITUDE = 'central_lon'
STANDARD_PARALLELS = 'standard_parallels'
cartopy_crs()
get_kwargs(optimiser)
to_ccrs(optimiser)
class optimisers.CRSOptimiser(extents, small_threshold=0.2, large_threshold=0.6)

Base class for optimising cartopy CRS classes based on domain extents.

Parameters:
  • extents (list) – The domain extents in the form [min_lon, max_lon, min_lat, max_lat].

  • small_threshold (float, optional) – The threshold for a small domain as a fraction of the globe’s area.

  • large_threshold (float, optional) – The threshold for a large domain as a fraction of the globe’s area.

CRS
property area

The area of the domain in square degrees.

property central_lat

The central latitude of the domain.

property central_lon

The central longitude of the domain.

property crs

The cartopy CRS for the domain.

extents
is_equatorial()

Equatorial domains are centered around the equator.

is_global()

Global domains cover > 60% of the globe.

is_landscape()

Landscape domains are at leadt 20% wider than they are tall.

is_large()

Large domains cover < 60% of the globe but > 20%.

is_polar()

Polar domains are centered around a pole.

is_portrait()

Portrait domains are at least 20% taller than they are wide.

is_small()

Small domains cover < 20% of the globe.

is_square()

Square domains have a width and height within 20% of each other.

large_threshold = 38880.0
property max_lat

The maximum latitude of the domain.

property max_lon

The maximum longitude of the domain.

property min_lat

The minimum latitude of the domain.

property min_lon

The minimum longitude of the domain.

mutate()

Mutate the domain to a more optimal CRS.

property ratio

The aspect ratio of the domain.

small_threshold = 12960.0
property standard_parallels

The standard parallels for the projection.

class optimisers.Equatorial(extents, small_threshold=0.2, large_threshold=0.6)

Bases: CRSOptimiser

A domain with a central longitude < ±25 degrees, covering < 20% of the globe.

CRS
property area

The area of the domain in square degrees.

property central_lat

The central latitude of the domain.

property central_lon

The central longitude of the domain.

property crs

The cartopy CRS for the domain.

extents
is_equatorial()

Equatorial domains are centered around the equator.

is_global()

Global domains cover > 60% of the globe.

is_landscape()

Landscape domains are at leadt 20% wider than they are tall.

is_large()

Large domains cover < 60% of the globe but > 20%.

is_polar()

Polar domains are centered around a pole.

is_portrait()

Portrait domains are at least 20% taller than they are wide.

is_small()

Small domains cover < 20% of the globe.

is_square()

Square domains have a width and height within 20% of each other.

large_threshold = 38880.0
property max_lat

The maximum latitude of the domain.

property max_lon

The maximum longitude of the domain.

property min_lat

The minimum latitude of the domain.

property min_lon

The minimum longitude of the domain.

mutate()

Mutate the domain to a more optimal CRS.

property ratio

The aspect ratio of the domain.

small_threshold = 12960.0
property standard_parallels

The standard parallels for the projection.

optimisers.GLOBE_AREA = 64800
class optimisers.Global(extents, small_threshold=0.2, large_threshold=0.6)

Bases: CRSOptimiser

A domain which covers >60% of the globe.

CRS
property area

The area of the domain in square degrees.

property central_lat

The central latitude of the domain.

property central_lon

The central longitude of the domain.

property crs

The cartopy CRS for the domain.

extents
is_equatorial()

Equatorial domains are centered around the equator.

is_global()

Global domains cover > 60% of the globe.

is_landscape()

Landscape domains are at leadt 20% wider than they are tall.

is_large()

Large domains cover < 60% of the globe but > 20%.

is_polar()

Polar domains are centered around a pole.

is_portrait()

Portrait domains are at least 20% taller than they are wide.

is_small()

Small domains cover < 20% of the globe.

is_square()

Square domains have a width and height within 20% of each other.

large_threshold = 38880.0
property max_lat

The maximum latitude of the domain.

property max_lon

The maximum longitude of the domain.

property min_lat

The minimum latitude of the domain.

property min_lon

The minimum longitude of the domain.

mutate()

Mutate the domain to a more optimal CRS.

property ratio

The aspect ratio of the domain.

small_threshold = 12960.0
property standard_parallels

The standard parallels for the projection.

class optimisers.LambertAzimuthalEqualArea

Bases: OptimisedCRS

Base class for optimised cartopy CRS classes.

CENTRAL_LATITUDE = 'central_lat'
CENTRAL_LONGITUDE = 'central_lon'
cartopy_crs()
get_kwargs(optimiser)
to_ccrs(optimiser)
class optimisers.Landscape(extents, small_threshold=0.2, large_threshold=0.6)

Bases: CRSOptimiser

A non-equitorial domain with an aspect ratio > 1.2.

CRS
property area

The area of the domain in square degrees.

property central_lat

The central latitude of the domain.

property central_lon

The central longitude of the domain.

property crs

The cartopy CRS for the domain.

extents
is_equatorial()

Equatorial domains are centered around the equator.

is_global()

Global domains cover > 60% of the globe.

is_landscape()

Landscape domains are at leadt 20% wider than they are tall.

is_large()

Large domains cover < 60% of the globe but > 20%.

is_polar()

Polar domains are centered around a pole.

is_portrait()

Portrait domains are at least 20% taller than they are wide.

is_small()

Small domains cover < 20% of the globe.

is_square()

Square domains have a width and height within 20% of each other.

large_threshold = 38880.0
property max_lat

The maximum latitude of the domain.

property max_lon

The maximum longitude of the domain.

property min_lat

The minimum latitude of the domain.

property min_lon

The minimum longitude of the domain.

mutate()

Mutate the domain to a more optimal CRS.

property ratio

The aspect ratio of the domain.

small_threshold = 12960.0
property standard_parallels

The standard parallels for the projection.

class optimisers.LargeEqatorial(extents, small_threshold=0.2, large_threshold=0.6)

Bases: CRSOptimiser

A domain with a central longitude < ±25 degrees, covering > 20% of the globe.

CRS
property area

The area of the domain in square degrees.

property central_lat

The central latitude of the domain.

property central_lon

The central longitude of the domain.

property crs

The cartopy CRS for the domain.

extents
is_equatorial()

Equatorial domains are centered around the equator.

is_global()

Global domains cover > 60% of the globe.

is_landscape()

Landscape domains are at leadt 20% wider than they are tall.

is_large()

Large domains cover < 60% of the globe but > 20%.

is_polar()

Polar domains are centered around a pole.

is_portrait()

Portrait domains are at least 20% taller than they are wide.

is_small()

Small domains cover < 20% of the globe.

is_square()

Square domains have a width and height within 20% of each other.

large_threshold = 38880.0
property max_lat

The maximum latitude of the domain.

property max_lon

The maximum longitude of the domain.

property min_lat

The minimum latitude of the domain.

property min_lon

The minimum longitude of the domain.

mutate()

Mutate the domain to a more optimal CRS.

property ratio

The aspect ratio of the domain.

small_threshold = 12960.0
property standard_parallels

The standard parallels for the projection.

class optimisers.NorthPolar(extents, small_threshold=0.2, large_threshold=0.6)

Bases: CRSOptimiser

A domain with a central longitude > 75 degrees.

CRS
property area

The area of the domain in square degrees.

property central_lat

The central latitude of the domain.

property central_lon

The central longitude of the domain.

property crs

The cartopy CRS for the domain.

extents
is_equatorial()

Equatorial domains are centered around the equator.

is_global()

Global domains cover > 60% of the globe.

is_landscape()

Landscape domains are at leadt 20% wider than they are tall.

is_large()

Large domains cover < 60% of the globe but > 20%.

is_polar()

Polar domains are centered around a pole.

is_portrait()

Portrait domains are at least 20% taller than they are wide.

is_small()

Small domains cover < 20% of the globe.

is_square()

Square domains have a width and height within 20% of each other.

large_threshold = 38880.0
property max_lat

The maximum latitude of the domain.

property max_lon

The maximum longitude of the domain.

property min_lat

The minimum latitude of the domain.

property min_lon

The minimum longitude of the domain.

mutate()

Mutate the domain to a more optimal CRS.

property ratio

The aspect ratio of the domain.

small_threshold = 12960.0
property standard_parallels

The standard parallels for the projection.

class optimisers.NorthPolarStereo

Bases: OptimisedCRS

Base class for optimised cartopy CRS classes.

CENTRAL_LONGITUDE = 'central_lon'
cartopy_crs()
get_kwargs(optimiser)
to_ccrs(optimiser)
class optimisers.OptimisedCRS

Base class for optimised cartopy CRS classes.

cartopy_crs()
get_kwargs(optimiser)
to_ccrs(optimiser)
class optimisers.PlateCarree

Bases: OptimisedCRS

Base class for optimised cartopy CRS classes.

CENTRAL_LONGITUDE = 'central_lon'
cartopy_crs()
get_kwargs(optimiser)
to_ccrs(optimiser)
class optimisers.Portrait(extents, small_threshold=0.2, large_threshold=0.6)

Bases: CRSOptimiser

A non-equitorial domain with an aspect ratio < 0.8.

CRS
property area

The area of the domain in square degrees.

property central_lat

The central latitude of the domain.

property central_lon

The central longitude of the domain.

property crs

The cartopy CRS for the domain.

extents
is_equatorial()

Equatorial domains are centered around the equator.

is_global()

Global domains cover > 60% of the globe.

is_landscape()

Landscape domains are at leadt 20% wider than they are tall.

is_large()

Large domains cover < 60% of the globe but > 20%.

is_polar()

Polar domains are centered around a pole.

is_portrait()

Portrait domains are at least 20% taller than they are wide.

is_small()

Small domains cover < 20% of the globe.

is_square()

Square domains have a width and height within 20% of each other.

large_threshold = 38880.0
property max_lat

The maximum latitude of the domain.

property max_lon

The maximum longitude of the domain.

property min_lat

The minimum latitude of the domain.

property min_lon

The minimum longitude of the domain.

mutate()

Mutate the domain to a more optimal CRS.

property ratio

The aspect ratio of the domain.

small_threshold = 12960.0
property standard_parallels

The standard parallels for the projection.

class optimisers.SouthPolar(extents, small_threshold=0.2, large_threshold=0.6)

Bases: CRSOptimiser

A domain with a central longitude < -75 degrees.

CRS
property area

The area of the domain in square degrees.

property central_lat

The central latitude of the domain.

property central_lon

The central longitude of the domain.

property crs

The cartopy CRS for the domain.

extents
is_equatorial()

Equatorial domains are centered around the equator.

is_global()

Global domains cover > 60% of the globe.

is_landscape()

Landscape domains are at leadt 20% wider than they are tall.

is_large()

Large domains cover < 60% of the globe but > 20%.

is_polar()

Polar domains are centered around a pole.

is_portrait()

Portrait domains are at least 20% taller than they are wide.

is_small()

Small domains cover < 20% of the globe.

is_square()

Square domains have a width and height within 20% of each other.

large_threshold = 38880.0
property max_lat

The maximum latitude of the domain.

property max_lon

The maximum longitude of the domain.

property min_lat

The minimum latitude of the domain.

property min_lon

The minimum longitude of the domain.

mutate()

Mutate the domain to a more optimal CRS.

property ratio

The aspect ratio of the domain.

small_threshold = 12960.0
property standard_parallels

The standard parallels for the projection.

class optimisers.SouthPolarStereo

Bases: OptimisedCRS

Base class for optimised cartopy CRS classes.

CENTRAL_LONGITUDE = 'central_lon'
cartopy_crs()
get_kwargs(optimiser)
to_ccrs(optimiser)
class optimisers.Square(extents, small_threshold=0.2, large_threshold=0.6)

Bases: CRSOptimiser

A non-equitorial domain with an aspect ratio > 0.8 and < 1.2.

CRS
property area

The area of the domain in square degrees.

property central_lat

The central latitude of the domain.

property central_lon

The central longitude of the domain.

property crs

The cartopy CRS for the domain.

extents
is_equatorial()

Equatorial domains are centered around the equator.

is_global()

Global domains cover > 60% of the globe.

is_landscape()

Landscape domains are at leadt 20% wider than they are tall.

is_large()

Large domains cover < 60% of the globe but > 20%.

is_polar()

Polar domains are centered around a pole.

is_portrait()

Portrait domains are at least 20% taller than they are wide.

is_small()

Small domains cover < 20% of the globe.

is_square()

Square domains have a width and height within 20% of each other.

large_threshold = 38880.0
property max_lat

The maximum latitude of the domain.

property max_lon

The maximum longitude of the domain.

property min_lat

The minimum latitude of the domain.

property min_lon

The minimum longitude of the domain.

mutate()

Mutate the domain to a more optimal CRS.

property ratio

The aspect ratio of the domain.

small_threshold = 12960.0
property standard_parallels

The standard parallels for the projection.

class optimisers.TransverseMercator

Bases: OptimisedCRS

Base class for optimised cartopy CRS classes.

CENTRAL_LATITUDE = 'central_lat'
CENTRAL_LONGITUDE = 'central_lon'
cartopy_crs()
get_kwargs(optimiser)
to_ccrs(optimiser)