陳夢(mèng)雪 ,薛 琳 ,鄭慧芳 ,王 新
(1.杭州定川信息技術(shù)有限公司,浙江 杭州 310020;2.浙江省水利河口研究院,浙江 杭州 310020;3.浙江省水利防災(zāi)減災(zāi)重點(diǎn)實(shí)驗(yàn)室,浙江 杭州 310020)
河流水系的管理是水域保護(hù)管理的重要組成部分,分析河網(wǎng)水系的拓?fù)潢P(guān)系,并借助計(jì)算機(jī)信息技術(shù)進(jìn)行管理,是河流編碼技術(shù)的實(shí)用之處。隨著水利信息化建設(shè)的推進(jìn)以及浙江省新一輪水域調(diào)查工作的開展,為有效識(shí)別和區(qū)分各類水域需對(duì)所有要素進(jìn)行編碼,并將其作為唯一識(shí)別碼存儲(chǔ)于水利數(shù)據(jù)倉(cāng)庫(kù)。
目前國(guó)內(nèi)外河流編碼技術(shù)有許多流派和方法,由于不同國(guó)家地域、管理部門考慮的問題重點(diǎn)不一,河流編碼技術(shù)的思路和方法也相差甚遠(yuǎn)[1]。現(xiàn)階段應(yīng)用較為普遍的共有 3 大類:①用于流域水文水利管理方面的編碼;②用于某些專門用途的編碼;③用于流域水環(huán)境保護(hù)方面的編碼。在國(guó)外,北美和歐洲河流編碼體系相似,以流域集雨面積大小劃分主流、干流和確定編碼順序,區(qū)分一定的河網(wǎng)水系拓?fù)湫畔?,但若要表示所有河流,則需要順序碼的位數(shù)較多,且無法與現(xiàn)存國(guó)內(nèi)水利部門的編碼體系相銜接;在國(guó)內(nèi),現(xiàn)存在國(guó)家測(cè)繪局、水利部、環(huán)保部等部門的多種河流編碼系統(tǒng),這些編碼系統(tǒng)都存在編碼難以擴(kuò)充的問題,且不利于河流相關(guān)屬性信息的管理與共享。
浙江省新一輪水域調(diào)查的河流覆蓋范圍廣,初步估算的河流條數(shù)有上萬條,河流代碼最好能體現(xiàn)河流的匯流關(guān)系、流域或水系的地理位置等自然屬性以及河流所屬行政區(qū)劃范圍、等級(jí)等管理屬性。另外河流代碼還是其它水域或水利工程的編碼基礎(chǔ)或參照,因此河流編碼規(guī)則的制定就顯得尤為復(fù)雜和重要。鑒于目前國(guó)內(nèi)尚無一套真正意義上針對(duì)水域調(diào)查統(tǒng)一規(guī)范的標(biāo)準(zhǔn)水系代碼,因而研究并制定出一套科學(xué)先進(jìn)的水域調(diào)查及保護(hù)管理河流水系代碼,以滿足水域調(diào)查及保護(hù)管理的需要,是一項(xiàng)緊迫而有意義的工作。
SL 213 — 98《水利工程基礎(chǔ)信息代碼編制規(guī)定》(以下簡(jiǎn)稱“SL 213 — 98”)是現(xiàn)行水利行業(yè)標(biāo)準(zhǔn)的編碼規(guī)范,其編碼原則是用8位字母和數(shù)字的組合碼分別表示河流的工程類別、所在流域和水系、編號(hào)及類別,河流代碼格式為:ABTFFSSY。
A是工程類別中的河流代碼,BT表示河流所處的二級(jí)流域或水系,這3個(gè)代碼均為固定值。FFSS是以數(shù)字或字母按照一定的規(guī)則表示河流所在水系的干流、支流以及該河流從上游到下游的順序。Y則代表河流類別,也是固定值。該編碼標(biāo)準(zhǔn)規(guī)定的河流編碼是以二級(jí)流域?yàn)閱挝唬谕涣饔騼?nèi)按從上游到下游、先干流后支流、先左岸后右岸的次序,依匯入關(guān)系編碼。
《中國(guó)河流名稱代碼》中的河流代碼就是按照SL 213 — 98的標(biāo)準(zhǔn)來編制的。該代碼劃定了全國(guó)一級(jí)、二級(jí)流域,對(duì)全國(guó)流域面積大于1 000 km2的河流進(jìn)行編碼[2],共編制浙江省河流代碼187個(gè)。
《浙江省河流名稱代碼》(以下簡(jiǎn)稱“《代碼》”)的編碼規(guī)則與《中國(guó)河流名稱代碼》的編碼規(guī)則相同,只是根據(jù)SL 213 — 98的編碼規(guī)則對(duì)浙江省流域面積大于100 km2的河流進(jìn)行擴(kuò)充編碼,對(duì)新增河流的編碼,依部頒代碼的終止碼為起始碼,對(duì)新增的代碼依次進(jìn)行編碼[3]?!洞a》包括了《中國(guó)河流名稱代碼》中的所有流經(jīng)浙江省的河流,同時(shí)新增部分河流代碼,共編碼657條河流。
根據(jù)《導(dǎo)則》的要求,本次需要調(diào)查浙江省各縣(市、區(qū))所有的省級(jí)、市級(jí)、縣級(jí)和鄉(xiāng)級(jí)河道,原則上平原水網(wǎng)地區(qū)平均河寬5 m以上的河道和丘陵、山區(qū)中起點(diǎn)斷面以上集雨面積大于1 km2的河道都需納入調(diào)查,且當(dāng)河道上下游防洪標(biāo)準(zhǔn)不同或遇水庫(kù)也需分段處理,形成不同的河段,這些河道(段)便是本次河流編碼的對(duì)象,粗略估算,本次河流編碼對(duì)象有上萬條。
河流代碼的意義一方面是為了通過代碼辨別河流所屬流域、河流級(jí)別等相關(guān)屬性信息,另一方面也是為了在信息化存儲(chǔ)中作為唯一識(shí)別碼識(shí)別河流?,F(xiàn)行標(biāo)準(zhǔn)的河流代碼即ABTFFSSY主要問題為FFSS的限制使河流代碼容量不足,限制了河流數(shù)目的增加,對(duì)于三級(jí)、四級(jí)或更小級(jí)別河流無法反映河流干支關(guān)系的意義[4],而且,該編碼規(guī)則要求整體考慮二級(jí)流域內(nèi)所有需編碼河流的上下游關(guān)系及支流匯入順序,用以統(tǒng)一編碼,這些因素均導(dǎo)致本次河流編碼規(guī)則不可完全依照標(biāo)準(zhǔn)的河流編碼規(guī)則來編制,必須重新制定編碼規(guī)則。
本次河流編碼為了既有一定的延續(xù)性,又能滿足水域調(diào)查和信息化存儲(chǔ)需要,因此主要在原有規(guī)則的基礎(chǔ)上進(jìn)行擴(kuò)充。首先,延續(xù)和體現(xiàn)《代碼》中已編碼河道,考慮以已編碼河道保留、未編碼河道引用的方式,繼承《代碼》中的8位代碼,不再對(duì)其擴(kuò)充,并新增4位順序碼作為各縣河流的序號(hào)以區(qū)分同一縣域內(nèi)不同的河道(段)。由于本次河流的編碼對(duì)象數(shù)量較多,統(tǒng)一編碼難度較大,所以考慮以縣為單位自行編碼,因此需增加行政區(qū)劃代碼加以區(qū)分。另外,為了代碼能體現(xiàn)更多河流屬性,新增河流級(jí)別、主管部門行業(yè)分類、主管部門分類以及左右岸等字段,最終確定的河流代碼格式為:ABTFFSSYPPRRCCMNNNN -DGZ。
代碼格式中的前8位即“ABTFFSSY”完全引用于《代碼》,第9 ~ 14位即“PPRRCC”代表所在縣的行政區(qū)劃代碼,第15位“M”代表河道(段)級(jí)別,第16 ~ 19位“NNNN”代表河道(段)的序號(hào),第20位為連字符“ - ”,第21位“D”表示河道管理單位及其主管部門所在行業(yè)分類,第22位表示河道主管部門分類,第23位表示左右岸。
編碼規(guī)則中,行政區(qū)劃代碼、河道級(jí)別、河道管理單位及其主管部門所在行業(yè)分類以及河道主管部門分類基本都是固定的,剩余幾部分確定原則如下。
該8位編碼原則上不再進(jìn)行擴(kuò)編,保持與《代碼》規(guī)定中已有編碼一致。未在《代碼》中編碼的河道,引用其匯入的已編碼河道的8位代碼。未在《代碼》中編碼的獨(dú)流入?;蚩缡『拥溃ǘ危?,其FFSS四位表示為YYYY。
該4位代表每個(gè)區(qū)縣的河流順序號(hào),需從0001開始編號(hào)并保持序號(hào)連續(xù)。為了使前后連續(xù)編號(hào)的河流空間位置具有一定的關(guān)聯(lián)性,不至于是隨機(jī)跳躍,需要制定一定的規(guī)則,最終考慮以河流的匯流關(guān)系為編碼依據(jù),總體是從下游向上游,先左岸后右岸的順序編號(hào)。山區(qū)性河流匯流關(guān)系容易判斷,而平原河網(wǎng)沒有明顯的匯流關(guān)系,因此還需要人為規(guī)定匯流規(guī)則,以適應(yīng)該部分的編碼原則。具體確定原則如下:
(1)山區(qū)性河道(段)編碼方法:從縣域內(nèi)最大流域的干流下游向上游檢索,第一段河道(段)編為0001,若該河道(段)上游為同一條河道的不同河段,編為0002,依此類推,直到該條河道對(duì)應(yīng)的所有河段都編完,假設(shè)該條河道被分為3段,最上游的河段編至0003。對(duì)整條河道按從下游向上游先左岸后右岸的原則開始檢索,第一條匯入該河道的支流繼續(xù)向下編號(hào),同樣需要將同一支流河道對(duì)應(yīng)的所有河段從下游向上游完成編碼,若該支流河道分為2段,則下游河段編為0004,上游河段編為0005。該支流河道的所有河段編碼完成之后,再?gòu)南掠蜗蛏嫌蜗茸蟀逗笥野堕_始檢索匯入該支流河道的下一級(jí)支流,并對(duì)該支流河道的不同河段從下游向上游依次編碼,依照此方法循環(huán)依次編碼,直到編碼為0004河道(段)的所有支流河道(段)全部完成編碼后,再向上游檢索匯入編碼為0001 ~0003河道的支流河道(段),接著前面的編號(hào)繼續(xù)往下編碼,直至將該流域內(nèi)所有河道(段)全部編碼,再按照上述方法編縣域內(nèi)下一個(gè)流域的所有河道(段)的編碼,直到全縣所有河道(段)完成編碼(見圖1)。
圖1 山區(qū)性河道(段)編碼示意圖
(2)平原河網(wǎng)河道(段)編碼方法:平原河網(wǎng)河道(段)的編碼方法參照山區(qū)性河道(段)的編碼方法。但由于平原河網(wǎng)河道(段)無法確認(rèn)匯流關(guān)系,從而無法確定干流及支流,因此給出確定干(支)流的原則性方法。
浙江省內(nèi)的幾大平原,包括杭嘉湖平原、蕭紹寧平原、臺(tái)州和溫州沿海平原水流的大致流向基本都為從西向東、由南至北。一條東西走向的河道(段),規(guī)定其西端為河源,東端為河口,河口匯入的河道為干流。一條南北走向的河道(段),規(guī)定其南端為河源,北端為河口,河口匯入的河道為干流(見圖2)。若東西走向或南北走向的河道(段)只有一端匯入某條河道(段),則匯入河道(段)的一端確定為河口(見圖3)。確定干支流后,參照山區(qū)性河道(段)的編碼方法進(jìn)行全縣河道(段)的編碼。
圖2 平原河網(wǎng)東西(南北)走向河道的流向判定圖
圖3 平原河網(wǎng)東西(南北)走向斷頭河的流向判定圖
(3)獨(dú)流入海和跨省河道(段)編碼方法:以縣為單元,“NNNN”的編碼規(guī)則為從西向東,從南往北順序編碼。
對(duì)于《代碼》中已有編碼的河道(段),該位編碼為“F”;《代碼》中未編碼河道(段)的該位編碼根據(jù)相對(duì)其最先匯入的有編碼河道(段)的位置來確定,若該河道(段)從左岸匯入已編碼河道,該位編碼為“L”,若該河道(段)從右岸匯入已編碼河道,該位編碼為“R”(見圖4)。
圖4 左右岸判定圖
對(duì)于獨(dú)流入海的小河流,可參考的《代碼》中的前8位河流代碼需要仔細(xì)斟酌,引用北方向還是南方向的河流代碼未給出具體的指示,可能導(dǎo)致不同的河流編碼人員引用的代碼不一致。山丘區(qū)河道起始編碼河道選擇為流域面積最大河流的主干河道,平原河網(wǎng)地區(qū)沒有集雨面積的概念,較難確定起始河道,可以選擇該縣域內(nèi)最大的骨干河道作為起始編碼河道??傮w來說,本次河流編碼規(guī)則還是比較復(fù)雜,人工對(duì)河流進(jìn)行編碼會(huì)存在錯(cuò)編或漏編的情況,一旦出現(xiàn)這種情況,修改工作量很大。引入計(jì)算機(jī)和GIS空間位置判斷半自動(dòng)或自動(dòng)編碼值得思考,未來可以期待通過計(jì)算機(jī)算法實(shí)現(xiàn)河流的自動(dòng)編碼。