panlei
2019-06-29 2ef897766c8222b7d907ebed8a951e9a72f7877b
ruleserver/ruleToformula.go
@@ -177,7 +177,7 @@
}
// 把sdk从数据帧上提取的按照区域分类归置
func SdkDataFormat(cameraId string, arg *SdkData, cameraPolygons []protomsg.CameraPolygon) {
func SdkDataFormat(cameraId string, arg SdkData, cameraPolygons []protomsg.CameraPolygon) {
   for _, polygon := range cameraPolygons {
      //log.Println("++++++在这儿看一下区域啊", polygon)
      areaMap := AreaMap{cameraId: cameraId, areaId: polygon.Id, areaJson: polygon.Polygon, triggerLine: polygon.TriggerLine, directionLine: polygon.DirectionLine}
@@ -190,13 +190,13 @@
}
// 对单帧图像的判断 是舍弃(或者说对于某些需求可以放ES数据库一份)还是返回
func Judge(args *SdkDatas) {
func Judge(args SdkDatas) {
   if len(args.Sdkdata) > 0 {
      // 拿到本摄像机的区域
      cameraPolygons := GetPolygons(args.CameraId)
      // 把所有的sdk提取的数据都按所属摄像机的区域归置
      for _, arg := range args.Sdkdata {
         SdkDataFormat(args.CameraId, &arg, cameraPolygons)
         SdkDataFormat(args.CameraId, arg, cameraPolygons)
      }
      // 跑本摄像机的所有规则组 一组一组跑
      taskRuleList := GetRuleGroup(args.CameraId) // 本摄像机下所有任务组
@@ -226,10 +226,9 @@
      }
   }
}
func RunRule(args *SdkDatas, groupRule *protomsg.GroupRule, taskId string) bool {
func RunRule(args SdkDatas, groupRule *protomsg.GroupRule, taskId string) bool {
   resultSplice := []*LittleRuleResult{}
   // 先过完条件规则
   log.Println("---------------------看下这个组规则:", groupRule.Rules)
   for j := 0; j < len(groupRule.Rules); j++ {
      for _, sdkData := range args.Sdkdata {
         if sdkData.SdkId == "812b674b-2375-4589-919a-5c1c3278a975" {
@@ -349,7 +348,7 @@
}
// 计算区域内的目标数量以及将相似度、占比、尺寸等打包
func (a *AreaMap) CountAreaObjs(arg *SdkData) {
func (a *AreaMap) CountAreaObjs(arg SdkData) {
   a.targetNum = 0
   threshold := 0.0       // 相似度
@@ -418,7 +417,7 @@
}
// 联动任务的处理
func linkTask(args *SdkDatas, groupRule *protomsg.GroupRule, taskId string) {
func linkTask(args SdkDatas, groupRule *protomsg.GroupRule, taskId string) {
   // new一个定时器,如果以此groupId为标志的定时器不存在的话
   var flag bool = true
   var timeEle = TimeElement{N: 3, InitN: 3, GroupId: groupRule.GroupId}