コンテンツにスキップ
AstroWay/api v2.254.12 · ja
すべてのシステムが正常です

SVGマップ画像

/v1/render/* は、完成した SVG としてチャートを返す:出生ホイール、ビウィール、トリウィール、コンポジット、ヴェーダチャート(北、南、東)、アスペクトグリッド、コスモグラム、月相、タイムライン、バイオリズム、食欠帯、星図。出生データを送ると、チャートを計算して描画する。全ルートとパラメータの一覧は APIリファレンス にある。

同じ描画コードは npm パッケージ @astroway/render として公開されている:チャートデータがすでにある場合、ブラウザや自分のサーバーでホイールを描画でき、API が返すものとバイト単位で一致する。描画バージョンは API のヘッダー X-Render-Version で返される。

Terminal window
curl -X POST https://api.astroway.info/v1/render/wheel-western \
-H "X-Api-Key: $ASTROWAY_KEY" -H "Content-Type: application/json" \
-d '{"date":"1990-05-15","time":"14:30:00","timezoneOffset":3,"latitude":50.45,"longitude":30.52,
"options":{"theme":"css","format":"svg"}}' > wheel.svg

format: "svg" はファイルそのものを返し、デフォルトの json は SVG 文字列を通常の API 応答にラップする。テーマは light, dark, console, css。

theme: "css" を指定すると、SVG の各色が CSS 変数として記述され、ライトテーマの色がフォールバックになる。例: var(--aw-ring, #222)。SVG を HTML ページに埋め込む(<img> では変数は機能しない)で、変数を設定する:

.chart {
--aw-chart-bg: transparent;
--aw-ring: #444;
--aw-fg: currentColor;
--aw-aspect-tense: crimson;
}

変数を設定しなければ、カードは正確に light と同じ見た目になる。ページの CSS ルールは変数より優先されるので、個別要素はクラスで上書きできる。

変数何を塗るか
--aw-chart-bg背景
--aw-fg, --aw-mutedグリフとラベル、二次テキストと目盛り
--aw-ring円とグリッド線
--aw-houses-fillヴェーダチャートの領域、星図のディスク、食欠帯マップ
--aw-benefic外側リングの惑星、ヴェーダチャートのラグナ、カラーなしのタイムラインイベント
--aw-malefic逆行記号 ℞、食欠帯
--aw-aspect-harmonious, --aw-aspect-tense, --aw-aspect-neutral, --aw-aspect-minor, --aw-aspect-quintileアスペクトの線とシンボル
--aw-moon-shadow, --aw-moon-light月相
--aw-cycle-physical, --aw-cycle-emotional, --aw-cycle-intellectualバイオリズム

css テーマでは、西洋ホイール(wheel-western, bi-wheel, tri-wheel, composite)とアスペクトグリッドに固定クラスが付く。名前は追加されるだけで変更されないので、スタイルやスクリプトで利用できる。

  • ホイール: aw-bg, aw-ring, aw-sign aw-sign-leo, aw-sign-line, aw-tick, aw-house-cusp, aw-house-number, 軸 aw-axis aw-asc (aw-dsc, aw-mc, aw-ic)、それらのラベル aw-label aw-axis-label、タイトル aw-title。
  • 惑星: グループ <g class="aw-planet aw-planet-sun">、逆行惑星は aw-retrograde、外側リングの惑星は aw-layer-1。内部は aw-glyph, aw-retro(記号 ℞) と aw-planet-tick。
  • アスペクト: 線 aw-aspect aw-aspect-trine、2つのチャート間の線は aw-cross-aspect。
  • アスペクトグリッド: aw-grid-header, aw-grid-cell, aw-aspect aw-aspect-square, aw-orb。

惑星グループは data-planet(sun, north-node, lilith; 外側リングは b-sun, 第三リングは c-sun)と、名前と位置を含む data-label(例: Mercury 8°00' Taurus, retrograde)を持つ。アスペクト線とグリッドセルは data-a と data-b を持ち、ホバー時に惑星のすべてのアスペクトがハイライトされる:

svg.querySelectorAll('.aw-planet').forEach((g) => g.addEventListener('mouseenter', () => {
const id = g.dataset.planet;
svg.querySelectorAll('.aw-aspect').forEach((line) =>
line.classList.toggle('is-on', line.dataset.a === id || line.dataset.b === id));
}));

西洋ホイールは options.labels を受け取る:軸ラベル、スクリーンリーダーが読む <title> と <desc>、そして data-label の名前に使う自分の語句。存在しないキーは英語のままで、我々は翻訳しない。

"options": {
"theme": "css",
"labels": {
"asc": "Асц", "mc": "МС", "title": "Натальна карта",
"bodies": { "Sun": "Сонце", "Moon": "Місяць" },
"signs": ["Овен","Телець","Близнюки","Рак","Лев","Діва","Терези","Скорпіон","Стрілець","Козеріг","Водолій","Риби"],
"retrograde": "ретроградний"
}
}

bodies のキーは英語(Sun, North Node)で、signs は正確に12個の名前で、牡羊座から始まる。各ラベルは最大40文字。

/v1/render/bi-wheel に options.crossAspects: true を指定すると、内側と外側のチャート間のアスペクトを点線で描く。これは POST /v1/synastry が返す crossAspects と同じセットだ。どちらかの天体が描かれていないペアはスキップされる。デフォルトは無効。

出生データの代わりに完成チャートを使用

Section titled “出生データの代わりに完成チャートを使用”

すでにチャートがある場合、たとえば直前に POST /v1/chart を呼び出したなら、出生データの代わりに chart フィールドにその data を送れば、我々はそれを描くだけになる。wheel-western, aspect-grid, bi-wheel は同様に動作し(natal.chart と outer.chart が必要で、どちらも完成チャートであること)、描画結果は出生データから生成したものとバイト単位で同一になる。

{ "chart": { "planets": [ ... ], "houses": { "cusps": [ ... ], "ascendant": 7.77, "mc": 277.12 }, "aspects": [ ... ] },
"options": { "theme": "css" } }

余分なレスポンスフィールドは切り取らなくてもよい。描画対象は検証される:天体は1〜30個、経度は0〜360、クスピッドは正確に12個。chart と出生データの両方がある天体は400で除外される。

/v1/render/* を出生データで呼び出すと、チャート計算が必要なため10クレジットかかる。完成チャート chart を使う場合、/v1/render/wheel-western, /v1/render/aspect-grid, /v1/render/bi-wheel の呼び出しは1クレジットになる。テーマ、クラス、ラベルは料金に影響しない。

参考になりましたか?
編集を提案

最終更新日: