Esempio n. 1
0
    def __get_relative_prime_meridian(year):
        """
        
        - total progression = 100d42.6 + cumulative prog + leap progs
        - cumulative progression: delta(year-2001) * -0d14.31667
        - leap progression: (leap years elapsed) * 0d59.0
        :param year: observation year
        :return: angle of prime meridian
        """
        reference_rotation = Angle.from_string("100d42.6")
        # cumulative progression: delta(year-2001) * -0d14.31667
        annual_gha_decrement = Angle.from_string("-0d14.32")
        delta_year = year - Aries.REFERENCE_YEAR
        cumulative_progression = Angle.multiply(annual_gha_decrement,
                                                delta_year)

        # leap progression: (leap years elapsed) * 0d59.0
        daily_rotation = Angle.from_string("0d59.0")
        leap_years = math.floor((year - Aries.REFERENCE_YEAR) / 4)
        leap_progression = Angle.multiply(daily_rotation, leap_years)

        # total progression = 100d42.6 + cumulative prog + leap progs

        total_progression = Angle.add(reference_rotation,
                                      cumulative_progression)
        total_progression = Angle.add(total_progression, leap_progression)
        print("total progression" + total_progression.str)
        return total_progression
Esempio n. 2
0
 def __get_earth_rotation_since_observation(elapsed_seconds):
     """
     convert seconds into angles
     total sec/86164.1*360d00.0
     :param elapsed_seconds: second between ref time and observed time
     :return: hour angle
     """
     full_angle = Angle.from_string("360d00.0")
     rotation = round(elapsed_seconds / 86164.1000, 5)
     print("full_angle_:" + full_angle.str)
     print("rotation_:" + str(rotation))
     print("get_earth_rotation_:" + Angle.from_decimal(rotation).str)
     return Angle.from_decimal(rotation)