西方占星-比较盘
文档说明
西占比较盘是西方占星学中用于解析双人关系(如情侣、合伙人、亲子关系)的核心工具。它通过将两人的本命星盘进行物理位置上的相互叠加,精准计算一方星体落入另一方具体宫位的情况(即环境与领域的影响),以及双方星体间形成的有效相位交角(即能量间的化学反应),从而全面剖析两人的吸引力、契合度、冲突点及缘分深浅。
- 自动时区与夏令时(DST)处理: 开发者只需传入 IANA 标准时区(如
Asia/Shanghai),接口将自动检索全球历史时区数据库,完美处理不同年份的夏令时偏移,无需手动换算 UTC。 - 关于真太阳时: 西方占星基于绝对 UTC 时间与地理坐标计算恒星时,
无需额外计算真太阳时。请勿将换算后的真太阳时带入接口,以免造成坐标偏差。 - 高性能数据压缩支持: 强烈建议在生产环境开启
compress=1接口将采用标准 GZIP 算法压缩报文,可大幅缩减报文体积,显著提升接口响应速度,并节省服务器外网带宽成本。 - 多维度数据输出: 接口不仅返回原始的 JSON 坐标数据,还同步下发高解析度的 SVG 矢量星盘图,支持前端直接渲染。点击 此处 访问
前端星盘SVG渲染开发文档 - 标准化数据映射: 为了确保前后端逻辑的严精对接,接口返回的所有天体代码、相位类型、星座 ID 及宫位主题均采用标准化的数值枚举。点击 此处 访问
数据集合 - 西方占星枚举表 - 高阶双人交互数据: 返回双方星体间的详细交互视角,包括 A 方行星落入 B 方宫位(
a_in_b)以及 B 方落入 A 方宫位(b_in_a),并提供每条交互链路的能量强度评估。
请求方式
POST
GET
https://api.yuanfenju.com/index.php/v1/Astrology/synastry
请求头
| 字段 | 类型 | 描述 |
|---|---|---|
| Content-Type | String | application/x-www-form-urlencoded |
请求参数
| 字段 | 类型 | 描述 |
|---|---|---|
| api_key | String | 密钥 |
| person_a_year | Int | A方 公历出生年 例: 1988 |
| person_a_month | Int | A方 公历出生月 例: 8 |
| person_a_day | Int | A方 公历出生日 例: 7 |
| person_a_hours | Int | A方 公历出生时(0-23) 例: 12 |
| person_a_minute | Int | A方 公历出生分 (0-59) 例: 30 如果不知道具体分,可以传数字 0 |
| person_a_sex | Int | A方 性别 0男 1女 |
| person_a_longitude | Float | A方 出生十进制经度 例:-77.036871 非必传,默认北京经度。 |
| person_a_latitude | Float | A方 出生十进制纬度 例:38.907192 非必传,默认北京纬度。 |
| person_a_timezone | String |
A方 时区(IANA 格式),例:Asia/Shanghai
非必传,默认 Asia/Shanghai
|
| person_b_year | Int | B方 公历出生年 例: 1988 |
| person_b_month | Int | B方 公历出生月 例: 8 |
| person_b_day | Int | B方 公历出生日 例: 7 |
| person_b_hours | Int | B方 公历出生时(0-23) 例: 12 |
| person_b_minute | Int | B方 公历出生分 (0-59) 例: 30 如果不知道具体分,可以传数字 0 |
| person_b_sex | Int | B方 性别 0男 1女 |
| person_b_longitude | Float | B方 出生十进制经度 例:-77.036871 非必传,默认北京经度。 |
| person_b_latitude | Float | B方 出生十进制纬度 例:38.907192 非必传,默认北京纬度。 |
| person_b_timezone | String |
B方 时区(IANA 格式),例:Asia/Shanghai
非必传,默认 Asia/Shanghai
|
| house_system | String | 宫位制代码 例:P
非必传,默认 P
支持参数:P, K, O, R, C, A, E, W, T, M, B, X, V |
| additional_objects | String | 附加星体及虚点,英文逗号分隔,如:1,2,7
非必传,默认空
支持的编号:
1(宿命点 Vertex), 2(凯龙星 Chiron), 3(谷神星 Ceres), 4(智神星 Pallas), 5(婚神星 Juno), 6(灶神星 Vesta), 7(福点 Part of Fortune), 8(真交点 true Node), 9(平莉莉丝 mean Lilith), 10(普赛克 Psyche), 11(厄洛斯 Eros), 12(妊神星 Haumea), 13(阋神星 Eris), 14(鸟神星 Makemake), 15(平交点 mean Node), 16(南交点 south Node)。 |
| orb_model | Int | 容许度模型,例:2
非必传,默认 2
支持参数:1:严格(偏小), 2:标准(默认), 3:宽泛(偏大), 4:自定义
|
| orb_conjunction | Float | 合相 (0°) 容许度,例:8 当 orb_model=4 时生效。 非必传,默认 8
|
| orb_semisextile | Float | 半六分相 (30°) 容许度,例:2 当 orb_model=4 时生效。 非必传,默认 2
|
| orb_sextile | Float | 六分相 (60°) 容许度,例:6 当 orb_model=4 时生效。 非必传,默认 6
|
| orb_square | Float | 四分相 (90°) 容许度,例:6 当 orb_model=4 时生效。 非必传,默认 6
|
| orb_trine | Float | 三分相 (120°) 容许度,例:6 当 orb_model=4 时生效。 非必传,默认 6
|
| orb_quincunx | Float | 梅花相 (150°) 容许度,例:3 当 orb_model=4 时生效。 非必传,默认 3
|
| orb_opposition | Float | 对分相 (180°) 容许度,例:8 当 orb_model=4 时生效。 非必传,默认 8
|
| lang | String | 多语言:zh-cn 、zh-tw 非必传,如果不传递这个参数,默认为 zh-cn |
| compress | Int | 是否开启数据压缩(标准压缩模式)。例:1:开启 2:关闭
非必传,如果不传递该参数,默认值为 2(返回纯文本 JSON)。
|
请求参数示例
$request_data = [
'api_key' => 'FsF1CsVevk3N17w7oBkSydfSk',
'person_a_year' => '1988',
'person_a_month' => '11',
'person_a_day' => '8',
'person_a_hours' => '12',
'person_a_minute' => '20',
'person_a_sex' => 0,
'person_a_longitude' => '116.407396',
'person_a_latitude' => '39.904200',
'person_a_timezone' => 'Asia/Shanghai',
'person_b_year' => '1999',
'person_b_month' => '11',
'person_b_day' => '8',
'person_b_hours' => '12',
'person_b_minute' => '20',
'person_b_sex' => 1,
'person_b_longitude' => '116.407396',
'person_b_latitude' => '39.904200',
'person_b_timezone' => 'Asia/Shanghai',
'house_system' => 'P',
'additional_objects' => '1,2,7', // 开启宿命点、凯龙星、福点
'orb_model' => '2',
'compress' => '1' // 开启数据压缩以提高传输速度
返回参数
| 字段 | 类型 | 描述 |
|---|---|---|
| errcode | String | 请求状态码 0成功 其它为失败 |
| errmsg | String | 状态码说明 |
| notice | String | 声明 |
| data | Json | 数据信息 |
成功返回示例
为了方便开发者快速构建数据模型,以下是完整的核心 JSON 结构说明(已折叠重复的数组项):
{
"errcode": 0, // 状态码:0代表成功,其他代表失败
"errmsg": "请求成功", // 状态说明
"notice": "本次测算结果仅供娱乐使用...",
"data": {
"base_info": { // 基础排盘参数
"chart_type": "synastry", // 星盘类型:synastry (比较盘固定值)
"person_a": {
"gender": "male", //性别(male男/female女)
"birthday": "1988-11-8 12:20:00", // A方 出生时间
"longitude": 116.407396, // A方 出生十进制经度
"latitude": 39.9042, // A方 出生十进制纬度
"timezone": "Asia/Shanghai", // A方 IANA时区
"house_system": "P", // A方 宫位制代码
"numerology": "9" // A方 核心命理:西方生命密码/生命灵数(1-9)
},
"person_b": {
"gender": "female", //性别(male男/female女)
"birthday": "1990-10-12 14:45:00", // B方 出生时间
"longitude": 116.422400, // B方 出生十进制经度
"latitude": 39.934827, // B方 出生十进制纬度
"timezone": "Asia/Shanghai", // B方 IANA时区
"house_system": "P", // B方 宫位制代码
"numerology": "4" // B方 核心命理:西方生命密码/生命灵数(1-9)
}
},
"detail_info": {
"chart_data": { // 核心测算结果集合
// ================= 1. 双方本命盘基础数据 =================
"person_a_natal": { ... }, // A方本命盘除了 patternData 之外的完整数据,包含 housesData/signData/planetData/attributeData,结构同本命盘接口,可参考本命盘数据,此处省略以节省篇幅。
"person_b_natal": { ... }, // B方本命盘除了 patternData 之外的完整数据,结构同上。
// ================= 2. 比较盘深度比对交互数据 =================
"synastry": {
"meta": { // 比对数据复杂度元统计
"object_count_a": 14, // A方启用的星体与虚点总数
"object_count_b": 14, // B方启用的星体与虚点总数
"planet_aspect_count": 34, // 双方构成的有效星体交角总数
"house_overlay_count": 28 // 星体落入彼此宫位的总交互次数
},
"planet_aspects": [ // 双方星体形成的交叉相位列表
{
"from": "A_0", // 发起方标识:A方太阳 (A_后面跟星体的唯一识别码 code_name),枚举值请参阅 [数据集合-西方占星-code_name]
"to": "B_6", // 接收方标识:B方土星 (B_后面跟星体的唯一识别码 code_name),枚举值请参阅 [数据集合-西方占星-code_name]
"planet_a": { // A方发生相位的星体及状态
"code_name": "0", //星体的唯一标识符,枚举值请参阅 [数据集合-西方占星]
"planet_english": "Sun", //星体英文名,枚举值请参阅 [数据集合-西方占星]
"planet_chinese": "太阳", //星体中文名,枚举值请参阅 [数据集合-西方占星]
"planet_chinese_traditional": "太陽", //星体繁体中文名,枚举值请参阅 [数据集合-西方占星]
"planet_font": "Su",//星体图标映射码,枚举值请参阅 [数据集合-西方占星]
"longitude": 6.405695,// 绝对经度
"speed": 0.9899524, //运行速度,枚举:正数代表非逆行,负数代表逆行,null代表不适用
"is_retrograde": false, // 是否逆行标识,枚举:true代表逆行,false代表非逆行
"sign": { // 该星体所在星座信息
"deg": 6, "min": 24, "sec": 21, //星体所在星座精准度、分、秒
"sign_id": 0, /// 星座系统编号(0-11)
"sign_english": "Aries",
"sign_chinese": "白羊",
"sign_chinese_traditional": "白羊",
"sign_font": "A" //星座图标映射码,枚举值请参阅 [数据集合-西方占星]
}
},
"planet_b": { // B方发生相位的星体及状态
"code_name": "6",
"planet_english": "Saturn",
"planet_chinese": "土星",
"planet_chinese_traditional": "土星",
"planet_font": "Sa",
"longitude": 4.9334618,
"speed": 0.1248473,
"is_retrograde": false,
"sign": {
"deg": 4, "min": 56, "sec": 0,
"sign_id": 0,
"sign_english": "Aries",
"sign_chinese": "白羊",
"sign_chinese_traditional": "白羊",
"sign_font": "A"
}
},
"aspect": { // 形成的具体相位信息
"allow": 0, // 发生相位的基准角度 (0/30/60/90/120/150/180)
"aspect_english": "Conjunction",//相位英文名,枚举值请参阅 [数据集合-西方占星]
"aspect_chinese": "合相", //相位中文名,枚举值请参阅 [数据集合-西方占星]
"aspect_chinese_traditional": "合相",//相位繁体中文名,枚举值请参阅 [数据集合-西方占星]
"orb": 1.4722332, // 容许度误差 (实际角度差与基准角度的偏差度数)
"deg": 0, //容许度误差转化为度结构
"min": 0, //容许度误差转化为分结构
"sec": 0, //容许度误差转化为秒结构
"in_out": "0", // "1"代表入相(能量渐强), "-1"代表出相(能量渐弱), "0"代表无
"type": "positive", // 相位性质 (positive积极/challenging挑战/neutral中性)
"strength": 0.836, // 相位综合能量强度得分,取值范围 [0.05, 2.0]。值越大代表相位能量越强(前端可根据此值域,使用插值算法动态调节连线的粗细或不透明度,例如:1.5以上画粗实线,0.5以下画细虚线)。
"polarity": "fusion" // 相位语义极性分类 (fusion强烈融合/flow和谐流动/friction冲突成长/integrative_tension整合张力)
}
}
// ... 其他几十组相位数据省略 ...
],
"aspect_links": [ // 相位连线精简数据集合 (供前端可视化连线直接使用)
{
"from": "A_0",
"to": "B_6",
"aspect": "Conjunction",
"type": "positive",
"orb": 1.4722332,
"in_out": "-1",
"strength": 0.836,
"polarity": "fusion"
}
],
"house_overlay_a_in_b": [ // A方星体落入B方宫位数据 (外圈A影响内圈B)
{
"planet": { // 产生影响的 A 方行星
"code_name": "0", //星体的唯一标识符,枚举值请参阅 [数据集合-西方占星]
"planet_english": "Sun",
"planet_chinese": "太阳",
"planet_chinese_traditional": "太陽",
"planet_font": "Su",
"longitude": 6.405695,
"speed": 0.9899524,
"is_retrograde": false,
"sign": {
"deg": 6,
"min": 36,
"sec": 23,
"sign_id": 0,
"sign_english": "Aries",
"sign_chinese": "白羊",
"sign_chinese_traditional": "白羊",
"sign_font": "A"
}
},
"house_id": 11, // 落入 B 方的具体宫位 ID, 枚举:1~12
"house_name": "福德宫", // B方宫位含义
"relative_deg": 10.2035627, // 在 B方该宫位内的相对偏移度数
"relative_dms": { "deg": 10, "min": 12, "sec": 13 }, // 相对偏移换算的度分秒
"house_theme": "friends_hopes", // 宫位主管主题方向,枚举值请参阅 [数据集合-西方占星]
"house_weight": 1, // 宫位先天影响力权重,取值范围 [1.0, 1.4],枚举值请参阅 [数据集合-西方占星]
"overlay_strength": 1.43, // 本次落宫对双人关系的能量强化得分,取值范围 [0.57, 2.0]。值越大代表该星体对该宫位领域的影响越具统治力。
"house_focus_level": "high" // 落宫焦点等级 (high高/medium中/low低)
}
// ... A方其它星体的落宫数据省略 ...
],
"house_overlay_b_in_a": [ // B方星体落入A方宫位数据 (外圈B影响内圈A)
// 数据结构同上 `house_overlay_a_in_b`
],
"angle_contacts": [ //计算并记录 “A的四轴/敏感点” 与 “B的星体” 之间的相位互动(以及 B的四轴 与 A的星体)
{
"type": "A_angle_to_B_planet", //触发方向标识,枚举值:"A_angle_to_B_planet" (代表 A 的四轴/敏感点,被 B 的行星触发了),"B_angle_to_A_planet" (代表 B 的四轴/敏感点,被 A 的行星触发了)
"angle_english": "Ascendant", //四轴/敏感点信息英文名,枚举值:Ascendant//Midheaven/ImumCoeli/Descendant/Vertex
"angle_chinese": "上升", //四轴/敏感点信息中文名,枚举值:上升/天顶/天底/下降/宿命点
"angle_chinese_traditional": "上升點", //四轴/敏感点信息繁体中文名,枚举值:上升點/天頂/天底/下降點/宿命點
"planet_english": "Sun", //星体英文名称,枚举值请参阅 [数据集合-西方占星]
"planet_chinese": "太阳", //星体中文名称,枚举值请参阅 [数据集合-西方占星]
"planet_chinese_traditional": "太陽", //星体繁体中文名称,枚举值请参阅 [数据集合-西方占星]
"allow": 90, // 发生相位的基准角度 (0/30/60/90/120/150/180)
"aspect_english": "Square", //相位英文名,枚举值请参阅 [数据集合-西方占星]
"aspect_chinese": "四分相", //相位中文名,枚举值请参阅 [数据集合-西方占星]
"aspect_chinese_traditional": "四分相", //相位繁体中文名,枚举值请参阅 [数据集合-西方占星]
"orb": 5.7248766, // 容许度误差 (实际角度差与基准角度的偏差度数)
"deg": 5, "min": 43, "sec": 30, //误差换算 度分秒
"in_out": "0", // "1"代表入相(能量渐强), "-1"代表出相(能量渐弱), "0"代表无,注意:因为四轴是数学虚点没有物理运行速度,所以在 angle_contacts 中该字段永远固定输出 "0"
"aspect_type": "challenging", //相位吉凶属性,枚举值:positive(和谐)/challenging(挑战)/neutral(中性),可参阅 [数据集合-西方占星]
"strength": 0.054, //相位综合强度得分,浮点数,范围通常在 0.05 ~ 2.0 之间。低于 0.05 的噪音已被过滤,分数越高说明该触发现象在关系中越震撼/宿命。
"polarity": "neutral" //能量极性/语义标签,用于辅助解读器或前端生成更细腻的文案,枚举值:fusion/integrative_tension/flow/friction/neutral,可参阅 [数据集合-西方占星]
}
// ... 其它相位互动数据省略 ...
],
}
},
// ================= 3. 专业文案与高精渲染图=================
"chart_description": { //多维度结构化解析文案,内容根据请求参数 lang 自动切换 zh-cn/zh-tw/en-us)
"summary": [ // 【数组】双人互动基调总述
{
"target": "双人互动基调:高强度羁绊", // 解析的主题标签
"description": "你们之间有着专属的磁场..." // 详尽的文案描述
}
],
"houses": { // 【对象】行星落入对方宫位的深度解析(区分主客体)
"a_in_b": [ // A方行星落入B方宫位的解析列表
{
"target": "A盘太阳落入B盘第8宫",
"description": "A的太阳落入B的第八宫..."
}
],
"b_in_a": [ // B方行星落入A方宫位的解析列表
{
"target": "B盘太阳落入A盘第8宫",
"description": "B的太阳落入A的第八宫..."
}
]
},
"planets": [], //【重要】比较盘此处文案无意义,固定为空数组
"aspects": [ //【数组】双人星体交角(相位)的深度互动解析
{
"target": "A盘月亮 合相 B盘月亮",
"description": "A的月亮与B的月亮形成合相,能量高度重叠..."
}
],
"angles": [ // 【数组】四轴点(Asc/Mc/Ic/Dsc)与对方行星的互动解析
{
"target": "A盘上升 三分相 B盘金星",
"description": "A的金星与B的上升成拱相..."
}
]
},
"chart_svg": { // 双人合盘双轮 SVG 矢量图源码 (详见前端SVG图片开发文档)
"a_in_b": "<svg>...</svg>", // 视角一:B 盘在内圈,A 盘在外圈
"b_in_a": "<svg>...</svg>" // 视角二:A 盘在内圈,B 盘在外圈
}
}
}
}
失败返回示例
{
"errcode": -1,
"errmsg": "经度必须在 -180 ~ 180 之间"
}