Examples of Moon


Examples of org.openhab.binding.astro.internal.model.Moon

   */
  public static AstroContext getInstance() {
    if (instance == null) {
      instance = new AstroContext();
      instance.planets.put(PlanetName.SUN, new Sun());
      instance.planets.put(PlanetName.MOON, new Moon());
    }
    return instance;
  }
View Full Code Here

Examples of org.openhab.binding.astro.internal.model.Moon

  /**
   * Calculates all moon data at the specified coordinates
   */
  public Moon getMoonInfo(Calendar calendar, double latitude, double longitude) {
    Moon moon = new Moon();

    double julianDate = DateTimeUtils.dateToJulianDate(calendar);
    double julianDateMidnight = DateTimeUtils.midnightDateToJulianDate(calendar);

    double[] riseSet = getRiseSet(calendar, latitude, longitude);
    Calendar rise = DateTimeUtils.timeToCalendar(calendar, riseSet[0]);
    Calendar set = DateTimeUtils.timeToCalendar(calendar, riseSet[1]);

    if (rise == null || set == null) {
      Calendar tomorrow = (Calendar) calendar.clone();
      tomorrow.add(Calendar.DAY_OF_MONTH, 1);

      double[] riseSeTomorrow = getRiseSet(tomorrow, latitude, longitude);
      if (rise == null) {
        rise = DateTimeUtils.timeToCalendar(tomorrow, riseSeTomorrow[0]);
      }
      if (set == null) {
        set = DateTimeUtils.timeToCalendar(tomorrow, riseSeTomorrow[1]);
      }
    }

    moon.setRise(new Range(rise, rise));
    moon.setSet(new Range(set, set));

    MoonPhase phase = moon.getPhase();
    phase.setNew(DateTimeUtils.toCalendar(getNextPhase(calendar, julianDateMidnight, NEW_MOON)));
    phase.setFirstQuarter(DateTimeUtils.toCalendar(getNextPhase(calendar, julianDateMidnight, FIRST_QUARTER)));
    phase.setFull(DateTimeUtils.toCalendar(getNextPhase(calendar, julianDateMidnight, FULL_MOON)));
    phase.setThirdQuarter(DateTimeUtils.toCalendar(getNextPhase(calendar, julianDateMidnight, LAST_QUARTER)));

    Eclipse eclipse = moon.getEclipse();
    double eclipseJd = getEclipse(calendar, ECLIPSE_TYPE_MOON, julianDateMidnight, ECLIPSE_MODE_PARTIAL);
    eclipse.setPartial(DateTimeUtils.toCalendar(eclipseJd));
    eclipseJd = getEclipse(calendar, ECLIPSE_TYPE_MOON, julianDateMidnight, ECLIPSE_MODE_TOTAL);
    eclipse.setTotal(DateTimeUtils.toCalendar(eclipseJd));

    double decimalYear = DateTimeUtils.getDecimalYear(calendar);
    MoonDistance apogee = moon.getApogee();
    double apogeeJd = getApogee(julianDate, decimalYear);
    apogee.setDate(DateTimeUtils.toCalendar(apogeeJd));
    apogee.setKilometer(getDistance(apogeeJd));

    MoonDistance perigee = moon.getPerigee();
    double perigeeJd = getPerigee(julianDate, decimalYear);
    perigee.setDate(DateTimeUtils.toCalendar(perigeeJd));
    perigee.setKilometer(getDistance(perigeeJd));

    setMoonPosition(julianDate, latitude, longitude, moon);
View Full Code Here

Examples of org.openhab.binding.astro.internal.model.Moon

    sunCalc.setSunPosition(now, context.getConfig().getLatitude(), context.getConfig().getLongitude(), sun);
    planetPublisher.publish(PlanetName.SUN);

    // moon
    MoonCalc moonCalc = new MoonCalc();
    Moon moon = (Moon) context.getPlanet(PlanetName.MOON);
    moonCalc.setMoonPosition(now, context.getConfig().getLatitude(), context.getConfig().getLongitude(), moon);
    planetPublisher.publish(PlanetName.MOON);
  }
View Full Code Here

Examples of org.openhab.binding.astro.internal.model.Moon

    context.setPlanet(PlanetName.SUN, sun);
    planetPublisher.publish(PlanetName.SUN);

    // moon
    MoonCalc moonCalc = new MoonCalc();
    Moon moon = moonCalc.getMoonInfo(now, context.getConfig().getLatitude(), context.getConfig().getLongitude());
    context.setPlanet(PlanetName.MOON, moon);
    planetPublisher.publish(PlanetName.MOON);
  }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.