王高旭 ,吳永祥 ,雷四華 ,魏俊彪 ,孔夢(mèng)園
(1. 南京水利科學(xué)研究院水文水資源與水利工程科學(xué)國(guó)家重點(diǎn)實(shí)驗(yàn)室,江蘇 南京 210029;2. 廣東水利水電科學(xué)研究院,廣東 廣州 510610)
為提高水資源管理綜合能力,實(shí)現(xiàn)水資源管理向動(dòng)態(tài)、精細(xì)、定量和科學(xué)管理的轉(zhuǎn)變,加快水資源管理信息化建設(shè)進(jìn)程,我國(guó)從 2012 年開(kāi)始實(shí)施國(guó)家水資源監(jiān)控能力建設(shè)項(xiàng)目[1]。該項(xiàng)目計(jì)劃建立與用水總量、用水效率和水功能區(qū)限制納污控制相適應(yīng)的監(jiān)控體系,建成水利部、流域與省三級(jí)水資源監(jiān)控管理平臺(tái),形成與實(shí)行最嚴(yán)格水資源管理制度相適應(yīng)的國(guó)家水資源監(jiān)控能力,支撐水資源管理定量考核工作[1–2]。在該項(xiàng)目建設(shè)過(guò)程中,為實(shí)現(xiàn)水資源管理信息的存儲(chǔ)、管理和交換,必須對(duì)數(shù)據(jù)庫(kù)所存儲(chǔ)的所有對(duì)象進(jìn)行編碼。依據(jù)國(guó)家水資源監(jiān)控能力建設(shè)項(xiàng)目建設(shè)需求,在分析已有編碼成果的基礎(chǔ)上,研究提出國(guó)家水資源監(jiān)控能力建設(shè)項(xiàng)目編碼方案,可應(yīng)用于各級(jí)系統(tǒng)的數(shù)據(jù)庫(kù)和應(yīng)用軟件中信息的存儲(chǔ)、檢索、分析、輸出及交換等,對(duì)實(shí)現(xiàn)各級(jí)系統(tǒng)的互聯(lián)互通和數(shù)據(jù)共享具有重要意義。
編碼是將事物或概念(編碼對(duì)象)賦予有一定規(guī)律性的、易于被計(jì)算機(jī)和人識(shí)別與處理的符號(hào)[3]。將對(duì)象引入數(shù)據(jù)庫(kù)中后,每個(gè)對(duì)象在一定作用范圍內(nèi)應(yīng)有唯一不變的代碼。編碼設(shè)計(jì)的主要目的是為數(shù)據(jù)的存儲(chǔ)、查閱等提供統(tǒng)一對(duì)應(yīng)關(guān)系,在數(shù)據(jù)庫(kù)中的主要作用是實(shí)現(xiàn)記錄在一定作用范圍的唯一標(biāo)識(shí)。目前,我國(guó)各行業(yè)都建立了許多關(guān)于代碼編制規(guī)則或成果的標(biāo)準(zhǔn)規(guī)范,較好地滿足了各行各業(yè)信息化的需求。與水資源管理相關(guān)的代碼編制標(biāo)準(zhǔn)如表 1 所示。
上述代碼編制相關(guān)的標(biāo)準(zhǔn)規(guī)范,可以歸納為 2 種類型:1)既有編碼規(guī)則又有編碼成果,例如組織機(jī)構(gòu)、行政區(qū)劃、河流和湖泊等代碼。2)僅有編碼規(guī)則但沒(méi)有編碼成果,例如 GB/T 33113—2016《水資源管理信息對(duì)象代碼編制規(guī)范》和 SL 213—2012 《水利工程代碼編制規(guī)范》標(biāo)準(zhǔn)中所列的各類對(duì)象。
在分析已有的編碼規(guī)則和代碼成果的基礎(chǔ)上,從國(guó)家水資源監(jiān)控能力建設(shè)項(xiàng)目需求及建設(shè)管理方式考慮,現(xiàn)有成果在該項(xiàng)目的適用性方面主要存在以下不足:
1)已有標(biāo)準(zhǔn)規(guī)范的編碼對(duì)象尚不能完全涵蓋國(guó)家水資源監(jiān)控能力建設(shè)項(xiàng)目涉及的對(duì)象。例如國(guó)家水資源監(jiān)控能力建設(shè)項(xiàng)目中的取用水戶、取用水測(cè)站、地表水和地下水水源地、污水處理廠、入河排污口、水功能區(qū)界碑等許多對(duì)象并沒(méi)現(xiàn)成的編碼規(guī)則或代碼成果。
表 1 水資源管理相關(guān)代碼編制標(biāo)準(zhǔn)
2)部分具有代碼成果的對(duì)象,代碼成果的覆蓋面不能滿足國(guó)家水資源監(jiān)控能力建設(shè)項(xiàng)目的要求。比如水庫(kù)代碼主要包含了我國(guó)大型和中型水庫(kù)的代碼成果,對(duì)數(shù)量最多的小型水庫(kù)沒(méi)有編碼成果。該代碼標(biāo)準(zhǔn)于 2000 年頒布后并未修訂過(guò),因此也無(wú)法提供 2000 年之后新建水庫(kù)的代碼。
3)僅有編碼規(guī)則或者代碼成果覆蓋面不夠的對(duì)象編碼規(guī)則,許多都使用了流域水系屬性字段,需要進(jìn)行在全國(guó)或流域范圍內(nèi)統(tǒng)一編碼以避免重碼。國(guó)家水資源監(jiān)控能力建設(shè)項(xiàng)目對(duì)象的入庫(kù)主要由各省級(jí)行政區(qū)水利部門(mén)負(fù)責(zé)完成,在全國(guó)或流域范圍內(nèi)進(jìn)行統(tǒng)一編碼顯然不能適應(yīng)該項(xiàng)目建設(shè)的實(shí)際情況,不利于數(shù)據(jù)對(duì)象實(shí)體記錄的擴(kuò)充。
4)現(xiàn)有許多對(duì)象的編碼規(guī)則在代碼組成中添加了對(duì)象屬性字段,導(dǎo)致每個(gè)對(duì)象的實(shí)體記錄編碼時(shí)都需要人工判別屬性字段,無(wú)法實(shí)現(xiàn)自動(dòng)編碼,不符合項(xiàng)目建設(shè)的要求。比如 SL 213—2012《水利工程代碼編制規(guī)范》中,機(jī)電排灌站代碼最后 1 位數(shù)字表示“機(jī)電排灌站類別”,河道斷面代碼最后 1 位數(shù)字表示“斷面位置”等。需要在數(shù)據(jù)庫(kù)中體現(xiàn)的對(duì)象屬性可以作為 1 個(gè)字段放在數(shù)據(jù)庫(kù)表中,這樣既可以提高編碼的效率,也更有利于信息的檢索。
除了已經(jīng)頒布的標(biāo)準(zhǔn)規(guī)范外,2013 年完成的第一次全國(guó)水利普查中也對(duì)河湖水系、各類水利工程進(jìn)行了編碼[4]。對(duì)于工程類對(duì)象,水利普查編碼成果的編碼方式統(tǒng)一是 6 位行政區(qū)劃代碼加 6 位順序號(hào),共 12 位字符[5]。由于水利普查工作的編碼對(duì)象數(shù)量較為全面,且容易擴(kuò)充。國(guó)家水資源監(jiān)控能力建設(shè)項(xiàng)目的基礎(chǔ)信息數(shù)據(jù)主要來(lái)自第一次全國(guó)水利普查數(shù)據(jù),故對(duì)于項(xiàng)目中涉及的河湖水系和水利工程對(duì)象可以采用水利普查的代碼成果,這樣有利于保持對(duì)象編碼的一致性,并且減少了水資源管理數(shù)據(jù)庫(kù)的編碼工作量。
根據(jù)以上分析,目前已建相關(guān)數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)中的對(duì)象無(wú)法涵蓋國(guó)家水資源監(jiān)控能力建設(shè)項(xiàng)目涉及到的水資源管理對(duì)象,并且已有部分對(duì)象的編碼無(wú)法滿足項(xiàng)目建設(shè)的需要,因此需要對(duì)國(guó)家水資源監(jiān)控能力建設(shè)項(xiàng)目的對(duì)象編碼進(jìn)行設(shè)計(jì)研究。對(duì)于國(guó)家水資源監(jiān)控能力建設(shè)項(xiàng)目中采用的編碼,應(yīng)該滿足繼承性、適用性、可擴(kuò)展性和可操作性的要求[6]。繼承性是指水資源管理數(shù)據(jù)庫(kù)的編碼要盡量繼承已有的編碼規(guī)則或成果,充分利用已有成果;適用性是指引用已有的編碼規(guī)則或成果要能滿足本項(xiàng)目數(shù)據(jù)庫(kù)建設(shè)的需求,對(duì)有矛盾、不適用的編碼規(guī)則或代碼成果進(jìn)行重新編制;可擴(kuò)展性是指引用的或新建的編碼規(guī)則要具有可擴(kuò)展性,在編碼對(duì)象實(shí)體增加的情況下可以延續(xù)編碼;可操作性是指編碼規(guī)則具有實(shí)際的操作意義,在編碼的工作量、難度等方面是合理可行的。綜合考慮以上因素,國(guó)家水資源監(jiān)控能力建設(shè)項(xiàng)目對(duì)象編碼包括以下 3 類來(lái)源:
1)已有編碼規(guī)則和成果,且編碼對(duì)象數(shù)量相對(duì)穩(wěn)定的,則采用已有編碼成果。例如河流、湖泊和流域統(tǒng)一采用第一次全國(guó)水利普查既有的編碼成果,水利普查中的河湖基本情況普查是目前關(guān)于河流和湖泊的最新、最全面的成果[4–5],在國(guó)家水資源監(jiān)控能力建設(shè)項(xiàng)目中引用水利普查的代碼成果是可行的。
2)已有大范圍應(yīng)用的編碼規(guī)則和成果,但編碼對(duì)象數(shù)量不穩(wěn)定,如果原有規(guī)則能夠保證不通過(guò)統(tǒng)一編碼就可以順利增加對(duì)象,則采用已有編碼規(guī)則和成果。例如行政區(qū)劃、組織機(jī)構(gòu)、水文測(cè)站的代碼等都參照已有的代碼標(biāo)準(zhǔn)規(guī)范進(jìn)行編制。
3)其他需要重新制定編碼規(guī)則的對(duì)象,其編碼規(guī)則應(yīng)簡(jiǎn)單可操作,盡量保證可以自動(dòng)編碼。
根據(jù)水資源監(jiān)控能力建設(shè)項(xiàng)目所管理信息和數(shù)據(jù)模型的特點(diǎn),應(yīng)將需要編碼的內(nèi)容分為對(duì)象和屬性 2 類。對(duì)象對(duì)應(yīng)于水資源管理中涉及的具體實(shí)體。屬性對(duì)應(yīng)于對(duì)象的某一類具體特征,設(shè)定為限制選擇的枚舉型,即每類屬性枚舉項(xiàng)小于 10 的對(duì)應(yīng)于從 1 開(kāi)始順序編碼的 1 個(gè)數(shù)字,枚舉項(xiàng)為 2 位的從 01 開(kāi)始,以此類推。屬性類字段的枚舉代碼較為簡(jiǎn)單,在本文中就不展開(kāi)討論。綜合以上要求,提出以下項(xiàng)目對(duì)象類編碼的原則:
1)對(duì)于已有編碼規(guī)則或代碼成果的信息,若其規(guī)則或成果滿足本項(xiàng)目建設(shè)需求,則直接使用已有的規(guī)則或成果。對(duì)于新增加的對(duì)象,在原有編碼成果基礎(chǔ)上按已有的規(guī)則繼續(xù)編碼。
2)代碼應(yīng)保證唯一性,每個(gè)編碼對(duì)象或?qū)傩杂星覂H有 1 個(gè)代碼,在同一對(duì)象類內(nèi) 1 個(gè)代碼只能標(biāo)識(shí) 1 個(gè)編碼對(duì)象或?qū)傩浴?/p>
3)代碼應(yīng)具備可擴(kuò)展性,能夠方便地增加同一類對(duì)象或?qū)傩缘拇a。
4)代碼應(yīng)簡(jiǎn)便、易行,屬性類別應(yīng)盡量分拆到最小分類,應(yīng)盡量避免不同分類的組合代碼。
5)代碼元素優(yōu)先采用阿拉伯?dāng)?shù)字字符,當(dāng)阿拉伯?dāng)?shù)字不足以表達(dá)時(shí),可按照 A,B,C,… 的順序使用大寫(xiě)英文字母(其中字母 I,O,Z 舍棄不用)。
6)因任何原因造成某一具體對(duì)象的屬性修改,原初始代碼不得修改;具體對(duì)象滅失時(shí),在對(duì)象類內(nèi)其代碼不得重新賦值使用。
根據(jù)國(guó)家水資源監(jiān)控能力建設(shè)項(xiàng)目數(shù)據(jù)入庫(kù)的需求分析,確定該項(xiàng)目共需要對(duì) 97 個(gè)對(duì)象進(jìn)行編碼。其中有 9 個(gè)對(duì)象引用已有國(guó)家和水利行業(yè)標(biāo)準(zhǔn)規(guī)范的水資源管理對(duì)象編碼,有 17 個(gè)對(duì)象采用第一次全國(guó)水利普查的編碼成果;有 71 個(gè)沒(méi)有現(xiàn)成編碼規(guī)則和代碼成果,需要制定編碼規(guī)則來(lái)編制代碼。
根據(jù)上述編碼原則,根據(jù)不同編碼對(duì)象的特點(diǎn),確定了 3 種編碼方式:1)基于縣級(jí)行政區(qū)劃代碼進(jìn)行編碼;2)基于單位組織機(jī)構(gòu)代碼進(jìn)行編碼;3)基于流域代碼進(jìn)行編碼。
這 3 種編碼方式分析如下:
1)基于行政區(qū)劃代碼進(jìn)行編碼。這是本項(xiàng)目中采用最多的一種編碼方式,適用于各類工程、各級(jí)水資源管理部門(mén)文件(包括各類方案、規(guī)劃、計(jì)劃、總結(jié)、年報(bào)、公報(bào))等,如大壩、水功能區(qū)界碑、地下水水源地、水量調(diào)度計(jì)劃、水量調(diào)度總結(jié)、突發(fā)事件處置報(bào)告書(shū)和水資源公報(bào)等對(duì)象。編碼時(shí)采用 GB/T 2260—2013《中華人民共和國(guó)行政區(qū)劃代碼》的縣級(jí)行政區(qū)劃代碼加順序碼的方式,文件類對(duì)象也可根據(jù)需要加上編制年份。如果行政區(qū)劃進(jìn)行了調(diào)整,需要根據(jù)新的行政區(qū)劃更新編碼,并且通過(guò)關(guān)系表來(lái)建立行政區(qū)劃調(diào)整前后對(duì)象實(shí)體間的映射關(guān)系??缧姓^(qū)的對(duì)象(主要是各類工程),采用上一級(jí)行政區(qū)劃代碼;跨省級(jí)行政區(qū)的對(duì)象,約定使用 888888。以地下水水源地為例說(shuō)明基于行政區(qū)劃代碼進(jìn)行編碼的規(guī)則:地下水水源地代碼由 12 位數(shù)字表示,其代碼格式為PPRRCCNNNNNN;PPRRCC 為 6 位數(shù)字,是地下水水源地所在縣級(jí)行政區(qū)劃代碼;NNNNNN 為地下水水源地在所屬行政區(qū)中的順序編號(hào),取值范圍為000001~999999。
2)基于單位組織機(jī)構(gòu)代碼進(jìn)行編碼。這種編碼方式主要用于涉水組織機(jī)構(gòu)及由其完成的相關(guān)文件,如取用水戶、自來(lái)水廠、污水處理廠、水資源費(fèi)項(xiàng)目、企業(yè)水平衡測(cè)試報(bào)告書(shū)、用水統(tǒng)計(jì)報(bào)表等對(duì)象。編碼時(shí)采用 GB/T 11714—1997《全國(guó)組織機(jī)構(gòu)代碼編制規(guī)則》加順序碼的方式,項(xiàng)目或文件類對(duì)象可根據(jù)需要加上編制年份。組織機(jī)構(gòu)代碼的應(yīng)用跟行政區(qū)劃代碼的應(yīng)用類似,也有產(chǎn)生和消亡的過(guò)程,可以通過(guò)關(guān)系表實(shí)現(xiàn)調(diào)整前后的映射關(guān)系。以水資源費(fèi)項(xiàng)目為例說(shuō)明基于行政區(qū)劃代碼進(jìn)行編碼的規(guī)則:水資源費(fèi)項(xiàng)目代碼應(yīng)由 16 位數(shù)字或大寫(xiě)英文字母表示,代碼格式為AAAAAAAAAYYYYNNN;AAAAAAAAA 為 9 位數(shù)字或大寫(xiě)英文字母,表示水資源費(fèi)項(xiàng)目承擔(dān)單位的組織機(jī)構(gòu)代碼;YYYY 為 4 位數(shù)字,表示水資源費(fèi)項(xiàng)目的開(kāi)始年份;NNN 為 3 位數(shù)字,表示水資源費(fèi)項(xiàng)目的順序編號(hào),取值范圍為 001~999。
3)基于流域代碼進(jìn)行編碼。這類編碼的對(duì)象較少,僅適用于數(shù)目相對(duì)穩(wěn)定的自然類對(duì)象,需要進(jìn)行統(tǒng)一編碼。該項(xiàng)目中主要有水系岸線、水系軸線、水文地質(zhì)單元、地下水降落漏斗等 4 個(gè)自然類對(duì)象。編碼時(shí)采用水利普查時(shí)的流域代碼成果加順序碼的方式。以水系岸線為例說(shuō)明基于流域代碼進(jìn)行編碼的規(guī)則:水系岸線代碼由 16 位數(shù)字或字母表示,代碼格式為 BTFFFFFFFFFYNNNN;BTFFFFFFFFFY 為 12 位數(shù)字或字母,表示包含此水系岸線的最小流域代碼;NNNN 為水系岸線在最小流域內(nèi)的順序編號(hào),取值范圍為 0001~9999。
本編碼技術(shù)規(guī)定在 2013 年發(fā)布了第 1 版,在全國(guó) 40 個(gè)監(jiān)控能力建設(shè)節(jié)點(diǎn)中得到了廣泛的應(yīng)用[7]。2016 年,國(guó)家水資源監(jiān)控能力建設(shè)項(xiàng)目辦公室組織開(kāi)展了項(xiàng)目標(biāo)準(zhǔn)應(yīng)用情況的調(diào)研,共收集到 23 個(gè)建設(shè)節(jié)點(diǎn)的反饋意見(jiàn)。23 個(gè)建設(shè)節(jié)點(diǎn)均完全采納了本編碼方案,調(diào)研結(jié)果表明本編碼方案在國(guó)家水資源監(jiān)控能力建設(shè)項(xiàng)目中得到了充分應(yīng)用,對(duì)實(shí)現(xiàn)各級(jí)系統(tǒng)的互聯(lián)互通和數(shù)據(jù)共享發(fā)揮了重要作用[8–9]。通過(guò)調(diào)研,也發(fā)現(xiàn)了一些需要改進(jìn)的問(wèn)題。比如本編碼方案中水功能區(qū)對(duì)象僅包括了《全國(guó)重要江河湖泊水功能區(qū)劃(2011—2030)》中所列的重要水功能區(qū),考慮地方需求應(yīng)增加省級(jí)水功能區(qū)對(duì)象及其編碼規(guī)則;2015 年,我國(guó)開(kāi)始使用統(tǒng)一社會(huì)信用代碼[10],本標(biāo)準(zhǔn)涉及法人及其他組織的代碼之處均應(yīng)做一定的協(xié)調(diào)或修改。這些問(wèn)題在本技術(shù)規(guī)定的修訂版本中已進(jìn)行了修改。
國(guó)家水資源監(jiān)控能力建設(shè)項(xiàng)目涉及的對(duì)象眾多,類別復(fù)雜,對(duì)其進(jìn)行合理的編碼是一項(xiàng)重要的基礎(chǔ)工作。依據(jù)國(guó)家水資源監(jiān)控能力建設(shè)項(xiàng)目建設(shè)需求,在分析已有編碼成果的基礎(chǔ)上,研究提出了國(guó)家水資源監(jiān)控能力建設(shè)項(xiàng)目對(duì)象的編碼方案。該方案充分考慮了已有標(biāo)準(zhǔn)規(guī)范和水利普查的編碼成果在本項(xiàng)目中的適用性,繼續(xù)延用滿足本項(xiàng)目建設(shè)需求的編碼規(guī)則和代碼成果。對(duì)已有成果尚未涵蓋的對(duì)象,研究提出了編碼方案。新編代碼不包含特定業(yè)務(wù)語(yǔ)義,主要采用基本碼加順序碼的方式,絕大多數(shù)對(duì)象都可以實(shí)現(xiàn)自動(dòng)編碼,滿足對(duì)象實(shí)體數(shù)量不斷增加的需求。該編碼方案已在國(guó)家水資源監(jiān)控能力建設(shè)項(xiàng)目中得到應(yīng)用,有效支撐了數(shù)據(jù)庫(kù)系統(tǒng)的建設(shè)和應(yīng)用系統(tǒng)的開(kāi)發(fā),可為類似多層級(jí)、多建設(shè)主體的大型信息化系統(tǒng)建設(shè)提供編碼方案方面的借鑒。