def test_lambert_cylindrical_area_operation__defaults(): lceaop = LambertCylindricalEqualAreaConversion() assert lceaop.name == "unknown" assert lceaop.method_name == "Lambert Cylindrical Equal Area" assert _to_dict(lceaop) == { "Latitude of 1st standard parallel": 0.0, "Longitude of natural origin": 0.0, "False easting": 0.0, "False northing": 0.0, }
def test_lambert_cylindrical_equal_area_operation(): lceaop = LambertCylindricalEqualAreaConversion( latitude_first_parallel=1, longitude_natural_origin=2, false_easting=3, false_northing=4, ) assert lceaop.name == "unknown" assert lceaop.method_name == "Lambert Cylindrical Equal Area" assert _to_dict(lceaop) == { "Latitude of 1st standard parallel": 1.0, "Longitude of natural origin": 2.0, "False easting": 3.0, "False northing": 4.0, }
def _lambert_cylindrical_equal_area(cf_params): """ http://cfconventions.org/cf-conventions/cf-conventions.html#_lambert_cylindrical_equal_area """ if "scale_factor_at_projection_origin" in cf_params: return LambertCylindricalEqualAreaScaleConversion( scale_factor_natural_origin=cf_params["scale_factor_at_projection_origin"], longitude_natural_origin=cf_params.get( "longitude_of_central_meridian", 0.0 ), false_easting=cf_params.get("false_easting", 0.0), false_northing=cf_params.get("false_northing", 0.0), ) return LambertCylindricalEqualAreaConversion( latitude_first_parallel=cf_params.get("standard_parallel", 0.0), longitude_natural_origin=cf_params.get("longitude_of_central_meridian", 0.0), false_easting=cf_params.get("false_easting", 0.0), false_northing=cf_params.get("false_northing", 0.0), )
def test_lambert_cylindrical_equal_area(): crs = ProjectedCRS( conversion=LambertCylindricalEqualAreaConversion(1, 2, 3, 4)) expected_cf = { "semi_major_axis": 6378137.0, "semi_minor_axis": crs.ellipsoid.semi_minor_metre, "inverse_flattening": crs.ellipsoid.inverse_flattening, "reference_ellipsoid_name": "WGS 84", "longitude_of_prime_meridian": 0.0, "prime_meridian_name": "Greenwich", "horizontal_datum_name": "World Geodetic System 1984", "grid_mapping_name": "lambert_cylindrical_equal_area", "standard_parallel": 1.0, "longitude_of_central_meridian": 2.0, "false_easting": 3.0, "false_northing": 4.0, } cf_dict = crs.to_cf() assert cf_dict.pop("crs_wkt").startswith("PROJCRS[") assert cf_dict == expected_cf # test roundtrip _test_roundtrip(expected_cf, "PROJCRS[")