占星術 — フルスペクトルチャートエンジン
1つの出生情報から四柱推命(BaZi)、西洋占星術、ヴェーダ占星術(Sidereal)、ヒューマンデザインの4つのシステムを計算します。
入力(全システム共通)
| フィールド | 備考 |
|---|---|
year, month, day | 現地標準時におけるカレンダー日付 |
hour, minute | 24時間表記の現地標準時 |
lat | 緯度(度)、北緯を正とする |
lon | 経度(度)、東経を正とする |
tz_offset | UTCオフセット(時間単位)、例:タイ +7 |
日付・時刻・場所のいずれかが欠けている場合は、ユーザーに確認してください。推測はしないでください。タイムゾーンと座標の精度は、アセンダント、ハウスカスプ、時柱、そしてすべてのヒューマンデザインラインに直接影響します。
2つのエンジン — いずれかを選択
1. Python — 信頼性が高い(Swiss Ephemeris)
scripts/astrology.py は pyswisseph を使用してすべての惑星計算を行い、信頼できる情報源です。このエンジンを優先してください。
python scripts/astrology.py 1992 8 8 16 49 6.53995 101.29 7
# 引数: year month day hour minute lat lon tz_offset
または、JSONを環境変数で渡すこともできます(プログラムからの呼び出しに便利です):
WOR_INPUT='{"year":1992,"month":8,"day":8,"hour":16,"minute":49,"lat":6.53995,"lon":101.29,"tz_offset":7}' python scripts/astrology.py
引数も環境変数も指定しない場合は、組み込みのデフォルトチャートを実行します。
エフェメリスファイル: スクリプトは scripts/ からの相対パスで ../data にある .se1 データを探し、次に data/ephe をフォールバックとして探します。このリポジトリでは assets/ に保存しています。実際のSwiss Ephemerisファイル(Moshierフォールバックではなく)を使用するには、関数を直接パス付きで呼び出します:
from astrology import run_full_astronomical_profile
run_full_astronomical_profile(1992, 8, 8, 16, 49, 6.53995, 101.29, 7,
ephe_path="assets")
依存関係が不足している場合はインストールしてください:pip install pyswisseph。
1b. Python — タイ語リーディング(解釈レイヤー)
scripts/reading.py は上記のエンジンをインポートし、生の出力を4つのシステムすべてをカバーするプレーンテキストのタイ語リーディング(คำอ่าน/คำทำนาย)に変換します。ユーザーが生の数値ではなく、実際のリーディングを求めている場合に使用します。
python scripts/reading.py 1992 8 8 16 49 6.53995 101.29 7 m
# 引数: year month day hour minute lat lon tz_offset [gender]
# gender (m/f) はオプション — 大運(Da Yun)の方向に必要
バンドルされた assets/*.se1 エフェメリスファイルを自動的にロードします。解釈テーブルはタイ語(ELEMENT_TH、DEITY_TH、NAKSHATRA_TH、TYPE_TH など)であり、その場で拡張可能です。また、四柱推命については、12運星(十二長生)、18の神煞(文昌、太極貴人、桃花、驛馬、華蓋、干祿、紅艶煞、…)、納音(Na Yin)、空亡(Kong Wang)、日主の強弱と喜用神・忌神、10年周期の大運(Da Yun)(十神と喜用神のマーク付き)、流年(Liu Nian)の年柱、そして最終的なタイ語のサマリーリーディング(セクション5:BaZi + ヒューマンデザイン + 西洋占星術を統合)も計算します。神煞は古典的な公式を使用します(流派によって異なる場合があります)。それ以外は正確です。reading.py は自身で十神を正しい polarity(直接対間接)で計算します。これは astrology.py の組み込みテーブルが同じ要素の干をすべて「日主」とラベル付けするためです。
出力内容:真太陽時 + 四柱 + 十神 + 五行カウント;アセンダント/MC、惑星、プラシーダスハウスカスプ、アスペクト;恒星時ベースの rashi/nakshatra/pada/navamsha;ヒューマンデザインのタイプ、ストラテジー、オーソリティ、デフィニション、プロファイル、インカネーションクロス、ヴァリアブル、センター、チャンネル、パーソナリティ/デザインの活性化。
2. TypeScript — 依存関係なし、近似値
scripts/astro.ts は依存関係なしで同じ4つのシステムを再実装しており、Python/Swiss Ephemerisがない環境向けです。npx tsx scripts/astro.ts で実行できます — ただし、このスクリプトは関数をエクスポートするのみで、CLIランナーはありません。 以下のようにインポートして使用する小さなドライバーを書いてください:
import { computeChart } from './astro';
const chart = computeChart({
year: 1992,
month: 8,
day: 8,
hour: 16,
minute: 49,
utcOffsetHours: 7,
latitude: 6.53995,
longitude: 101.29
});
console.log(chart);
TypeScriptの出力はサイン/ゲートレベルのみとして扱ってください。精度に関する注意事項は astro.ts の先頭に記述されています:太陽0.01°、月0.1–0.3°、惑星はケプラー近似(摂動なし、外惑星で最大~1°)、プラシーダスは緯度66°以上では信頼できません。惑星がサイン/ハウス/ゲートの境界付近にある場合は、その旨を明記し、断言する代わりにPythonエンジンで検証してください。
結果の解釈
スクリプトは計算のみを行います — 生の位置と分類を出力します。リーディングと解釈はあなたの仕事です。各システムを解釈する前に、対応するリファレンスファイルを読んでください:
| システム | リファレンスファイル | 参照目的 |
|---|---|---|
| 四柱推命(BaZi) | references/bazi.md | 日主、五行、十神、柱の意味 |
| 西洋占星術 | references/western.md | 惑星、サイン、ハウス、アスペクト、アングル |
| ヴェーダ占星術 | references/vedic.md | Rashi、nakshatra、lord、pada、navamsha、ayanamsa |
| ヒューマンデザイン | references/human-design.md | タイプ、オーソリティ、デフィニション、プロファイル、センター、チャンネル |
ユーザーが実際に尋ねたシステムのリファレンスのみをロードしてください。ユーザーがフルリーディングを求めた場合は、エンジンを実行し、リファレンスを使用して各要求されたシステムを順に解説し、出力を生のテーブルをそのまま羅列するのではなく、平易な言葉(ユーザーがタイ語で書いた場合はタイ語)に翻訳してください。
システム固有の注意事項:
- 四柱推命(BaZi) — 月柱は節気(1日ではない)で変わるため、節気の境界付近の出生は真太陽時が必要です。
- 西洋占星術 — アスペクトはエンジンが報告するオーブで重み付けしてください。
- ヴェーダ占星術 — 予測にはrashiよりもnakshatraの主星(lord)とpadaが重要です。
- ヒューマンデザイン — デザインのタイムスタンプは出生前の太陽弧88°(正確には88日前ではない)によって求められます。
禁止事項
- 惑星の位置、ゲート番号、またはクロス名をでっち上げないでください — 常にエンジンを実行してください。
- 近似のTS出力をエフェメリスグレードとして提示しないでください。
- タイムゾーンを仮定しないでください。出生地と日付に照らして確認してください(サマータイムと過去のオフセットは結果を変えます)。