吉方位マップを作った話 — Google Mapsの上に「気学」を載せる
ウラシルに「吉方位マップ」機能を追加しました。生年月日から本命星を自動算出し、現在地を起点にした8方位の吉凶をGoogle Maps上に可視化するツールです。
きっかけ
九星気学のページを作っているとき、ふと思ったのです。「吉方位は北西です」と文字で伝えても、実際にどの方角がどこなのか、すぐにはピンとこない。北西ってどっちだっけ、と。
特に引越しや旅行の方角を気にする方にとって、地図の上で「ここが吉方位ですよ」と見せられたら、もっと実用的になるのではないか。そう考えて、吉方位マップの開発を始めました。
8方位の線を引く — 思ったより難しい「方角」の話
最初は単純に考えていました。中心点から北・北東・東……と45度ずつ線を引けばいい、と。ところが実際にやってみると、意外なところでつまずきます。
九星気学の方位は均等な8分割ではなく、北・南・東・西が各30度、北東・南東・南西・北西が各60度という不均等な分割です。これは「四正」と「四隅」で扱いが違うため。この仕様を正確に反映するだけで、かなりの試行錯誤がありました。
さらに、地図上の方位線は直線ではなく測地線(地球の丸みを考慮した曲線)で引く必要があります。東京を中心に北西方向へ200km引いた線が、実際にはどのあたりを指すのか。Google Maps APIの google.maps.geometry.spherical を使って正確な方位を計算しています。
本命星の自動判定
九星気学の本命星は生まれ年で決まりますが、ひとつ厄介なルールがあります。「立春(2月4日頃)」を年の区切りとするため、1月1日〜2月3日生まれの方は前年の星で計算する必要があるのです。
西暦から本命星を算出する計算式自体はシンプルですが、この節分ルールを正確に組み込むのに気を遣いました。ユーザーが生年月日を入力したら自動で本命星が判定され、即座に方位盤が切り替わる。この体験をスムーズにすることを最優先にしています。
色分けのデザイン
方位の吉凶を地図上にどう表現するか。ここはデザイン面で最も悩んだポイントです。
最初は赤・青・黄色でベタ塗りにしていたのですが、地図の情報が読めなくなってしまう。かといって薄すぎると吉凶がわからない。最終的には、半透明のグラデーション扇形を重ねる方式に落ち着きました。大吉は淡いゴールド、吉は控えめな緑、凶はうっすらとしたグレー。地図の可読性を保ちながら、直感的に方位の良し悪しが伝わるバランスを探りました。
「占いツール」と「実用ツール」のあいだ
開発中、ずっと意識していたのは「実用性」です。吉方位マップは、占いの要素を持ちつつも、引越し先を探すとき・旅行先を選ぶとき・日帰りの行き先を決めるときに「実際に使える」ツールであるべきだと考えました。
だから地図は本物のGoogle Mapsを使い、住所検索もできるようにしています。「北西の吉方位に温泉がある」とわかったら、そのまま行き先を決められる。占いと日常がつながる瞬間を作りたかったのです。
静的サイトでの実装
ウラシルはAstroで構築した静的サイトです。サーバーサイドの処理は一切ありません。吉方位の計算もすべてクライアントサイドのJavaScriptで完結しています。
本命星の算出、方位の吉凶判定、扇形の描画、地図へのオーバーレイ。これらをすべてブラウザ上で行うため、APIキー以外の外部依存がありません。ページを開いた瞬間にすべてが動く。この軽快さは静的サイトならではの強みです。
これからのこと
現在は本命星に基づく「一生変わらない吉方位」を表示していますが、将来的には年盤・月盤・日盤を重ねた「今日の吉方位」も実装したいと考えています。毎日チェックして、その日のお出かけ先を決める。そんな使い方ができたら、九星気学がもっと身近になるはずです。