Skip to content

TernDays v0.5

Choose a tag to compare

@github-actions github-actions released this 01 Sep 11:09
f0725fb

定位准确度与手动更正版本——起因是一个真实误判:人在深圳,打卡却记成了香港

为什么会错

排查内置城市库后确认了两个根因:

  1. 锚点密度失衡:GeoNames 给香港的每个街区都建了点(146 个),而深圳作为单一行政市只有市中心附近 14 个点、珠海仅 1 个。最近邻匹配的分界线因此深深压进深圳一侧——蛇口、前海、深圳湾口岸、罗湖口岸都会被判成香港,拱北、横琴会被判成澳门。
  2. 港澳救援框吞点:旧版用矩形框把标错国别的港澳点归还,但框的北界压到深圳南山陆地,把 4 个深圳点错标成了香港。

修了什么

  • 重建城市库:深港/珠澳边界两侧逐点补密锚点(口岸、边界街区),救援判定改为「距原生港澳点 vs 距内地锚点谁近」;32 个边界探针 + 12 个全国回归点全部通过后才发布
  • 打卡时交叉验证(双端,全离线):
    • 前两个候选城市距离差小(含定位误差放宽)→ 判为边界模糊区
    • 模糊区内沿用 ≤36 小时内上一次打卡的城市(行程连续性)——真正跨城后深入新城市,该规则自动失效
    • 定位误差达公里级(典型为口岸带基站漂移)时,误差圈内沿用上次城市
    • 防错误传播:距最近候选 <0.8km 视为明确证据,不受上次误判影响
  • 任何一天都可手动更正:首页「今日打卡」新增纠正按钮;城市详情的月历/明细里点任意一天即可改城市。手动更正优先于自动判定,标「手动」,可随时恢复自动
  • 历史自动修复:打卡一直保留原始坐标,本版起城市库带版本号——覆盖安装后应用自动按新库重解析全部历史记录(手动更正不动),完成后提示修正了几条。之前被误判成香港的深圳记录会自动改回,无需手改

覆盖安装即可,数据与小组件保留。

:core 单元测试 34 → 46 个(交叉验证 10 个场景 + 候选去重 + 15 个边界坐标断言)。