| | |
| | | |
| | | import ( |
| | | "fmt" |
| | | "regexp" |
| | | "ruleModelEngine/db" |
| | | "time" |
| | | ) |
| | |
| | | |
| | | // 找到出现次数最多的出行地址 |
| | | maxOutCount := 0 |
| | | maxTotalCount := 0 |
| | | var frequentAddress string |
| | | floor1AddressCount := 0 |
| | | floor1Address := "" |
| | | for address, count := range outAddressCounts { |
| | | maxTotalCount = maxTotalCount + count |
| | | re, _ := regexp.Compile(`\b1F\b`) |
| | | if re.MatchString(address) { |
| | | if count > floor1AddressCount { |
| | | floor1Address = address |
| | | floor1AddressCount = count |
| | | continue |
| | | } |
| | | } |
| | | if count > maxOutCount { |
| | | maxOutCount = count |
| | | frequentAddress = address |
| | | } |
| | | } |
| | | |
| | | if frequentAddress == "" && floor1Address != "" { |
| | | frequentAddress = floor1Address |
| | | } |
| | | if frequentAddress != "" && floor1Address != "" { |
| | | if (float64(floor1AddressCount)/float64(maxTotalCount))*100 > 90 { |
| | | frequentAddress = floor1Address |
| | | } |
| | | } |
| | | |
| | | if frequentAddress == "" { |
| | | maxInCount := 0 |
| | | for address, count := range inAddressCounts { |
| | |
| | | } |
| | | } |
| | | } |
| | | //fmt.Println("in address: ", inAddressCounts) |
| | | //fmt.Println("out address: ", outAddressCounts) |
| | | //fmt.Println("final address: ", frequentAddress) |
| | | return frequentAddress |
| | | } |
| | | |