90度盘API文档(Dial90 / 汉堡学派)
90度盘(Uranian 汉堡学派):十大行星 + 上升/中天 + 8 个假设行星全部折叠到 0°-90° 盘上坐标,输出硬相位、中点树、对称点(Antiscia)与行星图公式(x ≈ a + b),可选返回主题色 90 度盘 SVG。走 /onechart 主接口,chart_type 传 dial90。
基本信息
| 参数 | 值 |
|---|---|
| Base URL | https://chart.12sign.top |
| 接口URL | /onechart |
| 请求方式 | POST |
| Content-Type | application/json |
请求参数
| 参数名 | 类型 | 必选 | 说明 |
|---|---|---|---|
| chart_type | string | 是 | 固定 dial90 |
| data1 | object | 是 | 出生数据:{datetime, lat, lon, tz} |
| dial_orb_hard | number | 否(默认 1.2) | 硬相位容许度(盘上距离,度) |
| dial_orb_mid | number | 否(默认 1.0) | 中点占据容许度 |
| dial_orb_ant | number | 否(默认 1.2) | 对称点容许度 |
| include_svg | boolean | 否(默认 false) | 是否返回 90 度盘 SVG(支持 theme 主题) |
盘上点共 20 个:十大行星 + ASC / MC + 8 假设行星(Cupido 丘必多、Hades 哈迪斯、Zeus 宙斯、Kronos 克洛诺斯、Apollon 阿波罗、Admetos 阿德墨托斯、Vulcanus 伏尔甘、Poseidon 波塞冬)。
请求示例
{
"chart_type": "dial90",
"data1": {"datetime": "1990-09-04 14:47:00", "lat": 22.5431, "lon": 114.0579, "tz": 8},
"dial_orb_hard": 1.2,
"include_svg": false
}
返回参数
| 字段 | 类型 | 说明 |
|---|---|---|
| data.chart_type | string | "dial90" |
| data.dial | number | 盘面模数(90) |
| data.points[] | array | 20 个盘上点:{key(英文键), name_cn(中文名), lon(黄经), sign_cn(中文星座), deg_in_sign(星座内度数), dial(盘上0-90坐标), retro(逆行)} |
| data.hard[] | array | 硬相位(0°/90°/180° 折叠后距离 ≤ dial_orb_hard):{a, b, orb},按 orb 升序 |
| data.trees[] | array | 中点树:{a, b, mid(中点盘上坐标), mid_cn(如"天王星/上升"), occ[]{key, orb}(占据该中点的其他点)},共 C(20,2)=190 组 |
| data.antiscia[] | array | 对称点接触对:{a, b, orb},按 orb 升序 |
| data.pictures[] | array | 行星图公式 x ≈ a + b:{x, a, b, res(盘上残差)},残差 ≤ dial_orb_hard |
| svg | string/null | include_svg=true 时的 90 度盘 SVG(含刻度环/行星/中点树/对称点连线) |
返回示例(节选)
{
"success": true,
"data": {
"chart_type": "dial90",
"dial": 90.0,
"points": [
{"key": "Sun", "name_cn": "太阳", "lon": 161.4921, "sign_cn": "处女座",
"deg_in_sign": 11.4921, "dial": 71.4921, "retro": false},
...
],
"hard": [{"a": "Moon", "b": "Mars", "orb": 0.34}, ...],
"trees": [
{"a": "Uranus", "b": "ASC", "mid": 6.82, "mid_cn": "天王星/上升", "occ": []},
...
],
"antiscia": [{"a": "Venus", "b": "Jupiter", "orb": 0.29}, ...],
"pictures": [{"x": "ASC", "a": "Mercury", "b": "Saturn", "res": 0.0}, ...]
},
"svg": null
}
使用说明
- 盘上坐标 dial = 黄经 mod 90;硬相位即折叠后 0°(合)、90°(刑)、180°(冲)的等效距离
- trees 覆盖全部点对中点;occ 非空的组即"有人占据的中点",是 90 度盘的核心读法
- pictures 为 x ≈ a + b 的低残差组合(残差越小越显著), res 与 hard 同用 dial_orb_hard
- include_svg=true 时 SVG 风格与项目其他盘面一致,支持 theme 参数(light/dark 等)
Python 调用示例
import requests
response = requests.post('https://chart.12sign.top/onechart', json={
"chart_type": "dial90",
"data1": {"datetime": "1990-09-04 14:47:00", "lat": 22.5431, "lon": 114.0579, "tz": 8},
"dial_orb_hard": 1.2,
"include_svg": True,
"theme": "dark"
})
d = response.json()['data']
for h in d['hard']:
print(f"{h['a']} - {h['b']} orb={h['orb']}")
for p in d['pictures'][:5]:
print(f"{p['x']} ≈ {p['a']} + {p['b']} 残差 {p['res']}")
在线测试
请求地址:
https://chart.12sign.top/onechart
请求参数(JSON):
返回结果:
点击"发送请求"后在此显示结果