def compute(self, by, bm, bd, chrt, trlon): for i in range(13): trans = transits.Transits() trans.month(by, bm, chrt, astrology.SE_SUN, trlon) if len(trans.transits) > 0: if not (i == 0 and bd > trans.transits[0].day): self.createTransit(by, bm, trans) return True by, bm = self.incrMonth(by, bm) return False
#chrt.printAspMatrix(); # read places DB to get NY place #pdb = placedb.PlaceDB() #pdb.read() #pdb.searchPlace('New York, USA') #trans.extraPlace(pdb.search_result) header = "Date\tHour\tPT\tAS\tPR\tHR\tHT\tSI\tLON\tLAT\tSP\tPRLON\tS\t" \ "SU\tSUR\tSULO\tSULA\tSUSP\tSUD\tSURD\tSUS\tSUT\t" \ "MO\tMOR\tMOLO\tMOLA\tMOSP\tMOD\tMORD\tMOS\tMOT\t" \ "ME\tMER\tMELO\tMELA\tMESP\tMED\tMERD\tMES\tMET\t" \ "VE\tVER\tVELO\tVELA\tVESP\tVED\tVERD\tVES\tVET\t" \ "MA\tMAR\tMALO\tMALA\tMASP\tMAD\tMARD\tMAS\tMAT\t" \ "JU\tJUR\tJULO\tJULA\tJUSP\tJUD\tJURD\tJUS\tJUT\t" \ "SA\tSAR\tSALO\tSALA\tSASP\tSAD\tSARD\tSAS\tSAT\t" \ "UR\tURR\tURLO\tURLA\tURSP\tURD\tURRD\tURS\tURT\t" \ "NE\tNER\tNELO\tNELA\tNESP\tNED\tNERD\tNES\tNET\t" \ "PL\tPLR\tPLLO\tPLLA\tPLSP\tPLD\tPLRD\tPLS\tPLT" fh.write(header + '\n') for year in range(1997, 2014): print("Processing Year -> %d" % (year)) for month in range(1, 13): print("\t\tMonth - %d" % (month)) trans = transits.Transits() trans.month(year, month, chrt) printTransits(trans.transits, fh) fh.close() print(datetime.now() - startTime)
def calcTrueSolarArcRegressive(self, arc): LIM = 120.0 #arbitrary value y = self.chart.time.year m = self.chart.time.month d = self.chart.time.day h, mi, s = util.decToDeg(self.chart.time.time) tt = 0.0 #Subtract arc from Suns's pos (long or ra) prSunPos = self.chart.planets.planets[astrology.SE_SUN].dataEqu[ planets.Planet.RAEQU] if self.options.pdkeyd == primdirs.PrimDirs.TRUESOLARECLIPTICALARC: prSunPos = self.chart.planets.planets[astrology.SE_SUN].data[ planets.Planet.LONG] prSunPosEnd = prSunPos - arc transition = False #Pisces-Aries if prSunPosEnd < 0.0: prSunPos += 360.0 prSunPosEnd += 360.0 transition = True # Find day in ephemeris while (prSunPos >= prSunPosEnd): y, m, d = util.decrDay(y, m, d) ti = chart.Time(y, m, d, 0, 0, 0, False, self.chart.time.cal, chart.Time.GREENWICH, True, 0, 0, False, self.chart.place, False) sun = planets.Planet(ti.jd, astrology.SE_SUN, astrology.SEFLG_SWIEPH) pos = sun.dataEqu[planets.Planet.RAEQU] if self.options.pdkeyd == primdirs.PrimDirs.TRUESOLARECLIPTICALARC: pos = sun.data[planets.Planet.LONG] if transition and pos < LIM: pos += 360.0 prSunPos = pos if (prSunPos != prSunPosEnd): if transition: prSunPosEnd -= 360.0 trlon = 0.0 if self.options.pdkeyd == primdirs.PrimDirs.TRUESOLARECLIPTICALARC: trlon = prSunPosEnd else: #to Longitude... trlon = util.ra2ecl(prSunPosEnd, self.chart.obl[0]) trans = transits.Transits() trans.day(y, m, d, self.chart, astrology.SE_SUN, trlon) if len(trans.transits) > 0: tt = trans.transits[0].time else: #the time is midnight tt = 0.0 #difference th, tm, ts = util.decToDeg(tt) d1 = datetime.datetime(y, m, d, th, tm, ts) #in GMT d2 = datetime.datetime(self.chart.time.year, self.chart.time.month, self.chart.time.day, h, mi, s) #in GMT diff = d2 - d1 ddays = diff.days dtime = diff.seconds / 3600.0 #dtime to days dtimeindays = dtime / 24.0 tt = ddays + dtimeindays return tt
def compute(self, typ, by, bm, bd, chrt): if typ == Revolutions.SOLAR: year = by if bm > chrt.time.month or (bm == chrt.time.month and bd > chrt.time.day): year+= 1 month = chrt.time.month day = chrt.time.day trans = transits.Transits() trans.month(year, month, chrt, astrology.SE_SUN) # if not found => checking previous or next month if len(trans.transits) == 0: if day < 4: year, month = util.decrMonth(year, month) else: year, month = util.incrMonth(year, month) trans = transits.Transits() trans.month(year, month, chrt, astrology.SE_SUN) if len(trans.transits) > 0: self.createRevolution(year, month, trans) return True return False elif typ == Revolutions.LUNAR: trans = transits.Transits() trans.month(by, bm, chrt, astrology.SE_MOON) if len(trans.transits) > 0: second = False if bd > trans.transits[0].day: # There can be more than one lunar in a month!! if len(trans.transits) > 1: if bd > trans.transits[1].day: by, bm = util.incrMonth(by, bm) trans = transits.Transits() trans.month(by, bm, chrt, astrology.SE_MOON) else: second = True else: by, bm = util.incrMonth(by, bm) trans = transits.Transits() trans.month(by, bm, chrt, astrology.SE_MOON) if len(trans.transits) > 0: if second: self.createRevolution(by, bm, trans, 1) else: self.createRevolution(by, bm, trans) return True return False elif typ == Revolutions.MERCURY: for i in range(14): trans = transits.Transits() trans.month(by, bm, chrt, astrology.SE_MERCURY) if len(trans.transits) > 0: if not (i == 0 and bd > trans.transits[0].day): self.createRevolution(by, bm, trans) return True by, bm = util.incrMonth(by, bm) return False elif typ == Revolutions.VENUS: for i in range(16): trans = transits.Transits() trans.month(by, bm, chrt, astrology.SE_VENUS) if len(trans.transits) > 0: if not (i == 0 and bd > trans.transits[0].day): self.createRevolution(by, bm, trans) return True by, bm = util.incrMonth(by, bm) return False elif typ == Revolutions.MARS: for i in range(26): trans = transits.Transits() trans.month(by, bm, chrt, astrology.SE_MARS) if len(trans.transits) > 0: if not (i == 0 and bd > trans.transits[0].day): self.createRevolution(by, bm, trans) return True by, bm = util.incrMonth(by, bm) return False elif typ == Revolutions.JUPITER: for i in range(12*12): trans = transits.Transits() trans.month(by, bm, chrt, astrology.SE_JUPITER) if len(trans.transits) > 0: if not (i == 0 and bd > trans.transits[0].day): self.createRevolution(by, bm, trans) return True by, bm = util.incrMonth(by, bm) return False elif typ == Revolutions.SATURN: for i in range(30*12): trans = transits.Transits() trans.month(by, bm, chrt, astrology.SE_SATURN) if len(trans.transits) > 0: if not (i == 0 and bd > trans.transits[0].day): self.createRevolution(by, bm, trans) return True by, bm = util.incrMonth(by, bm) return False return False