古典尊贵API文档

接口说明

古典尊贵(Dignity)是中世纪占星术中评估行星力量的核心体系。本功能作为通用参数,可在所有星盘接口(单盘 /onechart、双盘 /bichart、三盘 /trichart)中通过 include_dignity 参数启用,返回每颗传统行星的先天尊贵与后天尊贵评分及详细分析。

适用接口:本命盘(natal)、行运盘(transit)、次限推运(progression_sec)、三限推运(progression_ter)、太阳弧(solararc)、太阳返照(solar_return)、月亮返照(lunar_return)、组合盘(composite)、戴维森盘(davison)、马克思盘(marx)、组合次限(composite_secondary)、组合三限(composite_tertiary)、法达盘(developed)、小限盘(smalllimit)等所有单盘接口,以及双盘(bichart)和三盘(trichart)接口。

核心概念

概念 英文 说明
先天尊贵 Essential Dignity 行星在星座中的固有力量:庙(ruler)、旺(exalt)、三分(triplicity)、界(term)、面(face),以及陷(exile)、弱(fall)
后天尊贵 Accidental Dignity 行星因位置、相位、运动状态等获得的临时力量:宫位、日心关系、顺逆行、速度、相位等
游荡 Peregrine 行星无任何正面先天尊贵,力量最弱

请求参数

在任意星盘接口的请求体中添加以下参数即可启用尊贵计算:

参数名 类型 必填 默认值 说明
include_dignity boolean 否 false 是否计算并返回古典尊贵数据。设为 true 时在返回结果中附加尊贵信息
使用示例:在请求本命盘时添加 "include_dignity": true 即可。尊贵计算不影响星盘本身的计算结果和SVG绘图,仅在返回数据中附加 dignities 字段。

请求示例(单盘)

以本命盘为例,添加 include_dignity: true:

POST https://chart.12sign.top/onechart
Content-Type: application/json

{
  "chart_type": "natal",
  "data": {
    "datetime": "1990-06-15 14:30:00",
    "lon": 116.4,
    "lat": 39.9,
    "tz": "+8"
  },
  "include_dignity": true,
  "include_svg": false
}

双盘请求示例

双盘接口同样支持,尊贵数据将以 chart1_dignities 和 chart2_dignities 分别返回:

POST https://chart.12sign.top/bichart
Content-Type: application/json

{
  "chart_type": "synastry",
  "data1": { "datetime": "1990-06-15 14:30:00", "lon": 116.4, "lat": 39.9, "tz": "+8" },
  "data2": { "datetime": "1988-03-20 08:00:00", "lon": 121.5, "lat": 31.2, "tz": "+8" },
  "include_dignity": true,
  "include_svg": false
}

三盘请求示例

三盘接口中,尊贵数据以 chart1_dignities、chart2_dignities、chart3_dignities 分别返回。

返回结构

根据接口类型不同,尊贵数据的挂载位置有所区别:

接口类型 字段位置 说明
单盘 (/onechart) data.dignities 在返回的 data 对象中包含 dignities 字段
双盘 (/bichart) chart1_dignities
chart2_dignities
两个盘的尊贵分别返回在顶层
三盘 (/trichart) chart1_dignities
chart2_dignities
chart3_dignities
三个盘的尊贵分别返回在顶层

尊贵数据字段说明

每个 dignities 对象包含 planets 数组和 summary 汇总:

行星尊贵对象(planets 数组中的每个元素)

字段 类型 说明
name string 行星英文名,如 Sun、Moon、Venus
name_cn string 行星中文名,如 太阳、月亮、金星
longitude number 黄道经度(0°~360°)
sign / sign_cn string 所在星座(英文/中文)
signlon number 星座内度数(0°~30°)
house integer 所在宫位(1~12)
is_retrograde boolean 是否逆行
total integer 先天+后天总分
essential object 先天尊贵详情(见下方)
accidental object 后天尊贵详情(见下方)

先天尊贵(essential)

字段 类型 说明
score integer 先天尊贵总分
dignities array 激活的尊贵英文标识列表,如 ["ruler", "dayTrip"]
dignities_cn array 激活的尊贵中文名列表,如 ["庙", "日三分"]
details object 所有尊贵项的详细状态(见下方示例)

essential.details 中每项包含:

字段 类型 说明
name_cn string 中文名,如"庙"、"旺"、"日三分"
score integer 该尊贵对应的分数
active boolean 该行星是否激活了此项尊贵
ruler string|null (仅未激活时)该尊贵归属于哪颗行星

后天尊贵(accidental)

字段 类型 说明
score integer 后天尊贵总分
details object 各项后天因素的分数,如 {"house": 4, "direction": 4}
details_cn object 各项后天因素的中文名+分数,如 {"house": {"name_cn": "宫位", "score": 4}}

汇总(summary)

字段 类型 说明
strongest object 最强行星的完整尊贵数据
weakest object 最弱行星的完整尊贵数据
total_planets integer 计算的传统行星数量(通常为7)

评分参考表

先天尊贵评分

尊贵类型 英文标识 中文名 分数 说明
庙ruler庙+5行星守护该星座
旺exalt旺+4行星在该星座擢升
庙互容mr_ruler庙互容+5两颗行星互居对方守护星座
旺互容mr_exalt旺互容+4两颗行星互居对方擢升星座
日三分dayTrip日三分+3日间三分性主星
夜三分nightTrip夜三分+3夜间三分性主星
参与三分partTrip参与三分+3参与三分性主星
界term界+2行星在该度数区间的界
面face面+1行星在该度数区间的面
陷exile陷-5行星处于守护星座的对冲位置
弱fall弱-4行星处于擢升星座的对冲位置

后天尊贵评分

因素 英文标识 分数 说明
宫位house+5~+11/10宫+5, 4/7宫+4, 2/5/9/11宫+3, 3/6宫+2, 8/12宫+1
日心合cazimi+5与太阳合相且在17弧分内
辅助auxilied+5同时被两颗吉星形成有利相位
不在日光下no_under_sun+5远离太阳15°以上
顺行direction+4行星顺行
星座喜悦joy_sign+3行星处于其喜悦的星座
宫位喜悦joy_house+2行星处于其喜悦的宫位
东方性orientality±2日出前/后升起的影响
速度speed±2运行速度快于/慢于平均
光线增减light±1光线增强/减弱
游荡peregrine-5无任何先天尊贵
燃烧combust-6与太阳合相8°30'以内但不在日心
逆行direction-5行星逆行
包围surrounded-5前后被凶星包围
日光下under_sun-4与太阳合相15°以内
孤立feral-3与任何行星均无相位
燃烧道via_combusta-2月亮在天蝎座15°~天秤座15°

返回示例

以下为单盘本命盘的尊贵返回数据示例(以金星和太阳为例):

{
  "dignities": {
    "planets": [
      {
        "name": "Venus",
        "name_cn": "金星",
        "longitude": 48.51,
        "sign": "Taurus",
        "sign_cn": "金牛座",
        "signlon": 18.51,
        "house": 7,
        "is_retrograde": false,
        "total": 25,
        "essential": {
          "score": 8,
          "dignities": ["ruler", "dayTrip"],
          "dignities_cn": ["庙", "日三分"],
          "details": {
            "ruler": { "name_cn": "庙", "score": 5, "active": true },
            "exalt": { "name_cn": "旺", "score": 4, "active": false, "ruler": "Moon" },
            "dayTrip": { "name_cn": "日三分", "score": 3, "active": true },
            "nightTrip": { "name_cn": "夜三分", "score": 3, "active": false, "ruler": "Moon" },
            "partTrip": { "name_cn": "参与三分", "score": 3, "active": false, "ruler": "Mars" },
            "term": { "name_cn": "界", "score": 2, "active": false, "ruler": "Jupiter" },
            "face": { "name_cn": "面", "score": 1, "active": false, "ruler": "Moon" },
            "mr_ruler": { "name_cn": "庙互容", "score": 5, "active": false },
            "mr_exalt": { "name_cn": "旺互容", "score": 4, "active": false },
            "exile": { "name_cn": "陷", "score": -5, "active": false, "ruler": "Mars" },
            "fall": { "name_cn": "弱", "score": -4, "active": false, "ruler": null }
          }
        },
        "accidental": {
          "score": 17,
          "details": {
            "house": 4,
            "no_under_sun": 5,
            "direction": 4,
            "joy_sign": 3,
            "speed": 2,
            "light": 1,
            "orientality": -2
          },
          "details_cn": {
            "house": { "name_cn": "宫位", "score": 4 },
            "no_under_sun": { "name_cn": "不在日光下", "score": 5 },
            "direction": { "name_cn": "顺逆行", "score": 4 },
            "joy_sign": { "name_cn": "星座喜悦", "score": 3 },
            "speed": { "name_cn": "速度", "score": 2 },
            "light": { "name_cn": "光线", "score": 1 },
            "orientality": { "name_cn": "东方性", "score": -2 }
          }
        }
      },
      {
        "name": "Sun",
        "name_cn": "太阳",
        "longitude": 84.17,
        "sign": "Gemini",
        "sign_cn": "双子座",
        "signlon": 24.17,
        "house": 9,
        "is_retrograde": false,
        "total": 6,
        "essential": {
          "score": 1,
          "dignities": ["face"],
          "dignities_cn": ["面"],
          "details": { "..." : "..." }
        },
        "accidental": {
          "score": 5,
          "details": { "..." : "..." },
          "details_cn": { "..." : "..." }
        }
      }
    ],
    "summary": {
      "strongest": { "name": "Venus", "name_cn": "金星", "total": 25, "..." : "..." },
      "weakest": { "name": "Sun", "name_cn": "太阳", "total": 6, "..." : "..." },
      "total_planets": 7
    }
  }
}

使用说明

  • 传统七曜:仅计算太阳(Sun)、月亮(Moon)、水星(Mercury)、金星(Venus)、火星(Mars)、木星(Jupiter)、土星(Saturn)共7颗传统行星的尊贵
  • 通用参数:include_dignity 可在 /onechart、/bichart、/trichart 所有接口中使用,不影响星盘计算和SVG绘图
  • 宫位自动补全:如果行星数据中缺少宫位(house)信息,系统会根据宫头经度自动计算
  • 逆行自动判断:如果缺少逆行(is_retrograde)信息,系统会根据速度(speed)自动判断(速度<0为逆行)
  • 分数越高越强:total 总分越高表示该行星在当前盘中力量越强;分数为负表示行星处于弱势状态
  • 游荡判定:当行星没有任何正面先天尊贵(庙/旺/三分/界/面均不激活)时,该行星被判定为"游荡"(Peregrine)

Python测试代码

import requests
import json

def test_dignity():
    """测试本命盘的古典尊贵计算"""
    url = "https://chart.12sign.top/onechart"

    payload = {
        "chart_type": "natal",
        "data": {
            "datetime": "1990-06-15 14:30:00",
            "lon": 116.4,
            "lat": 39.9,
            "tz": "+8"
        },
        "include_dignity": True,
        "include_svg": False
    }

    response = requests.post(url, json=payload, timeout=30)
    data = response.json()

    if data.get("success"):
        dignities = data["data"]["dignities"]

        print("=== 行星尊贵排名 ===")
        for p in sorted(dignities["planets"], key=lambda x: x["total"], reverse=True):
            print(f"{p['name_cn']} ({p['sign_cn']}) 总分={p['total']} "
                  f"先天={p['essential']['score']} 后天={p['accidental']['score']}")
            if p['essential']['dignities_cn']:
                print(f"  先天尊贵: {', '.join(p['essential']['dignities_cn'])}")

        summary = dignities["summary"]
        print(f"\n最强: {summary['strongest']['name_cn']} (总分 {summary['strongest']['total']})")
        print(f"最弱: {summary['weakest']['name_cn']} (总分 {summary['weakest']['total']})")
    else:
        print(f"请求失败: {data.get('error')}")

if __name__ == "__main__":
    test_dignity()

在线测试

请求地址:
https://chart.12sign.top/onechart
请求参数(JSON):
返回结果(JSON):
点击"发送请求"后在此显示结果
尊贵可视化:
尊贵数据将在请求成功后显示在这里