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 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