尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證日本列島の地形・地質・火山・温泉を一枚の地図に重ね、公開データの範囲で関係を実測する教育・研究用 Web GIS
翻譯準備中
取自儲存庫 README
正在載入完整 README。 以下為已儲存的摘錄。
地形・地質・火山・温泉を一枚の地図に重ね、公開データの範囲でその関係を実測する 教育・研究・技術実験用の Web GIS。 • 地図: MapLibre GL JS • 外側: Next.js(静的書き出し)— サーバ側の処理はひとつも無い • データ加工: Python(ETL は手動実行) 等高線は事前に作った線ではなく、表示範囲の標高タイルをその場で読んで marching squares で引いている。檢視完整 README ↗
地形・地質・火山・温泉を一枚の地図に重ね、公開データの範囲でその関係を実測する 教育・研究・技術実験用の Web GIS。
本番: https://japan-geo-onsen.vercel.app
| 画面 | 中身 |
|---|---|
/ | 地形・陰影・色別標高・地質・等高線・火山・温泉のレイヤー地図。クリックで属性 |
/stats/ | 温泉と対照群を、地質・標高・傾斜・火山距離で比べた集計 |
/onsen-stats/ | 環境省の温泉利用状況(源泉数・温度別源泉数・湧出量)を都道府県別に |
/about/ | 出典・利用条件・加工方法と、探して見つからなかったデータの記録 |
等高線は事前に作った線ではなく、表示範囲の標高タイルをその場で読んで marching squares で引いている。
| 対象 | 件数 | 出典 |
|---|---|---|
| 活火山 | 111 | 気象庁 |
| 温泉(観光資源) | 1,320 | 国土交通省 国土数値情報 P12(2014) |
| 対照点 | 1,320 | 同上(温泉以外の観光地点を県ごとに同数抽出) |
| 地質凡例 | 2,416 | 産総研 シームレス地質図V2 |
120 = 111 + 3(座標を持たない一覧表示用の項目)+ 6(親火山の火口細分)。
この分解が崩れたらデータ生成は止まる。lib/pick.ts)。surroundings/<層>.json に分けた(起動時の取得を増やさない)。/missing/ に出す(518+432 件)。Category:日本の温泉 は存在せず(実体は都道府県別)、
存在しない入口を叩いて 0 件を得ていた。入口が在ることを確かめてから数える。amenity=public_bath 等は全国 5,803 件で被覆は広いが、
源泉ではなく入浴施設であり、ODbL の継承条件が政府標準利用規約のデータと混ざるため採らなかった。python -m venv .venv
./.venv/Scripts/python.exe -m pip install pyshp Pillow pytest
npm install
# 生データの取得(raw/ にキャッシュされ、二度目からは外部を叩かない)
./.venv/Scripts/python.exe etl/build_volcanoes.py
./.venv/Scripts/python.exe etl/build_onsen_base.py
./.venv/Scripts/python.exe etl/enrich_onsen.py
./.venv/Scripts/python.exe etl/build_onsen_wikidata.py # 第二の点レイヤー(CC0)
./.venv/Scripts/python.exe etl/enrich_onsen.py onsen_wikidata.geojson
./.venv/Scripts/python.exe etl/build_control.py
./.venv/Scripts/python.exe etl/enrich_onsen.py control.geojson
./.venv/Scripts/python.exe etl/build_water.py # 河川・湖沼(下記の zip が要る)
./.venv/Scripts/python.exe etl/parse_onsen_stats.py # 環境省 PDF(都道府県別)
./.venv/Scripts/python.exe etl/build_onsen_facility.py # 入浴施設(第三の層・Wikidata)
./.venv/Scripts/python.exe etl/build_onsen_wikipedia.py # 温泉記事(第四の層)と未掲載一覧
./.venv/Scripts/python.exe etl/build_surroundings.py # まわり 5/10/25/50km の数(全 4 層)
./.venv/Scripts/python.exe etl/build_regions.py # 地域比較(5 地域 + 活火山 111 を基準点に)
./.venv/Scripts/python.exe etl/build_ai_dataset.py # AI のデータセット(P12 温泉 × 対照)
./.venv/Scripts/python.exe etl/train_baselines.py # LR・RF・XGBoost の比較(ローカルで学習・合否は docs/ai_preregistration.md)
./.venv/Scripts/python.exe etl/explain_ai.py # 温泉ごとの見立て(分割外の出力 + SHAP の寄与)
./.venv/Scripts/python.exe etl/build_cnn_patches.py # CNN に見せる地形の画像(z14 64×64・raw/ai/ に置き積まない)
./.venv/Scripts/python.exe etl/train_cnn.py # CNN の比較(約 4 時間・途中から再開可・合否は docs/ai_preregistration_cnn.md)
./.venv/Scripts/python.exe etl/build_vegetation.py # 植生(下記の lzh が要る)
./.venv/Scripts/python.exe etl/make_profile_fixture.py # 断面の二実装照合フィクスチャ
./.venv/Scripts/python.exe etl/check_elevation.py # 標高を地理院 標高 API と突き合わせる
./.venv/Scripts/python.exe etl/build_stats.py
./.venv/Scripts/python.exe etl/build_manifest.py
npm run verify # 型検査 → vitest → next build
node harness/smoke.mjs --shot # 実ブラウザ検品(手元)
node harness/smoke.mjs --url https://japan-geo-onsen.vercel.app # 本番に対する検品
curl -L -o raw/biodic/veg_c02.lzh https://www.biodic.go.jp/dload/veg_c02.lzh
curl -L -o raw/biodic/veg05m01.lzh https://www.biodic.go.jp/dload/veg05m01.lzh
"/c/Program Files/7-Zip/7z.exe" x -y -oraw/biodic raw/biodic/veg_c02.lzh
"/c/Program Files/7-Zip/7z.exe" x -y -oraw/biodic raw/biodic/veg05m01.lzh
LZH 形式なので 7-Zip が要る(Python の標準ライブラリでは開けない)。 展開物はリポジトリに入れていない(配布形の lzh だけを残す)。
リポジトリには入れていない(河川は 47 県で 296 MB)。次で raw/ に置く。
# 河川 W05(都道府県別・年版が県ごとに違うので一覧ページから拾う)
# https://nlftp.mlit.go.jp/ksj/gml/datalist/KsjTmplt-W05.html
# 湖沼 W09(全国 1 ファイル・7.7 MB)
curl -L -o raw/ksj/W09/W09-05_GML.zip https://nlftp.mlit.go.jp/ksj/gml/data/W09/W09-05/W09-05_GML.zip
河川データ(W05)の利用条件は非商用限定で、国土数値情報の他のデータとは異なる。
raw/ は 570 MB あり、そのまま送るとアップロードが中断したうえ
Vercel free のファイル枠(5,000)を焼く。.vercelignore で除外する。
vercel deploy --prod --yes
--archive=tgz を使ってはならない。 この経路は .vercelignore を
ローカルで適用せず、raw/ を丸ごと詰めて 530 MB を送ろうとする
(実測 2026-09-08)。archive はファイル数の上限を避ける道具であって、
容量を減らす道具ではない。
デプロイ中に npm run build を走らせない。 送信元の out/ が
書き換わると ENOENT で落ちる。
配ったあと、出た版が意図した版かを実測する。 デプロイの終了コードを読み、
node harness/smoke.mjs --url <本番> を通し、さらに
配られている JS が意図した実装かを確かめること —— デプロイが失敗していても
古い版が動いているので、画面を見ただけでは気づけない。
生成はビルドより前に置くこと。 成果物は public/data/ に直接書いており、
data/ から写す段は作っていない(写す段があると、写した後に元を変えたときに
成果物だけが古く残る — HC-199)。
| 提供元 | 使っているもの | 利用条件 |
|---|---|---|
| 国土地理院 | 地図・陰影起伏・色別標高・標高タイル | 国土地理院コンテンツ利用規約 |
| 産業技術総合研究所 地質調査総合センター | 20万分の1日本シームレス地質図V2 | 政府標準利用規約(第2.0版) |
| 気象庁 | 活火山の一覧と位置 | 気象庁ホームページの利用について |
| 国土交通省 | 国土数値情報 観光資源データ(P12) | 国土数値情報 利用約款 |
この地図と集計は公開データをそのまま重ねたものです。 温泉の存在・泉質・湧出量を保証するものではありません。 「ここを掘れば温泉が出る」という主張はしません。
MIT License © 2026 坂田哲朗(コードについて。データは各提供元の条件に従う)