--
panlei
2019-11-15 29203dd4304359e00584b35beaee83beb78a9a88
--
2个文件已修改
25 ■■■■ 已修改文件
algorithm/static/static.go 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruleserver/ruleToformula.go 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
algorithm/static/static.go
@@ -114,11 +114,12 @@
    }
    if (structure.StaticMap[am.AreaId] == nil || len(structure.StaticMap[am.AreaId].Targets) == 0) && len(am.FilterData) > 0 { // 即第一帧数据(也不一定),还没有缓存
        logger.Info("之前无缓存并且此次区域内有人")
        args.RuleResult["target"] = []structure.Result{}
        args.RuleResult["target"] = append(args.RuleResult["target"].([]structure.Result), structure.Result{args.TaskId, "", "", true, 0, "", am.FilterData, am.AreaJson, false,*lable})
        m := make(map[string]interface{})
        m["target"] = []structure.Result{}
        m["target"] = append(m["target"].([]structure.Result), structure.Result{args.TaskId, "", "", true, 0, "", am.FilterData, am.AreaJson, false,*lable})
        objs := []*structure.Obj{}
        for _, tar := range am.FilterData {
            obj := &structure.Obj{Id: tar.Id, Location: tar.Location, N: initN,InitN:initN,CacheSdkData:structure.ResultMsg{message, args.RuleResult}}
            obj := &structure.Obj{Id: tar.Id, Location: tar.Location, N: initN,InitN:initN,CacheSdkData:structure.ResultMsg{message, m}}
            objs = append(objs, obj)
        }
        structure.StaticMap[am.AreaId] = &structure.CameraArea{objs}
ruleserver/ruleToformula.go
@@ -102,17 +102,17 @@
    result := false
    sdkNames := ""
    polygonId := ""
    targets11 := []*structure.Arg{} // 符合条件的目标
    //targets11 := []*structure.Arg{} // 符合条件的目标
    // 把一帧数据和一组规则发给算法部分,得出判断结果
    result,sdkNames,polygonId = CallMiddleware(args,*groupRule,&label,message)
    for _, sdkData := range args.Sdkdata {
        for _, areaMap := range sdkData.AreaMapList {
            targets11 = append(targets11,areaMap.AlarmObj...)
            for _,obj := range areaMap.AlarmObj {
                logger.Info("个体静止的目标",obj.Id, obj.Location, obj.CacheData.Cid, len(obj.CacheData.Data))
            }
        }
    }
    //for _, sdkData := range args.Sdkdata {
    //    for _, areaMap := range sdkData.AreaMapList {
    //        targets11 = append(targets11,areaMap.AlarmObj...)
    //        for _,obj := range areaMap.AlarmObj {
    //            logger.Info("个体静止的目标",obj.Id, obj.Location, obj.CacheData.Cid, len(obj.CacheData.Data))
    //        }
    //    }
    //}
    //logger.Info("符合条件的目标数据:",targets)
    if result {
        // 最后过持续时间等时间维度的条件   把时间规则位置调整到这个位置是为了缓存数据         !!!!!ps: 对画面中单个目标做定时器的不用再过画面定时器