def test_latitude_to_m_per_d_longitude(self): """Tests the conversion from latitude to meters per degree longitude.""" # Assume Earth is a sphere self.assertAlmostEqual( Telemetry.EQUATORIAL_RADIUS_M * 2.0 * math.pi / 360.0, Telemetry.latitude_to_m_per_d_longitude(0.0)) # Should be symmetrical for degree in range(0, 85, 1): self.assertAlmostEqual( Telemetry.latitude_to_m_per_d_longitude(degree), Telemetry.latitude_to_m_per_d_longitude(-degree)) # At the poles, should be 0 self.assertAlmostEqual(Telemetry.latitude_to_m_per_d_longitude(90.0), 0.0) # Known values, from http://www.csgnetwork.com/degreelenllavcalc.html self.assertAlmostEqual(Telemetry.M_PER_D_LATITUDE, 111319.458, places=1) self.assertAlmostEqual( # Boulder Telemetry.latitude_to_m_per_d_longitude(40.08, cache=False), 85294.08886768305, places=2)
def test_latitude_to_m_per_d_longitude(self): """Tests the conversion from latitude to meters per degree longitude.""" # Assume Earth is a sphere self.assertAlmostEqual( Telemetry.EQUATORIAL_RADIUS_M * 2.0 * math.pi / 360.0, Telemetry.latitude_to_m_per_d_longitude(0.0) ) # Should be symmetrical for degree in range(0, 85, 1): self.assertAlmostEqual( Telemetry.latitude_to_m_per_d_longitude(degree), Telemetry.latitude_to_m_per_d_longitude(-degree) ) # At the poles, should be 0 self.assertAlmostEqual( Telemetry.latitude_to_m_per_d_longitude(90.0), 0.0 ) # Known values, from http://www.csgnetwork.com/degreelenllavcalc.html self.assertAlmostEqual( Telemetry.M_PER_D_LATITUDE, 111319.458, places=1 ) self.assertAlmostEqual( # Boulder Telemetry.latitude_to_m_per_d_longitude(40.08, cache=False), 85294.08886768305, places=2 )
def __init__(self): self.boulder_latitude_m_per_d_longitude = \ Telemetry.latitude_to_m_per_d_longitude(40.015)