瑞士星历侧面模式与拉希里Ayanamsha给出了错误的价值观

时间:2014-03-29 12:34:16

标签: c# pyephem

我正试图产生经度的行星。我用瑞士星历dll做了我所有的努力工作。然而,令我不幸的是,瑞士星历对于恒星模式Lahiri Ayanamsha所产生的价值远离我的其他vedic软件或在线门户网站(包括JuniorJyothsh < / p>

我已经下载了.se1文件(适用于行星和月球)并使用了非常精确的瑞士星历模式。此外,我设置了Sidereal模式,Lahiri Ayanmsha Flag,Topocentric Flag。我还设置了topolgy纬度和经度位置。

最让我困扰的是,包括Jumior Jyothish在内的所有其他在线vedic图表生成器的值似乎相互匹配。我不确定我做错了什么。这是我在git上使用示例代码段

的代码Swiss ephemeris used in .NET的链接
[Test]
    public void ShouldGetAllPlanetValues()
    {
        var errorMessage = new StringBuilder(1000);
        var longitudeAndLatitude = new Double[6];
        var cusps = new Double[13];
        var ascentantAndMore = new Double[10];
        var julianDayNumbersInEtAndUt = new double[2];
        TimeZoneInfo indiaTimeZone = TimeZoneInfo.FindSystemTimeZoneById(IndiaStandardTimeZoneId);
        var ephemerisTablesPath = new StringBuilder(@"../../../EphemerisFiles/");

        swe_set_ephe_path(ephemerisTablesPath);
        var birthTimeInIndianZone = new DateTime(1989, 8, 21, 10, 29, 0);
        DateTime birthTimeInUtc = TimeZoneInfo.ConvertTimeToUtc(birthTimeInIndianZone, indiaTimeZone);

        int errorCOde = swe_utc_to_jd(birthTimeInUtc.Year, birthTimeInUtc.Month, birthTimeInUtc.Day,
                                      birthTimeInUtc.Hour, birthTimeInUtc.Minute, birthTimeInUtc.Second, 1,
                                      julianDayNumbersInEtAndUt, errorMessage);
        if (errorCOde != 0)
        {
            Assert.Fail("Error ho gaya julian date conversion par !!");
        }
        Console.WriteLine("Julian Day Number from UTC: " + julianDayNumbersInEtAndUt[1]);
        Console.WriteLine(swe_sidtime(julianDayNumbersInEtAndUt[1]));
        var computationFlag = EphemerisModes.Sidereal | EphemerisModes.SwissEphemeris
                                                                        | EphemerisModes.Topocentric;
        var longitude = ConvertDegreeAngleToDouble(80, 15, 0);
        var latitude = ConvertDegreeAngleToDouble(13, 4, 0);
        swe_set_topo(12.9667, 77.5667, 0);
        swe_set_sid_mode(SiderealFlag.Lahiri, 0, 0);
        foreach (var planet in Planets.AllPlanets)
        {
            int sweCalcUt = swe_calc_ut(julianDayNumbersInEtAndUt[1], planet, computationFlag, longitudeAndLatitude, errorMessage);
            Console.WriteLine("Planet Number " + planet + ": " + GetDegreesMinutesSeconds(longitudeAndLatitude[0]));
        }
        swe_houses_ex(julianDayNumbersInEtAndUt[1], EphemerisModes.Sidereal, 12.9667, 77.5667, 'A', cusps, ascentantAndMore);
        Console.WriteLine("Ascendant: " + GetDegreesMinutesSeconds(ascentantAndMore[0]));
    }

以下是我自己出生日期(1989年8月21日上午10:29)的价值差异的样本 根据我的代码从瑞士星历生成:

Planet Number 0: 124:24:30   SUN
Planet Number 1: 359:38:55   Moon
Planet Number 2: 150:20:40   Mercury
Planet Number 3: 160:0:11    Venus
Planet Number 4: 137:26:47   Mars
Planet Number 5: 70:20:45    Jupiter
Planet Number 6: 253:56:35   Satrun
Planet Number 10: 301:46:40  Rahu (Mean Node)
Ascendant:        187.27:46

大多数其他来源的价值(JuniorJyothishProKeralaNadiAstrologyAstrosage):

Planet Number  0: 124:24:35    SUN
Planet Number  1: 0:6:21       Moon
Planet Number  2: 150:20:45    Mercury
Planet Number  3: 160:00:17    Venus
Planet Number  4: 137:26:56    Mars
Planet Number  5: 70:20:57     Jupiter
Planet Number  6: 253:56:48    Satrun
Planet Number 10: 301:46:52    Rahu
Ascendant       : 187:28:6     Ascendant   

非常感谢任何帮助/暗示/建议指出我正确的方向。

由于

2 个答案:

答案 0 :(得分:2)

经过几个小时的谷歌搜索并打破了我的头脑后,我发现传统上使用地心的价值观。我正在使用以地心为中心的月经经度值。由于它们与地球的距离不同于月球,因此对其他行星没有太大影响。一旦我生成了地心中心值,月亮经度也会匹配。

虽然吠陀占星使用地心经度似乎是错误的,但是当有更准确的地心中心值时,占星术传统上就是这样。除了建立占星术规则以给出错误数据的正确预测:P

答案 1 :(得分:1)

瑞士星历可能会给你更准确的结果。对于大多数行星而言,如果您比较您提供的值,则除月亮外仅存在差异。对于vedic horoscopy,这种差异是可以接受的。请继续使用您从瑞士星历中获得的结果。