私設・温泉分析書データベース。訪れた温泉の分析書(成分表)を記録し、比較・散布図・地図・化学種分布図で眺めるための PWA。
公開URL: https://yongdukim.github.io/OnsenDB/
2つのモードを切り替えて使う。
- 温泉分析書の成分(陽イオン・陰イオン・遊離成分・溶存ガス)を1件ずつ登録
- 初回起動時は既定の分析書22件が登録済み(通常のレコードとして編集・削除できる)
- データはブラウザの localStorage に保存(端末内のみ)。JSONでバックアップ/復元・端末間の手動移行が可能
- 産総研地質調査総合センター「地熱情報データベース」の温泉分析値データ 全国7,203地点 を収録
- 都道府県・泉質(簡易分類)・キーワードで絞り込み、一覧・比較・散布図・地図で閲覧できる
- 掲載値は1910〜2005年の過去の分析値であり、現在の泉質・成分を示すものではない
- 出典・加工内容の詳細はアプリ内「データについて」タブに記載
- 海水(標準)を比較基準として常時表示
- 泉温・pH・成分濃度での横並び比較、2軸散布図、日本地図での分布表示
- 2軸散布図では成分をモル濃度(mmol/kg)に換算して比較(重量濃度のままだと原子量の差で大小の見え方が変わるため。換算できないラドン・溶存物質総量は分析書の単位のまま)
- 酸解離定数(pKa)表と pH−化学種分布図
- PWA対応:ホーム画面に追加でき、オフラインでも起動・閲覧・入力できる(産総研データセットも一度読み込めばキャッシュされる)
産総研データモードのデータセット(public/gsj/gsj-onsen-2020.json)は、
産総研地質調査総合センター 地熱情報データベース(https://gbank.gsj.jp/gres-db/)の
温泉分析値データ(GSJ_DB_GRES-DB_ONSEN_2020)を使用し、本アプリ作成者(YongDuKim)が加工したものです。
加工後の内容は産総研地質調査総合センターが作成したものではありません。
元データの利用条件は産総研地質調査総合センターウェブサイト利用規約
(政府標準利用規約(第2.0版)準拠・CC BY 4.0 互換)に従います。
主な加工内容(詳細は scripts/convert-gsj.ts と src/lib/gsjConvert.ts):
- 文字コード変換(Shift_JIS → UTF-8)・JSON化・収録項目の取捨選択
- 位置ポリゴン(約200m四方にぼかし)の重心点化(精度±100m程度)
- 採水年月日の表記統一、ラドンの Bq/kg 換算、SiO₂ のメタケイ酸(H₂SiO₃)換算
- 欠測(N/A)・痕跡(TR)・検出限界未満の値の除外、泉質の簡易分類の付与
データセットを再生成するには、元CSVをダウンロードして次を実行する (CSV はリポジトリに含めない):
npm run convert:gsj -- path/to/GSJ_DB_GRES-DB_ONSEN_2020.csvnpm install
npm run dev # 開発サーバー
npm run test # Vitest(単体 + コンポーネントテスト)
npm run lint # ESLint
npm run format # Prettier
npm run build # 型チェック + 本番ビルド
npm run preview # ビルド結果のプレビューsrc/schema.ts— 成分・酸解離定数・都道府県などのスキーマ定義。ここに項目を追加すれば入力欄・グラフに自動反映src/defaultRecords.ts— 初回起動時に登録済みとなる既定の分析書src/lib/— 計算・保存などの純粋ロジック(テスト対象)gsjConvert.ts— 産総研CSVの変換ロジック、gsjData.ts— データセットの取得と展開
src/components/— React コンポーネント(タブごとのビュー)。GsjMode.tsxが産総研データモードscripts/convert-gsj.ts— 産総研CSV →public/gsj/*.jsonの変換スクリプトpublic/gsj/— 変換済みデータセット(生成物。直接編集しない)
main ブランチへの push で GitHub Actions が lint → format check → test → build を実行し、
すべて通れば GitHub Pages に自動デプロイされる(.github/workflows/deploy.yml)。