| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750 |
- def check_id(data):
- return 1, data
- def jiao_yan_xiang_mu(data):
- return 1, data
- # 经度 113.7869444 113.7536111
- def jing_du(data):
- if data:
- if 113.7869444 > data > 113.7536111:
- return 1, data
- else:
- return 2, data
- else:
- return 2, data
- # 纬度 35.0458333 35.0125
- def weidu_du(data):
- if data:
- if 35.0458333 > data > 35.0125:
- return 1, data
- else:
- return 2, data
- else:
- return 2, data
- # 固件版本号
- def gu_jian_ban_ben(data):
- if data[0] == data[1]:
- return 1, data[0]
- else:
- return 2, f"设备{data[0]},输入{data[1]}"
- # 电压 合格条件(绿色):\n11~15
- def dian_ya(data):
- if data:
- min_num = min(data)
- max_num = max(data)
- if 11.0 < min_num and max_num < 15.0:
- return 1, f"最小值{min_num},最大值{max_num}"
- else:
- return 2, f"最小值{min_num},最大值{max_num}"
- else:
- return 2, "没有数据"
- # 信号 合格条件(绿色):\n>14
- def xin_hao(data):
- if data:
- min_num = min(data)
- max_num = max(data)
- is_right = False
- for k in data:
- if k > 14.0:
- is_right = True
- if is_right:
- return 1, f"最小值{min_num},最大值{max_num}"
- else:
- return 2, f"最小值{min_num},最大值{max_num}"
- else:
- return 2, "没有数据"
- # sim卡信息 大于等于180天单元格显示绿色\n2、小于180天大于等于30天单元格显示黄色、\n3、小于30天单元格显示为红色
- def sim(data):
- if isinstance(data, int):
- if 180 <= data:
- return 1, f"有效期剩余{data}天"
- elif 30 <= data < 180:
- return 3, f"有效期剩余{data}天"
- elif data < 30:
- return 2, f"有效期剩余{data}天"
- else:
- return 2, data
- def wei_zhi(data):
- if data == "河南省新乡市原阳县":
- return 1, data
- else:
- return 2, data
- # 上传数据条数 合格条件(绿色):\n1、大于7条\n2、两条数据时间间隔小于20分钟的出现频次2次以内、两条数据间隔大于40分钟出现频率2次以内
- def shu_ju_tiao_shu(data):
- if data:
- if len(data) > 7:
- # 计算数据间隔
- interval = []
- for k in range(len(data) - 1):
- interval.append(data[k] - data[k+1])
- lte_20 = []
- gte_40 = []
- for i in interval:
- if i < 1200:
- lte_20.append(i)
- if i > 2400:
- gte_40.append(i)
- if len(lte_20) < 2 and len(gte_40) < 2:
- return 1, f"数据量:{len(data)},间隔<20分钟:{len(lte_20)},间隔>40分钟:{len(gte_40)}"
- else:
- return 2, f"数据量:{len(data)},间隔<20分钟:{len(lte_20)},间隔>40分钟:{len(gte_40)}"
- else:
- return 2, f"数据量:{len(data)}"
- else:
- return 2, "无数据"
- # "风速": "合格条件(绿色):\n1、0<示值<10\n2、有1条合格 即可",
- def feng_su(data):
- # 去除字段中 -99.99 数据
- data = [i for i in data if i != -99.99]
- if data:
- min_num = min(data)
- max_num = max(data)
- for i in data:
- if 0 < i < 10:
- return 1, f"最小值{min_num},最大值{max_num}"
- else:
- return 2, f"最小值{min_num},最大值{max_num}"
- else:
- return 2, "没有数据"
- # "风向": "合格条件(绿色):\n1、0<示值<360\n2、有1条合格即可"
- def feng_xiang(data):
- # 去除字段中 -99.99 数据
- data = [i for i in data if i != -99.99]
- if data:
- min_num = min(data)
- max_num = max(data)
- for i in data:
- if 0 < i < 360:
- return 1, f"最小值{min_num},最大值{max_num}"
- else:
- return 2, f"最小值{min_num},最大值{max_num}"
- else:
- return 2, "没有数据"
-
- # "降雨量累计": "合格条件(绿色):\n1、0<示值\n2、00:00示值归零\n3、有1条合格即可"
- def jiang_yu(data):
- # 去除字段中 -99.99 数据
- data = [i for i in data if i != -99.99]
- if data:
- min_num = min(data)
- max_num = max(data)
- for i in data:
- if 0.1 < i :
- return 1, f"最小值{min_num},最大值{max_num}"
- else:
- return 2, f"最小值{min_num},最大值{max_num}"
- else:
- return 2, "没有数据"
- # "土壤含水率": "合格条件(绿色):\n1、0<示值<=100\n2、有1条合格即可
- def tu_rang_han_shui(data):
- # 去除字段中 -99.99 数据
- data = [i for i in data if i != -99.99]
- if data:
- min_num = min(data)
- max_num = max(data)
- for k in data:
- if 0<k<=100:
- return 1, f"最小值{min_num},最大值{max_num}"
- else:
- return 2, f"最小值{min_num},最大值{max_num}"
- else:
- return 2, "没有数据"
- # "土壤温度": "合格条件(绿色):\n1.≠0且在-5~35°C之间\n2、有1条合格即可"
- def tu_rang_wen_du(data):
- # 去除字段中 -99.99 数据
- data = [i for i in data if i != -99.99]
- if data:
- min_num = min(data)
- max_num = max(data)
- for i in data:
- if -5 < i < 35:
- return 1, f"最小值{min_num},最大值{max_num}"
- else:
- return 2, f"最小值{min_num},最大值{max_num}"
- else:
- return 2, "没有数据"
- # "盐分": "合格条件(绿色):\n1、0<示值<1000#2、有1条合格即可",
- def yan_fen(data):
- # 去除字段中 -99.99 数据
- data = [i for i in data if i != -99.99]
- if data:
- min_num = min(data)
- max_num = max(data)
- for i in data:
- if 0 < i < 1000:
- return 1, f"最小值{min_num},最大值{max_num}"
- else:
- return 2, f"最小值{min_num},最大值{max_num}"
- else:
- return 2, "没有数据"
- # "电导率": "合格条件(绿色):\n1、0<示值\n2、有1条合格即"
- def dian_dao_lv(data):
- # 去除字段中 -99.99 数据
- data = [i for i in data if i != -99.99]
- if data:
- min_num = min(data)
- max_num = max(data)
- for k in data:
- if k > 0.0:
- return 1, f"最小值{min_num},最大值{max_num}"
- else:
- return 2, f"最小值{min_num},最大值{max_num}"
- else:
- return 2, "没有数据"
- # "氮": "合格条件(绿色):\n1、0<示值\n2、有1条合格即可",
- def dan(data):
- # 去除字段中 -99.99 数据
- data = [i for i in data if i != -99.99]
- if data:
- min_num = min(data)
- max_num = max(data)
- for i in data:
- if 0 < i :
- return 1, f"最小值{min_num},最大值{max_num}"
- else:
- return 2, f"最小值{min_num},最大值{max_num}"
- else:
- return 2, "没有数据"
- # "磷": "合格条件(绿色):\n1、0<示值且不能为负值\n2、有1条合格即可",
- def lin(data):
- # 去除字段中 -99.99 数据
- data = [i for i in data if i != -99.99]
- if data:
- min_num = min(data)
- max_num = max(data)
- for i in data:
- if 0 < i:
- return 1, f"最小值{min_num},最大值{max_num}"
- else:
- return 2, f"最小值{min_num},最大值{max_num}"
- else:
- return 2, "没有数据"
- # "光合有效辐射": "合格条件(绿色):\n1、0<示值且不能为负值\n2、有1条合格即可",
- def guang_he_fu_she(data):
- # 去除字段中 -99.99 数据
- data = [i for i in data if i != -99.99]
- if data:
- min_num = min(data)
- max_num = max(data)
- for i in data:
- if 0 < i:
- return 1, f"最小值{min_num},最大值{max_num}"
- else:
- return 2, f"最小值{min_num},最大值{max_num}"
- else:
- return 2, "没有数据"
- # "日照时数": "合格条件(绿色):\n1、0.1≤示值\n2、有1条合格即可",
- def ri_zhao(data):
- # 去除字段中 -99.99 数据
- data = [i for i in data if i != -99.99]
- if data:
- min_num = min(data)
- max_num = max(data)
- for i in data:
- if 0.1 < i:
- return 1, f"最小值{min_num},最大值{max_num}"
- else:
- return 2, f"最小值{min_num},最大值{max_num}"
- else:
- return 2, "没有数据"
- # "PM2.5": "合格条件(绿色):\n1、0<示值且不能为负值\n2、有1条合格即可",
- def pm25(data):
- # 去除字段中 -99.99 数据
- data = [i for i in data if i != -99.99]
- if data:
- min_num = min(data)
- max_num = max(data)
- for i in data:
- if 0 < i:
- return 1, f"最小值{min_num},最大值{max_num}"
- else:
- return 2, f"最小值{min_num},最大值{max_num}"
- else:
- return 2, "没有数据"
- # "PM10": "合格条件(绿色):\n1、0<示值\n2、有1条合格即可",
- def pm10(data):
- # 去除字段中 -99.99 数据
- data = [i for i in data if i != -99.99]
- if data:
- min_num = min(data)
- max_num = max(data)
- for i in data:
- if 0 < i:
- return 1, f"最小值{min_num},最大值{max_num}"
- else:
- return 2, f"最小值{min_num},最大值{max_num}"
- else:
- return 2, "没有数据"
- # "负氧离子": "合格条件(绿色):\n1、0<示值<1000\n2、有1条合格即可",
- def fu_li_zi(data):
- # 去除字段中 -99.99 数据
- data = [i for i in data if i != -99.99]
- if data:
- min_num = min(data)
- max_num = max(data)
- for i in data:
- if 0 < i < 1000:
- return 1, f"最小值{min_num},最大值{max_num}"
- else:
- return 2, f"最小值{min_num},最大值{max_num}"
- else:
- return 2, "没有数据"
- # "总辐射": "合格条件(绿色):\n1、0<示值\n2、有1条合格即可",
- def zong_fu_she(data):
- # 去除字段中 -99.99 数据
- data = [i for i in data if i != -99.99]
- if data:
- min_num = min(data)
- max_num = max(data)
- for i in data:
- if 0 < i:
- return 1, f"最小值{min_num},最大值{max_num}"
- else:
- return 2, f"最小值{min_num},最大值{max_num}"
- else:
- return 2, "没有数据"
- # "二氧化碳": "合格条件(绿色):\n1、400<示值<1500\n2、有1条合格即可",
- def er_yang_hua_tan(data):
- # 去除字段中 -99.99 数据
- data = [i for i in data if i != -99.99]
- if data:
- min_num = min(data)
- max_num = max(data)
- for i in data:
- if 400 < i < 1500:
- return 1, f"最小值{min_num},最大值{max_num}"
- else:
- return 2, f"最小值{min_num},最大值{max_num}"
- else:
- return 2, "没有数据"
- # "蒸发量": "合格条件(绿色):\n1、0<示值\n2、有1条合格即可",
- def zheng_fa(data):
- # 去除字段中 -99.99 数据
- data = [i for i in data if i != -99.99]
- if data:
- min_num = min(data)
- max_num = max(data)
- for i in data:
- if 0 < i:
- return 1, f"最小值{min_num},最大值{max_num}"
- else:
- return 2, f"最小值{min_num},最大值{max_num}"
- else:
- return 2, "没有数据"
- # "土壤PH": "合格条件(绿色):\n1、6~8\n2、有1条合格即可",
- def tu_rang_ph(data):
- # 去除字段中 -99.99 数据
- data = [i for i in data if i != -99.99]
- if data:
- min_num = min(data)
- max_num = max(data)
- for i in data:
- if 5 < i < 10:
- return 1, f"最小值{min_num},最大值{max_num}"
- else:
- return 2, f"最小值{min_num},最大值{max_num}"
- else:
- return 2, "没有数据"
- # "钾": "合格条件(绿色):\n1、0<示值\n2、有1条合格即可",
- def jia(data):
- # 去除字段中 -99.99 数据
- data = [i for i in data if i != -99.99]
- if data:
- min_num = min(data)
- max_num = max(data)
- for i in data:
- if 0 < i:
- return 1, f"最小值{min_num},最大值{max_num}"
- else:
- return 2, f"最小值{min_num},最大值{max_num}"
- else:
- return 2, "没有数据"
- # "紫外辐射": "合格条件(绿色):\n1、0<示 值\n2、有1条合格即可",
- def zi_wai_fu_she(data):
- # 去除字段中 -99.99 数据
- data = [i for i in data if i != -99.99]
- if data:
- min_num = min(data)
- max_num = max(data)
- for i in data:
- if 0 < i:
- return 1, f"最小值{min_num},最大值{max_num}"
- else:
- return 2, f"最小值{min_num},最大值{max_num}"
- else:
- return 2, "没有数据"
- # "空气温度": "合格条件(绿色):\n1.-10~35°C,但不允许为0°C\n2、有1条合格即可",
- def keong_qi_wen_du(data):
- # 去除字段中 -99.99 数据
- data = [i for i in data if i != -99.99]
- if data:
- min_num = min(data)
- max_num = max(data)
- for i in data:
- if -10 < i < 35 and i != 0.0:
- return 1, f"最小值{min_num},最大值{max_num}"
- else:
- return 2, f"最小值{min_num},最大值{max_num}"
- else:
- return 2, "没有数据"
- # "空气湿度": "合格条件(绿色):\n1、0<示值<100\n2、有1条合格即可",
- def keong_qi_shi_du(data):
- # 去除字段中 -99.99 数据
- data = [i for i in data if i != -99.99]
- if data:
- min_num = min(data)
- max_num = max(data)
- for i in data:
- if 0 < i < 100:
- return 1, f"最小值{min_num},最大值{max_num}"
- else:
- return 2, f"最小值{min_num},最大值{max_num}"
- else:
- return 2, "没有数据"
- # "水质pH": "合格条件(绿色):\n1、6≤示值≤8\n2、有1条合格即可",
- def shui_zhi_ph(data):
- # 去除字段中 -99.99 数据
- data = [i for i in data if i != -99.99]
- if data:
- min_num = min(data)
- max_num = max(data)
- for i in data:
- if 6 < i < 8:
- return 1, f"最小值{min_num},最大值{max_num}"
- else:
- return 2, f"最小值{min_num},最大值{max_num}"
- else:
- return 2, "没有数据"
- # "水位": "合格条件(绿色):\n1、0<示值\n2、有1条合格即可",
- def shui_wei(data):
- # 去除字段中 -99.99 数据
- data = [i for i in data if i != -99.99]
- if data:
- min_num = min(data)
- max_num = max(data)
- for i in data:
- if 0 < i:
- return 1, f"最小值{min_num},最大值{max_num}"
- else:
- return 2, f"最小值{min_num},最大值{max_num}"
- else:
- return 2, "没有数据"
- # "水质电导率": "合格条件(绿色):\n1、0<示值\n2、有1条合格即可",
- def shui_zhi_dao_dian(data):
- # 去除字段中 -99.99 数据
- data = [i for i in data if i != -99.99]
- if data:
- min_num = min(data)
- max_num = max(data)
- for k in data:
- if k > 0.0:
- return 1, f"最小值{min_num},最大值{max_num}"
- else:
- return 2, f"最小值{min_num},最大值{max_num}"
- else:
- return 2, "没有数据"
- # "气压": "合格条件(绿色):\n1、900<示值<1150\n2、有1条合格即可",
- def qi_ya(data):
- # 去除字段中 -99.99 数据
- data = [i for i in data if i != -99.99]
- if data:
- min_num = min(data)
- max_num = max(data)
- for i in data:
- if 900 < i < 1150:
- return 1, f"最小值{min_num},最大值{max_num}"
- else:
- return 2, f"最小值{min_num},最大值{max_num}"
- else:
- return 2, "没有数据"
- # "光照度": "合格条件(绿色):\n1、0<示值<200000\n2、有1条合格即可",
- def guang_zhao_du(data):
- # 去除字段中 -99.99 数据
- data = [i for i in data if i != -99.99]
- if data:
- min_num = min(data)
- max_num = max(data)
- for i in data:
- if 0 < i < 200000:
- return 1, f"最小值{min_num},最大值{max_num}"
- else:
- return 2, f"最小值{min_num},最大值{max_num}"
- else:
- return 2, "没有数据"
- # "硫化氢": "合格条件(绿色):\n1、示值=0\n2、有1条合格即可",
- def liu_hua_qing(data):
- # 去除字段中 -99.99 数据
- data = [i for i in data if i != -99.99]
- if data:
- data = list(set(data))
- for i in data:
- if int(i) == 0:
- return 1, 0
- else:
- return 2, 0
- else:
- return 2, 0
- # "水温": "合格条件(绿色):\n1.0~30°C,但不允许为0°C\n2、 有1条合格即可",
- def shui_wen(data):
- # 去除字段中 -99.99 数据
- data = [i for i in data if i != -99.99]
- if data:
- min_num = min(data)
- max_num = max(data)
- for i in data:
- if 1.0 < i < 30:
- return 1, f"最小值{min_num},最大值{max_num}"
- else:
- return 2, f"最小值{min_num},最大值{max_num}"
- else:
- return 2, "没有数据"
- # "溶解氧": "合格条件(绿色):\n1、0<示值\n2、有1条合格即可",
- def rong_jie_yang(data):
- # 去除字段中 -99.99 数据
- data = [i for i in data if i != -99.99]
- if data:
- min_num = min(data)
- max_num = max(data)
- for i in min_num:
- if 0 < i:
- return 1, f"最小值{min_num},最大值{max_num}"
- else:
- return 2, f"最小值{min_num},最大值{max_num}"
- else:
- return 2, "没有数据"
- # "浊度": "合格条件(绿色):\n1、0<示值\n2、有1条合格即可",
- def zhuo_du(data):
- # 去除字段中 -99.99 数据
- data = [i for i in data if i != -99.99]
- if data:
- min_num = min(data)
- max_num = max(data)
- for i in data:
- if 0 < i:
- return 1, f"最小值{min_num},最大值{max_num}"
- else:
- return 2, f"最小值{min_num},最大值{max_num}"
- else:
- return 2, "没有数据"
- # "氨气": "合格条件(绿色):\n1、示值=0\n2、有1条合格即可",
- def an_qi(data):
- # 去除字段中 -99.99 数据
- data = [i for i in data if i != -99.99]
- if data:
-
- data = list(set(data))
- for i in data:
- if int(i) == 0:
- return 1, 0
- else:
- return 2, 0
- else:
- return 2, "没有数据"
- # "氧气": "合格条件(绿色):\n1、0<示值\n2、有1条合格即可",
- def yang_qi(data):
- # 去除字段中 -99.99 数据
- data = [i for i in data if i != -99.99]
- if data:
- min_num = min(data)
- max_num = max(data)
- for i in data:
- if 0 < i:
- return 1, f"最小值{min_num},最大值{max_num}"
- else:
- return 2, f"最小值{min_num},最大值{max_num}"
- else:
- return 2, "没有数据"
- # "PM100": "合格条件(绿色):\n1、0<示值\n2 、有1条合格即可",
- def pm100(data):
- # 去除字段中 -99.99 数据
- data = [i for i in data if i != -99.99]
- if data:
- min_num = min(data)
- max_num = max(data)
- for i in data:
- if 0 < i:
- return 1, f"最小值{min_num},最大值{max_num}"
- else:
- return 2, f"最小值{min_num},最大值{max_num}"
- else:
- return 2, "没有数据"
- # "露点温度": "合格条件(绿色):\n1.-10~35°C,但不允许为0°C\n2、有1条合格即可",
- def lou_dian_wen_du(data):
- # 去除字段中 -99.99 数据
- data = [i for i in data if i != -99.99]
- if data:
- min_num = min(data)
- max_num = max(data)
- for i in data:
- if -10 < i < 35 and int(i) != 0:
- return 1, f"最小值{min_num},最大值{max_num}"
- else:
- return 2, f"最小值{min_num},最大值{max_num},存在0的数据有{data.count(0.0)}条"
- else:
- return 2, "没有数据"
- # 热通量 上传条数的数据在均在±500内(但不能为0),即判定合格,否则不合格
- def re_tong_liang(data):
- # 去除字段中 -99.99 数据
- data = [i for i in data if i != -99.99]
- if data:
- min_num = min(data)
- max_num = max(data)
- for i in data:
- if -500 < i < 500 and int(i) != 0:
- return 1, f"最小值{min_num},最大值{max_num}"
- else:
- return 2, f"最小值{min_num},最大值{max_num},存在0的数据有{data.count(0.0)}条"
- else:
- return 2, "没有数据"
- # 合格数量
- def he_ge_shu(data):
- return data[0], data[1]
- # 有无雨雪 如果存在 -99 则不合格,反之存在 0 或 1 都合格
- def is_snow_rain(data):
- if data:
- if -99 not in data and -99.99 not in data:
- return 1, "合格"
- else:
- return 2, "存在-99或-99.99数据,不合格"
- else:
- return 2, "没有数据"
- # 有无雨雪 -100 到 0 合格,其它不合格
- def turang_shuishi(data):
- if data:
- for i in data:
- if i > 0 or i < -100:
- return 2, f"存在 {i} 数据,不合格"
- else:
- min_num = min(data)
- max_num = max(data)
- return 1, f"最小值{min_num},最大值{max_num}"
- else:
- return 2, "没有数据"
- # 噪声传感器
- def zaosheng(data):
- if data:
- for i in data:
- if i > 100 or i < 0:
- return 2, f"存在 {i} 数据,不合格"
- else:
- min_num = min(data)
- max_num = max(data)
- return 1, f"最小值{min_num},最大值{max_num}"
- else:
- return 2, "没有数据"
- # # "叶面湿度": "合格条件(绿色):\n1、0<示值<=100\n2、有1条合格即可
- def yemian_shi_du(data):
- # 去除字段中 -99.99 数据
- data = [i for i in data if i != -99.99]
- if data:
- min_num = min(data)
- max_num = max(data)
- for k in data:
- if 0<k<=100:
- return 1, f"最小值{min_num},最大值{max_num}"
- else:
- return 2, f"最小值{min_num},最大值{max_num}"
- else:
- return 2, "没有数据"
- # "叶面温度": "合格条件(绿色):\n1.≠0且在-5~35°C之间\n2、有1条合格即可"
- def yemian_wen_du(data):
- # 去除字段中 -99.99 数据
- data = [i for i in data if i != -99.99]
- if data:
- min_num = min(data)
- max_num = max(data)
- for i in data:
- if -5 < i < 35:
- return 1, f"最小值{min_num},最大值{max_num}"
- else:
- return 2, f"最小值{min_num},最大值{max_num}"
- else:
- return 2, "没有数据"
|