Skip to content

line_typeベースの速度テーブルと迂回係数を導入して到着時間推定精度を改善 - #1572

Merged
TinyKitten merged 2 commits into
devfrom
feature/improve-arrival-estimation-speed-profile
Jul 1, 2026
Merged

TinyKitten merged 2 commits into
devfrom
feature/improve-arrival-estimation-speed-profile

Conversation

@TinyKitten

@TinyKitten TinyKitten commented Jul 1, 2026 •

Copy link
Copy Markdown
Member

概要

到着時間推定 (estimate_arrival_minutes) の精度を改善する。路線種別 (line_type) ごとに基本速度と迂回係数を分けることで、新幹線・地下鉄・路面電車・AGT/モノレール・ケーブルカー等の特性を反映する。

変更の種類

  • バグ修正
  • 新機能
  • データの修正・追加
  • リファクタリング
  • ドキュメント
  • CI/CD
  • その他

変更内容

  • LINE_TYPE_SHINKANSEN の値を 7 → 1 に修正(実データの line_type 値と一致させる。従来は新幹線 250km/h が一切適用されていなかった)
  • 路線種別ごとの定数を追加: LINE_TYPE_SUBWAY(3), LINE_TYPE_TRAM(4), LINE_TYPE_AGT(5), LINE_TYPE_CABLE(0)
  • base_speed_kmh() を新設し、路線種別ごとの基本最高速度を返す(新幹線 250 / 地下鉄 75 / 路面電車 40 / AGT 60 / ケーブル 12 / 在来線 85 km/h)
  • max_speed_kmh() を base_speed_kmh ベースに書き換え、速達種別は base × 1.2 で算出
  • fallback_detour_factor() に路線種別ごとの迂回係数を追加(地下鉄 1.20 / 路面電車 1.40 / AGT 1.20 / ケーブル 1.10)
  • テストヘルパーの line_type を Some(1) → Some(2) に修正(意図せず新幹線扱いになっていた)

テスト

  • cargo fmt --all -- --check が通ること
  • cargo clippy -- -D warnings が通ること
  • cargo test(SQLX_OFFLINE=true)が通ること

関連Issue

スクリーンショット(任意)

TinyKitten and others added 2 commits July 1, 2026 19:57
LINE_TYPE_SHINKANSENの値を実データに合わせて7→1に修正し、
路線種別ごとの基本速度(新幹線250/地下鉄75/路面電車40/AGT60/ケーブル12/在来線85km/h)と
迂回係数(新幹線1.15/地下鉄1.20/路面電車1.40/AGT1.20/ケーブル1.10/在来線1.30)を設定。
速達種別は基本速度×1.2で算出するように変更。

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ag6fgiLJj5ExLa9bqnfAhj
@github-actions github-actions Bot added feature 要望対応や課題解決 deploy-dev labels Jul 1, 2026
@coderabbitai

coderabbitai Bot commented Jul 1, 2026 •

Copy link
Copy Markdown
Contributor

Review Change Stack

📝 Walkthrough

Walkthrough

到着推定用のLINE_TYPE_*定数を再定義し、迂回係数フォールバックと最高速度推定ロジックをline_typeベースの計算に変更した。最高速度計算にはbase_speed_kmhと倍率適用のロジックを導入し、対応するテストのline_type値も更新された。

Changes

到着推定パラメータの再構成

Layer / File(s) Summary
line_type定数の追加・更新
stationapi/src/domain/arrival_estimation.rs
地下鉄/路面電車/AGT/ケーブルカーを含むLINE_TYPE_*定数群を追加・更新した。
迂回係数フォールバックの更新
stationapi/src/domain/arrival_estimation.rs
fallback_detour_factorの分岐をLINE_TYPE_*定数ベースへ変更し、各line_typeごとの固定値を割り当てた。
最高速度計算ロジックの再構成
stationapi/src/domain/arrival_estimation.rs
base_speed_kmhを導入し、非新幹線でkind!=0の場合に倍率1.2を適用、新幹線はline_typeに応じ250を返すよう変更した。
テストの整合性更新
stationapi/src/domain/arrival_estimation.rs
station()ヘルパと迂回係数テストのline_type値を新しい定数割当に合わせて更新した。

Estimated code review effort: 3 (Moderate) | ~20 minutes

Sequence Diagram(s)

該当なし(単一ファイル内のロジック変更のため)。

Poem

line_typeの札を並べ替え 🐇
新幹線は250キロで駆け抜ける
在来線もkind次第で速さ変わる
テストも一緒に整えたよ
ぴょんと跳ねて、コミット完了!🥕

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed 到着時間推定のline_typeベース速度テーブルと迂回係数の導入を端的に表しており、変更内容と一致しています。
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description check ✅ Passed テンプレートの主要項目が揃っており、概要・変更内容・テスト状況も具体的に記載されています。
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feature/improve-arrival-estimation-speed-profile

Comment @coderabbitai help to get the list of available commands.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

deploy-dev feature 要望対応や課題解決

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant