图形星历API文档(Ephemeris Graph)
返回指定时间段内行星黄经(按所选模数取余)的采样曲线数据,可用于绘制图形星历(横轴时间、纵轴余角);可选传入本命行星度数,接口同时给出运行星曲线穿过本命线的精确时刻。
基本信息
| 参数 | 值 |
|---|---|
| Base URL | https://chart.12sign.top |
| 接口URL | /spc/ephemeris_graph |
| 请求方式 | POST |
| Content-Type | application/json |
请求参数
| 参数名 | 类型 | 必选 | 说明 |
|---|---|---|---|
| range.start / range.end | string | 是 | 时间范围,YYYY-MM-DD [HH:MM[:SS]],按 tz 的本地时间理解 |
| tz | number | 否(默认 0) | range 时间的时区偏移 |
| bodies | string[] | 否(默认 Venus/Mars/Jupiter/Saturn) | 天体列表,可选 SUN…PLUTO / TrueNode / MeanNode / Chiron |
| modulo | number | 否(默认 30) | 纵轴取模:30 / 45 / 90 / 360 |
| step_days | number | 否 | 采样步长(天);缺省按区间自动(最多 2000 点) |
| natal_lons | object | 否 | 本命线:{"参照名": 黄经},如 {"Sun": 161.49};传入后返回交叉时刻 |
请求示例
{
"range": {"start": "2026-01-01", "end": "2026-03-31"},
"tz": 8,
"bodies": ["Venus", "Mars"],
"modulo": 45,
"natal_lons": {"Sun": 161.49}
}
返回参数
| 字段 | 类型 | 说明 |
|---|---|---|
| modulo | number | 实际使用的模数 |
| jd0 / jd1 | number | 区间起止儒略日(UT) |
| step_days | number | 实际采样步长(天) |
| curves | object | {天体名: [[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):
返回结果:
点击"发送请求"后在此显示结果