T∕SZAEPI 005-2024 生态环境数据质量监控规范 第4部分:准确性和有效性_第1页
T∕SZAEPI 005-2024 生态环境数据质量监控规范 第4部分:准确性和有效性_第2页
T∕SZAEPI 005-2024 生态环境数据质量监控规范 第4部分:准确性和有效性_第3页
T∕SZAEPI 005-2024 生态环境数据质量监控规范 第4部分:准确性和有效性_第4页
T∕SZAEPI 005-2024 生态环境数据质量监控规范 第4部分:准确性和有效性_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

CCSZ.04Specificationfordataqualitymonitoringandcontrolofenvironment—Part4:Accuracyand2024-12-30发布2024-12-30实施IT/SZAEPI005—2024前言 2规范性引用文件 3术语与定义 4生态环境数据准确性监控内容 5生态环境数据有效性监控内容 附录A(资料性)生态环境数据准确性监控方法示例 附录B(资料性)生态环境数据有效性监控方法示例 T/SZAEPI005—2024本文件按照GB/T1.1—2020《标准化工作导则第1部分:标准化文件的结构和起草规则》的规定起草。本文件是T/SZAEPI《生态环境数据质量监控规范》的第4部分。T/SZAEPI已经发布了以下部分:——第1部分:总则;——第2部分:规范性和一致性;——第3部分:完整性和时效性;——第4部分:准确性和有效性。本文件由深圳市环境保护产业协会提出并归口。本文件由深圳市环境保护产业协会解释。本文件起草单位:深圳市生态环境智能管控中心、深圳深态环境科技有限公司。本文件主要起草人:游勇、徐怀洲、黄为炜、刘琳琳、张厚武、殷勤、毛庆国、尹民、李佳聪、蒋宇、罗晓霞、陈燕、黄露霞、邵静娴、刘清云、李舒健、史海鹏。T/SZAEPI005—2024为强化生态环境数据管理,提高生态环境数据准确性、有效性,促进生态环境数据共享与应用,制定《生态环境数据质量监控规范第4部分:准确性和有效性》标准。《生态环境数据质量监控规范第4部分:准确性和有效性》明确了生态环境数据准确性、有效性的监控规则和监控方法,对推动生态环境数据质量监控体系建设,提升生态环境管理水平具有重要支撑作用。1T/SZAEPI005—2024生态环境数据质量监控规范第4部分:准确性和有效性本文件规定了深圳市生态环境数据准确性和有效性的监控规则和监控方法。本文件适用于深圳市生态环境信息系统中数据准确性和有效性的事后监控,监控对象包含但不限于污染源数据、生态环境质量数据、生态环境管理数据等。其他地区可参照执行。2规范性引用文件下列文件中的内容通过文中的规范性引用而构成本文件必不可少的条款。其中,注日期的引用文件,仅该日期对应的版本适用于本文件;不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。GB12348工业企业厂界环境噪声标准GB15618土壤环境质量标准GB18483饮食业油烟排放标准(试行)GB/T28591风力等级GB/T28592降水量等级HJ14环境空气质量功能区划分原则与技术方法HJ24环境影响评价技术导则输变电HJ91.1污水监测技术规范HJ338饮用水水源保护区划分技术规范HJ355水污染源在线监测系统(CODCr、NH3-N等)运行技术规范HJ356水污染源在线监测系统(CODCr、NH3-N等)数据有效性判别技术规范HJ520废水类别代码(试行)HJ525水污染物名称代码HJ633环境空气质量指数(AQI)技术规定(试行)HJ941企业突发环境事件风险分级方法HJ1238汽车排放定期检验信息采集传输技术规范DB4403/T164.1行政执法监督数据规范第1部分:数据元DB4403/T176.1深圳市法人和其他组织统一社会信用代码管理和应用规范第1部分:数据元DB4403/T333夜间光环境区域限值T/SZAEPI001生态环境数据质量监控规范第1部分:总则2T/SZAEPI005—2024《中华人民共和国环境保护税法》《中华人民共和国噪声污染防治法》《排污许可管理条例》《放射性同位素与射线装置安全和防护条例》《环境监测管理办法》(2007年国家环境保护总局令第39号)《环境监察执法证件管理办法》(2013年环境保护部令第23号)《企业环境信用评价办法(试行)》(环发〔2013〕150号)《突发环境事件应急管理办法》(2015年环境保护部令第34号)《生态环境行政处罚办法》(2023年生态环境部令第30号)《排污许可管理办法》(2024年生态环境部令第32号)《固体废物分类与代码目录》(2024年生态环境部公告第4号)《广东省地下水功能区划》(粤办函〔2009〕459号)《广东省清洁生产审核评估验收评分表》(粤经信规字〔2017〕3号)《广东省机动车遥感监测管理系统联网规范(试行)》(粤环函〔2020〕70号)《深圳市清洁生产审核实施细则》(深工信规〔2019〕9号)《深圳市突发事件应急预案管理办法》(深应急规〔2023〕4号)《深圳市排污单位环境信用评价指标》(深环〔2024〕9号)3术语与定义应符合T/SZAEPI003—2024中第3章节的规定。4生态环境数据准确性监控内容4.1字符型数据4.1.1字符型数据通用监控规则字符型数据通用的准确性监控规则包括但不限于以下内容。a)对于两个在事实上存在包含与被包含关系的字符型数据,应准确记录两者之间的关系。例如:排污单位“所属街道”应在其“所属行政区”管辖范围内。b)字符型数据应与事实登记情况相符。例如:当登记管理单位为工商行政管理部门时,系统中记录的排污单位“统一社会信用代码”应与其在工商行政管理部门登记的统一社会信用代码相符。c)字符型数据应准确反映实际情况,避免信息错误。4.1.2字符型数据专用监控规则字符型数据专用的准确性监控规则包括但不限于以下内容。3T/SZAEPI005—2024a)根据GB/T28591《风力等级》,“风速等级”应与“风速值”对应。b)根据HJ633《环境空气质量指数(AQI)技术规定(试行)》,“空气质量指数”应与“空气质量指数级别”“空气质量指数类别”“空气质量指数表示颜色”等对应。c)根据HJ520《废水类别代码(试行)》,“废水类型名称”应与“废水类别代码”对应。d)根据HJ525《水污染物名称代码》,“废水污染物名称”应与“废水污染物代码”对应,“废水监测因子名称”应与“废水监测因子编码”对应。e)土壤监测点所属地块应在其所属行政区范围内。f)噪声监测点所属社区应在其所属街道范围内。g)系统中建设项目环境影响评价的“批复文号”“报告编号”应与生态环境部门登记的信息相符。h)系统中排污单位的“生产经营场所地址”中的行政区内容应与其“所属行政区”相符。i)系统中“排污许可证编号”应与生态环境部门登记的排污许可证编号相符。j)系统中“排污口编号”应与生态环境部门登记的排污口编号相符。k)根据《固体废物分类与代码目录》,系统中“固体废物名称”应与“固体废物代码”对应,“固体废物类别”后两位数字应与“固体废物代码”后两位数字对应。l)根据《环境监察执法证件管理办法》,“执法人员”应与“执法证号”对应。m)根据《企业环境信用评价办法(试行)》,企业的环境信用“等级”“发牌颜色”应与信用评价结果的“分数”对应。4.2数字型数据4.2.1数字型数据通用监控规则数字型数据通用的准确性监控规则包括但不限于以下内容。a)数字型数据应与事实登记情况相符。例如:系统中“项目金额(万元)”的值应与项目合同中签订的以“万元”为单位的项目金额相符。b)数字型数据在进行数学运算时,与运算相关的数据在逻辑上应协调一致。例如:“工资总额”=“员工人数”ד平均工资”。4.2.2数字型数据专用监控规则数字型数据专用的准确性监控规则包括但不限于以下内容。a)危险废物转移联单信息中的各项数值应与对应的纸质转移联单的数值相符。例如:某转移联单数值“0.01”相符。b)固废的产废年报中的“上年底贮存量”与“本年底产生量”之和应等于本年度的“委外利用处置量”“自行利用处置量”“年底库存量”与“其他量”之和相等。c)企业的“环境信用评价分数”的数值应等于评价“起始分”、各项指标“扣分项”和“加分项”的总和。4T/SZAEPI005—2024d)排污单位的废气自行监测数据的各指标监测结果应与对应的纸质检测报告监测结果相符。例如:2024年某排污单位废气自行监测信息中非甲烷总烃“排放浓度(mg/m3)”的数值为“1.7”,应与对应的纸质检测报告中非甲烷总烃的检测结果“排放浓度(mg/m3)”的数值“1.7”相符。e)排污单位的废水自行监测数据的各指标监测结果应与对应的纸质检测报告监测结果相符。例如:2024年某排污单位废水自行监测信息中氨氮“监测值(mg/L)”的数值为“0.059”,应与对应的纸质检测报告中氨氮的检测结果“监测值(mg/L)”的数值“0.059”相符。4.3日期型数据4.3.1日期型数据通用监控规则日期型数据通用的准确性监控规则包括但不限于以下内容。a)日期型数据应符合事实客观逻辑。b)在记录事件或活动时,日期数据应符合时间顺序逻辑。4.3.2日期型数据专用监控规则日期型数据专用的准确性监控规则包括但不限于以下内容。a)系统中环境影响评价审批信息中的“审批日期”应与生态环境部门出具的《建设项目环境影响审查批复》落款日期相符。b)系统中环境影响评价备案信息中的“备案日期”应与生态环境部门出具的《告知性备案回执》落款日期相符。c)系统中环境影响评价报告信息中的“提交日期”应与生态环境部门登记的提交日期相符。d)系统中排污许可信息中的“发证日期”应与生态环境部门出具的排污许可证的发证日期相符。e)系统中手工监测信息中的“监测日期”应与环境监测机构出具的监测报告中的采样日期相符。f)系统中生态环境监测站点信息中的“启用日期”应与环境监测机构登记的启用日期相符。4.4日期时间型数据4.4.1日期时间型数据通用监控规则日期时间型数据通用的准确性监控规则包括但不限于以下内容。a)日期时间型数据应符合事实客观逻辑。b)在记录事件或活动时,日期时间数据应符合时间顺序逻辑。4.4.2日期时间型数据专用监控规则日期时间型数据专用的准确性监控规则包括但不限于以下内容。a)系统中环境投诉信息中的“受理时间”应与生态环境部门登记的受理时间相符。b)系统中突发环境事件信息中的“发生时间”应与生态环境部门登记的发生时间相符。c)系统中环境应急预案信息中的“演练时间”应与生态环境部门登记的演练时间相符。5T/SZAEPI005—2024d)系统中监测信息中的“采集时间”应与实际采集时间相符。e)系统中环境样品信息中的“采集时间”应与环境监测机构登记的采集时间相符。f)系统中环境监测设备信息中的“校准时间”应与环境监测机构登记的校准时间相符。4.5布尔型数据4.5.1布尔型数据通用监控规则布尔型数据通用的准确性监控规则包括但不限于以下内容。布尔型数据的判定结果与其相关联的数据在逻辑上应协调一致。例如:若“是否成年”为“是”,则其对应的“年龄”的数值需大于等于十八周岁。4.5.2布尔型数据专用监控规则布尔型数据专用的准确性监控规则包括但不限于以下内容。a)大气污染源“排放速率值”应与“排放速率是否达标”的判定结果相符。例如:二氧化硫的“许可排放速率限值(kg/h)”是“310”,若二氧化硫的“排放速率值(kg/h)”是“311”,则二氧化硫“排放速率是否达标”的值应为“false”。b)大气污染源“排放浓度值”应与“排放浓度是否达标”的判定结果相符。例如:二氧化硫的“最高允许排放浓度(mg/m3)”是“1200”,若二氧化硫的“排放浓度值(mg/m3)”是“1220”,则二氧化硫“排放浓度是否达标”的值应为“false”。c)废水污染物“排放浓度值”应与“排放浓度是否达标”的判定结果相符。例如:总汞的“最高允许排放浓度(mg/L)”是“0.05”,若总汞的“排放浓度(mg/L)”是“0.07”,则总汞“排放浓度是否达标”的值应为“false”。5生态环境数据有效性监控内容5.1字符型数据5.1.1字符型数据通用监控规则字符型数据通用的有效性监控规则包括但不限于以下内容。a)字符型数据的值应处于合理范围内。b)字符型数据的值应符合指定的最大长度和最小长度要求。5.1.2字符型数据专用监控规则字符型数据专用的有效性监控规则包括但不限于以下内容。a)根据DB4403/T176.1《深圳市法人和其他组织统一社会信用代码管理和应用规范第1部分:数据元》,信用评价参评企业管理中的“企业状态”填写内容应为以下内容之一:1、2、3、4、5、9。其中1表示正常,2表示吊销,3表示注销,4表示撤销,5表示迁出,9表示其他。6T/SZAEPI005—2024b)根据HJ633《环境空气质量指数(AQI)技术规定(试行)》,“空气质量指数级别”填写内容应为以下内容之一:“一级”“二级”“三级”“四级”“五级”“六级”;“空气质量指数类别”填写内容应为以下内容之一:“优”“良”“轻度污染”“中度污染”“重度污染”“严重污染”;“空气质量指数表示颜色”填写内容应为以下内容之一:“绿色”“黄色”“橙色”“红色”“紫色”“褐红色”。c)根据HJ14《环境空气质量功能区划分原则与技术方法》,“环境空气质量功能区”填写内容应为以下内容之一:“一类区”“二类区”“三类区”。d)地表水“水质级别”填写内容应为以下内容之一:“Ⅰ类”“Ⅱ类”“Ⅲ类”“Ⅳ类”“Ⅴ类”“劣Ⅴ类”。e)根据《广东省地下水功能区划》,“地下水功能区划”填写内容应为以下内容之一:“地下水一级功能区”“地下水二级功能区”。f)根据GB/T28592《降水量等级》,“降雨量等级”填写内容应为以下内容之一:“微量降雨(零星小雨)”“小雨”“中雨”“大雨”“暴雨”“大暴雨”“特大暴雨”。g)根据HJ355《水污染源在线监测系统(CODCr、NH3-N等)运行技术规范》的规定,“废水污染物排放方式”,填写内容应为以下内容之一:“直接排放”“间接排放”。h)海洋“水质级别”填写内容应为以下内容之一:“一类”“二类”“三类”“四类”“劣四类”。i)根据GB15618《土壤环境质量标准》,“土壤环境质量级别”填写内容应为以下内容之一:“Ⅰj)根据《中华人民共和国噪声污染防治法》,涉噪声监测的“噪声源类型”填写内容应为以下内容之一:“工业噪声源”“建筑施工噪声源”“交通运输噪声源”“社会生活噪声源”。k)根据《排污许可管理办法》,执行报告的“上报频次”填写内容应为以下内容之一:“月报”“季报”“年报”。l)根据《放射性同位素与射线装置安全和防护条例》,核与辐射监测的“放射源类别”填写内容应为以下内容之一:“Ⅰ类”“Ⅱ类”“Ⅲ类”“Ⅳ类”“Ⅴ类”;“射线装置类别”填写内容应为以下内容之一:“Ⅰ类”“Ⅱ类”“Ⅲ类”。m)根据《辐射安全许可证(新版)》填报指南,核技术利用活动种类和范围中的“活动种类”填写内容应为以下内容之一:1、2、3、4、5、6。其中1表示生产,2表示销售,3表示使用,4表示销售、使用,5表示生产、使用,6表示生产、销售、使用。n)根据HJ24《环境影响评价技术导则输变电》,核与辐射管理中的“变电站类型”填写内容应为以下内容之一:“户内式”“地下式”“户外式”。o)根据《生态环境行政处罚办法》,行政处罚的“处罚类型”填写内容应为以下内容之一:“警告、通报批评”“罚款、没收违法所得、没收非法财物”“暂扣许可证件、降低资质等级、吊销许可证件、一定时期内不得申请行政许可”“限制开展生产经营活动、责令停产整治、责令停产停业、责令关闭、限制从业、禁止从业”“责令限期拆除”“行政拘留”“法律、行政法规规定的其他行政处罚种类”。7T/SZAEPI005—2024p)根据《生态环境行政处罚办法》,环境执法笔录的“笔录类型”填写内容应为以下内容之一:0、1(其中0表示勘验笔录,1表示现场笔录);行政处罚调查取证中的“证据类型”填写内容应为以下内容之一:01、02、03、04、05、06、07、08、99(其中01表示书证,02表示物证,03表示视听资料,04表示电子数据,05表示证人证言,06表示当事人的陈述,07表示鉴定意见,08表示勘验笔录或现场笔录,99表示其他)。q)根据DB4403/T164.1《行政执法监督数据规范第1部分:数据元》,行政处罚的“案件来源”填写内容应为以下内容之一:01、02、03、04、05、06、07、08、09、99。其中01表示行政检查(含日常检查和专项检查)属于双随机的,02表示投诉,03表示举报,04表示交办,05表示移送,06表示曝光,07表示媒体披露,08表示行政督查,09表示机构检测报告,99表示其他。r)根据HJ338《饮用水水源保护区划分技术规范》,排污单位“所在饮用水水源保护区级别”应符合填写内容应为以下内容之一:“饮用水水源一级保护区”“饮用水水源二级保护区”“饮用水水源准保护区”。s)根据《企业环境信用评价办法(试行)》的要求,信用评价中的“信用等级”填写内容应为以下内容之一:“环保诚信企业”“环保良好企业”“环保警示企业”“环保不良企业”;“评价发牌”填写内容应为以下内容之一:“绿牌”“蓝牌”“黄牌”“红牌”。t)根据《中华人民共和国环境保护税法》,环保税纳税申报中的“应税污染物类型”填写内容应为以下内容之一:“大气污染物”“水污染物”“固体废物”“噪声”。u)根据HJ941《企业突发环境事件风险分级方法》,应急预案的“风险等级”填写内容应为以下内容之一:“重大环境风险”“较大环境风险”“一般环境风险”。v)根据《深圳市突发事件应急预案管理办法》,政府及部门应急预案的“预案类型”填写内容应为以下内容之一:“总体应急预案”“专项应急预案”“部门应急预案”。w)根据HJ91.1《污水监测技术规范》,污染源废水手工监测的“采样方式”填写内容应为以下内容之一:“瞬时采样”“等时混合水样”“等比例混合水样”。x)根据GB18483《饮食业油烟排放标准(试行)》,涉废气饮食业单位监测中的“饮食业单位规模”填写内容应为以下内容之一:“大型”“中型”“小型”。y)根据《广东省机动车遥感监测管理系统联网规范(试行)》,涉废气监测机动车遥感监测的“点位类型”填写内容应为以下内容之一:“A”“B”“C”“D”(其中A表示垂直固定式,B表示水平固定式,C表示移动式,D表示黑烟车);机动车的“排放阶段”填写内容应为以下内容之一:0、1、2、3、4、5、6、9(其中0表示低于国I,1表示国I,2表示国II,3表示国III,4表示国IV,5表示国V,6表示国VI,9表示新能源“判定结果”填写内容应为以下内容之一:0、1、2(其中0表示不通过,1表示通过,2表示不判定);机动车的“车牌颜色”填写内容应为以下内容之一:0、1、2、3、4。其中0表示蓝牌,1表示黄牌,2表示白牌,3表示黑牌,4表示绿牌。z)根据DB4403/T333《夜间光环境区域限值》,光环境在线监测监控的“光环境区域”填写内容应为以下内容之一:“Ⅰ类”“Ⅱ类”“Ⅲ类”“Ⅳ类”。8T/SZAEPI005—20245.2数字型数据5.2.1数字型数据通用监控规则数字型数据通用的有效性监控规则包括但不限于以下内容。a)数字型数据应符合业务逻辑和实际需求,确保数据的有效性。例如:“总价”“年龄”为负数时应被视为无效数据。b)若一个数字型数据的数值变化,则与其有逻辑关系的数据数值应随之变化。例如:“总价”应随“单价”“数量”的数值变化而变化。c)数字型数据的值应符合特定的数值格式。例如:“邮政编码”应为六位数字。d)精度要求精确到小数点后的数字型数据,数据类型只能为浮点型。例如:“价格(元)”(如“12.34”)应使用float(单精度浮点型)或double(双精度浮点型)。e)精度要求为整数的数字型数据,数据类型只能为整数型。例如:“年龄”(如“25”)应使用int(整数型)。5.2.2数字型数据专用监控规则数字型数据专用的有效性监控规则包括但不限于以下内容。a)废水自动监测信息中水污染物CODCr、NH3-N、TP、TN的监测值应符合HJ356《水污染源在线监测系统(CODCr、NH3-N等)数据有效性判别技术规范》,当流量为零时,在线监测系统输出的监测值为无效数据;当水质自动分析仪、数据采集传输仪以及监控中心平台接收到的数据误差大于1%时,监控中心平台接收到的数据为无效数据。b)根据HJ356《水污染源在线监测系统(CODCr、NH3-N等)数据有效性判别技术规范》,监测值为零值、零点漂移限值范围内的负值或低于仪器检出限,并判断为有效数据时应采用修正后的值参与统计,修正规则为:CODCr修正值为2mg/L,NH3-N修正值为0.01mg/L,TP修正值为0.005mg,TN修正值为0.025mg/L。例如:CODCr的监测值低于仪器检出限时,系统中CODCr“监测值(mg/L)”应为“2”。c)根据HJ633《环境空气质量指数(AQI)技术规定(试行)》,“空气质量指数(AQI)”的数值应为0—500之间的整数。d)根据GB12348《工业企业厂界环境噪声标准》,工业企业的“厂界昼间噪声许可排放限值”“厂界夜间噪声许可排放限值”“厂界夜间频发噪声许可排放限值”“厂界夜间偶发噪声许可排放限值”等数字型数据的数值应在40—70范围内。e)系统中地理经度和纬度的数值应符合实际区域范围。例如:深圳市污染源的地理经度应在东经113°43′至114°38′之间(深圳区域经度范围深圳市污染源的地理纬度应在北纬22°24′至22°52′之间(深圳区域纬度范围)。f)根据《广东省清洁生产审核评估验收评分表》《深圳市清洁生产审核实施细则》,“企业评估得分”的数值应在0—100范围内。9T/SZAEPI005—2024g)根据《深圳市排污单位环境信用评价指标》,排污单位环境信用评价的“评价分数”的数值应为0—100之间的整数。h)根据《深圳市排污单位环境信用评价指标》,排污单位环境信用评价的单项“加分分值”的数值应为0—5之间的整数,总“加分分值”的数值应为0—20之间的整数;单项“扣分分值”的数值应为1—50之间的整数,总“扣分分值”的数值应为1—100之间的整数。i)根据DB4403/T333《夜间光环境区域限值》,深圳市光环境“眩光指数限值”Ⅰ类、Ⅱ类、Ⅲ类和Ⅳ类光环境区域的“眩光指数限值”的数值均小于等于50。5.3日期型数据5.3.1日期型数据通用监控规则日期型数据通用的有效性监控规则包括但不限于以下内容。a)日期型数据之间的时间前后逻辑关系应正确。b)日期型数据与其相关数据的逻辑关系应正确。c)已完成事项或任务的日期应在正常日期范围内,不晚于当前时间。5.3.2日期型数据专用监控规则日期型数据专用的有效性监控规则包括但不限于以下内容。a)环境影响评价中的“审批文号”,文号内年份应不晚于当前年份。b)根据《排污许可管理条例》,现行有效的排污许可证中的“发证日期”“有效期限开始日期”应在距当前时间过去5年内。c)现行有效的排污许可证中的“发证日期”应不早于“申请日期”;“审批日期”应不早于“申请日期”。d)移动执法中任务的“完成日期”应不早于任务的“生成日期”。e)环境违法行为的“完成整改日期”应不早于“开始整改日期”。f)行政处罚结案信息中的“结案日期”应不早于“立案日期”。g)行政处罚信息中的“批准文号”“处罚决定书文号”“不予行政处罚决定书文号”,文号内年份不晚于当前年份。h)行政处罚信息中的“立案号”“责改书文号”,文号内年份应不晚于当前年份。i)企业信用的“评价日期”“记录日期”应不早于企业“参评日期”。j)环境监测计划的“实施日期”应不早于计划“制定日期”。5.4日期时间型数据5.4.1日期时间型数据通用监控规则日期时间型数据通用的有效性监控规则包括但不限于以下内容。T/SZAEPI005—2024a)日期时间型数据之间的逻辑关系应正确。例如:“创建时间”应早于“更新时间”;“开始时间”应早于“结束时间”。b)日期时间型数据应在合理的范围内,避免超出预期的值。例如:“2024-02-30T17:14:32”是无效的日期时间。5.4.2日期时间型数据专用监控规则日期时间型数据专用的有效性监控规则包括但不限于以下内容。a)根据《突发环境事件应急管理办法》,突发环境事故报告的“接报时间”应早于“处理完成时b)根据《环境监测管理办法》,环境监测报告的“采样时间”应早于报告“生成时间”。T/SZAEPI005—2024(资料性)生态环境数据准确性监控方法示例A.1字符型数据监控方法通用监控规则示例:排污单位“所属街道”应在其“所属行政区”管辖范围内。#!/usr/bin/envpython3.9fromtypingimportList,Dict,Tuple,Uniondefcheck_region_street(record:Dict[str,str],region_field:str='所属辖区',street_field:str='所属街道')->Tuple[bool,str]:"""检查单个排污单位地址信息中所属街道是否在其所属行政区范围内。参数:record(Dict[str,str]):包含行政区和街道信息的字典。region_field(str):表示所属行政区的字段名,默认为“所属辖区”。street_field(str):表示所属街道的字段名,默认为“所属街道”。返回:Tuple[bool,str]:检查结果和错误信息(如果有的话)。"""#定义行政区和街道的对应关系。region_street_map={'罗湖区':['桂园街道','黄贝街道','东门街道','翠竹街道','南湖街道','笋岗街道','东湖街道','莲塘街道','东晓街道','清水河街道'],'福田区':['南园街道','园岭街道','福田街道','沙头街道','香蜜湖街道','梅林街道','莲花街道','华富街道','福保街道','华强北街道'],'南山区':['南头街道','南山街道','沙河街道','蛇口街道','招商街道','粤海街道','桃源街道','西丽街道','前海合作区'],'宝安区':['新安街道','西乡街道','航城街道','福永街道','福海街道','沙井街道','新桥街道','松岗街道','燕罗街道','石岩街道'],'龙岗区':['平湖街道','坪地街道','南湾街道','坂田街道','布吉街道','龙城街道','龙岗街道','横岗街道','吉华街道','宝龙街道','园山街道'],'盐田区':['梅沙街道','盐田街道','沙头角街道','海山街道'],'龙华区':['观湖街道','民治街道','龙华街道','大浪街道','福城街道'],'坪山区':['坪山街道','马峦街道','碧岭街道','石井街道','坑梓街道','龙田街道'],'光明区':['光明街道','公明街道','新湖街道','凤凰街道','玉塘街道','马田街道'],'大鹏新区':['葵涌街道','大鹏街道','南澳街道'],'深汕特别合作区':['小漠镇','鹅埠镇','赤石镇','鲘门镇']}T/SZAEPI005—2024region=record.get(region_field)street=record.get(street_field)#检查行政区和街道的对应关系。expected_streets=region_street_map.get(region)ifexpected_streetsisNone:returnFalse,f"未知的行政区'{region}'"ifstreetnotinexpected_streets:returnFalse,f"所属行政区'{region}'和所属街道'{street}'不匹配"returnTrue,"地址信息相符"defvalidate_records_region_street(records:List[Dict[str,Union[str,None]]],id_field:str='id',region_field:str='所属辖区',street_field:str='所属街道')->List[Tuple[str,bool]]:"""验证多个数据记录的地址信息是否正确。参数:records(List[Dict[str,Union[str,None]]]):包含多个记录的数据源,每个记录是一个字典。id_field(str):记录中表示唯一标识的字段名,默认为“id”。region_field(str):记录中表示所属行政区的字段名,默认为“所属辖区”。street_field(str):记录中表示所属街道的字段名,默认为“所属街道”。返回:List[Tuple[str,bool]]:每条记录的验证结果,格式为(记录ID,True/False),True表示地址信息相符,False表示不相符。"""forrecordinrecords:record_id=record.get(id_field)is_valid,_=check_region_street(record,region_field,street_field)results.append((record_id,is_valid))returnresults专用监控规则示例:根据HJ633《环境空气质量指数(AQI)技术规定(试行)》,“空气质量指数级别”应与“空气质量指数类别”对应。#!/usr/bin/envpython3.9fromtypingimportList,Dict,Tuple,UnionT/SZAEPI005—2024defvalidate_air_quality_index(records:List[Dict[str,Union[str,int,None]]],aqi_levels:Dict[int,str],id_field:str='id',aqi_level_field:str='aqi_level',aqi_category_field:str='aqi_category')->List[Tuple[str,bool]]:"""验证“空气质量指数级别”与“空气质量指数类别”是否根据HJ633标准对应。参数:records(List[Dict[str,Union[str,int,None]]]):包含记录的数据源。aqi_levels(Dict[int,str]):空气质量指数级别与类别的对应关系。id_field(str):记录中表示唯一标识的字段名,默认为“id”。aqi_level_field(str):记录中表示空气质量指数级别的字段名,默认为“aqi_level”。”aqi_category_field(str):记录中表示空气质量指数类别的字段名,默认为“aqi_category返回:”List[Tuple[str,bool]]:每条记录的验证结果,格式为(记录ID,True/False),True表示相符,False表示不相符。"""forrecordinrecords:record_id=record.get(id_field)aqi_level=record.get(aqi_level_field)aqi_category=record.get(aqi_category_field)ifnotisinstance(record_id,str)oraqi_levelisNoneoraqi_categoryisNone:#如果缺少必要的字段或记录ID无效,则认为该记录无效。results.append((record_idor"N/A",False))continue#获取对应空气质量指数级别的类别。category=aqi_levels.get(aqi_level)T/SZAEPI005—2024ifcategoryisNone:#如果找不到对应的类别,则认为不相符。results.append((record_id,False))continue#检查空气质量指数类别是否与对应的级别相符。results.append((record_id,aqi_category==category))returnresultsA.2数字型数据监控方法专用监控规则示例:固废的产废年报中的“上年底贮存量”与“本年底产生量”之和应等于本年度的“委外利用处置量”“自行利用处置量”“年底库存量”与“其他量”之和相等。#!/usr/bin/envpython3.9fromtypingimportDict,List,Tupledefvalidate_waste_report(report:Dict[str,float])->Tuple[bool,str]:"""验证固废产废年报中的规则:上年底贮存量+本年底产生量是否等于委外利用处置量+自行利用处置量+年底库存量+其他量。参数:report(Dict[str,float]):包含固废年报数据的字典,键为字段名,值为对应的数值。返回:Tuple[bool,str]:验证结果和描述信息。"""#提取所需的字段值。try:last_year_storage=report.get('last_year_storage',0)this_year_production=report.get('this_year_production',0)external_disposal=report.get('external_disposal',0)internal_disposal=report.get('internal_disposal',0)end_year_inventory=report.get('end_year_inventory',0)other=report.get('other',0)exceptAttributeError:returnFalse,"输入的数据格式不正确,请确保使用字典形式并包含所有必要的字段。"#计算左侧和右侧的总和。left_total=last_year_storage+this_year_productionright_total=external_disposal+internal_disposal+end_year_inventory+other#检查两者是否相等(考虑到浮点数精度问题,使用一个小阈值进行比较)。ifabs(left_total-right_total)<1e-6:returnTrue,f"验证通过:{left_total}=={right_total}"T/SZAEPI005—2024else:returnFalse,f"验证失败:{left_total}!={right_total}"A.3布尔型数据监控方法通用监控规则示例:若“是否成年”的值为“是”,则“年龄”需大于等于十八周岁。#!/usr/bin/envpython3.9fromtypingimportList,Dict,Tuple,Uniondefvalidate_age(record:Dict[str,Union[str,int,None]],is_adult_field:str='是否成年',age_field:str='年龄')->Tuple[bool,str]:"""验证“是否成年”的值为“是”时,“年龄”是否大于等于十八周岁。参数:record(Dict[str,Union[str,int,None]]):包含是否成年和年龄信息的字典。is_adult_field(str):表示是否成年的字段名,默认为“是否成年”。age_field(str):表示年龄的字段名,默认为“年龄”。返回:Tuple[bool,str]:检查结果和错误信息(如果有的话)。"""#检查是否缺少必要的字段。ifis_adult_fieldnotinrecordorage_fieldnotinrecord:missing_field=is_adult_fieldifis_adult_fieldnotinrecordelseage_fieldreturnFalse,f"缺少字段'{missing_field}'"is_adult=record.get(is_adult_field)age=record.get(age_field)#检查是否缺少必要的值或值是否为None。ifis_adultisNoneorageisNone:missing_field=is_adult_fieldifis_adultisNoneelseage_fieldreturnFalse,f"缺少有效的值'{missing_field}'"#检查是否成年字段的值是否有效。returnFalse,f"无效的'{is_adult_field}'值,应为'是'或'否'"#检查年龄是否为整数。ifnotisinstance(age,int):returnFalse,f"无效的'{age_field}'值,应为整数"#如果“是否成年”为“是”,检查年龄是否大于等于18。ifis_adult=='是':returnage>=18,"年龄不符合成年要求"ifage<18else"年龄符合成年要求"T/SZAEPI005—2024returnTrue,"非成年,不进行年龄验证"defvalidate_records_age(records:List[Dict[str,Union[str,int,None]]],id_field:str='id',is_adult_field:str='是否成年',age_field:str='年龄')->List[Tuple[str,bool]]:"""验证多个数据记录的年龄是否符合规则。参数:records(List[Dict[str,Union[str,int,None]]]):包含多个记录的数据源,每个记录是一个字典。id_field(str):记录中表示唯一标识的字段名,默认为'id'。is_adult_field(str):记录中表示是否成年的字段名,默认为'是否成年'。age_field(str):记录中表示年龄的字段名,默认为'年龄'。返回:List[Tuple[str,bool]]:每条记录的验证结果,格式为(记录ID,True/False),True表示年龄符合规则,False表示不符合。"""forrecordinrecords:#如果没有提供有效的记录ID,则认为该记录无效。record_id=record.get(id_field,"N/A")is_valid,error_msg=validate_age(record,is_adult_field,age_field)results.append((record_id,is_valid))returnresults专用监控规则示例:大气污染源“排放速率值”应与“排放速率是否达标”的判定结果相符。#!/usr/bin/envpython3.9fromtypingimportList,Dict,Tuple,Uniondefvalidate_emission_rate(record:Dict[str,Union[float,bool,None]],emission_rate_field:str='排放速率值',limit_field:str='许可排放速率限值',compliance_field:str='排放速率是否达标')->Tuple[bool,str]:"""验证“排放速率值”与“排放速率是否达标”的结果是否保持相符。参数:record(Dict[str,Union[float,bool,None]]):包含排放速率值、限值和达标信息的字典。T/SZAEPI005—2024emission_rate_field(str):表示排放速率值的字段名,默认为'排放速率值'。limit_field(str):表示许可排放速率限值的字段名,默认为'许可排放速率限值'。compliance_field(str):表示排放速率是否达标的字段名,默认为'排放速率是否达标'。返回:Tuple[bool,str]:检查结果和错误信息(如果有的话)。"""#检查是否缺少必要的字段。ifany(fieldnotinrecordforfieldin[emission_rate_field,limit_field,compliance_field]):missing_fields=[fieldforfieldin[emission_rate_field,limit_field,compliance_field]iffieldnotinrecord]returnFalse,f"缺少字段'{','.join(missing_fields)}'"emission_rate=record.get(emission_rate_field)limit=record.get(limit_field)is_compliant=record.get(compliance_field)#检查是否缺少必要的值或值是否为None。ifany(valueisNoneforvaluein[emission_rate,limit,is_compliant]):missing_values=[fieldforfield,valueinzip([emission_rate_field,limit_field,compliance_field],[emission_rate,limit,is_compliant])ifvalueisNone]returnFalse,f"缺少有效的值'{','.join(missing_values)}'"#检查类型是否正确。ifnotisinstance(emission_rate,(int,float))ornotisinstance(limit,(int,float))ornotisinstance(is_compliant,bool):type_errors=[]ifnotisinstance(emission_rate,(int,float)):type_errors.append(f"'{emission_rate_field}'应为数字")ifnotisinstance(limit,(int,float)):type_errors.append(f"'{limit_field}'应为数字")ifnotisinstance(is_compliant,bool):type_errors.append(f"'{compliance_field}'应为布尔值")returnFalse,",".join(type_errors)#计算实际的合规性。actual_compliance=emission_rate<=limit#比较计算结果与记录结果是否相符。ifactual_compliance==is_compliant:returnTrue,"排放速率值与排放速率是否达标的结果相符"else:returnFalse,"排放速率值与排放速率是否达标的结果不相符"T/SZAEPI005—2024defvalidate_records_emission_rate(records:List[Dict[str,Union[float,bool,None]]],id_field:str='id',emission_rate_field:str='排放速率值',limit_field:str='许可排放速率限值',compliance_field:str='排放速率是否达标')->List[Tuple[str,bool]]:"""验证多个数据记录的排放速率值与排放速率是否达标的结果是否保持相符。参数:records(List[Dict[str,Union[float,bool,None]]]):包含多个记录的数据源,每个记录是一个字典。id_field(str):记录中表示唯一标识的字段名,默认为“id”。emission_rate_field(str):记录中表示排放速率值的字段名,默认为“排放速率值”。limit_field(str):记录中表示许可排放速率限值的字段名,默认为“许可排放速率限值”。compliance_field(str):记录中表示排放速率是否达标的字段名,默认为“排放速率是否达标”。返回:List[Tuple[str,bool]]:每条记录的验证结果,格式为(记录ID,True/False),True表示排放速率符合规则,False表示不符合。"""forrecordinrecords:record_id=record.get(id_field,"N/A")#如果没有提供有效的记录ID,则认为该记录无效is_valid,error_msg=validate_emission_rate(record,emission_rate_field,limit_field,compliance_field)results.append((record_id,is_valid))returnresultsT/SZAEPI005—2024(资料性)生态环境数据有效性监控方法示例B.1字符型数据监控方法专用监控规则示例:按照HJ633的规定,“空气质量指数级别”只能填写“一级”“二级”“三#!/usr/bin/envpython3.9fromtypingimportList,Dict,Tuple,Uniondefvalidate_air_quality_index_level(record:Dict[str,Union[str,None]],level_field:str='空气质量指数级别')->Tuple[bool,str]:"""验证“空气质量指数级别”是否符合HJ633的规定。参数:record(Dict[str,Union[str,None]]):包含空气质量指数级别的字典。level_field(str):表示空气质量指数级别的字段名,默认为“空气质量指数级别”。返回:Tuple[bool,str]:检查结果和错误信息(如果有的话)。"""#检查是否缺少必要的字段。iflevel_fieldnotinrecord:returnFalse,f"缺少字段'{level_field}'"level=record.get(level_field)#检查是否缺少必要的值或值是否为None。iflevelisNone:returnFalse,f"缺少有效的值'{level_field}'"#定义合法的空气质量指数级别。valid_levels=["一级","二级","三级","四级","五级","六级"]#验证空气质量指数级别是否合法。iflevelinvalid_levels:returnTrue,"空气质量指数级别符合规定"else:returnFalse,"空气质量指数级别不符合规定"defvalidate_records_air_quality_index(T/SZAEPI005—2024records:List[Dict[str,Union[str,None]]],id_field:str='id',level_field:str='空气质量指数级别')->List[Tuple[str,bool]]:"""验证多个数据记录的空气质量指数级别是否符合HJ633的规定。参数:records(List[Dict[str,Union[str,None]]]):包含多个记录的数据源,每个记录是一个字典。id_field(str):记录中表示唯一标识的字段名,默认为“id”。level_field(str):记录中表示空气质量指数级别的字段名,默认为“空气质量指数级别”。返回:List[Tuple[str,bool]]:每条记录的验证结果,格式为(记录ID,True/False),True表示级别符合规则,False表示不符合。"""forrecordinrecords:#如果没有提供有效的记录ID,则认为该记录无效。record_id=record.get(id_field,"N/A")is_valid,error_msg=validate_air_quality_index_level(record,level_field)results.append((record_id,is_valid))returnresultsB.2数字型数据监控方法通用监控规则示例:数字型数据应符合业务逻辑和实际需求,确保数据的有效性。例如:“总价”“年龄”为负数时应被视为无效数据。#!/usr/bin/envpython3.9fromtypingimportList,Dict,Tuple,Uniondefvalidate_non_negative(record:Dict[str,Union[float,int,None]],value_field:str='数值')->Tuple[bool,str]:"""验证数值是否为非负数。参数:record(Dict[str,Union[float,int,None]]):包含要验证数值的字典。value_field(str):表示数值字段名,默认为'数值'。返回:Tuple[bool,str]:检查结果和错误信息(如果有的话)。"""T/SZAEPI005—2024#检查是否缺少必要的字段。ifvalue_fieldnotinrecord:returnFalse,f"缺少字段'{value_field}'"value=record.get(value_field)#检查是否缺少必要的值或值是否为None。ifvalueisNone:returnFalse,f"缺少有效的值'{value_field}'"#检查类型是否正确。ifnotisinstance(value,(int,float)):returnFalse,f"'{value_field}'应为数字"#验证数值是否为非负数。returnTrue,"数值为非负数"else:returnFalse,"数值为负数"defvalidate_records_non_negative(records:List[Dict[str,Union[float,int,None]]],id_field:str='id',value_field:str='数值')->List[Tuple[str,bool]]:"""验证多个数据记录的数值是否为非负数。参数:records(List[Dict[str,Union[float,int,None]]]):包含多个记录的数据源,每个记录是一个字典。id_field(str):记录中表示唯一标识的字段名,默认为“id”。value_field(str):记录中表示数值的字段名,默认为“数值”。返回:List[Tuple[str,bool]]:每条记录的验证结果,格式为(记录ID,True/False),True表示数值为非负数,False表示为负数。"""forrecordinrecords:#如果没有提供有效的记录ID,则认为该记录无效。record_id=record.get(id_field,"N/A")is_valid,error_msg=validate_non_negative(record,value_field)results.append((record_id,is_valid))returnresultsT/SZAEPI005—2024专用监控规则示例:根据《广东省清洁生产审核评估验“企业评估得分”的数值应在0-100范围内。#!/usr/bin/envpython3.9fromtypingimportList,Dict,Tupledefvalidate_assessment_score(assessment_data:List[Dict[str,float]])->List[Tuple[str,bool,str]]:"""验证企业评估得分是否在0-100范围内。参数:assessment_data(List[Dict[str,float]]):包含企业评估得分的数据列表,每个元素为字典形式,键为字段名,值为对应的数值。返回:List[Tuple[str,bool,str]]:每个验证结果的列表,格式为(企业名称,True/False,描述信息)。"""forentryinassessment_data:try:company_name=entry.get('company_name','Unknown')score=entry.get('assessment_score',None)ifscoreisNone:results.append((company_name,False,"评估得分缺失"))continue#检查评估得分是否在0到100范围内。results.append((company_name,True,f"评估得分{score}在0-100范围内"))else:results.append((company_name,False,f"评估得分{score}不在0-100范围内"))exceptAttributeError:results.append(('Unknown',False,"输入的数据格式不正确,请确保使用字典形式并包含所有必要的字段。"))returnresultsB.3日期型数据监控方法专用监控规则示例:行政处罚信息中的“处罚决定书文号”内的年份应不晚于当前年份。#!/usr/bin/envpython3.9T/SZAEPI005—2024fromtypingimportList,Dict,Tuple,Unionimportdatetimedefextract_year_from_case_number(case_number:str)->Union[int,None]:"""从处罚决定书文号字符串中提取年份。处罚决定书文号格式为:XXXX【年份】XX号,例如:深环南山罚字〔2021〕86号。参数:case_number(str):处罚决定书文号字符串。返回:intorNone:提取的年份,如果解析失败则返回None。"""try:ifnotisinstance(case_number,str):returnNonestart_index=case_number.find('〔')end_index=case_number.find('〕')#检查是否找到了起始和结束标记。ifstart_index==-1orend_index==-1orstart_index>=end_index:returnNoneyear_str=case_number[start_index+1:end_index]year=int(year_str)#额外检查以确保提取的是四位数的年份。iflen(year_str)!=4oryear<1900oryear>datetime.date.today().year:returnNonereturnyearexcept(ValueError,IndexError):returnNonedefpenalty_year_validity(record:Dict[str,Union[str,None]],case_number_field:str='处罚决定书文号')->Tuple[bool,str]:"""验证行政处罚业务中“处罚决定书文号”中的年份是否有效。参数:record(Dict[str,Union[str,None]]):包含处罚决定书文号信息的字典。case_number_fiel

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论