FreeAstroAPI LogoFreeAstroAPI
返回指南
占星基础作者

回归黄道与恒星黄道占星:开发者 API 支持指南

面向开发者的回归黄道与恒星黄道占星指南,适用于出生星盘计算器、吠陀应用、运势工具和占星 API。

如果你在开发占星应用,迟早会遇到这个问题:

Why does one chart say Aries, while another chart says Pisces for the same person?

多数情况下,计算没有出错,只是两张星盘使用了不同的黄道体系。

回归黄道占星和恒星黄道占星都使用相同的十二星座名称:白羊座、金牛座、双子座、巨蟹座等。区别在于黄道从哪里开始。

回归黄道从三月春分点开始,恒星黄道则使用基于恒星的参考点。这个差异会改变太阳、月亮、上升点、行星和宫位所显示的星座。

对开发者来说,最重要的是不要隐藏这项设置。如果应用能返回回归黄道或恒星黄道星盘,用户必须知道自己看到的是哪一种。

简短版本

回归黄道是多数现代西方占星应用的默认值。

恒星黄道是多数吠陀、Jyotish 和 Kundli 应用的默认值。

可以这样开始:

如果你在开发通常使用
西方出生星盘计算器回归黄道
西方每日运势应用回归黄道
西方合盘或匹配应用回归黄道
吠陀星盘或 Kundli 应用恒星黄道
Nakshatra、dasha、Panchang 或 gochar 功能恒星黄道
同时支持西方占星和吠陀占星的应用让用户选择

这不是谁对谁错。两个系统服务不同传统。

什么是回归黄道占星

回归黄道占星与季节绑定。

在回归黄道占星中,白羊座从三月春分开始。春分是太阳穿过天赤道、昼夜大致相等的时刻。

从这里开始,黄道被分成十二个 30 度星座:

Aries      0 to 30
Taurus    30 to 60
Gemini    60 to 90
Cancer    90 to 120
...
Pisces    330 to 360

所以回归黄道的白羊座并不是指真实天空中的白羊座星座,而是季节黄道的第一个星座。

多数现代西方占星都采用这一体系。如果美国或欧洲用户搜索“我的出生星盘”“我的上升星座”“我的月亮星座”,通常期待回归黄道西方星盘,除非他们明确提到恒星黄道、吠陀、Jyotish 或 Lahiri。

因此,如果你开发西方占星 API,通常应把回归黄道设为默认值。

回归黄道占星的使用场景

回归黄道常见于:

  • 西方本命盘
  • 太阳星座运势
  • 心理占星
  • 现代关系匹配
  • 西方行运解读
  • 太阳返照和其他西方占星择时技法

语言通常像这样:

Your Sun is in Leo.
Your Moon is in Scorpio.
Your Ascendant is Virgo.
Venus is transiting your seventh house.

星盘仍可能包含宫位、相位、尊贵力量、行运等技术细节,但底层黄道通常是回归黄道。

什么是恒星黄道占星

恒星黄道占星使用基于恒星的黄道体系。

关键在于回归黄道与恒星黄道已不再对齐。地球自转轴方向会长期缓慢移动,这称为岁差。

由于这种偏移,同一颗行星的回归黄道位置和恒星黄道位置经常落在不同星座。

现代粗略例子:

Tropical Sun: 5 Aries
Sidereal Sun: about 11 Pisces

太阳没有移动。出生数据没有变。只是参考 zodiac 不同。

恒星黄道占星的使用场景

恒星黄道最常见于吠陀占星,也称 Jyotish。

如果应用包含以下功能,多半属于恒星黄道体系:

  • Kundli 星盘
  • Rashi 星盘
  • Nakshatra(月宿)
  • Dasha 周期
  • Panchang 历书
  • Gochar 行运
  • 吠陀匹配
  • Muhurat 或择时
  • Lahiri ayanamsha(岁差模式)

也有采用恒星黄道的西方占星师,但受众更具体。多数产品的实际分界是:

Western astrology page -> tropical by default
Vedic astrology page -> sidereal by default

如果产品混合两种传统,请明确显示所选体系。

Ayanamsha 是什么?

对初学开发者来说,可以把 ayanamsha 理解为回归黄道与某个恒星黄道之间的偏移量。

简化理解:

sidereal position = tropical position - ayanamsha

在生产环境中,不要自行硬算,应交给占星计算引擎。精确偏移量取决于日期和所选 ayanamsha 体系。

常见选项:

Ayanamsha常见用途
lahiri吠陀和 Jyotish 星盘的常用默认值。
raman部分吠陀占星师使用。
kp用于 KP 占星。
fagan_bradley常用于西方恒星黄道占星。
yukteshwar部分恒星黄道实践者使用。

只写“恒星黄道”未必足够。严谨的占星 API 应说明使用了哪一种 ayanamsha。

一个简单例子

假设用户出生时,太阳位于回归黄道白羊座前几度。

西方出生星盘页面可能显示:

Sun in Aries
Zodiac: Tropical

吠陀星盘页面使用 Lahiri 恒星黄道时可能显示:

Sun in Pisces
Zodiac: Sidereal
Ayanamsha: Lahiri

两者可以来自同一组出生日期、时间和地点。

问题在于应用只显示:

Sun in Pisces

用户没有上下文。如果他期待的是西方星盘,就会以为计算出错。

API 应支持什么

黄道体系必须是显式设置。

回归黄道星盘请求可以这样写:

{
  "zodiac_type": "tropical"
}

恒星黄道星盘请求可以这样写:

{
  "zodiac_type": "sidereal",
  "sidereal_ayanamsa": "lahiri"
}

响应也应回显这些设置,不要让开发者猜测。

实用的响应元数据:

{
  "meta": {
    "zodiac_type": "sidereal",
    "sidereal_ayanamsa": "lahiri",
    "house_system": "whole_sign",
    "time_known": true
  }
}

这几个字段能减少大量后续混乱。

FreeAstroAPI 示例

西方回归黄道本命盘:

curl -X POST "https://api.freeastroapi.com/api/v1/natal/calculate" \
  -H "Content-Type: application/json" \
  -H "x-api-key: YOUR_API_KEY" \
  -d '{
    "name": "Alex",
    "year": 1994,
    "month": 8,
    "day": 11,
    "time_known": true,
    "hour": 6,
    "minute": 42,
    "city": "Los Angeles",
    "lat": 34.0522,
    "lng": -118.2437,
    "tz_str": "AUTO",
    "house_system": "placidus",
    "zodiac_type": "tropical"
  }'

采用 Lahiri ayanamsha 的恒星黄道星盘:

curl -X POST "https://api.freeastroapi.com/api/v1/natal/calculate" \
  -H "Content-Type: application/json" \
  -H "x-api-key: YOUR_API_KEY" \
  -d '{
    "name": "Alex",
    "year": 1994,
    "month": 8,
    "day": 11,
    "time_known": true,
    "hour": 6,
    "minute": 42,
    "city": "Los Angeles",
    "lat": 34.0522,
    "lng": -118.2437,
    "tz_str": "AUTO",
    "house_system": "whole_sign",
    "zodiac_type": "sidereal",
    "sidereal_ayanamsa": "lahiri"
  }'

如果渲染 SVG 或 PNG 星盘轮,图像必须与数据使用同一黄道设置。恒星黄道 JSON 配上回归黄道星盘图,会立刻让用户困惑。

参考西方本命盘、西方星盘 SVG 和吠陀星盘。

如何选择默认值

页面写的是“西方占星”,默认使用回归黄道。

页面写的是“吠陀占星”“Jyotish”“Kundli”“Nakshatra”或“dasha”,默认使用恒星黄道。多数吠陀应用以 lahiri 作为稳妥起点。

通用平台应提供清晰选项:

Zodiac system: Tropical | Sidereal

如果选择恒星黄道,再显示:

Ayanamsha: Lahiri

UI 中无须放置过长的天文解释。用户只需知道星盘属于哪一种传统。

实用的 UI 文案

不好的标签:

Mode: Standard

更好的写法:

Zodiac system: Tropical

附带简短提示:

Zodiac system: Tropical
Used by most modern Western astrology charts.

恒星黄道:

Zodiac system: Sidereal
Used by Vedic/Jyotish charts and some Western sidereal charts.

缓存键不要漏掉黄道类型

不要只用以下字段构造缓存键:

birth date + birth time + city

回归黄道与恒星黄道星盘可以使用同一组出生数据,却返回不同星座。

缓存键应包含:

birth_datetime_utc
+ latitude
+ longitude
+ timezone
+ house_system
+ zodiac_type
+ sidereal_ayanamsa
+ engine_version

这样就不会在恒星黄道页面展示回归黄道数据,反之亦然。

AI 占星应用也需要同样的上下文

如果用 LLM 编写解读,不要让模型猜测黄道体系。

把计算设置与星盘一起发送:

{
  "instruction": "Interpret only the supplied chart data. Do not recalculate signs.",
  "calculation_settings": {
    "zodiac_type": "sidereal",
    "sidereal_ayanamsa": "lahiri",
    "house_system": "whole_sign"
  },
  "placements": {
    "sun": "Pisces 11",
    "moon": "Cancer 28",
    "ascendant": "Leo 3"
  }
}

这一点很重要,因为网上大多数占星文本采用西方回归黄道体系。如果星盘采用吠陀恒星黄道,提示词必须明确说明。

常见错误

错误 1:把恒星黄道当成纯显示选项

恒星黄道不只是 UI 标签,它会改变星座位置和解读所用的黄经。

错误 2:声明恒星黄道却隐藏 ayanamsha

专业用户会关心 ayanamsha。支持恒星黄道星盘时,请在响应中显示,必要时也在 UI 中显示。

错误 3:用回归黄道文本解释恒星黄道数据

西方回归黄道的报告文本不一定适合吠陀恒星黄道落点。名称看起来相同,但传统和解读方式可能不同。

错误 4:比较星座时不检查黄道体系

数据库里的“月亮在巨蟹座”也必须注明是回归黄道巨蟹座,还是恒星黄道巨蟹座。

错误 5:不解释星座为什么变化

如果提供切换开关,用户切换后会看到星座变化。在旁边放一句简短说明,可以减少支持咨询。

常见问题

恒星黄道比回归黄道更准确吗?

不能这样简单比较。它们是不同传统使用的两种黄道体系。产品应按用户选择的体系计算,并清楚标注。

为什么我的太阳星座变了?

可能是星盘从回归黄道切换到恒星黄道,或反过来。出生数据没有变化,变化的是黄道体系。

吠陀占星总是使用恒星黄道吗?

多数吠陀和 Jyotish 应用使用恒星黄道,常见默认值是 Lahiri ayanamsha。开发 Nakshatra、dasha、Panchang 或 Kundli 星盘功能时,应默认使用恒星黄道。

西方占星总是使用回归黄道吗?

多数现代西方占星使用回归黄道,但也有西方恒星黄道占星。普通西方出生星盘计算器通常默认使用回归黄道。

应该让用户选择吗?

如果产品同时服务西方占星和吠陀用户,应该让用户选择。纯西方星盘计算器可以默认使用回归黄道并加以说明;纯吠陀产品则默认使用恒星黄道并显示 ayanamsha。

最后记住

回归黄道与恒星黄道的区别不是小技术细节,它会改变用户看到的星座。

清晰的占星应用应该:

  • 西方占星功能多数使用回归黄道
  • 吠陀和 Jyotish 功能使用恒星黄道
  • 在 UI 中显示黄道体系
  • 在请求和响应中包含 zodiac_type
  • 使用恒星黄道星盘时包含 sidereal_ayanamsa
  • 确保星盘图、报告、缓存和 AI 提示词使用同一设置

这样用户看到的星盘会符合预期传统,开发者也有足够的元数据构建可靠产品。

继续阅读

全部指南