APP下载

国家水资源监控能力建设项目对象编码研究

2019-01-04王高旭吴永祥雷四华魏俊彪孔梦园

水利信息化 2018年6期
关键词:行政区划代码建设项目

王高旭 ,吴永祥 ,雷四华 ,魏俊彪 ,孔梦园

(1. 南京水利科学研究院水文水资源与水利工程科学国家重点实验室,江苏 南京 210029;2. 广东水利水电科学研究院,广东 广州 510610)

0 引言

为提高水资源管理综合能力,实现水资源管理向动态、精细、定量和科学管理的转变,加快水资源管理信息化建设进程,我国从 2012 年开始实施国家水资源监控能力建设项目[1]。该项目计划建立与用水总量、用水效率和水功能区限制纳污控制相适应的监控体系,建成水利部、流域与省三级水资源监控管理平台,形成与实行最严格水资源管理制度相适应的国家水资源监控能力,支撑水资源管理定量考核工作[1–2]。在该项目建设过程中,为实现水资源管理信息的存储、管理和交换,必须对数据库所存储的所有对象进行编码。依据国家水资源监控能力建设项目建设需求,在分析已有编码成果的基础上,研究提出国家水资源监控能力建设项目编码方案,可应用于各级系统的数据库和应用软件中信息的存储、检索、分析、输出及交换等,对实现各级系统的互联互通和数据共享具有重要意义。

1 已有编码标准规范的适用性分析

编码是将事物或概念(编码对象)赋予有一定规律性的、易于被计算机和人识别与处理的符号[3]。将对象引入数据库中后,每个对象在一定作用范围内应有唯一不变的代码。编码设计的主要目的是为数据的存储、查阅等提供统一对应关系,在数据库中的主要作用是实现记录在一定作用范围的唯一标识。目前,我国各行业都建立了许多关于代码编制规则或成果的标准规范,较好地满足了各行各业信息化的需求。与水资源管理相关的代码编制标准如表 1 所示。

上述代码编制相关的标准规范,可以归纳为 2 种类型:1)既有编码规则又有编码成果,例如组织机构、行政区划、河流和湖泊等代码。2)仅有编码规则但没有编码成果,例如 GB/T 33113—2016《水资源管理信息对象代码编制规范》和 SL 213—2012 《水利工程代码编制规范》标准中所列的各类对象。

在分析已有的编码规则和代码成果的基础上,从国家水资源监控能力建设项目需求及建设管理方式考虑,现有成果在该项目的适用性方面主要存在以下不足:

1)已有标准规范的编码对象尚不能完全涵盖国家水资源监控能力建设项目涉及的对象。例如国家水资源监控能力建设项目中的取用水户、取用水测站、地表水和地下水水源地、污水处理厂、入河排污口、水功能区界碑等许多对象并没现成的编码规则或代码成果。

表 1 水资源管理相关代码编制标准

2)部分具有代码成果的对象,代码成果的覆盖面不能满足国家水资源监控能力建设项目的要求。比如水库代码主要包含了我国大型和中型水库的代码成果,对数量最多的小型水库没有编码成果。该代码标准于 2000 年颁布后并未修订过,因此也无法提供 2000 年之后新建水库的代码。

3)仅有编码规则或者代码成果覆盖面不够的对象编码规则,许多都使用了流域水系属性字段,需要进行在全国或流域范围内统一编码以避免重码。国家水资源监控能力建设项目对象的入库主要由各省级行政区水利部门负责完成,在全国或流域范围内进行统一编码显然不能适应该项目建设的实际情况,不利于数据对象实体记录的扩充。

4)现有许多对象的编码规则在代码组成中添加了对象属性字段,导致每个对象的实体记录编码时都需要人工判别属性字段,无法实现自动编码,不符合项目建设的要求。比如 SL 213—2012《水利工程代码编制规范》中,机电排灌站代码最后 1 位数字表示“机电排灌站类别”,河道断面代码最后 1 位数字表示“断面位置”等。需要在数据库中体现的对象属性可以作为 1 个字段放在数据库表中,这样既可以提高编码的效率,也更有利于信息的检索。

除了已经颁布的标准规范外,2013 年完成的第一次全国水利普查中也对河湖水系、各类水利工程进行了编码[4]。对于工程类对象,水利普查编码成果的编码方式统一是 6 位行政区划代码加 6 位顺序号,共 12 位字符[5]。由于水利普查工作的编码对象数量较为全面,且容易扩充。国家水资源监控能力建设项目的基础信息数据主要来自第一次全国水利普查数据,故对于项目中涉及的河湖水系和水利工程对象可以采用水利普查的代码成果,这样有利于保持对象编码的一致性,并且减少了水资源管理数据库的编码工作量。

2 编码要求

2.1 总体要求

根据以上分析,目前已建相关数据库标准中的对象无法涵盖国家水资源监控能力建设项目涉及到的水资源管理对象,并且已有部分对象的编码无法满足项目建设的需要,因此需要对国家水资源监控能力建设项目的对象编码进行设计研究。对于国家水资源监控能力建设项目中采用的编码,应该满足继承性、适用性、可扩展性和可操作性的要求[6]。继承性是指水资源管理数据库的编码要尽量继承已有的编码规则或成果,充分利用已有成果;适用性是指引用已有的编码规则或成果要能满足本项目数据库建设的需求,对有矛盾、不适用的编码规则或代码成果进行重新编制;可扩展性是指引用的或新建的编码规则要具有可扩展性,在编码对象实体增加的情况下可以延续编码;可操作性是指编码规则具有实际的操作意义,在编码的工作量、难度等方面是合理可行的。综合考虑以上因素,国家水资源监控能力建设项目对象编码包括以下 3 类来源:

1)已有编码规则和成果,且编码对象数量相对稳定的,则采用已有编码成果。例如河流、湖泊和流域统一采用第一次全国水利普查既有的编码成果,水利普查中的河湖基本情况普查是目前关于河流和湖泊的最新、最全面的成果[4–5],在国家水资源监控能力建设项目中引用水利普查的代码成果是可行的。

2)已有大范围应用的编码规则和成果,但编码对象数量不稳定,如果原有规则能够保证不通过统一编码就可以顺利增加对象,则采用已有编码规则和成果。例如行政区划、组织机构、水文测站的代码等都参照已有的代码标准规范进行编制。

3)其他需要重新制定编码规则的对象,其编码规则应简单可操作,尽量保证可以自动编码。

2.2 编码原则

根据水资源监控能力建设项目所管理信息和数据模型的特点,应将需要编码的内容分为对象和属性 2 类。对象对应于水资源管理中涉及的具体实体。属性对应于对象的某一类具体特征,设定为限制选择的枚举型,即每类属性枚举项小于 10 的对应于从 1 开始顺序编码的 1 个数字,枚举项为 2 位的从 01 开始,以此类推。属性类字段的枚举代码较为简单,在本文中就不展开讨论。综合以上要求,提出以下项目对象类编码的原则:

1)对于已有编码规则或代码成果的信息,若其规则或成果满足本项目建设需求,则直接使用已有的规则或成果。对于新增加的对象,在原有编码成果基础上按已有的规则继续编码。

2)代码应保证唯一性,每个编码对象或属性有且仅有 1 个代码,在同一对象类内 1 个代码只能标识 1 个编码对象或属性。

3)代码应具备可扩展性,能够方便地增加同一类对象或属性的代码。

4)代码应简便、易行,属性类别应尽量分拆到最小分类,应尽量避免不同分类的组合代码。

5)代码元素优先采用阿拉伯数字字符,当阿拉伯数字不足以表达时,可按照 A,B,C,… 的顺序使用大写英文字母(其中字母 I,O,Z 舍弃不用)。

6)因任何原因造成某一具体对象的属性修改,原初始代码不得修改;具体对象灭失时,在对象类内其代码不得重新赋值使用。

3 对象编码设计及应用情况

3.1 编码方案

根据国家水资源监控能力建设项目数据入库的需求分析,确定该项目共需要对 97 个对象进行编码。其中有 9 个对象引用已有国家和水利行业标准规范的水资源管理对象编码,有 17 个对象采用第一次全国水利普查的编码成果;有 71 个没有现成编码规则和代码成果,需要制定编码规则来编制代码。

根据上述编码原则,根据不同编码对象的特点,确定了 3 种编码方式:1)基于县级行政区划代码进行编码;2)基于单位组织机构代码进行编码;3)基于流域代码进行编码。

这 3 种编码方式分析如下:

1)基于行政区划代码进行编码。这是本项目中采用最多的一种编码方式,适用于各类工程、各级水资源管理部门文件(包括各类方案、规划、计划、总结、年报、公报)等,如大坝、水功能区界碑、地下水水源地、水量调度计划、水量调度总结、突发事件处置报告书和水资源公报等对象。编码时采用 GB/T 2260—2013《中华人民共和国行政区划代码》的县级行政区划代码加顺序码的方式,文件类对象也可根据需要加上编制年份。如果行政区划进行了调整,需要根据新的行政区划更新编码,并且通过关系表来建立行政区划调整前后对象实体间的映射关系。跨行政区的对象(主要是各类工程),采用上一级行政区划代码;跨省级行政区的对象,约定使用 888888。以地下水水源地为例说明基于行政区划代码进行编码的规则:地下水水源地代码由 12 位数字表示,其代码格式为PPRRCCNNNNNN;PPRRCC 为 6 位数字,是地下水水源地所在县级行政区划代码;NNNNNN 为地下水水源地在所属行政区中的顺序编号,取值范围为000001~999999。

2)基于单位组织机构代码进行编码。这种编码方式主要用于涉水组织机构及由其完成的相关文件,如取用水户、自来水厂、污水处理厂、水资源费项目、企业水平衡测试报告书、用水统计报表等对象。编码时采用 GB/T 11714—1997《全国组织机构代码编制规则》加顺序码的方式,项目或文件类对象可根据需要加上编制年份。组织机构代码的应用跟行政区划代码的应用类似,也有产生和消亡的过程,可以通过关系表实现调整前后的映射关系。以水资源费项目为例说明基于行政区划代码进行编码的规则:水资源费项目代码应由 16 位数字或大写英文字母表示,代码格式为AAAAAAAAAYYYYNNN;AAAAAAAAA 为 9 位数字或大写英文字母,表示水资源费项目承担单位的组织机构代码;YYYY 为 4 位数字,表示水资源费项目的开始年份;NNN 为 3 位数字,表示水资源费项目的顺序编号,取值范围为 001~999。

3)基于流域代码进行编码。这类编码的对象较少,仅适用于数目相对稳定的自然类对象,需要进行统一编码。该项目中主要有水系岸线、水系轴线、水文地质单元、地下水降落漏斗等 4 个自然类对象。编码时采用水利普查时的流域代码成果加顺序码的方式。以水系岸线为例说明基于流域代码进行编码的规则:水系岸线代码由 16 位数字或字母表示,代码格式为 BTFFFFFFFFFYNNNN;BTFFFFFFFFFY 为 12 位数字或字母,表示包含此水系岸线的最小流域代码;NNNN 为水系岸线在最小流域内的顺序编号,取值范围为 0001~9999。

3.2 应用情况

本编码技术规定在 2013 年发布了第 1 版,在全国 40 个监控能力建设节点中得到了广泛的应用[7]。2016 年,国家水资源监控能力建设项目办公室组织开展了项目标准应用情况的调研,共收集到 23 个建设节点的反馈意见。23 个建设节点均完全采纳了本编码方案,调研结果表明本编码方案在国家水资源监控能力建设项目中得到了充分应用,对实现各级系统的互联互通和数据共享发挥了重要作用[8–9]。通过调研,也发现了一些需要改进的问题。比如本编码方案中水功能区对象仅包括了《全国重要江河湖泊水功能区划(2011—2030)》中所列的重要水功能区,考虑地方需求应增加省级水功能区对象及其编码规则;2015 年,我国开始使用统一社会信用代码[10],本标准涉及法人及其他组织的代码之处均应做一定的协调或修改。这些问题在本技术规定的修订版本中已进行了修改。

4 结语

国家水资源监控能力建设项目涉及的对象众多,类别复杂,对其进行合理的编码是一项重要的基础工作。依据国家水资源监控能力建设项目建设需求,在分析已有编码成果的基础上,研究提出了国家水资源监控能力建设项目对象的编码方案。该方案充分考虑了已有标准规范和水利普查的编码成果在本项目中的适用性,继续延用满足本项目建设需求的编码规则和代码成果。对已有成果尚未涵盖的对象,研究提出了编码方案。新编代码不包含特定业务语义,主要采用基本码加顺序码的方式,绝大多数对象都可以实现自动编码,满足对象实体数量不断增加的需求。该编码方案已在国家水资源监控能力建设项目中得到应用,有效支撑了数据库系统的建设和应用系统的开发,可为类似多层级、多建设主体的大型信息化系统建设提供编码方案方面的借鉴。

猜你喜欢

行政区划代码建设项目
基于环保竣工验收对建设项目环评的分析
推动工程建设项目“非禁即入”普遍落实
创世代码
创世代码
创世代码
创世代码
中国行政区划的前世今生
河北省行政区划
做好对重大建设项目的监督
河北省行政区划