Skip to content

About

Tide graph service for myself!

Resources

Stars

0 stars

Watchers

1 watching

Forks

Repository files navigation

🌊 シオヨミ

自分がよく行く釣り場・港の 潮汐・天気・風速 をまとめて素早く確認するための、個人専用 Web ツール。

サービス概要

項目 内容
URL https://static.sho-tsukamoto.jp/tidegraph/

| 用途 | 釣行計画の立案・当日の潮況確認 | | 対象 | 自分専用(個人開発) | | 作者 | Sho Tsukamoto |

主な機能

📈 潮位グラフ(chart.php)

  • 指定した場所・日付の 24 時間潮位グラフ を Chart.js で描画
  • 同一グラフ上に 時間帯別の風速(m/s)を重畳表示。ピーク時間帯は黄色い縦帯、時間帯ごとの活性はチャート上端の ★ で表示(凡例: ★=活性目安)
  • 潮位・風速ともプロット点を表示
  • 満潮・干潮の時刻と潮位(cm)、日の出・日の入り時刻、潮回り(大潮・中潮 等)を情報パネルに表示
  • bite_score(API): 潮汐位相・潮の動き・潮位差・潮回り・風・気圧・日の出入りから算出する独自の透明指標(他社 BI の非公開式は未使用)。数値・名称は API / WebMCP 向け。チャート UI に「釣時スコア」文字列は出さない(★のみ)
  • 当日の天気・最高気温・最低気温をヘッダーにバッジ表示
  • 前日 / 翌日の切り替え、場所・日付のリアルタイム変更に対応
  • Google Map リンクで港の位置を確認可能

📅 月間カレンダー(calendar.php)

  • 選択した場所の 1 ヶ月分の潮汐カレンダー を表示
  • 各日に 潮回り・天気アイコン・最高/最低気温・日の出/日の入りを集約
  • 日付クリックで該当日の潮位グラフに遷移
  • 前月 / 翌月ナビゲーション対応

🏠 トップページ(index.php)

  • 場所(プルダウン)と日付を選択して潮見表を表示する入口

🤖 エージェント向け(JSON API / WebMCP)

  • api/places.php / api/tide.php / api/calendar.php — 機械可読 JSON
  • ChatGPT 向けはクエリ無しパスを推奨:
    api/tide.php/{prefecture}/{code}/{YYYY-MM-DD}(.json / .txt 可、20分刻み tide series 込み)
    api/calendar.php/{prefecture}/{code}/{year}/{month}
  • ページ内 <script type="application/json" id="shioyomi-data"> と WebMCP(assets/js/webmcp.js)
  • llms.txt — エンドポイント案内と ChatGPT 確認手順
  • mcp-server/ — JSON API をラップする薄い stdio MCP サーバ

🔍 SEO / 📱 PWA

  • 共通ヘッダーで title / description / OGP / Twitter / canonical / JSON-LD / theme-color
  • robots.txt / sitemap.xml / manifest.webmanifest / sw.js
  • 本番サブパス /tidegraph/ は App\Support\Site と <base href> で解決

詳細は llms.txt およびプラン docs 側の WebMCP プランを参照。

登録済みスポット

兵庫・鳥取・島根・岡山・香川の港を中心に 20 箇所を登録。app/config.php で管理。

スポット一覧
港名 都道府県コード
明石 28
尼崎 28
神戸 28
苅藻島 28
岩屋 28
高砂 28
飾磨 28
広畑 28
洲本 28
香住 28
米子 31
加賀 32
七類 32
大多府島 33
牛窓 33
小串 33
宇野 33
下津井 33
与島 37
男木島 37

技術スタック

レイヤー 技術
言語 PHP 8.0
パッケージ管理 Composer
依存ライブラリ nesbot/carbon(日付操作)
チャート描画 Chart.js 2.7
コンテナ Docker / docker-compose(Apache + PHP)
ホスティング スターサーバー(star8) / static.sho-tsukamoto.jp/tidegraph

外部 API

API 用途
tide736.net 潮汐データ(潮位・満潮干潮時刻・潮回り・日の出日の入り)
Open-Meteo 天気予報・気温・風速

転流(current_turn)は、瀬戸内・備讃瀬戸周辺港について海上保安庁第6管区の公開潮流グラフ CGI(tiiki=bisanseto 等)から取得する。未対応港・取得失敗時は近似せず「海保未対応/データなし」。航海用ではない参考表示。

ディレクトリ構成

.
├── index.php              # トップページ(場所・日付選択)
├── chart.php              # 潮位グラフ画面
├── calendar.php           # 月間カレンダー画面
├── header.php             # 共通 HTML ヘッダー
├── app/
│   ├── config.php         # スポット定義・定数
│   ├── Requests/          # リクエストバリデーション
│   ├── Services/
│   │   ├── TideGraphService.php   # 潮汐 API 連携
│   │   ├── CalendarService.php    # 月間潮汐データ取得
│   │   ├── WeatherService.php     # 天気 API 連携
│   │   ├── BiteScoreService.php   # 釣時スコア
│   │   ├── CurrentTurnService.php # 転流(海保マッピング)
│   │   └── KaihoTidalCurrentService.php # 第6管区潮流 CGI 取得
│   └── UseCases/          # ユースケース(日付取得など)
├── assets/                # CSS / JS / 画像
├── Dockerfile             # PHP 8.0 + Apache イメージ
├── docker-compose.yml     # ローカル開発用(:8080)
└── composer.json

ローカル開発

# コンテナ起動
docker-compose up -d

# http://localhost:8080 でアクセス

本番デプロイ

main へのマージで GitHub Actions が FTPS デプロイします。手順と必要な Secrets は DEPLOY.md を参照。

ライセンス

個人利用のため特に定めなし。

About

Tide graph service for myself!

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages