自分がよく行く釣り場・港の 潮汐・天気・風速 をまとめて素早く確認するための、個人専用 Web ツール。
| 項目 | 内容 |
|---|---|
| URL | https://static.sho-tsukamoto.jp/tidegraph/ |
| 用途 | 釣行計画の立案・当日の潮況確認 | | 対象 | 自分専用(個人開発) | | 作者 | Sho Tsukamoto |
- 指定した場所・日付の 24 時間潮位グラフ を Chart.js で描画
- 同一グラフ上に 時間帯別の風速(m/s)を重畳表示。ピーク時間帯は黄色い縦帯、時間帯ごとの活性はチャート上端の ★ で表示(凡例: ★=活性目安)
- 潮位・風速ともプロット点を表示
- 満潮・干潮の時刻と潮位(cm)、日の出・日の入り時刻、潮回り(大潮・中潮 等)を情報パネルに表示
- bite_score(API): 潮汐位相・潮の動き・潮位差・潮回り・風・気圧・日の出入りから算出する独自の透明指標(他社 BI の非公開式は未使用)。数値・名称は API / WebMCP 向け。チャート UI に「釣時スコア」文字列は出さない(★のみ)
- 当日の天気・最高気温・最低気温をヘッダーにバッジ表示
- 前日 / 翌日の切り替え、場所・日付のリアルタイム変更に対応
- Google Map リンクで港の位置を確認可能
- 選択した場所の 1 ヶ月分の潮汐カレンダー を表示
- 各日に 潮回り・天気アイコン・最高/最低気温・日の出/日の入りを集約
- 日付クリックで該当日の潮位グラフに遷移
- 前月 / 翌月ナビゲーション対応
- 場所(プルダウン)と日付を選択して潮見表を表示する入口
api/places.php/api/tide.php/api/calendar.php— 機械可読 JSON- ChatGPT 向けはクエリ無しパスを推奨:
api/tide.php/{prefecture}/{code}/{YYYY-MM-DD}(.json/.txt可、20分刻みtideseries 込み)
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 サーバ
- 共通ヘッダーで 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 | 用途 |
|---|---|
| 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 を参照。
個人利用のため特に定めなし。