发明内容
本申请提供一种河网编码方法和系统,以解决全球范围内河网编码不统一的问题。
为了解决上述问题,本申请实施例公开了一种河网编码方法,包括:
接收河网编码请求,并根据所述河网编码请求获取河网信息;其中所述河网信息包括:河网所属国家信息、河网流域信息、河网汇流关系信息、河网中水系出口位置信息、河网水体类别信息以及河网要素信息和空间位置信息;
获取与所述河网信息相对应的河网信息编码方式;其中,所述河网信息编码方式包括:国家信息编码方式、一级流域分类编码方式、二级流域水系编码方式、K级子流域编码方式、水系位置编码方式、河网水体类别编码方式以及河网要素信息和空间位置编码方式;
按照与所述河网信息对应的河网信息编码方式,对所述河网信息进行编码,得到国家信息编码、一级流域分类编码、二级流域水系编码、K级子流域编码、水系位置编码、河网水体类别编码以及河网要素信息和空间位置编码;
按顺序依次记录所述国家编码、所述一级流域分类编码、所述二级流域水系编码、所述K级子流域编码、所述水系位置编码、所述河网水体类别编码以及所述河网要素信息和空间位置编码,得到完整编码,所述完整编码为河网编码;
根据所述河网编码,检索河网空间信息、和/或获取河网空间拓扑属性、和/或查询河网附属信息。
优先地,所述按照与所述河网信息对应的河网信息编码方式,对所述河网信息进行编码,包括:
获取所述河网所属国家信息;
根据所述河网所属国家信息,按照所述国家信息编码方式,采用二位字符X1X2对所述河网所属国家信息进行编码,所述X1和所述X2的取值范围均为[A-Z],得到所述国家信息编码X1X2;
其中,所述国家信息编码方式包括:从ISO国家编码表中,获取每个国家对应的两个大写英文字母。
优先地,所述河网流域信息包括河网一级流域信息和河网二级流域水系信息;
所述按照与所述河网信息对应的河网信息编码方式,对所述河网信息进行编码,包括:
获取所述河网一级流域信息;
根据所述河网一级流域信息,按照所述一级流域分类编码方式,采用一位字符X3对所述河网一级流域信息进行编码,所述X3取值范围为[0-Z],得到所述一级流域分类编码X3;
其中,所述一级流域分类编码方式,包括:对国家内的所有一级流域按集水面积从大到小的顺序进行排序,采用0-Z的编码顺序对一级流域的排序进行编码;
获取所述河网二级流域水系信息;
根据所述河网二级流域水系信息,按照所述二级流域水系编码方式,采用二位字符X4X5对所述河网二级流域水系信息进行编码,所述X4X5的取值范围为[00-ZZ],得到所述二级流域水系编码X4X5;
其中,所述二级流域水系编码方式,包括:对所述一级流域下的所有二级流域水系按集水面积从大到小依次排序,采用00-ZZ的编码顺序对二级流域水系的排序进行编码。
优先地,所述按照与所述河网信息对应的河网信息编码方式,对所述河网信息进行编码,包括:
获取所述河网汇流关系信息;
根据所述河网汇流关系信息,按照所述K级子流域编码方式,采用9 位字符X6X7…XL+5…X14对所述河网汇流关系信息进行K级子流域编码,其中X6、X7、…、X14取值范围均为[0-9],得到所述K级子流域编码X6、 X7、…、X14;其中,1≤L≤9;
所述K级子流域编码方式,包括:
获取水系的干流,从河流下游出口开始向上游搜索,当遇到河道分岔时,比较分岔河流的集水面积,选择集水面积最大的河流为水系的干流;
对一级子流域进行编码,包括:
对一级支流进行编码,选取所述一级干流中集水面积最大的M'条一级支流,1≤M'≤4,并沿着所述干流按从下游到上游的顺序依次用偶数 2、…、2M'对所述一级支流进行编码;
对一级干流河段进行编码,所述M'条一级支流与所述一级干流的交汇点把所述干流分为M'+1个河段,按从下游到上游的顺序依次用奇数 1、…、2M'-1给所述一级干流河段编码;
当已编码的一级支流或一级干流河段没有下一级支流时,所述一级支流或一级干流河段的编码结束;当已编码的一级支流或一级干流河段有下一级支流时,进行二级子流域编码,所述二级子流域编码包括:
选取所述一级支流或一级干流河段作为二级干流;
对二级支流进行编码,选取所述二级干流中集水面积最大的M〞条二级支流,1≤M〞≤4,并沿着所述二级干流按从下游到上游的顺序依次用偶数2、…、2M〞对所述二级支流进行编码;
对二级干流河段进行编码,所述M〞条二级支流与所述二级干流的交汇点把所述二级干流分为M〞+1个河段,按从下游到上游的顺序依次用奇数1、…、2M〞-1给所述二级干流河段编码:
当已编码的L-1级支流或L-1级干流河段没有下一级支流时,所述L-1 级支流或L-1级干流河段的编码结束;当已编码的L-1级支流或L-1级干流河段有下一级支流时,进行L级子流域编码,所述L级子流域编码,包括:
选取所述L-1级支流或L-1级干流河段作为L级干流;
对L级支流进行编码,选取所述L级干流中集水面积最大的M条L级支流,1≤M≤4,并沿着所述L级干流按从下游到上游的顺序依次用偶数 2、…、2M对所述L级支流进行编码;
对L级干流河段进行编码,所述M条L级支流与所述L级干流的交汇点把所述L级干流分为M+1个河段,按从下游到上游的顺序依次用奇数 1、…、2M-1给所述L级干流河段编码;
其中,所述K级子流域编码为X6X7…XL+5…X14,X6是所述一级支流或一级干流河段的编码,X7是所述二级支流或二级干流河段的编码,XL+5是所述L级支流或L级干流河段的编码,当已编码的L级支流或L级干流河段没有下一级支流时,字符XL+6至X14编码为0。
优先地,所述按照与所述河网信息对应的河网信息编码方式,对所述河网信息进行编码,包括:
获取所述河网中水系出口位置信息;
根据所述河网中水系出口位置信息,按照所述水系位置编码方式,采用一位字符X15对所述河网中水系出口位置信息进行编码,所述X15的取值范围为[0-Z],得到所述水系位置编码X15;
其中,所述水系位置编码方式,包括:对具有同一出口位置的水系按集水面积从大到小依次排序,采用0-Z的编码顺序对所述具有同一出口位置的水系的排序进行编码。
优先地,所述按照与所述河网信息对应的河网信息编码方式,对所述河网信息进行编码,包括:
获取所述河网水体类别信息;
根据所述河网水体类别信息,按照所述河网水体类别编码方式,采用一位字符X16对所述河网水体类别信息进行编码,X16的取值范围为[0-Z],得到所述河网水体类别编码X16;
其中,所述河网水体类别编码方式包括:根据标准水体类别代码进行编码。
优先地,所述按照与所述河网信息对应的河网信息编码方式,对所述河网信息进行编码,包括:
获取所述河网要素信息和空间位置信息,所述要素信息包括:点信息、线信息和面信息;
根据所述河网要素信息和空间位置信息,按照所述河网要素信息和空间位置编码方式,采用12位字符X17X18…X28对所述河网要素信息和空间位置进行编码,得到所述河网要素信息和空间位置编码X17X18…X28。
优先地,所述河网信息编码方式,还包括:分叉形河网编码方式、十字形河网编码方式和H形河网编码方式;
所述分叉形河网是指1条河流被分成2条或2条以上河流所形成的河网,所述分叉形河网编码方式,包括:
选取集水面积最大的河流作为分叉形河网的主干河流,其余河流作为分叉河流;
对所述分叉形河网的主干河流上的河段按所述K级子流域编码方式进行编码;
按照所述K级子流域编码方式,对所述分叉河流按照其在所述主干河流中的河段编码序列进行编码,并在编码后1位增加字母“A”;
所述十字形河网是指一条河流穿过另一条河流所形成的河网,所述十字形河网编码方式,包括:
选取集水面积最大的河流作为十字形河网的主干河流;
对汇入所述十字形河网的主干河流部分的河段按所述K级子流域编码方式进行编码;
对流出所述十字形河网的主干河流部分的河段按照所述分叉形河网编码方式进行编码;
所述H形河网是指两条互不交叉的河流通过第三条河流联通所形成的河网,其中,所述两条互不交叉的河流为边河,所述第三条河流为联通河流;所述H形河网编码方式,包括:
对所述两条边河分别按所述K级子流域编码方式进行编码;
对所述联通河流进行编码,将所述联通河流归入其汇入的边河,按所述K级子流域编码方式进行编码,最后在该编码后增加字母“C”,并将汇入所述联通河流的另一条边河上游紧邻河段的编码写在所述字母“C”之后。
优先地,所述根据所述河网编码,检索河网空间信息、和/或获取河网空间拓扑属性、和/或查询河网附属信息,包括:
获取所述河网编码;
解析所述河网编码,获取所述国家信息编码、所一级流域分类编码、所述二级流域水系编码、所述K级子流域编码、所述水系位置编码、所述河网水体类别编码以及所河网要素信息和空间位置编码分别对应的具体编码值;
根据所述具体编码值对应的所述河网信息,检索河网空间信息、和/或获取河网空间拓扑属性、和/或查询河网附属信息。
本申请实施例公开了一种河网编码系统,包括:
接收获取模块,用于接受河网编码请求,并根据所述河网编码请求获取河网信息;其中所述河网信息包括:河网所属国家信息、河网流域信息、河网汇流关系信息、河网中水系出口位置信息、河网水体类别信息以及河网要素信息和空间位置信息;
河网信息编码方式获取模块,用于获取与所述河网信息相对应的河网信息编码方式;其中,所述河网信息编码方式包括:国家信息编码方式、一级流域分类编码方式、二级流域水系编码方式、K级子流域编码方式、水系位置编码方式、河网水体类别编码方式以及河网要素信息和空间位置编码方式;
河网信息编码获取模块,用于按照与所述河网信息对应的河网信息编码方式,对所述河网信息进行编码,得到国家信息编码、一级流域分类编码、二级流域水系编码、K级子流域编码、水系位置编码、河网水体类别编码以及河网要素信息和空间位置编码;
河网编码获取模块,用于按顺序依次记录所述国家编码、所述一级流域分类编码、所述二级流域水系编码、所述K级子流域编码、所述水系位置编码、所述河网水体类别编码以及所述河网要素信息和空间位置编码,得到完整编码,所述完整编码为河网编码;
编码应用模块,根据所述河网编码,检索河网空间信息、和/或获取河网空间拓扑属性、和/或查询河网附属信息。
与现有技术相比,本申请包括以下优点:
1、本申请所述的一种河网编码方法,通过对河网信息进行编码,获取得到河网编码,所述河网编码方法适用于全球范围内任一河网,也就是说,全球范围内任一河网可以统一采取所述河网编码方法进行编码;促进了全球河网信息的共享及全球水利管理信息化进程的发展。
2、本申请得到的河网编码,包含:国家信息编码、一级流域分类编码、二级流域水系编码、K级子流域编码、水系位置编码、河网水体类别编码以及河网要素信息和空间位置编码;因为每条河网的河网信息的特征属性都是不同的,因此,针对每条河网的河网编码都是唯一确定,方便河网信息存储及转换,依据所述河网编码可以在河网中进行河段的直接定位,而避免低效率的遍历和搜索。
3、本申请得到的河网编码,能够反映出河流所在流域、水系、干支流、河流类别等要素的属性及同流域内河流之间的拓扑关系,所述河网编码本身具备较显著的拓扑意义,能够直接进行拓扑关系运算,并便于识图,又能反映出各要素间的关系,具有完整性;其中,本申请提供的一种河网编码方法,有扩展余地,可以进行延伸和扩充。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
本申请所述的一种河网编码方法,综合获取河网的各类信息,如:河网所属国家信息、河网流域信息、河网汇流关系信息、河网中水系出口位置信息、河网水体类别信息以及河网要素信息和空间位置信息等,根据不同的河网信息选择相对应的编码方式对各类河网信息进行编码,将河网信息的编码按照一定顺序记录得到河网编码。全球范围内河网都具有所述河网所属国家信息、所述河网流域信息、所述河网汇流关系信息、所述河网中水系出口位置信息、所述河网水体类别信息以及所述河网要素信息和空间位置信息,因此本申请所述的一种河网编码方法适用于全球范围内任一河网,也就是说,全球范围内任一河网可以统一采取所述河网编码方法进行编码,促进了全球河网信息的共享及全球水利管理信息化进程的发展。其中,河网是指:由大小不等、深浅不一的河槽相互贯通组成的网络状泄水系统;流域是指:地表水及地下水的分水线所包围的集水区域或汇水区域,因地下水分水线不易确定,习惯指地面径流分水线所包围的集水区域。
参照图1,示出了本申请实施例所述一种河网编码方法的流程图。
步骤102,接收河网编码请求。
步骤104,根据所述河网编码请求获取河网信息。
所述河网请求中包含所述河网信息,根据所述河网编码请求获取所述河网信息。其中所述河网信息可以包括:河网所属国家信息、河网流域信息、河网汇流关系信息、河网中水系出口位置信息、河网水体类别信息以及河网要素信息和空间位置信息;其中,所述河网流域信息可以包括河网一级流域信息和河网二级流域水系信息。其中,水系是指:有两条以上大小不等的支流以不同形式汇入干流,构成的一个河道体系,称为水系或河系。
步骤106,获取与所述河网信息相对应的河网信息编码方式。
其中,所述河网信息编码方式可以包括:国家信息编码方式、一级流域分类编码方式、二级流域水系编码方式、K级子流域编码方式、水系位置编码方式、河网水体类别编码方式以及河网要素信息和空间位置编码方式;
步骤108,按照与所述河网信息对应的河网信息编码方式,对所述河网信息进行编码。
按照与所述河网信息对应的河网信息编码方式,对所述河网信息进行编码,得到国家信息编码、一级流域分类编码、二级流域水系编码、K级子流域编码、水系位置编码、河网水体类别编码以及河网要素信息和空间位置编码。
步骤110,按顺序记录所述河网信息编码,得到河网编码。
按顺序依次记录所述国家编码、所述一级流域分类编码、所述二级流域水系编码、所述K级子流域编码、所述水系位置编码、所述河网水体类别编码以及所述河网要素信息和空间位置编码,得到完整编码,所述完整编码为河网编码。
本申请实施例中,通过对所述河网信息进行编码,将得到的所述河网信息编码按照一定顺序进行记录,得到所述河网编码,因为全球范围内对河网信息的认知是一样的,因此根据河网信息进行编码适用于全球范围内的河网;进而本实施例所述的一种河网编码是按照一定顺序记录河网信息编码得到的,因此全球范围内的河网都可以采用本申请实施例所述的一种河网编码进行编码,编码统一,有利于全球河网信息的共享,促进了全球水利管理信息化进程的发展。
步骤112,根据所述河网编码,检索河网空间信息、和/或获取河网空间拓扑属性、和/或查询河网附属信息(“和/或”表示可以是“和”的关系,也可以是“或”的关系)。
获取所述河网编码;
解析所述河网编码,获取所述国家信息编码、所述一级流域分类编码、所述二级流域水系编码、所述K级子流域编码、所述水系位置编码、所述河网水体类别编码以及所述河网要素信息和空间位置编码分别对应的具体编码值;
根据所述具体编码值对应的所述河网信息,检索河网空间信息、和/或获取河网空间拓扑属性、和/或查询河网附属信息。
其中,所述检索河网空间信息可以包括:根据所述具体编码值对河网进行直接定位,识别河网所处的地理位置,有助于提高水资源管理系统的检索速度。例如:对河网进行编码后,每条河网就有了唯一与所述河网对应的河网编码,在水资源管理系统中,可通过所述河网编码对河网进行定位,比如运用谷歌地图,当我们搜索地图上某一个城市时,只需输入城市名称就可以直接在地图上定位出该城市的位置。
其中,所述获取河网空间拓扑属性可以包括:获取各级河网之间的汇流关系、干支流信息、上下游信息、小流域集水面积大小关系等。其中,所述小流域是指:根据水利部规定,中国目前水土保持工作中的小流域概念是指:面积小于50平方公里的流域;因此锁定所述小流域范围: 10km2-50km2的流域;所述集水面积是指:指流域周围分水线与河口(或坝、闸址)断面之间所包围的面积,习惯上往往指地表水的集水面积,其单位以km2计。在水文地理研究中,流域面积是一个极为重要的数据。自然条件相似的两个或多个地区,一般是流域面积越大的地区,该地区河流的水量也越丰富。
其中,所述查询河网附属信息可以包括:获取水利工程设施要素;如点要素(水文站、水质站、取水口等),线要素(功能区、护堤等)、面要素(水库、湖泊、子流域等)等所处的河段及地理位置。
本申请实施例中,根据某一河网的编码,可以得到该河网的汇流关系、干支流信息、上下游信息、小流域集水面积大小关系、水体类别信息和河网要素信息等,编码本身具备显著的拓扑意义,能够直接进行拓扑关系运算,并便于识图,又能反映出各要素间的关系,具有完整性。
基于上述内容,本申请实施例还公开了一种按照与所述河网信息对应的河网信息编码方式,对所述河网信息进行编码的方法。
参照图2,示出了本申请另一实施例所述一种河网编码方法的流程图。
步骤202,接收河网编码请求。
步骤204,根据所述河网编码请求获取河网信息。
所述河网请求中包含所述河网信息,根据所述河网编码请求获取所述河网信息。其中所述河网信息可以包括:河网所属国家信息、河网流域信息、河网汇流关系信息、河网中水系出口位置信息、河网水体类别信息以及河网要素信息和空间位置信息。
步骤206,获取与所述河网信息相对应的河网信息编码方式。
其中,所述河网信息编码方式可以包括:国家信息编码方式、一级流域分类编码方式、二级流域水系编码方式、K级子流域编码方式、水系位置编码方式、河网水体类别编码方式以及河网要素信息和空间位置编码方式。
步骤208,按照与所述河网信息对应的河网信息编码方式,对所述河网信息进行编码。
按照与所述河网信息对应的河网信息编码方式,对所述河网信息进行编码,得到国家信息编码、一级流域分类编码、二级流域水系编码、K级子流域编码、水系位置编码、河网水体类别编码以及河网要素信息和空间位置编码。
步骤210,按顺序记录所述河网信息编码,得到河网编码。
按顺序依次记录所述国家编码、所述一级流域分类编码、所述二级流域水系编码、所述K级子流域编码、所述水系位置编码、所述河网水体类别编码以及所述河网要素信息和空间位置编码,得到完整编码,所述完整编码为河网编码。
步骤212,根据所述河网编码,检索河网空间信息、和/或获取河网空间拓扑属性、和/或查询河网附属信息。
下面对步骤208,按照与所述河网信息对应的河网信息编码方式,对所述河网信息进行编码,进行详细说明。
步骤208可以包括以下子步骤:
子步骤20812,获取所述河网所属国家信息。
子步骤20814,按照国家信息编码方式对所述河网所属国家信息进行编码。根据所述河网所属国家信息,按照所述国家信息编码方式,采用二位字符X1X2对所述河网所属国家信息进行编码,所述X1和所述X2的取值范围均为[A-Z],得到所述国家信息编码X1X2;其中,所述国家信息编码方式包括:从ISO国家编码表中,获取每个国家对应的两个大写英文字母,所述两个大写英文字母即为所述国家信息编码。例如,参见表1,ISO国家代码表:
国家简称 |
两位字母 |
三位字母 |
三位数字 |
阿尔巴尼亚Albania |
AL |
ALB |
008 |
阿尔及利亚Algeria |
DZ |
DZA |
012 |
阿富汗Afghanistan |
AF |
AFG |
004 |
阿根廷Argentina |
AR |
ARG |
032 |
阿联酋United Arab Emirates |
AE |
ARE |
784 |
阿鲁巴Aruba |
AW |
ABW |
533 |
阿曼Oman |
OM |
OMN |
512 |
阿塞拜疆Azerbaijan |
AZ |
AZE |
031 |
埃及Egypt |
EG |
EGY |
818 |
埃塞俄比亚Ethiopia |
ET |
ETH |
231 |
爱尔兰Ireland |
IE |
IRL |
372 |
爱沙尼亚Estonia |
EE |
EST |
233 |
安道尔Andorra |
AD |
AND |
020 |
表1
当某一河网是属于阿尔及利亚时,在ISO国家编码表中,阿尔及利亚对应的两个大写英文字母为DZ,此时X1X2为DZ,即国家信息编码为DZ。
步骤208还可以包括以下子步骤:
子步骤20822,获取所述河网一级流域信息。
子步骤20824,按照一级流域分类编码方式对所述河网一级流域信息进行编码。根据所述河网一级流域信息,按照所述一级流域分类编码方式,采用一位字符X3对所述河网一级流域信息进行编码,所述X3取值范围为 [0-Z],得到所述一级流域分类编码X3。其中,所述一级流域分类编码方式,包括:对国家内的所有一级流域按集水面积从大到小的顺序进行排序,采用0-Z的编码顺序对一级流域的排序进行编码,同一个国家最多可以划分出36个一级流域,每一个一级流域的集水面积大小都是不同的,因此采用一集流域排序的编码作为所述一级流域分类编码。
步骤208还可以包括以下子步骤:
子步骤20832,获取所述河网二级流域信息。
子步骤20834,按照二级流域分类编码方式对所述河网二级流域信息进行编码。根据所述河网二级流域水系信息,按照所述二级流域水系编码方式,采用二位字符X4X5对所述河网二级流域水系信息进行编码,所述X4X5的取值范围为[00-ZZ],得到所述二级流域水系编码X4X5;其中,所述二级流域水系编码方式,包括:对所述一级流域下的所有二级流域水系按集水面积从大到小依次排序,采用00-ZZ的编码顺序对二级流域水系的排序进行编码,每一个二级流域水系的集水面积大小都是不同的,因此采用二级流域水系排序的编码作为所述二级流域水系编码。
步骤208还可以包括以下子步骤:
子步骤20842,获取所述河网汇流关系信息。
子步骤20844,按照K级子流域编码方式对所述河网汇流关系信息进行编码。根据所述河网汇流关系信息,按照所述K级子流域编码方式,采用9 位字符X6X7…XL+5…X14对所述河网汇流关系信息进行K级子流域编码,其中X6、X7、…、X14取值范围均为[0-9],得到所述K级子流域编码X6、 X7、…、X14;1≤L≤9;其中,所述K级子流域编码方式,包括:
获取水系的干流,从河流下游出口开始向上游搜索,当遇到河道分岔时,比较分岔河流的集水面积,选择集水面积最大的河流为水系的干流;
对一级子流域进行编码,包括:
对一级支流进行编码,选取所述一级干流中集水面积最大的M'条一级支流,1≤M'≤4,并沿着所述干流按从下游到上游的顺序依次用偶数 2、…、2M'对所述一级支流进行编码;
对一级干流河段进行编码,所述M'条一级支流与所述一级干流的交汇点把所述干流分为M'+1个河段,按从下游到上游的顺序依次用奇数 1、…、2M'-1给所述一级干流河段编码;
当已编码的一级支流或一级干流河段没有下一级支流时,所述一级支流或一级干流河段的编码结束;当已编码的一级支流或一级干流河段有下一级支流时,进行二级子流域编码,所述二级子流域编码包括:
选取所述一级支流或一级干流河段作为二级干流;
对二级支流进行编码,选取所述二级干流中集水面积最大的M〞条二级支流,1≤M〞≤4,并沿着所述二级干流按从下游到上游的顺序依次用偶数2、…、2M〞对所述二级支流进行编码;
对二级干流河段进行编码,所述M〞条二级支流与所述二级干流的交汇点把所述二级干流分为M〞+1个河段,按从下游到上游的顺序依次用奇数1、…、2M〞-1给所述二级干流河段编码:
当已编码的L-1级支流或L-1级干流河段没有下一级支流时,所述L-1 级支流或L-1级干流河段的编码结束;当已编码的L-1级支流或L-1级干流河段有下一级支流时,进行L级子流域编码,所述L级子流域编码,包括:
选取所述L-1级支流或L-1级干流河段作为L级干流;
对L级支流进行编码,选取所述L级干流中集水面积最大的M条L级支流,1≤M≤4,并沿着所述L级干流按从下游到上游的顺序依次用偶数 2、…、2M对所述L级支流进行编码;
对L级干流河段进行编码,所述M条L级支流与所述L级干流的交汇点把所述L级干流分为M+1个河段,按从下游到上游的顺序依次用奇数 1、…、2M-1给所述L级干流河段编码;
其中,所述K级子流域编码为X6X7…XL+5…X14,X6是所述一级支流或一级干流河段的编码,X7是所述二级支流或二级干流河段的编码,XL+5是所述L级支流或L级干流河段的编码,当已编码的L级支流或L级干流河段没有下一级支流时,字符XL+6至X14的编码为0。对所述L级支流或L级干流河段的编码,可以编至所述L级支流或L级干流河段没有下一级支流时结束;也可以是指定一个编码级数,到某一级之后不再进行更低一级编码:例如,指定编码级数为L级,当完成对所述L级支流或L级干流河段编码后,即使所述L级支流或L级干流河段还有下一级子流域,也不再对 L+1级支流或L+1级干流河段进行编码,字符XL+6至X14编码为0。
步骤208还可以包括以下子步骤:
子步骤20852,获取所述河网中水系出口位置信息。
子步骤20854,按照水系位置编码方式对所述河网中水系出口位置信息进行编码。根据所述河网中水系出口位置信息,按照所述水系位置编码方式,采用一位字符X15对所述河网中水系出口位置信息进行编码,所述X15的取值范围为[0-Z],得到所述水系位置编码X15。其中,所述水系位置编码方式,包括:对具有同一出口位置的水系按集水面积从大到小依次排序,采用0-Z的编码顺序对所述具有同一出口位置的水系的排序进行编码,所述具有同一出口位置的水系的集水面积大小都是不同的,因此按照具有同一出口位置的水系的排序编码作为所述水系位置编码。例如:根据河网中水系A的出口位置信息:在出口位于同一位置的水系中,所述水系A的集水面积是最大的;对所述出口位于同一位置的水系按照集水面积排序从大到小依次排序时,所述水系A排在首位,对应排序编码为0,此时水系位置编码X15与所述排序编码相同,X15为0。
步骤208还可以包括以下子步骤:
子步骤20862,获取所述河网水体类别信息。
子步骤20864,按照河网水体类别编码方式对所述河网水体类别信息进行编码。根据所述河网水体类别信息,按照所述河网水体类别编码方式,采用一位字符X16对所述河网水体类别信息进行编码,X16的取值范围为 [0-Z],得到所述河网水体类别编码X16;其中,所述河网水体类别编码方式包括:根据标准水体类别代码进行编码。例如:参见表2,一种水体类别代码表:
表2
当水体类别为独流入海时,对应的河网水体类别编码为0;当水体类别为国际河流时,对应的河网水体类别编码为1。
步骤208还可以包括以下子步骤:
子步骤20872,获取所述河网要素信息和空间位置信息。其中,所述要素信息包括:点信息、线信息和面信息。
子步骤20874,按照河网要素信息和空间信息编码方式对所述河网要素信息和空间位置信息进行编码。根据所述河网要素信息和空间位置信息,按照所述河网要素信息和空间位置编码方式,采用12位字符X17X18..X28对所述河网要素信息和空间位置进行编码,得到所述河网要素信息和空间位置编码X17X18..X28。例如,参照图3,示出了本申请实施例所述一种点要素编码示意图;因为点要素起始点与终止点距河段起始位置量度比是一样的,所以河段上点要素编码前六位与后六位是一致的,某一点要素(如水文站)的度量值为48.247,按照所述河网要素信息和空间位置编码方式进行编码,得到河网要素信息和空间位置编码X17X18…X28为:048247048247。参照图4,示出了本申请实施例所述一种面要素编码示意图;某一线要素(如功能区)起始点与终止点距河段起始位置量度比0~100,按照所述河网要素信息和空间位置编码方式进行编码,得到河网面要素信息和空间位置编码X17X18…X28为:000000100000。
在本申请实施例中,步骤210,按顺序依次记录X1、X2、…、X28对应的编码,得到的完整编码X1X2…X28为河网的编码,见表3,一种河网编码:
表3
全球范围内的河网具有的河网信息都是相同的,本申请实施例综合考虑河网所包含的各类河网信息,并针对不同的河网信息采用与其相对应的编码方式进行编码,适用性强,可以适用于全球范围内任一河网的编码。
下面结合一个具体实施例,详细说明根据所述河网编码,检索河网空间信息、和/或获取河网空间拓扑属性、和/或查询河网附属信息。
例如,某一河网的编码为CN00112131542812048247048247,按照本实施例所述河网编码方法,参见表3,对编码 CN00112131542812048247048247进行划分,见表4:
CN |
0 |
01 |
1 |
2 |
1 |
3 |
1 |
5 |
4 |
2 |
8 |
1 |
2 |
048247 |
048247 |
表4
根据所述河网编码方法对划分后的编码进行解析:
CN表示:中国;
0表示:中国集水面积最大的一级流域a;
01表示:a流域下集水面积最大的水系b;
1表示:该河段是水系b下离出水口最近的干流c;
2表示:该河段是c下支流集水面积较大的离出口最近的支流d;
1表示:该河段是d下支流离d河段出水口最近的干流e;
3表示:该河段是e支流的干流河段f;
1表示:该河段是f支流离f段出水口最近的干流河段g;
5表示:该河段是g支流干流河段h;
4表示:该河段是h集水面积第二的支流i;
2表示:该河段是i集水面积第一的支流j;
8表示:该河段是j集水面积第四的支流k;
1表示:在出口位于同一位置的水系中,按集水面积由大到小排序为 1;
2表示:内陆河流;
048247表示:点要素起点距河段起点的量度百分比;
048247表示:点要素终点距河段起点的量度百分比。
根据上述解析,可以快速检索出河网空间信息、和/或获取河网空间拓扑属性、和/或查询河网附属属性信息。其中,本申请实施例中,根据最后 12位编码048247048247,因为起点和终点距河段起点的量度百分比是相同的,可以判断出048247048247表示的是点要素信息;根据量度百分比可以确定所述点要素在河段中的具体位置,进而可以判断出所述点要素为水文站。
基于上述内容,本申请实施例还公开了所述K级子流域编码的方式。
本申请实例中,可以对一个具有三级子流域的河网进行K级子流域编码。参照图5,示出了本申请实施例所述一个具有三级子流域河网的一种K 级子流域编码示意图;
(1)选取一级干流中集水面积最大的4条一级支流,根据出口位置,按照从下游到上游的顺序对所述一级支流进行编码,编码依次为2、4、6、 8;所述4条一级支流将一级干流分为5个河段,根据出口位置,按照从下游到上游的顺序对所述一级干流河段进行编码,编码依次为1、3、5、7、 9。
(2)编码为2的一级支流下还有下一级支流,按照(1)所述的编码方式对2级子流域进行编码,得到二级支流编码依次为:22、24、26、28,二级干流河段编码依次为:21、23、25、27、29。
(3)编码为22的二级支流下还有下一级支流,按照(1)所述的编码方式对3级子流域进行编码,得到三级支流编码222。
(4)所述具有三级子流域的河网没有下一级子流域,不再进行下一级编码,此时得到所述具有三级子流域的河网的K级子流域编码X6 X7…XK+5…X14为222000000。
本申请实施例中,所述K级子流域编码也可以是指定一个编码级数,到某一级之后不再进行更低一级编码,例如,指定某一河网进行K级子流域编码时,所述K级子流域编码至第3级子流域后,不再进行更低一级编码,参照图6,示出了本申请实施例所述一种1级子流域编码示意图;图7 是图6所述1级子流域下一种2级子流域编码示意图;图8是图7所述2级子流域下一种3级子流域编码示意图。具体步骤如下:
(1)选取一级干流中集水面积最大的4条一级支流,根据出口位置,按照从下游到上游的顺序对所述一级支流进行编码,参照图6中,选取所述4条一级支流中离出口位置最远的一条支流进行编码,所述编码为8。
(2)编码为8的一级支流还有下一级支流,进行2级流域编码,所述编码为8的一级支流在2级子流域中可以作为二级干流。选取所述二级干流中集水面积最大的4条二级支流,根据出口位置,按照从下游到上游的顺序对所述二级支流进行编码,编码依次为82、84、86、88;所述4条二级支流将所述二级干流分为5个河段,根据出口位置,按照从下游到上游的顺序对所述二级干流河段进行编码,编码依次为81、83、85、87、89;所述二级干流还有内陆流域,选择集水面积最大的内陆流域进行编码,编码为 80。
(3)编码为84的二级支流还有下一级支流,进行3级流域编码,所述编码为84的二级支流在3级子流域中可以作为三级干流,按照(2)所述的编码方法对3级子流域进行编码,得到三级支流编码依次为:842、844、 846、848,三级干流河段编码依次为:841、843、845、847、849。
(4)参照图8,所述3级子流域下还有下一级支流,由于指定了K级子流域编码只编码至第3级子流域,因此不再进行下一级子流域编码。从中选取编码为841的三级干流河段,所述编码为841的三级干流河段对应的K 级子流域编码为814000000。
本申请实施例中,还可以对“分叉形”河网进行K级子流域编码。
参照图9,示出了本申请实施例所述一种“分叉形”河网的编码示意图。
所述“分叉形”河网是指1条河流被分成2条或2条以上河流所形成的河网,如图9所示。“分叉形”河网编码时,选取集水面积最大的河流作为主干河流,将集水面积较小的河流看作分叉河流,将主干河流上的河段按所述K级子流域编码方式进行编码,主干河流与分叉河流的汇出点占有一个支流编码,将分叉河流视作一个河段进行编码,对分叉河流按照其在主干河流中的河段编码序列进行编码,并在编码后1位增加字母A。如图9 中,主干河流的编码为1、3;分叉河流的编码为1A。对分叉河流进行下一级河网编码时,再按照K级子流域编码方式继续编码,并在河段编码末端加上字母A。
本申请实施例,可以对“十字形”河网进行K级子流域编码。
参照图10,示出了本申请实施例所述一种“十字形”河网的编码示意图。
“十字形”河网是指一条河流穿过另一条河流所形成的河网,如图10 所示。“十字形”河网编码时,将集水面积最大的河流作为主干河流,将集水面积较小的河流汇入干流部分河段按K级子流域编码方式进行编码,流出干流部分河段按照所述“分叉形”河网编码方式进行编码,较小河流与主干河流交汇点占有一个支流编码。如图10中,主干河流的编码为1, 5;汇入主干河流的河段编码为4,流出主干河流的编码为1A。这样的编码方式不会破坏河网的上下游关系,4依然保持是1A的上游。
本申请实施例,可以对“H形”河网进行K级子流域编码。
参照图11,示出了本申请实施例所述一种“H形”河网的编码示意图。
“H形”河网是指两条互不交叉的河流通过第三条河流联通所形成的河网,其中两条互不交叉的河流记作“边河”,第三条河流记作“联通”河流,如图11所示。“H形”河网编码时,先不考虑“联通”河流而对2 条“边河”各自进行编码,然后再将“联通”河流归入所“汇入”的“边河”水系(图11中的右“边河”),对“联通”河流进行编码,最后在该编码后增加字母“C”,并将汇入“联通”河流的另1条“边河”(图11中的左“边河”)上游紧邻河段的编码写在编码之后,组成“联通”河流的完整编码。如图11中,右“边河”的编码为1,3;左“边河”的编码为631, 633;“联通”河流的编码为2C633。
本申请实施例,综合各类河网信息采用不同的河网信息编码方式进行编码,可以针对结构简单的河网进行编码,也可以针对结构复杂的河网进行编码,本申请实施例所述一种河网编码方法可以对“交叉形”河网、“十字形”河网和“H形河网”等复杂河网进行编码,适用于全球范围内任一河网的编码。
与本申请实施例提供的一种河网编码方法相对应,本申请实施例还提供了一种河网编码系统,参见图12,示出了本申请实施例所述一种河网编码系统的示意图,所述河网编码系统可以包括:
接收获取模块1202,用于接受河网编码请求,并根据所述河网编码请求获取河网信息;
其中所述河网信息可以包括:河网所属国家信息、河网流域信息、河网汇流关系信息、河网中水系出口位置信息、河网水体类别信息以及河网要素信息和空间位置信息;所述河网流域信息可以包括河网一级流域信息和河网二级流域水系信息。
河网信息编码方式获取模块1204,用于获取与所述河网信息相对应的河网信息编码方式;
其中,所述河网信息编码方式可以包括:国家信息编码方式、一级流域分类编码方式、二级流域水系编码方式、K级子流域编码方式、水系位置编码方式、河网水体类别编码方式以及河网要素信息和空间位置编码方式。
河网信息编码获取模块1206,用于按照与所述河网信息对应的河网信息编码方式,对所述河网信息进行编码,得到国家信息编码、一级流域分类编码、二级流域水系编码、K级子流域编码、水系位置编码、河网水体类别编码以及河网要素信息和空间位置编码。
河网编码获取模块1208,用于按顺序依次记录所述国家编码、所述一级流域分类编码、所述二级流域水系编码、所述K级子流域编码、所述水系位置编码、所述河网水体类别编码以及所述河网要素信息和空间位置编码,得到完整编码,所述完整编码为河网编码。
编码应用模块1210,根据所述河网编码,检索河网空间信息、和/或获取河网空间拓扑属性、和/或查询河网附属信息。
具体实现时,所述河网信息编码获取模块1206,可以包括:
河网所属国家信息获取子模块120612,用于获取所述河网所属国家信息;
国家信息编码子模块120614,用于根据所述河网所属国家信息,按照所述国家信息编码方式,采用二位字符X1X2对所述河网所属国家信息进行编码,所述X1和所述X2的取值范围均为[A-Z],得到所述国家信息编码 X1X2。
所述河网信息编码获取模块1206,还可以包括:
一级流域信息获取子模块120622,用于获取所述河网一级流域信息;
一级流域分类编码子模块120624,用于根据所述河网一级流域信息,按照所述一级流域分类编码方式,采用一位字符X3对所述河网一级流域信息进行编码,所述X3取值范围为[0-Z],得到所述一级流域分类编码X3。
所述河网信息编码获取模块1206,还可以包括:
二级流域水系信息获取子模块120632,用于获取所述河网二级流域水系信息;
二级流域水系编码子模块120634,用于根据所述河网二级流域水系信息,按照所述二级流域水系编码方式,采用二位字符X4X5对所述河网二级流域水系信息进行编码,所述X4X5的取值范围为[00-ZZ],得到所述二级流域水系编码X4X5。
所述河网信息编码获取模块1206,还可以包括:
河网汇流关系信息获取子模块120642,用于获取所述河网汇流关系信息;
K级子流域编码子模块120644,用于根据所述河网汇流关系信息,按照所述K级子流域编码方式,采用9位字符X6X7…XL+5…X14对所述河网汇流关系信息进行K级子流域编码,其中X6、X7、…、X14取值范围均为 [0-9],得到所述K级子流域编码X6、X7、…、X14。
所述河网信息编码获取模块1206,还可以包括:
水系出口位置信息获取子模块120652,用于获取所述河网中水系出口位置信息;
水系位置编码子模块120654,用于根据所述河网中水系出口位置信息,按照所述水系位置编码方式,采用一位字符X15对所述河网中水系出口位置信息进行编码,所述X15的取值范围为[0-Z],得到所述水系位置编码 X15;
所述河网信息编码获取模块1206,还可以包括:
水体类别信息获取子模块120652,用于获取所述河网水体类别信息;
水体类别编码子模块120654,用于根据所述河网水体类别信息,按照所述河网水体类别编码方式,采用一位字符X16对所述河网水体类别信息进行编码,X16的取值范围为[0-Z],得到所述河网水体类别编码X16。
所述河网信息编码获取模块1206,还可以包括:
河网要素信息和空间位置信息获取子模块120672,用于获取所述河网要素信息和空间位置信息,所述要素信息包括:点信息、线信息和面信息;
河网要素信息和空间位置编码子模块120674,用于根据所述河网要素信息和空间位置信息,按照所述河网要素信息和空间位置编码方式,采用 12位字符X17X18…X28对所述河网要素信息和空间位置进行编码,得到所述河网要素信息和空间位置编码X17X18…X28。
本申请实施例中,所述河网信息编码方式,还可以包括:分叉形河网编码方式、十字形河网编码方式和H形河网编码方式。
本申请实施例中,综合考虑全球范围内所有河网信息,根据所述河网信息完成河网编码,可以适用于简单河网的编码和复杂河网的编码,编码方法统一,有利于全球河网信息的共享,促进了全球水利管理信息化进程的发展。
对于系统实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
以上对本申请所提供的一种河网编码方法和系统,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。