def test_compund_crs(): vertcrs = VerticalCRS( name="NAVD88 height", datum="North American Vertical Datum 1988", vertical_cs=VerticalCS(), geoid_model="GEOID12B", ) projcrs = ProjectedCRS( name="NAD83 / Pennsylvania South", conversion=LambertConformalConic2SPConversion( latitude_false_origin=39.3333333333333, longitude_false_origin=-77.75, latitude_first_parallel=40.9666666666667, latitude_second_parallel=39.9333333333333, easting_false_origin=600000, northing_false_origin=0, ), geodetic_crs=GeographicCRS(datum="North American Datum 1983"), cartesian_cs=Cartesian2DCS(), ) compcrs = CompoundCRS( name="NAD83 / Pennsylvania South + NAVD88 height", components=[projcrs, vertcrs] ) assert compcrs.name == "NAD83 / Pennsylvania South + NAVD88 height" assert compcrs.type_name == "Compound CRS" assert compcrs.sub_crs_list[0].type_name == "Projected CRS" assert compcrs.sub_crs_list[1].type_name == "Vertical CRS"
def test_lambert_conformat_conic_2sp_operation__defaults(): aeaop = LambertConformalConic2SPConversion(latitude_first_parallel=1, latitude_second_parallel=2) assert aeaop.name == "unknown" assert aeaop.method_name == "Lambert Conic Conformal (2SP)" assert _to_dict(aeaop) == { "Easting at false origin": 0.0, "Latitude of 1st standard parallel": 1.0, "Latitude of 2nd standard parallel": 2.0, "Latitude of false origin": 0.0, "Longitude of false origin": 0.0, "Northing at false origin": 0.0, }
def _lambert_conformal_conic(cf_params): """ http://cfconventions.org/cf-conventions/cf-conventions.html#_lambert_conformal """ first_parallel, second_parallel = _get_standard_parallels( cf_params["standard_parallel"] ) if second_parallel is not None: return LambertConformalConic2SPConversion( latitude_first_parallel=first_parallel, latitude_second_parallel=second_parallel, latitude_false_origin=cf_params.get("latitude_of_projection_origin", 0.0), longitude_false_origin=cf_params.get("longitude_of_central_meridian", 0.0), easting_false_origin=cf_params.get("false_easting", 0.0), northing_false_origin=cf_params.get("false_northing", 0.0), ) return LambertConformalConic1SPConversion( latitude_natural_origin=first_parallel, 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), )