京王バス・東急バスの英語表記をカナ読みから補完#1604
Merged
Merged
Conversation
京王バスGTFSと東急バスODPT JSONは停留所ごとのカナ読みは持つが英語 (en)表記を持たないため、stop_name_r が空のままだった。gtfs_stops. stop_name_r は駅名projection・名称検索・ローマ字系統/行先名すべての 上流ソースであるため、ここが空だと英語表示面が一律に欠落する。 domain/romaji.rs を追加し、カナ読みを修正ヘボン式ローマ字へ変換する。 長音はrailデータの表記(Tōkyō / Kyōto / Shin-Ōsaka)に合わせマクロンを 用い、オウ/オオ→ō・拗音のシュウ/チュウ→ū・ーで前母音を伸ばす。形態素 境界の母音連続(ヤスウシ=Yasuushi 等)はカナだけでは長音と区別できない ため字義通り残す。変換不能な文字(漢字・ラテン文字・数字)を含む場合は None を返し、部分的な誤変換を出さない。 import.rs では en が無い場合のみ stop_name_r をこのローマ字で補完する (GTFS経路=京王等、Tokyu JSON経路の両方)。実際の en 値は上書きしない。 生成したマクロン付きローマ字は既存の romaji→IPA/TTS 経路 (normalize_name_char がマクロンを展開)と整合し、失敗時もカナからの IPA へ graceful fallback するため回帰は無い。 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VJ8JoyxRvZsX6XfEKuQEwZ
前コミットで station_name_r をマクロン付きヘボン式(Tōkyō)で補完したが、 railデータの規約では station_name_rn にマクロンなし版(Tokyo)が入る。バス projection は _rn を設定しておらず NULL のままだった。 domain/romaji.rs に strip_macrons() を追加(ō→o, ū→u, ā→a, ī→i, ē→e)。 integrate_gtfs_stops_to_stations で stop_name_r から _rn を導出して INSERT に追加する。en 由来・カナ由来いずれの _r でも同じ規約で _rn を生成する。 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VJ8JoyxRvZsX6XfEKuQEwZ
Contributor
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (4)
📝 WalkthroughWalkthroughバス停留所の英語名が欠落する場合に、かな読みから改変ヘボン式ローマ字を生成する機能を追加しました。GTFS・Tokyu Bus取込とstations投影で利用し、マクロン除去名も保存します。 Changesバス停名ローマ字フォールバック
Estimated code review effort: 3 (Moderate) | ~20 minutes Sequence Diagram(s)sequenceDiagram
participant Feed as GTFS/ODPTバスデータ
participant Import as import.rs
participant Romaji as romaji_display_name
participant Stations as stations
Feed->>Import: 停留所名と英語翻訳を渡す
Import->>Romaji: 英語名欠落時にかな読みを渡す
Romaji-->>Import: stop_name_rを返す
Import->>Stations: station_name_rとstation_name_rnを保存
Possibly related PRs
Suggested labels: Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
This was referenced Jul 12, 2026
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
概要
京王バス(GTFS)と東急バス(ODPT JSON)は停留所ごとのカナ読みを持つ一方で英語(
en)表記を持たないため、stop_name_r/station_name_rが空のままでした。カナ読みから修正ヘボン式ローマ字を生成し、英語表記を補完します。変更の種類
変更内容
stationapi/src/domain/romaji.rsを新規追加。カナ読み → 修正ヘボン式ローマ字変換を実装トウキョウ→Tōkyō、シンオオサカ→Shinōsaka、拗音長音シュウ→shū)ヤスウシ→Yasuushiなど)はカナだけでは長音と区別できないため字義通り保持ッチ→tch、撥音ン→n、ひらがな入力にも対応Noneを返し、部分的な誤変換を出さないstrip_macrons()でマクロンなし表記(Tōkyō→Tokyo)を導出stationapi/src/import.rs:enが無い場合のみstop_name_rをローマ字で補完(実在のen値は上書きしない)stationsへの projection でstation_name_rnにマクロンなし表記を設定(rail の_r(マクロン付き)/_rn(マクロンなし)規約に整合)stop_name_rは駅名 projection・名称検索・ローマ字系統/行先名すべての上流ソースのため、この一箇所の補完で英語表示面が一括で埋まるNULLのままAGENTS.md: バス英語名フォールバックの仕様を追記生成したマクロン付きローマ字は既存の romaji→IPA/TTS 経路(
normalize_name_charがマクロンを展開)と整合し、失敗時もカナ由来 IPA へ graceful fallback するため既存挙動への回帰はありません。テスト
cargo fmt --all -- --checkが通ることcargo clippy -- -D warningsが通ることcargo test(SQLX_OFFLINE=true)が通ることSQLX_OFFLINE=true cargo test --lib --package stationapi→ 423 passed(新規ローマ字テスト 15 件含む)cargo fmt -p stationapi -- --check→ 差分なしSQLX_OFFLINE=true cargo clippy --all-targets --all-features→ 警告なし関連Issue
スクリーンショット(任意)
Generated by Claude Code
Summary by CodeRabbit
新機能
改善