| | |
| | | import ( |
| | | "fmt" |
| | | "regexp" |
| | | "ruleModelEngine/config" |
| | | "ruleModelEngine/db" |
| | | "strings" |
| | | "time" |
| | |
| | | //如果是, 提前设置好备用地址 floor1Address = detail.CaptureAddress |
| | | floor1Address = detail.CaptureAddress |
| | | } |
| | | if matchFlagNoF && floor1Address != "" { |
| | | if matchFlagNoF && floor1Address == "" { |
| | | //如果是, 提前设置好备用地址 floor1Address = detail.CaptureAddress |
| | | floor1Address = detail.CaptureAddress |
| | | } |
| | | //fmt.Println("now floor1Address:", floor1Address,"\tnow detail CaptureAddress",detail.CaptureAddress) |
| | | //判断日期标是否满足条件 判断日期标是否为空,若为空表示是第一个元素,初始化日期靶标 |
| | | if pointDate == "" { |
| | | //初始化日期靶标为当前日期 |
| | |
| | | pointAddress[detail.CaptureAddress]++ |
| | | //若为最后一条则计算单日常用地址 |
| | | if index == len(captureDetail)-1 { |
| | | fmt.Println("处理前pointAddress表:", pointAddress) |
| | | //fmt.Println("处理前pointAddress表:", pointAddress) |
| | | //这代表仅有一条数据,将会直接把当前地址加入dateAddress 日期汇总单日常用地址表内 下方continue会直接结束循环 |
| | | //否则会初始化pointDate和pointAddress |
| | | dateAddress[pointDate] = detail.CaptureAddress |
| | |
| | | pointAddress[detail.CaptureAddress]++ |
| | | //若为最后一条则计算单日常用地址 |
| | | if index == len(captureDetail)-1 { |
| | | fmt.Println("处理前pointAddress表:", pointAddress) |
| | | //fmt.Println("处理前pointAddress表:", pointAddress) |
| | | //计算单日常用地址 若地址内都为1F或者空地址,会返回空地址 |
| | | dateAddress[pointDate] = getfrAddress(pointAddress) |
| | | continue |
| | |
| | | //把当前最后一条加入 pointAddress靶标地址 |
| | | pointAddress[detail.CaptureAddress]++ |
| | | // |
| | | fmt.Println("处理前pointAddress表:", pointAddress) |
| | | //fmt.Println("处理前pointAddress表:", pointAddress) |
| | | //计算单日常用地址 若地址内都为1F或者空地址,会返回空地址 |
| | | dateAddress[pointDate] = getfrAddress(pointAddress) |
| | | continue |
| | |
| | | pointAddress = make(map[string]int, 0) |
| | | } |
| | | } |
| | | fmt.Println("抓拍地址待处理结构表:", dateAddress) |
| | | fmt.Println("dareAddress len: ", len(dateAddress)) |
| | | //判断抓拍的非1楼非空的天数占比总天数 |
| | | if float64(len(dateAddress))/float64(len(captureDays))*100 >= 50 { |
| | | fmt.Println("非1楼非空抓拍占比: ", float64(len(dateAddress))/float64(len(captureDays))*100) |
| | | //fmt.Println("抓拍地址待处理结构表:", dateAddress) |
| | | //fmt.Println("dareAddress len: ", len(dateAddress)) |
| | | //判断抓拍的非1楼非空非地下的天数占比总天数 |
| | | if float64(len(dateAddress))/float64(len(captureDays))*100 >= float64(config.Api.CapAddrDaysThreshold) { |
| | | //fmt.Println("非1楼非空抓拍占比: ", float64(len(dateAddress))/float64(len(captureDays))*100) |
| | | //初始化地址列表,按地址计数 |
| | | addressCount := make(map[string]int) |
| | | //遍历之前汇总的单日常用地址列表 |
| | |
| | | } |
| | | //fmt.Println("in address: ", inAddressCounts) |
| | | //fmt.Println("out address: ", outAddressCounts) |
| | | fmt.Println("final address: ", frequentAddress) |
| | | //fmt.Println("final address: ", frequentAddress) |
| | | return frequentAddress |
| | | } |
| | | |