class Cartopy(param.ClassSelector):
def __init__(self, default=None, **params):
import cartopy.crs as ccrs
objects = tuple(
obj for name, obj in vars(ccrs).items()
if isinstance(obj, type) and issubclass(obj, ccrs.Projection) and
not name.startswith('_') and name not in ['Projection']
)
super(Cartopy, self).__init__(objects, **params)
self._validate(self.default)
def _validate():
# if input value is not in listed values, return ccrs.PlateCarree()