90度盘API文档(Dial90 / 汉堡学派)

90度盘(Uranian 汉堡学派):十大行星 + 上升/中天 + 8 个假设行星全部折叠到 0°-90° 盘上坐标,输出硬相位、中点树、对称点(Antiscia)与行星图公式(x ≈ a + b),可选返回主题色 90 度盘 SVG。走 /onechart 主接口,chart_type 传 dial90。

基本信息

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

请求参数

参数名类型必选说明
chart_typestring是固定 dial90
data1object是出生数据:{datetime, lat, lon, tz}
dial_orb_hardnumber否(默认 1.2)硬相位容许度(盘上距离,度)
dial_orb_midnumber否(默认 1.0)中点占据容许度
dial_orb_antnumber否(默认 1.2)对称点容许度
include_svgboolean否(默认 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_typestring"dial90"
data.dialnumber盘面模数(90)
data.points[]array20 个盘上点:{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
svgstring/nullinclude_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):
返回结果:
点击"发送请求"后在此显示结果