GPS 轨迹验证规则
适用于医废转运、巡检、配送等需要路线合规与轨迹风控的场景。
规则文件内容
请复制以下内容,保存为 .cursor/rules/gps-trajectory-validation.mdc:
markdown
---
description: GPS 轨迹验证、偏离告警与停留异常业务规则
globs: src/modules/trajectory/**, src/modules/gps/**, src/modules/transfer/**
---
# GPS 轨迹验证业务规则
## 1. 核心原则
- **路线优先**:轨迹必须围绕计划路线运行,偏离要可量化。
- **异常可判定**:速度异常、跳点、长时间停留必须有阈值。
- **告警分级**:告警分 `warning` / `critical`,避免误报淹没。
## 2. 偏离检测规则
### 2.1 距离阈值
- `distance_to_route <= 50m`:正常
- `50m < distance_to_route <= 100m`:`warning`
- `distance_to_route > 100m`:`critical`
### 2.2 连续偏离判定
- 连续 3 个采样点超过 `50m`,判定“有效偏离”。
- 单点偏离不直接触发工单,仅记录轨迹事件。
```ts
type DeviationLevel = 'normal' | 'warning' | 'critical';
function getDeviationLevel(distanceToRoute: number): DeviationLevel {
if (distanceToRoute > 100) return 'critical';
if (distanceToRoute > 50) return 'warning';
return 'normal';
}3. 速度与跳点规则
3.1 速度合理性
- 步行/推车场景建议速度区间:
1 ~ 10 km/h。 - 低于
1 km/h或高于10 km/h标记异常速度事件。
3.2 跳点检测
- 若相邻两点
distance > 100m且delta_time < 10s,判定为跳点。 - 单任务跳点次数
> 3,标记为可疑轨迹并触发审核。
4. 时间窗口与停留规则
4.1 时间窗口
- 起止时间偏差不超过
30分钟为正常。 - 超出窗口但不超过
60分钟:warning - 超过
60分钟:critical
4.2 异常停留
- 半径
< 10m且持续停留> 10分钟:异常停留 - 停留
> 20分钟:严重停留,触发critical告警
5. 告警与闭环规则
critical告警:实时通知调度员并创建异常处置单。warning告警:累计 3 次自动升级critical。- 任务结束后必须输出
trajectory_validation_report(偏离、跳点、停留、时间窗口)。
6. 数据模型约束
trajectory_points必须包含:task_id,lat,lng,sampled_at,accuracyroute_plans必须包含:task_id,polyline,start_eta,end_etatrajectory_violations必须包含:task_id,violation_type,level,occurred_at,distance_or_duration
7. 实施注意事项
- 采样建议 10~30 秒,避免过密导致噪声放大。
- GPS 精度
accuracy > 50m的点默认降权处理。 - 隧道/电梯等弱信号区域允许短时容错,不直接判违规。
## 适用场景
- 医废转运轨迹合规
- 巡检路线偏离监控
- 配送路线与时效核验
