結尾停車砍到底: 停到影片結尾不留 keep_after_stop 尾巴
- 停車一路停到影片最後(結尾即 GPS 0)時,沒有起步要留 → 移除段砍到影片結尾,不保留卡達秒數 - 結尾的停車不論長短一律砍(即使不到 STOP_SECONDS 門檻) - 已用既有 speeds.csv 重放驗證: 最後一段由 11:59~12:09 延伸到 11:59~12:11 本次調整由 Claude Opus 4.8 (1M context) 協助處理。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
+11
-4
@@ -361,11 +361,18 @@ def find_keep_intervals(samples: List[Sample], duration: float, interval: float
|
||||
run_end = min(samples[j].t + interval, duration)
|
||||
run_dur = run_end - run_start
|
||||
|
||||
# 連續停止超過門檻 → 列為移除(等紅燈)
|
||||
if run_dur >= STOP_SECONDS:
|
||||
# 進入紅燈端往前多砍 CUT_BEFORE_STOP 秒(連減速進站一起砍);
|
||||
# 綠燈起步端提早 KEEP_AFTER_STOP 秒結束(多留卡達起步畫面)。
|
||||
# 是否一路停到「影片結尾」(結尾就是 GPS 0)
|
||||
at_end = run_end >= duration - 1e-3
|
||||
|
||||
# 列為移除的條件: 達到紅燈門檻,或停到影片結尾(結尾停車一律砍掉)
|
||||
if run_dur >= STOP_SECONDS or at_end:
|
||||
# 進入紅燈端往前多砍 CUT_BEFORE_STOP 秒(連減速進站一起砍)。
|
||||
rstart = max(0.0, run_start - CUT_BEFORE_STOP)
|
||||
if at_end:
|
||||
# 停到影片結尾: 沒有起步要留 → 砍到底,不保留 KEEP_AFTER_STOP
|
||||
rend = run_end
|
||||
else:
|
||||
# 一般紅燈: 綠燈起步端提早 KEEP_AFTER_STOP 秒結束(多留卡達起步)
|
||||
rend = run_end - KEEP_AFTER_STOP
|
||||
if rend > rstart:
|
||||
removals.append((rstart, rend))
|
||||
|
||||
Reference in New Issue
Block a user