From 1d9804998f955e7d713d24ae719c757c0be73993 Mon Sep 17 00:00:00 2001 From: panlei <2799247126@qq.com> Date: 星期三, 13 十一月 2019 20:05:57 +0800 Subject: [PATCH] 个体静止开始测试 --- algorithm/static/static.go | 17 ++++++++++++----- 1 files changed, 12 insertions(+), 5 deletions(-) diff --git a/algorithm/static/static.go b/algorithm/static/static.go index b548cd9..9ad097c 100644 --- a/algorithm/static/static.go +++ b/algorithm/static/static.go @@ -113,12 +113,17 @@ return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "false", rule.Sort} } else { flag := "false" + // 浠ヤ箣鍓嶉潤姝㈢殑瀵硅薄涓轰富鍒ゆ柇鏄惁闈欐 + tars := []*structure.Arg{} for _, tar := range structure.StaticMap[am.AreaId].Targets { - singleResult := SingleStatic(tar,am,lable,90) + singleResult,arg := SingleStatic(tar,am,lable,90) if singleResult { flag = "true" + tars = append(tars,arg) } } + // 鎶婃弧瓒虫潯浠剁殑鐩爣鏀捐繘areaMap涓� + am.AlarmObj = tars // 鏇存柊鏁版嵁,鎶婃柊鏉ョ殑鏁版嵁鍐欏叆缂撳瓨 objs := []*structure.Obj{} for _, tar := range am.FilterData { @@ -153,11 +158,13 @@ } // 鍒ゆ柇涓�涓洰鏍囨槸鍚﹂潤姝簡鎸囧畾鏃堕棿 -func SingleStatic(person *structure.Obj, am *structure.AreaMap,lable *structure.Others, argValue float64) bool{ +func SingleStatic(person *structure.Obj, am *structure.AreaMap,lable *structure.Others, argValue float64) (bool,*structure.Arg){ flag := false + var o *structure.Arg = nil for _, obj := range am.FilterData { if person.Id == obj.Id { coincidenceDegree := PgsInterPercent(Rect2Point(person.Location), obj.Location, 1, 1) + o = obj if coincidenceDegree >= argValue { flag = true } @@ -166,13 +173,13 @@ if flag { // 鏈変竴涓璞′繚鎸侀潤姝紙id鐩哥瓑骞朵笖閲嶅悎搴﹂珮浜庨槇鍊硷級 flagTime := TimerAlarm(lable,person,flag,am.AreaId) if flagTime == "10" || flagTime == "11" { - return flag + return flag,o } else { - return false + return false,o } } else { TimerAlarm(lable,person,flag,am.AreaId) - return flag + return flag,o } } var rw sync.RWMutex -- Gitblit v1.8.0