예제 #1
0
def getAdjustedGHA(dateInput, timeInput):
    starDateTimeString = dateInput + ' ' + timeInput
    starDateTimeObj = datetime.datetime.strptime(starDateTimeString,
                                                 '%Y-%m-%d %H:%M:%S')
    GHAADateTimeObj = datetime.datetime.strptime('2001-01-01 00:00:00',
                                                 '%Y-%m-%d %H:%M:%S')
    GHAADeg = '100d42.6'
    cumProg = '0d0.0'

    # Get Difference in years
    if(starDateTimeObj.year > GHAADateTimeObj.year):
        yearDiff = starDateTimeObj.year - GHAADateTimeObj.year
        print('convertDegMinStrToNum={0}'.format(CH.convertDegMinStrToNumber(
                                               '-0d14.31667')))
        cumProg = getCumProg(yearDiff)

    #Consider Leap Years
    leapYears = getNumOfLeapYearInbtw(GHAADateTimeObj.year, starDateTimeObj.year)
    totalProg = getTotalProgression(leapYears)
    primeMeriRotat = getPrimeMeriRotation(GHAADeg,cumProg,totalProg)
    rotatFromYearStart = getEarthRotatSinceYearStart(starDateTimeObj)
    adjustedGHA = getTotalAdjustedGHA(primeMeriRotat, rotatFromYearStart)

    return adjustedGHA
예제 #2
0
def getGHAStarLong(GHAAries, starName):
    starDict = createStarDict()
    currentStar = starDict[starName.title()]
    GHAstarDeg = CH.convertDegMinStrToNumber(currentStar['SHA']) \
                 + CH.convertDegMinStrToNumber(GHAAries)
    return CH.convertNumToDegMinString(GHAstarDeg)
예제 #3
0
def getTotalAdjustedGHA(primeMeriRotat, yearRotat):
        return CH.convertNumToDegMinString(CH.convertDegMinStrToNumber(primeMeriRotat) +
                                 CH.convertDegMinStrToNumber(yearRotat))
예제 #4
0
def getPrimeMeriRotation(GHAADeg, CumProg, LeapProg):
    answer = CH.convertDegMinStrToNumber(GHAADeg) + CH.convertDegMinStrToNumber(CumProg)\
    + CH.convertDegMinStrToNumber(LeapProg)
    return CH.convertNumToDegMinString(answer)
예제 #5
0
def getTotalProgression(numOfLeapYears):
    return CH.convertNumToDegMinString(numOfLeapYears
                                    * CH.convertDegMinStrToNumber('0d59.0'))
예제 #6
0
def getCumProg(yearDiff):
    return CH.convertNumToDegMinString(yearDiff *
                                           CH.convertDegMinStrToNumber(
                                               '-0d14.31667'))