图形星历API文档(Ephemeris Graph)

返回指定时间段内行星黄经(按所选模数取余)的采样曲线数据,可用于绘制图形星历(横轴时间、纵轴余角);可选传入本命行星度数,接口同时给出运行星曲线穿过本命线的精确时刻。

基本信息

参数值
Base URLhttps://chart.12sign.top
接口URL/spc/ephemeris_graph
请求方式POST
Content-Typeapplication/json

请求参数

参数名类型必选说明
range.start / range.endstring是时间范围,YYYY-MM-DD [HH:MM[:SS]],按 tz 的本地时间理解
tznumber否(默认 0)range 时间的时区偏移
bodiesstring[]否(默认 Venus/Mars/Jupiter/Saturn)天体列表,可选 SUN…PLUTO / TrueNode / MeanNode / Chiron
modulonumber否(默认 30)纵轴取模:30 / 45 / 90 / 360
step_daysnumber否采样步长(天);缺省按区间自动(最多 2000 点)
natal_lonsobject否本命线:{"参照名": 黄经},如 {"Sun": 161.49};传入后返回交叉时刻

请求示例

{
    "range": {"start": "2026-01-01", "end": "2026-03-31"},
    "tz": 8,
    "bodies": ["Venus", "Mars"],
    "modulo": 45,
    "natal_lons": {"Sun": 161.49}
}

返回参数

字段类型说明
modulonumber实际使用的模数
jd0 / jd1number区间起止儒略日(UT)
step_daysnumber实际采样步长(天)
curvesobject{天体名: [[jd, 余角值], ...]},余角 = 黄经 mod modulo
natal_crossings[]array传 natal_lons 时返回:{jd, date, body, natal_body, exact_longitude},date 为 UTC

返回示例(节选)

{
    "success": true,
    "modulo": 45.0,
    "jd0": 2461041.5,
    "jd1": 2461131.5,
    "step_days": 0.5,
    "curves": {
        "Venus": [[2461041.5, 12.34], [2461042.0, 17.81], ...],
        "Mars": [[2461041.5, 40.12], ...]
    },
    "natal_crossings": [
        {"jd": 2461054.7389, "date": "2026-01-14 17:44", "body": "Venus", "natal_body": "Sun", "exact_longitude": 26.49},
        ...
    ]
}

使用说明

  • modulo=30 时曲线值即"星座内度数",与本命行星星座内度数相交即为古典图形星历读法
  • 交叉时刻为二分收敛的精确时刻(UTC)
  • 采样点数上限 2000,区间越大步长自动越粗

Python 调用示例

import requests

response = requests.post('https://chart.12sign.top/spc/ephemeris_graph', json={
    "range": {"start": "2026-01-01", "end": "2026-03-31"},
    "tz": 8,
    "bodies": ["Venus", "Mars"],
    "modulo": 45,
    "natal_lons": {"Sun": 161.49}
})
d = response.json()
for c in d['natal_crossings']:
    print(c['date'], c['body'], "过", c['natal_body'], "线")

在线测试

请求地址:
https://chart.12sign.top/spc/ephemeris_graph
请求参数(JSON):
返回结果:
点击"发送请求"后在此显示结果