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)
Пример #2
0
    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
        )
Пример #3
0
 def __init__(self):
     self.boulder_latitude_m_per_d_longitude = \
         Telemetry.latitude_to_m_per_d_longitude(40.015)