Swiss Ephemeris 不是一句关于准确性的宣称。它是一套具体的数据集:一个由 NASA 的 JPL DE431 星历表导出的行星位置程序库,由 Astrodienst 发布,为大多数严肃的占星软件所采用。一个工具要么读取它,要么没有。JPL Horizons 是它底层的来源:NASA 自己的星历服务,不受任何占星厂商控制。正因如此,它才是合适的核对基准。本页展示一张固定星盘的对比:我们计算出的黄经、Swiss Ephemeris 的数值、JPL Horizons 的数值,以及以角秒计的偏差。然后说明如何在任何工具上,花大约五分钟自己做同样的核对。
Swiss Ephemeris 是什么
Astrodienst 是 astro.com 背后的公司,它把 NASA 的 JPL DE431 星历表打包成占星软件可以调用的程序库。这个程序库就是 Swiss Ephemeris。它覆盖大约公元前 13000 年至公元 17000 年,对于现代日期,计算出的行星黄经精度优于一角秒。
由此可以得出两点。第一,“我们使用 Swiss Ephemeris”说明的是数字从哪里来,而不是产品有多好。第二,两个都使用它的工具,结果应当一致到角秒。如果不一致,差异出在分宫制、时区处理或程序错误上,而不在天文计算上。
JPL Horizons 是什么
喷气推进实验室(JPL)发布了一项用于航天器导航的星历服务。它免费、公开,与占星毫无关系。因此,它自然是核对占星工具的地方:它没有理由附和任何人。
为什么要核对
每个占星工具都说自己准确。这种说法不需要任何成本。需要成本的是公开中间数值,也就是在取整为星座和度数之前的黄经,好让别人能拿来比较。几乎没有工具这样做。下面是我们的数值。
对比结果
测试星盘:当地时间 1991-09-06 18:30,乌克兰基辅,即 1991-09-06 15:30 UTC。合成的演示数据,并非真实人物。
| 天体 | NatalChart.AI | Swiss Ephemeris 直接计算 | JPL Horizons | 本站 − Horizons | 程序库 − Horizons |
|---|---|---|---|---|---|
| 太阳 | 163.5457° | 163.5456605° | 163.5456487° | +0.18″ | +0.04″ |
| 月亮 | 139.0225° | 139.0224653° | 139.0224714° | +0.10″ | −0.02″ |
| 水星 | 145.6065° | 145.6065160° | 145.6065040° | −0.01″ | +0.04″ |
| 金星 | 141.9051° | 141.9050810° | 141.9050680° | +0.12″ | +0.05″ |
| 火星 | 183.4630° | 183.4630174° | 183.4630048° | −0.02″ | +0.05″ |
| 木星 | 148.8019° | 148.8018921° | 148.8018788° | +0.08″ | +0.05″ |
| 土星 | 300.8444° | 300.8443937° | 300.8443803° | +0.07″ | +0.05″ |
| 天王星 | 279.9033° | 279.9033477° | 279.9033336° | −0.12″ | +0.05″ |
| 海王星 | 284.0918° | 284.0918116° | 284.0917985° | +0.01″ | +0.05″ |
| 冥王星 | 228.0048° | 228.0047522° | 228.0047392° | +0.22″ | +0.05″ |
| 真交点 | 287.5725° | 287.5725085° | 无对应值 | ||
| 凯龙星 | 125.2405° | 125.2405459° | 125.2405242° | −0.09″ | +0.08″ |
| 莉莉丝(月球密切远地点) | 305.8121° | 305.8121171° | 无对应值 | ||
| 谷神星 | 221.0706° | 221.0705699° | 221.0706427° | −0.15″ | −0.26″ |
| 智神星 | 196.0369° | 196.0369254° | 196.0370056° | −0.38″ | −0.29″ |
| 婚神星 | 285.8222° | 285.8221933° | 285.8223477° | −0.53″ | −0.56″ |
| 灶神星 | 132.9138° | 132.9138145° | 132.9138115° | −0.04″ | +0.01″ |
在 15 个天体中,与 Horizons 的最大差异为 0.53 角秒,出现在小行星婚神星上。对于各行星,程序库与 NASA 的数值相差只有百分之几角秒,我们这一列剩下的差异大多来自我们自己取整到小数点后四位。宫头、设置和局限见精度报告,全部数据都在一个 JSON 文件里。
自己动手核对
- 打开 JPL Horizons。把目标设为 Saturn(土星),观测者设为地心(500@399),时间设为 1991-09-06 15:30 UTC,表格输出量设为 31,即观测者黄经与黄纬。
- 把它返回的黄经与表格中的数值对比。
- 相差在几角秒以内,说明这个工具读取的是真实的星历表。相差几度,说明它没有。
或者直接打开同一个请求:
https://ssd.jpl.nasa.gov/api/horizons.api?format=text&COMMAND='6'&OBJ_DATA='NO'&MAKE_EPHEM='YES'&EPHEM_TYPE='OBSERVER'&CENTER='500@399'&TLIST='2448506.1458333335'&QUANTITIES='31'&ANG_FORMAT='DEG'
土星是最容易核对的天体,因为它移动缓慢:你输入的时间稍有误差,几乎不会改变它的位置。换成月亮试试,一分钟的差别就会让它移动约 30 角秒;这就是为什么出生时间对月亮和四轴的影响比对其他任何要素都大。
差异说明什么
- 零点几角秒:取整所致。
- 几十角秒:时间不同,或“视位置”的定义不同。
- 几角分:坐标系或历元不同。
- 几度:星历表不同、黄道不同,或者出了错。
核对不公开数字的工具
大多数工具只给你看最终的星盘:某个星座里的度和分,而不是精确到小数点后四位的黄经。你仍然可以核对它们,只是没那么精确。度和分足以发现错误的星历表、错误的时区或错误的黄道,因为这些错误造成的偏差以度计,而不是以角秒计。在两个工具中输入同样的出生信息,先比较慢行星:土星、天王星、海王星、冥王星。如果它们一致,说明天文计算相同,剩下的差异出在分宫制或取整上。如果相差几度,说明其中一个在某个大问题上出了错。整张星盘的核对步骤见如何核对你的出生星盘,程序库本身的介绍见 Swiss Ephemeris 精度页面。
常见问题
Swiss Ephemeris 比 JPL Horizons 更准确吗?
不。它源自 JPL 的数据。最多与之一致;它不可能超过自己的来源。
每个占星应用都使用它吗?
不是。很多应用并不说明自己用的是什么。有些用简化公式计算位置,这些公式用来看太阳星座没问题,算月亮却会错上几度。
我的两张星盘相差几度。哪一张错了?
先查黄道:如今回归黄道与恒星黄道相差约 24 度。再查时区,尤其是 20 世纪 70 年代以前的出生,那时各地的规则经常变动。然后查分宫制,它会改变宫位,但不会移动行星。
为什么月亮的差异比其他行星大?
它每天移动 12 到 15 度。出生时间差一分钟,它就移动约 30 角秒;差一小时,它移动超过半度。
NatalChart.AI 公开了所有这些数据吗?
是的:一张固定的测试星盘,附有每一个中间数值和 JSON 下载,并与 JPL Horizons 的数字并列。参见精度报告。
不用任何软件,我能核对星盘吗?
对于慢行星可以。JPL Horizons 在浏览器中运行,不需要账户。