功能需求描述

功能需求描述

  1. 门户系统
  1. 道路车流量查询
  2. 道路车流量预测
  3. 道路状态信息发布
  4. 查看道路状态信息
  5. 大屏统计系统
  6. 道路车流量Top10
  7. 道路累计车流量数据
  8. 某一时段道路车流量数据

注:目前能想到的统计维度较少,后期是否能增加

  1. 后台管理系统
  1. 个人信息管理
  2. 用户管理
  3. 道路信息管理

角色描述

  1. 用户角色

(1)系统中共有3个角色,分别是系统管理员,交通管理员和普通用户。

(2)系统管理员拥有最高权限,可以管理交通管理员和普通用户。

(3)交通管理员可以查询道路车流量、查看道路车流量预测结果、发布道路状态信息、查看道路状态信息,以及查看大屏统计系统。

(4)普通用户可以可以查询道路车流量,查看道路状态信息,以及查看大屏统计系统。

核心算法代码分享如下:

import json
import random
import urllib.parse as p
from time import sleep

import requests
import pymysql

db = pymysql.connect(host='127.0.0.1', user='root', password='123456', port=3306, database='traffic',
                         charset='utf8')

header = {

        "Accept": "*/*",
        "Accept-Encoding": "gzip, deflate, br",
        "Accept-Language": "zh-CN,zh;q=0.9",
        "Connection": "keep-alive",
        "Content-Type": "application/json",
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36"
    }

def save_info(item):
    if not 'RXDMJ' in item:
        item['RXDMJ'] = '0'
    if not 'LX' in item:
        item['LX'] = '暂无'
    if not 'LDMJ' in item:
        item['LDMJ'] = '0'
    sql3 = "insert into tb_info(id, lm, qs, lx, dj, cd, rdmj, rxdmj) " \
           "values (%d, '%s', '%s', '%s', '%s', '%s', '%s', '%s') " % \
           ( item['ID'], item['LM'], item['QS'], item['LX'],
             item['DJ'], item['CD'], item['LDMJ'], item['RXDMJ'])
    cursor = db.cursor()
    cursor.execute(sql3)
    db.commit()

def save_road(item):
    # if not 'RXDMJ' in item:
    #     item['RXDMJ'] = '0'
    # if not 'LX' in item:
    #     item['LX'] = '暂无'
    # if not 'LDMJ' in item:
    #     item['LDMJ'] = '0'
    flow = random.randint(1, 99) + item['EXPONENT']*100
    sql3 = "insert into tb_road(golen, speed, time1, period, blockid, gotime, exponent, flow) " \
           "values (%lf, %lf, '%s', %d, %d, %lf, %lf, %d) " % \
           ( item['GOLEN'], item['SPEED'], item['TIME1'], item['PERIOD'],
             item['BLOCKID'], item['GOTIME'], item['EXPONENT'], flow)
    cursor = db.cursor()
    cursor.execute(sql3)
    db.commit()

Logo

宁波官方开源宣传和活动阵地,欢迎各位和我们共建开源生态体系!

更多推荐