def test_lcc(): """Test handling lambert conformal conic projection.""" attrs = {'grid_mapping_name': 'lambert_conformal_conic', 'earth_radius': 6367000, 'standard_parallel': [25, 30]} proj = CFProjection(attrs) crs = proj.to_cartopy() assert isinstance(crs, ccrs.LambertConformal) assert crs.proj4_params['lat_1'] == 25 assert crs.proj4_params['lat_2'] == 30 assert crs.globe.to_proj4_params()['ellps'] == 'sphere'
def test_globe_spheroid(): """Test handling building a cartopy globe that is not spherical.""" attrs = {'grid_mapping_name': 'lambert_conformal_conic', 'semi_major_axis': 6367000, 'semi_minor_axis': 6360000} proj = CFProjection(attrs) crs = proj.to_cartopy() globe_params = crs.globe.to_proj4_params() assert 'ellps' not in globe_params assert globe_params['a'] == 6367000 assert globe_params['b'] == 6360000
def test_globe(): """Test handling building a cartopy globe.""" attrs = {'grid_mapping_name': 'lambert_conformal_conic', 'earth_radius': 6367000, 'standard_parallel': 25} proj = CFProjection(attrs) crs = proj.to_cartopy() globe_params = crs.globe.to_proj4_params() assert globe_params['ellps'] == 'sphere' assert globe_params['a'] == 6367000 assert globe_params['b'] == 6367000
def test_aea(): """Test handling albers equal area projection.""" attrs = { 'grid_mapping_name': 'albers_conical_equal_area', 'earth_radius': 6367000, 'standard_parallel': [20, 50] } proj = CFProjection(attrs) crs = proj.to_cartopy() assert isinstance(crs, ccrs.AlbersEqualArea) assert crs.proj4_params['lat_1'] == 20 assert crs.proj4_params['lat_2'] == 50 assert crs.globe.to_proj4_params()['ellps'] == 'sphere'
def test_inverse_flattening_0(): """Test new code for dealing the case where inverse_flattening = 0.""" attrs = { 'grid_mapping_name': 'lambert_conformal_conic', 'semi_major_axis': 6367000, 'semi_minor_axis': 6367000, 'inverse_flattening': 0 } proj = CFProjection(attrs) crs = proj.to_cartopy() globe_params = crs.globe.to_proj4_params() assert globe_params['ellps'] == 'sphere' assert globe_params['a'] == 6367000 assert globe_params['b'] == 6367000