panlei
2019-11-30 54c923158d991c0db54307cef60a96ed0b7ac410
algorithm/static/static.go
@@ -45,13 +45,13 @@
         var formula string
         if rule.SdkArgAlias == "score" {
            formula = strconv.FormatFloat(arg.Score, 'f', -1, 64) + " " + rule.Operator + " " + rule.SdkArgValue // 得到字符串公式
            logger.Info("当前相似度小公式:", formula)
            //logger.Info("当前相似度小公式:", formula)
         } else if rule.SdkArgAlias == "proportion" {
            formula = strconv.FormatFloat(arg.Proportion, 'f', -1, 64) + " " + rule.Operator + " " + rule.SdkArgValue // 得到字符串公式
            logger.Info("当前占比小公式:", formula)
            //logger.Info("当前占比小公式:", formula)
         } else {
            formula = strconv.FormatFloat(arg.Size, 'f', -1, 64) + " " + rule.Operator + " " + rule.SdkArgValue // 得到字符串公式
            logger.Info("当前尺寸小公式:", formula)
            //logger.Info("当前尺寸小公式:", formula)
         }
         expression, _ := govaluate.NewEvaluableExpression(formula) // 得到数学公式
         result, _ := expression.Evaluate(nil)                      // 得到数学公式的结果
@@ -103,7 +103,7 @@
         logger.Error("个体静止规则有误", err)
      }
   }()
   logger.Info("走了个体静止核心算法")
   //logger.Info("走了个体静止核心算法")
   initN := 5
   if rule.SdkId == "812b674b-2375-4589-919a-5c1c3278a977" && rule.SdkArgAlias == "duration" {
      if init,err := strconv.Atoi(rule.SdkArgValue); err != nil {
@@ -123,7 +123,7 @@
   m["target"] = append(m["target"].([]structure.Result), structure.Result{args.TaskId, "", "", true, 0, "", am.FilterData, am.AreaJson, false,*lable})
   if structure.StaticMap[am.AreaId] == nil || len(structure.StaticMap[am.AreaId].Targets) == 0 {
      logger.Info("之前无缓存并且此次区域内有人")
      //logger.Info("之前无缓存并且此次区域内有人")
      objs := []*structure.Obj{}
      for _, tar := range am.FilterData {
@@ -133,7 +133,7 @@
      structure.StaticMap[am.AreaId] = &structure.CameraArea{objs}
      return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "false", rule.Sort}
   } else {
      logger.Info("之前有缓存")
      //logger.Info("之前有缓存")
      flag := "false"
      // 以之前静止的对象为主判断是否静止
      tars := []*structure.Arg{}
@@ -146,7 +146,7 @@
         if singleResult {
            flag = "true"
            tars = append(tars,arg)
            logger.Info("静止的目标:",arg.Id,arg.Location,arg.Score)
            //logger.Info("静止的目标:",arg.Id,arg.Location,arg.Score)
         }
      }
@@ -185,7 +185,7 @@
// 判断一个目标是否静止了指定时间
func SingleStatic(person *structure.Obj, am *structure.AreaMap,lable *structure.Others, argValue float64) (bool,*structure.Arg){
   logger.Info("单个目标的判断:")
   //logger.Info("单个目标的判断:")
   flag := false
   var o *structure.Arg = nil
   for _, obj := range am.FilterData {