|
@@ -86,15 +86,16 @@ struct location_card
|
|
|
if(point::eq(p.x,pt.x,0.2) && point::eq(p.y,pt.y,0.2)) return false;
|
|
|
double dis1=m_p.dist(pt);
|
|
|
if(dis1<2)return false;
|
|
|
- double dis = p.dist(pt);
|
|
|
- double arg = make_arg(pt,p);
|
|
|
+ //double dis = p.dist(pt);
|
|
|
+ double dis = m_p.dist(pt);
|
|
|
+ double arg = make_arg(pt,m_p);
|
|
|
//查看路径方向是否改变
|
|
|
bool change_flag=(arg-m_arg > -1e-10 && arg-m_arg<1e-10);
|
|
|
//change_flag为true,标识没有发生变化
|
|
|
// if(change_flag)m_direct_index=0;
|
|
|
log_info("his_location:line_changed:%d,%f,m_arg:%f,%s,%f,%f",m_cardid,arg,m_arg, change_flag?"same":"not same",m_arg-arg,dis);
|
|
|
- if(dis<0.5 && fabs(fabs(arg)+fabs(m_arg)-3.141593)< 0.000005)
|
|
|
- return false;
|
|
|
+ //if(dis<0.5 && fabs(fabs(arg)+fabs(m_arg)-3.141593)< 0.000005)
|
|
|
+ // return false;
|
|
|
//判断10次反向才做下一步动作
|
|
|
// if(fabs(fabs(arg)+fabs(m_arg)-3.141593)< 0.000005)
|
|
|
// {
|
|
@@ -126,7 +127,7 @@ struct location_card
|
|
|
double t = time - m_timestamp;
|
|
|
double avge_speed= dist/t*1000;
|
|
|
log_info("his_location cardid:%d:v:%.2f,avge_v:%.2f,(%.2f--%.2f)",m_cardid,v,avge_speed,0.7*avge_speed,1.3*avge_speed);
|
|
|
- if(v<(1-0.3)*avge_speed && v>(1+0.3)*avge_speed)
|
|
|
+ if(v<(1-0.3)*avge_speed || v>(1+0.3)*avge_speed)
|
|
|
flag=true;
|
|
|
|
|
|
return flag;
|