diff --git a/README.md b/README.md index 387cf82f..e6a4e54c 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ A GraphQL API that provides nearby Japanese train stations and bus stops, runnin - For automation agent and contributor workflows, see [AGENTS.md](AGENTS.md). - For contribution guidelines, see [CONTRIBUTING.md](CONTRIBUTING.md). - For system architecture and design decisions, see [docs/architecture.md](docs/architecture.md). -- For the Sobu Rapid passing-station ETA calibration and benchmark comparison, see [docs/sobu-rapid-pass-eta.md](docs/sobu-rapid-pass-eta.md). + - For the design of the transfer route search (`connectedRoutes`, RAPTOR), see [docs/route-search.md](docs/route-search.md). - For the source-backed operating constraints used by timetable-free search, see [docs/route-service-audit.md](docs/route-service-audit.md). - For the Keio stopping-pattern audit and regression checks, see [docs/keio-stopping-pattern-audit.md](docs/keio-stopping-pattern-audit.md). diff --git a/data/5!station_station_types.csv b/data/5!station_station_types.csv index 30b59617..e7a998cd 100644 --- a/data/5!station_station_types.csv +++ b/data/5!station_station_types.csv @@ -988,22 +988,11 @@ DEFAULT,1131401,154,40,0,東京 DEFAULT,1131402,154,40,0,新日本橋 DEFAULT,1131403,154,40,0,馬喰町 DEFAULT,1131404,154,40,0,錦糸町 -DEFAULT,1131323,154,40,1,亀戸 -DEFAULT,1131324,154,40,1,平井 DEFAULT,1131405,154,40,0,新小岩 -DEFAULT,1131326,154,40,1,小岩 DEFAULT,1131406,154,40,0,市川 -DEFAULT,1131328,154,40,1,本八幡 -DEFAULT,1131329,154,40,1,下総中山 -DEFAULT,1131330,154,40,1,西船橋 DEFAULT,1131407,154,40,0,船橋 -DEFAULT,1131332,154,40,1,東船橋 DEFAULT,1131408,154,40,0,津田沼 -DEFAULT,1131334,154,40,1,幕張本郷 -DEFAULT,1131335,154,40,1,幕張 -DEFAULT,1131336,154,40,1,新検見川 DEFAULT,1131409,154,40,0,稲毛 -DEFAULT,1131338,154,40,1,西千葉 DEFAULT,1131410,154,40,0,千葉 DEFAULT,1131411,102,40,1,東千葉 DEFAULT,1131412,102,40,0,都賀 @@ -1030,22 +1019,11 @@ DEFAULT,1131401,104,41,0,東京 DEFAULT,1131402,104,41,0,新日本橋 DEFAULT,1131403,104,41,0,馬喰町 DEFAULT,1131404,104,41,0,錦糸町 -DEFAULT,1131323,104,41,1,亀戸 -DEFAULT,1131324,104,41,1,平井 DEFAULT,1131405,104,41,1,新小岩 -DEFAULT,1131326,104,41,1,小岩 DEFAULT,1131406,104,41,1,市川 -DEFAULT,1131328,104,41,1,本八幡 -DEFAULT,1131329,104,41,1,下総中山 -DEFAULT,1131330,104,41,1,西船橋 DEFAULT,1131407,104,41,0,船橋 -DEFAULT,1131332,104,41,1,東船橋 DEFAULT,1131408,104,41,1,津田沼 -DEFAULT,1131334,104,41,1,幕張本郷 -DEFAULT,1131335,104,41,1,幕張 -DEFAULT,1131336,104,41,1,新検見川 DEFAULT,1131409,104,41,1,稲毛 -DEFAULT,1131338,104,41,1,西千葉 DEFAULT,1131410,104,41,0,千葉 DEFAULT,1131411,104,41,1,東千葉 DEFAULT,1131412,104,41,0,都賀 @@ -8825,22 +8803,11 @@ DEFAULT,1131401,102,222,0,東京 DEFAULT,1131402,102,222,0,新日本橋 DEFAULT,1131403,102,222,0,馬喰町 DEFAULT,1131404,102,222,0,錦糸町 -DEFAULT,1131323,102,222,1,亀戸 -DEFAULT,1131324,102,222,1,平井 DEFAULT,1131405,102,222,0,新小岩 -DEFAULT,1131326,102,222,1,小岩 DEFAULT,1131406,102,222,0,市川 -DEFAULT,1131328,102,222,1,本八幡 -DEFAULT,1131329,102,222,1,下総中山 -DEFAULT,1131330,102,222,1,西船橋 DEFAULT,1131407,102,222,0,船橋 -DEFAULT,1131332,102,222,1,東船橋 DEFAULT,1131408,102,222,0,津田沼 -DEFAULT,1131334,102,222,1,幕張本郷 -DEFAULT,1131335,102,222,1,幕張 -DEFAULT,1131336,102,222,1,新検見川 DEFAULT,1131409,102,222,0,稲毛 -DEFAULT,1131338,102,222,1,西千葉 DEFAULT,1131410,102,222,0,千葉 DEFAULT,1131411,102,222,1,東千葉 DEFAULT,1131412,102,222,0,都賀 @@ -10260,22 +10227,11 @@ DEFAULT,1131401,102,260,0,東京 DEFAULT,1131402,102,260,0,新日本橋 DEFAULT,1131403,102,260,0,馬喰町 DEFAULT,1131404,102,260,0,錦糸町 -DEFAULT,1131323,102,260,1,亀戸 -DEFAULT,1131324,102,260,1,平井 DEFAULT,1131405,102,260,0,新小岩 -DEFAULT,1131326,102,260,1,小岩 DEFAULT,1131406,102,260,0,市川 -DEFAULT,1131328,102,260,1,本八幡 -DEFAULT,1131329,102,260,1,下総中山 -DEFAULT,1131330,102,260,1,西船橋 DEFAULT,1131407,102,260,0,船橋 -DEFAULT,1131332,102,260,1,東船橋 DEFAULT,1131408,102,260,0,津田沼 -DEFAULT,1131334,102,260,1,幕張本郷 -DEFAULT,1131335,102,260,1,幕張 -DEFAULT,1131336,102,260,1,新検見川 DEFAULT,1131409,102,260,0,稲毛 -DEFAULT,1131338,102,260,1,西千葉 DEFAULT,1131410,102,260,0,千葉 DEFAULT,1132401,102,260,0,千葉 DEFAULT,1132402,102,260,0,本千葉 @@ -13926,22 +13882,11 @@ DEFAULT,9940116,306,349,0,富士山 DEFAULT,9940117,306,349,0,富士急ハイランド DEFAULT,9940118,306,349,0,河口湖 DEFAULT,1131410,226,350,0,千葉 -DEFAULT,1131338,226,350,1,西千葉 DEFAULT,1131409,226,350,1,稲毛 -DEFAULT,1131336,226,350,1,新検見川 -DEFAULT,1131335,226,350,1,幕張 -DEFAULT,1131334,226,350,1,幕張本郷 DEFAULT,1131408,226,350,1,津田沼 -DEFAULT,1131332,226,350,1,東船橋 DEFAULT,1131407,226,350,0,船橋 -DEFAULT,1131330,226,350,1,西船橋 -DEFAULT,1131329,226,350,1,下総中山 -DEFAULT,1131328,226,350,1,本八幡 DEFAULT,1131406,226,350,1,市川 -DEFAULT,1131326,226,350,1,小岩 DEFAULT,1131405,226,350,1,新小岩 -DEFAULT,1131324,226,350,1,平井 -DEFAULT,1131323,226,350,1,亀戸 DEFAULT,1131404,226,350,0,錦糸町 DEFAULT,1131322,226,350,0,錦糸町 DEFAULT,1131321,226,350,1,両国 @@ -14491,22 +14436,11 @@ DEFAULT,1131401,230,364,0,東京 DEFAULT,1131402,230,364,1,新日本橋 DEFAULT,1131403,230,364,1,馬喰町 DEFAULT,1131404,230,364,1,錦糸町 -DEFAULT,1131323,230,364,1,亀戸 -DEFAULT,1131324,230,364,1,平井 DEFAULT,1131405,230,364,1,新小岩 -DEFAULT,1131326,230,364,1,小岩 DEFAULT,1131406,230,364,1,市川 -DEFAULT,1131328,230,364,1,本八幡 -DEFAULT,1131329,230,364,1,下総中山 -DEFAULT,1131330,230,364,1,西船橋 DEFAULT,1131407,230,364,1,船橋 -DEFAULT,1131332,230,364,1,東船橋 DEFAULT,1131408,230,364,1,津田沼 -DEFAULT,1131334,230,364,1,幕張本郷 -DEFAULT,1131335,230,364,1,幕張 -DEFAULT,1131336,230,364,1,新検見川 DEFAULT,1131409,230,364,1,稲毛 -DEFAULT,1131338,230,364,1,西千葉 DEFAULT,1131410,230,364,2,千葉 DEFAULT,1131411,230,364,1,東千葉 DEFAULT,1131412,230,364,1,都賀 @@ -21480,22 +21414,11 @@ DEFAULT,1131401,102,578,0,東京 DEFAULT,1131402,102,578,0,新日本橋 DEFAULT,1131403,102,578,0,馬喰町 DEFAULT,1131404,102,578,0,錦糸町 -DEFAULT,1131323,102,578,1,亀戸 -DEFAULT,1131324,102,578,1,平井 DEFAULT,1131405,102,578,0,新小岩 -DEFAULT,1131326,102,578,1,小岩 DEFAULT,1131406,102,578,0,市川 -DEFAULT,1131328,102,578,1,本八幡 -DEFAULT,1131329,102,578,1,下総中山 -DEFAULT,1131330,102,578,1,西船橋 DEFAULT,1131407,102,578,0,船橋 -DEFAULT,1131332,102,578,1,東船橋 DEFAULT,1131408,102,578,0,津田沼 -DEFAULT,1131334,102,578,1,幕張本郷 -DEFAULT,1131335,102,578,1,幕張 -DEFAULT,1131336,102,578,1,新検見川 DEFAULT,1131409,102,578,0,稲毛 -DEFAULT,1131338,102,578,1,西千葉 DEFAULT,1131410,102,578,0,千葉 DEFAULT,1132501,102,578,0,千葉 DEFAULT,1132502,102,578,0,本千葉 @@ -32809,22 +32732,11 @@ DEFAULT,1131320,276,885,1,浅草橋 DEFAULT,1131321,276,885,1,両国 DEFAULT,1131322,276,885,0,錦糸町 DEFAULT,1131404,276,885,0,錦糸町 -DEFAULT,1131323,276,885,1,亀戸 -DEFAULT,1131324,276,885,1,平井 DEFAULT,1131405,276,885,1,新小岩 -DEFAULT,1131326,276,885,1,小岩 DEFAULT,1131406,276,885,1,市川 -DEFAULT,1131328,276,885,1,本八幡 -DEFAULT,1131329,276,885,1,下総中山 -DEFAULT,1131330,276,885,1,西船橋 DEFAULT,1131407,276,885,0,船橋 -DEFAULT,1131332,276,885,1,東船橋 DEFAULT,1131408,276,885,1,津田沼 -DEFAULT,1131334,276,885,1,幕張本郷 -DEFAULT,1131335,276,885,1,幕張 -DEFAULT,1131336,276,885,1,新検見川 DEFAULT,1131409,276,885,1,稲毛 -DEFAULT,1131338,276,885,1,西千葉 DEFAULT,1131410,276,885,0,千葉 DEFAULT,1132401,276,885,0,千葉 DEFAULT,1132402,276,885,1,本千葉 @@ -32908,22 +32820,11 @@ DEFAULT,1131320,278,887,1,浅草橋 DEFAULT,1131321,278,887,1,両国 DEFAULT,1131322,278,887,0,錦糸町 DEFAULT,1131404,278,887,0,錦糸町 -DEFAULT,1131323,278,887,1,亀戸 -DEFAULT,1131324,278,887,1,平井 DEFAULT,1131405,278,887,1,新小岩 -DEFAULT,1131326,278,887,1,小岩 DEFAULT,1131406,278,887,1,市川 -DEFAULT,1131328,278,887,1,本八幡 -DEFAULT,1131329,278,887,1,下総中山 -DEFAULT,1131330,278,887,1,西船橋 DEFAULT,1131407,278,887,0,船橋 -DEFAULT,1131332,278,887,1,東船橋 DEFAULT,1131408,278,887,1,津田沼 -DEFAULT,1131334,278,887,1,幕張本郷 -DEFAULT,1131335,278,887,1,幕張 -DEFAULT,1131336,278,887,1,新検見川 DEFAULT,1131409,278,887,1,稲毛 -DEFAULT,1131338,278,887,1,西千葉 DEFAULT,1131410,278,887,0,千葉 DEFAULT,1132501,278,887,0,千葉 DEFAULT,1132502,278,887,1,本千葉 @@ -32953,22 +32854,11 @@ DEFAULT,1131401,279,888,0,東京 DEFAULT,1131402,279,888,1,新日本橋 DEFAULT,1131403,279,888,1,馬喰町 DEFAULT,1131404,279,888,0,錦糸町 -DEFAULT,1131323,279,888,1,亀戸 -DEFAULT,1131324,279,888,1,平井 DEFAULT,1131405,279,888,1,新小岩 -DEFAULT,1131326,279,888,1,小岩 DEFAULT,1131406,279,888,1,市川 -DEFAULT,1131328,279,888,1,本八幡 -DEFAULT,1131329,279,888,1,下総中山 -DEFAULT,1131330,279,888,1,西船橋 DEFAULT,1131407,279,888,0,船橋 -DEFAULT,1131332,279,888,1,東船橋 DEFAULT,1131408,279,888,1,津田沼 -DEFAULT,1131334,279,888,1,幕張本郷 -DEFAULT,1131335,279,888,1,幕張 -DEFAULT,1131336,279,888,1,新検見川 DEFAULT,1131409,279,888,1,稲毛 -DEFAULT,1131338,279,888,1,西千葉 DEFAULT,1131410,279,888,0,千葉 DEFAULT,1131411,279,888,1,東千葉 DEFAULT,1131412,279,888,1,都賀 @@ -32995,22 +32885,11 @@ DEFAULT,1131401,280,889,0,東京 DEFAULT,1131402,280,889,1,新日本橋 DEFAULT,1131403,280,889,1,馬喰町 DEFAULT,1131404,280,889,0,錦糸町 -DEFAULT,1131323,280,889,1,亀戸 -DEFAULT,1131324,280,889,1,平井 DEFAULT,1131405,280,889,1,新小岩 -DEFAULT,1131326,280,889,1,小岩 DEFAULT,1131406,280,889,1,市川 -DEFAULT,1131328,280,889,1,本八幡 -DEFAULT,1131329,280,889,1,下総中山 -DEFAULT,1131330,280,889,1,西船橋 DEFAULT,1131407,280,889,0,船橋 -DEFAULT,1131332,280,889,1,東船橋 DEFAULT,1131408,280,889,1,津田沼 -DEFAULT,1131334,280,889,1,幕張本郷 -DEFAULT,1131335,280,889,1,幕張 -DEFAULT,1131336,280,889,1,新検見川 DEFAULT,1131409,280,889,1,稲毛 -DEFAULT,1131338,280,889,1,西千葉 DEFAULT,1131410,280,889,0,千葉 DEFAULT,1131411,280,889,1,東千葉 DEFAULT,1131412,280,889,1,都賀 @@ -33048,22 +32927,11 @@ DEFAULT,1131401,102,891,0,東京 DEFAULT,1131402,102,891,0,新日本橋 DEFAULT,1131403,102,891,0,馬喰町 DEFAULT,1131404,102,891,0,錦糸町 -DEFAULT,1131323,102,891,1,亀戸 -DEFAULT,1131324,102,891,1,平井 DEFAULT,1131405,102,891,0,新小岩 -DEFAULT,1131326,102,891,1,小岩 DEFAULT,1131406,102,891,0,市川 -DEFAULT,1131328,102,891,1,本八幡 -DEFAULT,1131329,102,891,1,下総中山 -DEFAULT,1131330,102,891,1,西船橋 DEFAULT,1131407,102,891,0,船橋 -DEFAULT,1131332,102,891,1,東船橋 DEFAULT,1131408,102,891,0,津田沼 -DEFAULT,1131334,102,891,1,幕張本郷 -DEFAULT,1131335,102,891,1,幕張 -DEFAULT,1131336,102,891,1,新検見川 DEFAULT,1131409,102,891,0,稲毛 -DEFAULT,1131338,102,891,1,西千葉 DEFAULT,1131410,102,891,0,千葉 DEFAULT,1131411,102,891,1,東千葉 DEFAULT,1131412,102,891,0,都賀 @@ -33458,22 +33326,11 @@ DEFAULT,1141006,100,903,0,燕三条 DEFAULT,1141007,100,903,0,北三条 DEFAULT,1141008,100,903,0,東三条 DEFAULT,1131410,210,904,0,千葉 -DEFAULT,1131338,210,904,1,西千葉 DEFAULT,1131409,210,904,1,稲毛 -DEFAULT,1131336,210,904,1,新検見川 -DEFAULT,1131335,210,904,1,幕張 -DEFAULT,1131334,210,904,1,幕張本郷 DEFAULT,1131408,210,904,1,津田沼 -DEFAULT,1131332,210,904,1,東船橋 DEFAULT,1131407,210,904,0,船橋 -DEFAULT,1131330,210,904,1,西船橋 -DEFAULT,1131329,210,904,1,下総中山 -DEFAULT,1131328,210,904,1,本八幡 DEFAULT,1131406,210,904,1,市川 -DEFAULT,1131326,210,904,1,小岩 DEFAULT,1131405,210,904,1,新小岩 -DEFAULT,1131324,210,904,1,平井 -DEFAULT,1131323,210,904,1,亀戸 DEFAULT,1131404,210,904,0,錦糸町 DEFAULT,1131322,210,904,0,錦糸町 DEFAULT,1131321,210,904,1,両国 @@ -39843,22 +39700,11 @@ DEFAULT,1131401,230,1095,0,東京 DEFAULT,1131402,230,1095,1,新日本橋 DEFAULT,1131403,230,1095,1,馬喰町 DEFAULT,1131404,230,1095,1,錦糸町 -DEFAULT,1131323,230,1095,1,亀戸 -DEFAULT,1131324,230,1095,1,平井 DEFAULT,1131405,230,1095,1,新小岩 -DEFAULT,1131326,230,1095,1,小岩 DEFAULT,1131406,230,1095,1,市川 -DEFAULT,1131328,230,1095,1,本八幡 -DEFAULT,1131329,230,1095,1,下総中山 -DEFAULT,1131330,230,1095,1,西船橋 DEFAULT,1131407,230,1095,1,船橋 -DEFAULT,1131332,230,1095,1,東船橋 DEFAULT,1131408,230,1095,1,津田沼 -DEFAULT,1131334,230,1095,1,幕張本郷 -DEFAULT,1131335,230,1095,1,幕張 -DEFAULT,1131336,230,1095,1,新検見川 DEFAULT,1131409,230,1095,1,稲毛 -DEFAULT,1131338,230,1095,1,西千葉 DEFAULT,1131410,230,1095,2,千葉 DEFAULT,1131411,230,1095,1,東千葉 DEFAULT,1131412,230,1095,1,都賀 diff --git a/docs/architecture.md b/docs/architecture.md index 5d5ef531..6a79a275 100644 --- a/docs/architecture.md +++ b/docs/architecture.md @@ -525,8 +525,7 @@ input RouteLegInput { lineGroupId: Int! fromStationId: Int! toStationId: Int! 出します。推定の規則や較正を変える PR には、変更前と変更後のレポートを載せます。 基準の決め方と記録の更新方法は `travel_times/README.md` にあります。 -総武快速線の通過駅補完に伴う較正と全ケースの比較は -[総武快速線の通過駅補完とETA較正](sobu-rapid-pass-eta.md) を参照してください。 + ### 行き先の検索 (`stationsByName`) diff --git a/docs/sobu-rapid-pass-eta.md b/docs/sobu-rapid-pass-eta.md deleted file mode 100644 index a475258d..00000000 --- a/docs/sobu-rapid-pass-eta.md +++ /dev/null @@ -1,43 +0,0 @@ -# 総武快速線の通過駅補完とETA較正 - -錦糸町〜千葉の通過駅は中央・総武線の既存駅ID(line_cd=11313)を使用する。 -停車駅(line_cd=11314)の実効速度100km/hに対し、追加した通過駅は既定の80km/hとなり、 -生成データのETA回帰テストで錦糸町→津田沼が22.3分、新小岩→津田沼が17.1分へ延びた。 - -11313 × Rapid の実効速度を105km/hに較正する。N02の分割距離と通過駅ペナルティを含め、 -既存のメンテナ確認値(`travel_times/cases.csv`:典型20分・16分)に合わせた値である。 -実際の列車速度を意味する値ではない。既存の11314 × Defaultの100km/hは維持する。 -中央・総武線内を各駅停車する東西線直通快速は、通過駅がない路線ではDefaultへ補正する -既存処理により対象外。ほかの種別とLegacyの速度表は変更しない。 - -## 生成データによる前後比較 - -`DISABLE_BUS_FEATURE=true make data` でN02距離を生成し、 -`cargo test -p stationapi-worker travel_times -- --nocapture` で比較した。 -変更前は通過駅追加済み・速度補正前、変更後は速度補正後。 -既存ベースラインの許容差を変更せずに全21ケースが成功した後、ベースラインを再生成した。 -バスを含む配信環境の検証ではない。 - -| ケース | 実際(典型) | 補正前 | 補正後 | 典型からのずれ(前→後) | -| --- | --- | --- | --- | --- | -| 総武快速線 快速 錦糸町→津田沼 | 19〜25分 (20分) | 22.3分 | 20.0分 | 11.4% → 0.1% | -| 総武快速線 快速 新小岩→津田沼 | 15〜20分 (16分) | 17.1分 | 15.4分 | 6.9% → 3.9% | -| 京成 スカイライナー 日暮里→空港第2ビル | 40〜48分 (41分) | 41.1分 | 41.1分 | 0.2% → 0.2% | -| 京急本線 快特 品川→横浜 | 17〜22分 (17分) | 17.6分 | 17.6分 | 3.6% → 3.6% | -| 小田急小田原線 快速急行 新宿→町田 | 30〜31分 (30.5分) | 29.9分 | 29.9分 | 2.0% → 2.0% | -| 東急東横線 特急 渋谷→横浜 | 27〜28分 (27.5分) | 26.9分 | 26.9分 | 2.1% → 2.1% | -| 京王井の頭線 急行 渋谷→吉祥寺 | 17〜22分 (17分) | 16.8分 | 16.8分 | 1.0% → 1.0% | -| 京王線 特急 新宿→京王八王子 | 45〜45分 (45分) | 41.4分 | 41.4分 | 8.0% → 8.0% | -| 阪急神戸本線 特急 大阪梅田→神戸三宮 | 27〜28分 (27.5分) | 26.9分 | 26.9分 | 2.3% → 2.3% | -| 西武池袋線 準急 池袋→所沢 | 30〜38分 (38分) | 29.3分 | 29.3分 | 23.0% → 23.0% | -| 西武池袋線 急行 池袋→所沢 | 21〜25分 (24分) | 22.3分 | 22.3分 | 7.2% → 7.2% | -| 都営大江戸線 落合南長崎→光が丘 | 11〜12分 (11分) | 11.9分 | 11.9分 | 7.8% → 7.8% | -| 都営大江戸線 新宿→光が丘 | 24〜26分 (24分) | 25.0分 | 25.0分 | 4.1% → 4.1% | -| 都営大江戸線 光が丘→都庁前 | 21〜21分 (21分) | 22.7分 | 22.7分 | 8.2% → 8.2% | -| 都営大江戸線 清澄白河→赤羽橋 | 16〜17分 (16分) | 16.3分 | 16.3分 | 1.6% → 1.6% | -| 都営大江戸線 光が丘→都庁前 (環状部経由) | 84〜86分 (84分) | 84.8分 | 84.8分 | 1.0% → 1.0% | -| 東京メトロ銀座線 渋谷→新橋 | 15〜15分 (15分) | 13.3分 | 13.3分 | 11.4% → 11.4% | -| つくばエクスプレス 普通 秋葉原→つくば | 63〜66分 (66分) | 61.6分 | 61.6分 | 6.6% → 6.6% | -| 東京メトロ半蔵門線 押上→神保町 | 17〜19分 (17分) | 16.6分 | 16.6分 | 2.2% → 2.2% | -| りんかい線 新木場→大崎 | 19〜20分 (19分) | 19.1分 | 19.1分 | 0.6% → 0.6% | -| 多摩都市モノレール 多摩センター→上北台 | 37〜39分 (37分) | 37.6分 | 37.6分 | 1.7% → 1.7% | diff --git a/stationapi/src/domain/arrival_estimation.rs b/stationapi/src/domain/arrival_estimation.rs index d40df432..0fb21250 100644 --- a/stationapi/src/domain/arrival_estimation.rs +++ b/stationapi/src/domain/arrival_estimation.rs @@ -1023,53 +1023,6 @@ mod tests { ); } - #[test] - fn sobu_rapid_borrowed_pass_station_uses_recalibrated_rapid_speed() { - let mut stations = three_collinear_stations(); - for s in &mut stations { - s.line_cd = 11314; - s.kind = Some(TrainTypeKind::Rapid as i32); - } - stations[1].line_cd = 11313; - stations[1].pass = Some(1); - let refs: Vec<&Station> = stations.iter().collect(); - let params = EstimationParams { - speed_calibration: SpeedCalibration::Recalibrated, - ..EstimationParams::default() - }; - let estimated = estimate_arrival_minutes(&refs, ¶ms); - approx(estimated[1].max_speed_kmh, 105.0); - approx(estimated[2].max_speed_kmh, 100.0); - assert!(!estimated[1].stops_here); - approx( - estimated[1].cumulative_minutes, - estimated[1].departure_cumulative_minutes, - ); - - // Legacy の凍結済み較正には影響させない。 - let legacy = estimate_arrival_minutes(&refs, &EstimationParams::default()); - approx(legacy[1].max_speed_kmh, 80.0); - } - - #[test] - fn sobu_all_stop_through_rapid_keeps_local_speed() { - let mut stations = three_collinear_stations(); - for s in &mut stations { - s.line_cd = 11313; - s.kind = Some(TrainTypeKind::Rapid as i32); - } - let refs: Vec<&Station> = stations.iter().collect(); - let params = EstimationParams { - speed_calibration: SpeedCalibration::Recalibrated, - ..EstimationParams::default() - }; - let estimated = estimate_arrival_minutes(&refs, ¶ms); - for stop in estimated { - approx(stop.max_speed_kmh, 80.0); - assert!(stop.stops_here); - } - } - #[test] fn departure_minutes_equal_pass_time_at_passed_stations() { let p = EstimationParams::default(); diff --git a/stationapi/src/domain/speed_table.rs b/stationapi/src/domain/speed_table.rs index c77fabdc..30b57858 100644 --- a/stationapi/src/domain/speed_table.rs +++ b/stationapi/src/domain/speed_table.rs @@ -36,16 +36,11 @@ use crate::model::TrainTypeKind; /// `connectedRoutes`・`trainRoute` の `Legacy` は、求め直す前の値を /// `legacy_speed_table` で使い続ける。 const LINE_SPEED_OVERRIDES: &[(i32, TrainTypeKind, f64)] = &[ - // 総武快速線: 最高 130km/h の別線を走る。11314 の駅IDは快速の停車駅なので - // この路線IDでは推定は各停 (Default) として扱う。一般則の 80km/h では + // 総武快速線: 最高 130km/h の別線を走る。StationAPI の路線には快速の停車駅しか + // 無く、通過駅が無いので推定は各停 (Default) として扱う。一般則の 80km/h では // 遅すぎる。千葉以東の総武本線の普通列車にもかかるが、その区間の基準は無い。 // travel_times: 錦糸町→津田沼・新小岩→津田沼 快速。 (11314, TrainTypeKind::Default, 100.0), - // 総武快速線の通過駅は中央・総武線の駅IDを共有する。快速の通過区間にも - // 快速別線の実効速度を適用する。通過駅のペナルティと N02 の分割距離を含め、 - // travel_times の錦糸町→津田沼 (典型20分) に較正。中央・総武線内で各停となる - // 東西線直通は arrival_estimation が Default に補正するため、この値の対象外。 - (11313, TrainTypeKind::Rapid, 105.0), // 成田スカイアクセス線: スカイライナーは 160km/h 運転だが、実効値で較正。 // アクセス特急も同じ LimitedExpress で、京成高砂→成田空港は 39.4 分 // (実際 38〜52 分。ばらつきが大きく典型値が無いので travel_times には無い)。 diff --git a/travel_times/baseline.csv b/travel_times/baseline.csv index 52468790..00d69d02 100644 --- a/travel_times/baseline.csv +++ b/travel_times/baseline.csv @@ -1,6 +1,6 @@ label,estimated_minutes -総武快速線 快速 錦糸町→津田沼,20.0277 -総武快速線 快速 新小岩→津田沼,15.3750 +総武快速線 快速 錦糸町→津田沼,19.9710 +総武快速線 快速 新小岩→津田沼,15.3533 京成 スカイライナー 日暮里→空港第2ビル,41.0671 京急本線 快特 品川→横浜,17.6098 小田急小田原線 快速急行 新宿→町田,29.8999