CN108304511B - 一种基于xml数据格式的河网水系存储表达方法 - Google Patents
一种基于xml数据格式的河网水系存储表达方法 Download PDFInfo
- Publication number
- CN108304511B CN108304511B CN201810055035.3A CN201810055035A CN108304511B CN 108304511 B CN108304511 B CN 108304511B CN 201810055035 A CN201810055035 A CN 201810055035A CN 108304511 B CN108304511 B CN 108304511B
- Authority
- CN
- China
- Prior art keywords
- river
- unit
- river channel
- slope
- units
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/80—Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
- G06F16/83—Querying
- G06F16/835—Query processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Remote Sensing (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开一种基于XML数据格式的河网水系存储表达方法,该方法将栅格数据格式的整个流域划分为坡面单元与河道单元,利用XML语言中链接表达特点,将每个河道单元作为一个节点存储,根据节点的编号描述河道与坡面,河道与河道之间的拓扑关系,由此实现流域中任意一个网格单元的查询、检索及与其他单元的上下游关系分析,并支持水文模型计算。本发明实现快速准确地查询检索到汇入任意一个河道单元的所有上游河道单元和坡面单元,以及快速的查询到该河道单元的基本属性以及该河道单元下游的其他河道单元。
Description
技术领域
本发明涉及地理信息系统技术领域,尤其涉及一种基于XML数据格式的河网水系存储表达方法。
背景技术
在地理信息系统(Geographical Information System,GIS)中河流、地块等地理要素普遍使用矢量与栅格这两种数据表达方式。矢量数据利用点、线、面、体等空间几何形式来表达现实世界,这种方式可以整体地表示河流水系的地理位置、空间形态,数据冗余小,但是计算过程比较复杂,坡面和河道需要分为面、线两个图层来存储,需要专业软件支持;栅格数据利用离散栅格单元来表达地物或空间现象的某个属性特征,直观形象,计算简便,被大多数水文模型所应用,但是栅格单元之间的水文拓扑关系无法直接查询,也不能在一个图层中存储单元的多重属性,如河道的宽度,坡度等等。总之,上述两种传统的数据结构对河网水系的存储表达均已不能满足应用的需求。
发明内容
本发明针对传统矢量、栅格数据结构在存储表达河网水系方面的问题,提供一种基于XML数据格式的河网水系存储表达方法,将河网水系离散为正方形空间单元,将河道单元作为一个节点存储,对节点进行编号并描述河道单元与坡面单元、河道单元与河道单元之间的拓扑关系,并利用XML格式存储这些信息。
本发明采用的技术方案是:
一种基于XML数据格式的河网水系存储表达方法,其包括以下步骤:
S1,给定一个封闭的流域空间单元,输入该流域的DEM(Digital ElevationModel, 数字高程模型)栅格数据,在该DEM数据上,标定流域出山口位置,即出山口河道单元R0所在位置;
S2,将出山口河道单元R0作为起始单元节点,给出山口河道单元R0赋予河道单元的宽度属性和坡度属性;
S3,以出山口河道单元R0作为河流终点,基于DEM计算出水流流向图;大部分GIS软件具有该功能,计算过程不赘述;
S4,根据流域特征设置累积汇流阈值,从水流流向图中区分出河道单元与坡面单元,分别记为河道单元集合Rchannel与坡面单元集合Rslope;
S5,以出山口河道单元R0为初始节点,根据水流流向图逆向遍历流域中所有的栅格单元,
当读取到的栅格为河道单元时,则将该河道单元作为一个新的节点R1并赋予其河道特征属性;
当读取到的栅格为坡面单元时,则将该坡面单元作为属性列入到出山口河道单元R0的属性集合中,同时以该坡面单元作为起点继续逆向遍历流入该坡面单元的其他坡面单元,直到流域边界上的最后一个坡面单元;
S6,针对新的节点R1,重复S5所述遍历过程,直到所有河道单元都被遍历完;
S7,按照逆流向将遍历到的所有河道单元存储到静态链表LRchannel中,可以根据河道单元ID直接获取该河道单元的其他属性;
S8,将静态链表LRchannel的转换为XML格式。在磁盘中存储为XML格式的文件,直观的利用节点对象表示河道单元,读取文件时可以便捷地进行转换。
进一步地,步骤S1中标定出口位置的具体方法为设置汇流累积阈值的最大值,即整个流域的栅格单元数,计算得到流域出山口位置,所述流域是一个完整的流域,同时有且仅有一个出山口位置。
进一步地,步骤S4中所有河道单元按照逆流向顺序赋予唯一标识码ID。
进一步地,步骤S4中基于广度优先或者深度优先方式遍历流入坡面单元的其他坡面单元;
当基于广度优先方式时,按遍历到的先后顺序存储得到水流长度、坡面汇流时间信息。
进一步地,步骤S5中赋予河道单元的属性包括河床坡度、河道宽度、河道单元ID及下一个河道单元的ID;出山口位置的初始河道单元没有下一个河道单元ID;坡面单元ID作为属性赋予其汇入的河道单元。
进一步地,步骤S7中将每个河道单元看作为一个对象,该河道单元对象具有宽度、深度、曼宁糙率系数和位置属性。
进一步地,步骤S7中使用数组作为构建静态链表LRchannel,该静态链表LRchannel按照遍历到的河道单元顺利存储每个河道单元对象,以便为了快速访问到每一个河道单元。
进一步地,步骤S8的具体步骤为:根据静态链表内存储的河道单元对象结构生成相应的XML节点,所有河道单元位于<channelNodes>节点内,每个河道单元是一个<channelNode>节点,该节点具有子节点<width>、<deep>、<manning>、<pos>,所有子节点均是河道单元的属性,每个子节点细分为更小的子节点。
本发明采用以上技术方案存储流域内各个单元,可以实现快速准确地查询检索到汇入任意一个河道单元的所有上游河道单元和坡面单元,也可以快速的查询到该河道单元的基本属性以及该河道单元下游的其他河道单元。本发明与现有的技术相比,本发明的创新性改进为:使用XML数据格式描述河网水系各个离散单元的属性及其相互之间的拓扑关系,将每个河道单元都作为一个节点对象,将流入该河道单元的坡面单元作为其属性,相比传统栅格数据或矢量数据可以更好的表现各个河道单元属性及其上下游拓扑关系,在水文模型计算中也可以动态地调整每个河道单元上的水流大小,清晰的表达每个河道单元上的水流模拟情况。
附图说明
以下结合附图和具体实施方式对本发明做进一步详细说明;
图1为本发明一种基于XML数据格式的河网水系存储表达方法的流程示意图;
图2为本发明一种基于XML数据格式的河网水系存储表达方法的流域单元分解结构示意图;
图3为本发明一种基于XML数据格式的河网水系存储表达方法的流域单元遍历算法示意图;
图4为本发明一种基于XML数据格式的河网水系存储表达方法的静态链表数据结构示意图;
图5为本发明一种基于XML数据格式的河网水系存储表达方法的静态链表与XML节点转换过程示意图。
具体实施方式
如图1-5所示,本发明公开了一种基于XML数据格式的河网水系存储表达方法,为构建河道单元链表,需要流域界线内的数字高程模型及由此计算得到的河道单元集合、坡面单元集合;计算中间结果包括汇流累积阈值、水流流向数据、水流长度数据;可存储到河道单元作为其属性的,包括河道宽度、深度和坡度等;本发明的方法其包括以下步骤:
S1,如图2所示,给定一个封闭的流域空间单元,输入该流域的DEM(DigitalElevation Model, 数字高程模型)栅格数据,在该DEM数据上,标定流域出山口位置,即出山口河道单元R0所在位置;进一步地,步骤S1中标定出口位置的具体方法为设置汇流累积阈值的最大值,即整个流域的栅格单元数,计算得到河道单元集合、坡面单元集合及流域出山口位置,该位置为河道单元中最下游端点,所述流域是一个完整的流域,同时有且仅有一个出山口位置。
S2,将出山口河道单元R0作为起始单元节点,给出山口河道单元R0赋予河道单元的宽度属性和坡度属性;
S3,以出山口河道单元R0作为河流终点,基于DEM计算出水流流向图;大部分GIS软件具有该功能,计算过程不赘述;
S4,根据流域特征设置累积汇流阈值,从水流流向图中区分出河道单元与坡面单元,分别记为河道单元集合Rchannel与坡面单元集合Rslope;
进一步地,步骤S4中所有河道单元按照逆流向顺序赋予唯一标识码ID。
进一步地,步骤S4中基于广度优先或者深度优先方式遍历流入坡面单元的其他坡面单元;
S5,如图3所示,以出山口河道单元R0为初始节点,根据水流流向图逆向遍历流域中所有的栅格单元,
当读取到的栅格为河道单元时,则将该河道单元作为一个新的节点R1并赋予其河道特征属性;
当读取到的栅格为坡面单元时,则将该坡面单元作为属性列入到出山口河道单元R0的属性集合中,同时以该坡面单元作为起点继续逆向遍历流入该坡面单元的其他坡面单元,直到流域边界上的最后一个坡面单元;
进一步地,步骤S5中赋予河道单元的属性包括河床坡度、河道宽度、河道单元ID及下一个河道单元的ID;出山口位置的初始河道单元没有下一个河道单元ID;坡面单元ID作为属性赋予其汇入的河道单元。
具体地,根据设置的累积汇流阈值可以以该位置作为河道单元遍历的起始节点;该节点ID设为0,表示下游相邻河道单元的属性NextID设置为-1,表示不存在;当遍历读取到其他河道单元后,根据读取顺序,依次赋予河道单元的ID值为1,2,3,……。
根据水流流向数据,可以读取任意河道单元周边的8个单元,其中的河道单元加入到一个堆栈中作为下次遍历的起始河道单元,坡面单元加入到当前河道单元的坡面单元集合中,同时将该坡面单元放入另一个堆栈中用于读取其他流入该单元的坡面单元,如此重复直到遍历完这所有8个单元。
S6,针对新的节点R1,重复S5所述遍历过程,直到所有河道单元都被遍历完;
具体地,从存有河道单元的栈中取出另一个河道单元进行遍历,直到所有的河道元素遍历完成,算法结束。
S7,如图4所示,按照逆流向将遍历到的所有河道单元存储到静态链表LRchannel中,可以根据河道单元ID直接获取该河道单元的其他属性;
进一步地,步骤S7中将每个河道单元看作为一个对象,该河道单元对象具有宽度、深度、曼宁糙率系数和位置属性。
进一步地,步骤S7中使用数组作为构建静态链表LRchannel,该静态链表LRchannel按照遍历到的河道单元顺利存储每个河道单元对象,以便为了快速访问到每一个河道单元。
S8,将静态链表LRchannel的转换为XML格式。在存储XML文件过程中,按照静态链表中元素存储顺序,逐个读取河道单元ID,作为节点写到XML文件中,河道单元的每个属性,在XML文件中同时作为对应节点的属性写入。
在磁盘中存储为XML格式的文件,直观的利用节点对象表示河道单元,读取文件时可以便捷地进行转换。
当基于广度优先方式时,按遍历到的先后顺序存储得到水流长度、坡面汇流时间信息。
进一步地,步骤S8的具体步骤为:根据静态链表内存储的河道单元对象结构生成相应的XML节点,如图5所示,所有河道单元位于<channelNodes>节点内,每个河道单元是一个<channelNode>节点,该节点具有子节点<width>、<deep>、<manning>、<pos>,所有子节点均是河道单元的属性,每个子节点细分为更小的子节点。
本发明采用以上技术方案存储流域内各个单元,可以实现快速准确地查询检索到汇入任意一个河道单元的所有上游河道单元和坡面单元,也可以快速的查询到该河道单元的基本属性以及该河道单元下游的其他河道单元。本发明与现有的技术相比,本发明的创新性改进为:使用XML数据格式描述河网水系各个离散单元的属性及其相互之间的拓扑关系,将每个河道单元都作为一个节点对象,将流入该河道单元的坡面单元作为其属性,相比传统栅格数据或矢量数据可以更好的表现各个河道单元属性及其上下游拓扑关系,在水文模型计算中也可以动态地调整每个河道单元上的水流大小,清晰的表达每个河道单元上的水流模拟情况。
Claims (8)
1.一种基于XML数据格式的河网水系存储表达方法,其特征在于:其包括以下步骤:
S1,给定一个封闭的流域空间单元,输入该流域的DEM栅格数据,在该DEM数据上,标定流域出山口位置,即出山口河道单元R0所在位置;
S2,将出山口河道单元R0作为起始单元节点,给出山口河道单元R0赋予河道单元的宽度属性和坡度属性;
S3,以出山口河道单元R0作为河流终点,基于DEM计算出水流流向图;
S4,根据流域特征设置累积汇流阈值,从水流流向图中区分出河道单元与坡面单元,分别记为河道单元集合Rchannel与坡面单元集合Rslope;
S5,以出山口河道单元R0为初始节点,根据水流流向图逆向遍历流域中所有的栅格单元,
当读取到的栅格为河道单元时,则将该河道单元作为一个新的节点R1并赋予其河道特征属性;
当读取到的栅格为坡面单元时,则将该坡面单元作为属性列入到出山口河道单元R0的属性集合中,同时以该坡面单元作为起点继续逆向遍历流入该坡面单元的其他坡面单元,直到流域边界上的最后一个坡面单元;
S6,针对新的节点R1,重复S5所述遍历过程,直到所有河道单元都被遍历完;
S7,按照逆流向将遍历到的所有河道单元存储到静态链表LRchannel中,
S8,将静态链表LRchannel的转换为XML格式。
2.根据权利要求1所述的一种基于XML数据格式的河网水系存储表达方法,其特征在于:步骤S1中标定出口位置的具体方法为设置汇流累积阈值的最大值,即整个流域的栅格单元数,计算得到流域出山口位置,所述流域是一个完整的流域,同时有且仅有一个出山口位置。
3.根据权利要求1所述的一种基于XML数据格式的河网水系存储表达方法,其特征在于:步骤S4中所有河道单元按照逆流向顺序赋予唯一标识码ID。
4.根据权利要求1所述的一种基于XML数据格式的河网水系存储表达方法,其特征在于:步骤S4中基于广度优先或者深度优先方式遍历流入坡面单元的其他坡面单元;
当基于广度优先方式时,按遍历到的先后顺序存储得到水流长度、坡面汇流时间信息。
5.根据权利要求3所述的一种基于XML数据格式的河网水系存储表达方法,其特征在于:步骤S5中赋予河道单元的属性包括河床坡度、河道宽度、河道单元ID及下一个河道单元的ID;出山口位置的初始河道单元没有下一个河道单元ID;坡面单元ID作为属性赋予其汇入的河道单元。
6.根据权利要求1所述的一种基于XML数据格式的河网水系存储表达方法,其特征在于:步骤S7中将每个河道单元看作为一个对象,该河道单元对象具有宽度、深度、曼宁糙率系数和位置属性。
7.根据权利要求1所述的一种基于XML数据格式的河网水系存储表达方法,其特征在于:步骤S7中使用数组作为构建静态链表LRchannel,该静态链表LRchannel按照遍历到的河道单元顺利存储每个河道单元对象。
8.根据权利要求1所述的一种基于XML数据格式的河网水系存储表达方法,其特征在于:步骤S8的具体步骤为:根据静态链表内存储的河道单元对象结构生成相应的XML节点,所有河道单元位于<channelNodes>节点内,每个河道单元是一个<channelNode>节点,该节点具有子节点<width>、<deep>、<manning>、<pos>,所有子节点均是河道单元的属性,每个子节点细分为更小的子节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810055035.3A CN108304511B (zh) | 2018-01-19 | 2018-01-19 | 一种基于xml数据格式的河网水系存储表达方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810055035.3A CN108304511B (zh) | 2018-01-19 | 2018-01-19 | 一种基于xml数据格式的河网水系存储表达方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108304511A CN108304511A (zh) | 2018-07-20 |
CN108304511B true CN108304511B (zh) | 2021-03-30 |
Family
ID=62865831
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810055035.3A Active CN108304511B (zh) | 2018-01-19 | 2018-01-19 | 一种基于xml数据格式的河网水系存储表达方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108304511B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110782526B (zh) * | 2018-07-25 | 2021-04-13 | 中国水利水电科学研究院 | 一种不同子流域河道网格演算次序编码方法 |
CN111610908B (zh) * | 2019-02-25 | 2021-06-29 | 上海哔哩哔哩科技有限公司 | 一种生成框架图的方法、计算机设备及可读存储介质 |
CN111950105B (zh) * | 2020-08-14 | 2024-07-09 | 四川电力设计咨询有限责任公司 | 一种基于深度优先遍历的火电厂管道三维模型转换方法 |
CN117312608B (zh) * | 2023-08-14 | 2024-06-04 | 河海大学 | 一种基于深度优先搜索的河网节点简并方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102915227A (zh) * | 2012-09-03 | 2013-02-06 | 南京师范大学 | 面向大区域流域提取的并行方法 |
CN103092572A (zh) * | 2013-01-11 | 2013-05-08 | 中国科学院地理科学与资源研究所 | 一种集群环境下分布式水文模拟的并行化方法 |
CN103150298A (zh) * | 2013-03-13 | 2013-06-12 | 河海大学 | 基于Web的流域水调业务可定制复杂表格生成方法 |
CN105138722A (zh) * | 2015-07-14 | 2015-12-09 | 南京师范大学 | 基于数字河湖网络的平原河网区流域集水单元划分方法 |
CN106599471A (zh) * | 2016-12-15 | 2017-04-26 | 中国水利水电科学研究院 | 一种分布式流域水沙过程耦合模拟方法 |
-
2018
- 2018-01-19 CN CN201810055035.3A patent/CN108304511B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102915227A (zh) * | 2012-09-03 | 2013-02-06 | 南京师范大学 | 面向大区域流域提取的并行方法 |
CN103092572A (zh) * | 2013-01-11 | 2013-05-08 | 中国科学院地理科学与资源研究所 | 一种集群环境下分布式水文模拟的并行化方法 |
CN103150298A (zh) * | 2013-03-13 | 2013-06-12 | 河海大学 | 基于Web的流域水调业务可定制复杂表格生成方法 |
CN105138722A (zh) * | 2015-07-14 | 2015-12-09 | 南京师范大学 | 基于数字河湖网络的平原河网区流域集水单元划分方法 |
CN106599471A (zh) * | 2016-12-15 | 2017-04-26 | 中国水利水电科学研究院 | 一种分布式流域水沙过程耦合模拟方法 |
Non-Patent Citations (5)
Title |
---|
The Relationship between DEM Resolution,Accumulation Area Threshold and Drainage Network Indices;Junming Chen,Guangfa Lin;《IEEE 2010 18th International Conference on Geoinformatics》;20100909;全文 * |
基于DEM流域河网水系提取研究;邱剑飞;《太原师范学院学报(自然科学版)》;20091231;第8卷(第4期);全文 * |
基于元胞自动机模型的河道汇流过程模拟;张文富;《地球信息科学》;20170731;第19卷(第7期);全文 * |
基于栅格DEM与水流路径的黄土区沟缘线自动提取技术研究;刘鹏举;《北京林业大学学报》;20060731;第28卷(第4期);全文 * |
数字河网提取的影响参数优化分析;陈俊明;《地球信息科学学报》;20110228;第13卷(第1期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN108304511A (zh) | 2018-07-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108304511B (zh) | 一种基于xml数据格式的河网水系存储表达方法 | |
Ledoux et al. | Topologically consistent 3D city models obtained by extrusion | |
Malone et al. | Mapping continuous depth functions of soil carbon storage and available water capacity | |
Waltari et al. | Ecological niche modelling of montane mammals in the Great Basin, North America: examining past and present connectivity of species across basins and ranges | |
Goodchild et al. | Towards a general theory of geographic representation in GIS | |
Schilling | Laharz_py: GIS tools for automated mapping of lahar inundation hazard zones | |
Chen et al. | A scale-adaptive DEM for multi-scale terrain analysis | |
CN106909692B (zh) | 一种计算城市公共设施覆盖辐射指数的方法 | |
CN105427380A (zh) | 一种基于多细节层次三维地图数据处理方法 | |
CN109101732B (zh) | 基于地形特征界线的无汊河道二维结构网格剖分方法 | |
CN109992923B (zh) | 一种基于变分辨率成本表面的分阶段输电线路路径规划方法 | |
CN103336772A (zh) | 一种新的单景影像瓦片数据组织方法 | |
Miller | The need to continue improving soil survey maps | |
Zlatanova | 3D geometries in spatial DBMS | |
Penninga et al. | A simplicial complex‐based DBMS approach to 3D topographic data modelling | |
CN114822033A (zh) | 基于特征金字塔网络的路网交通流量数据修复方法及系统 | |
Rahman | Modeling flood inudation of the Jamuna river | |
Phillips | The law of scale independence | |
Bruin et al. | Using quadtree segmentation to support error modelling in categorical raster data | |
Liu et al. | The “M” in digital elevation models | |
CN112084609B (zh) | 电力行业的供电分区划分方法 | |
CN111914039B (zh) | 道路网更新方法及装置 | |
Kreveld et al. | Embedding rivers in triangulated irregular networks with linear programming | |
McGauley et al. | A complete water balance of a rain garden | |
Martínez et al. | Linking GIS, hydraulic modeling, and tabu search for optimizing a water level-monitoring network in South Florida |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |