System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于河湖水岸线利用情况计算领域,具体涉及一种河湖水域岸线利用率的计算方法及系统
技术介绍
1、河湖水域岸线利用率是指河湖水域岸线上已经被利用或开发的部分长度(岸线利用长度)与总长度的比例,其中河湖水域岸线总长度取值相对一致,而岸线利用长度取值缺乏统一取值方法,现有的河湖水域岸线利用长度计算方法主要有如下三种:
2、(1)实地测量方法,使用测量工具(如测量带、测距仪等)在河湖岸线上逐段测量建设项目的岸线利用长度。该方法需要投入大量的人工实地测量,存在费时费力、效率低下、成本很大等问题。
3、(2)人工估算方法,利用gis软件在遥感影像上逐个绘制建设项目的图斑,使用软件测量工具通过人工大概测量建设项目的岸线利用长度。该方法对估算人员经验要求较高,存在人工主观影响较大、费时费力、效率较低等问题。
4、(3)按最大相交线计算方法,利用gis软件在遥感影像上逐个绘制建设项目的图斑,以一定步长移动图斑与岸线求交,以最大的相交线长度作为建设项目的利用长度。该方法对于移动步长取值要求较高,移动步长取值不同,对岸线利用长度结果差异较大,同时存在计算量大的问题。
技术实现思路
1、为了解决上述现有技术中存在的河湖水域岸线利用率计算费时费力、效率低下、人工影响大、计算量大、取值方法不一等问题,本专利技术提供了一种河湖水域岸线利用率的计算方法及系统,以便为河湖水域岸线管理提供可靠的数据支撑,进一步加强河湖水域岸线的科学利用,具体方案如下:
2、一种
3、s1:按照河道管理范围划界技术规程获取河湖水域岸线数据,通过遥感影像解译及现场复核确定岸线利用图斑数据,对河湖水域岸线数据进行预处理,将河流流向左边的岸线划为左岸岸线,将河流流向右边的岸线划为右岸岸线,湖泊岸则为湖泊岸线,并对河流左岸岸线、右岸岸线、湖泊岸线定义编码;
4、s2:利用图斑数据对河流左岸岸线、右岸岸线、湖泊岸线预处理,区分河流左岸岸线、右岸岸线、湖泊岸线利用项目图斑类型,并将图斑类型划分为临河临湖项目图斑、跨河项目图斑,并对岸线利用图斑定义编码;
5、s3:将河湖水域岸线要素、岸线利用项目图斑要素定义为相同的平面坐标,并将河湖水域岸线创建为长度索引线;
6、s4:根据定义的河湖水域岸线编码和岸线利用图斑编码判断岸线利用类型,并利用长度索引线计算岸线利用长度;
7、s5:根据岸线利用长度计算岸线利用率。
8、进一步地,步骤s1中,对河流左岸岸线、右岸岸线、湖泊岸线定义编码规则如下:
9、左岸岸线编码:l+河流代码,
10、右岸岸线编码:r+河流代码,
11、湖泊岸线编码:h+湖泊代码。
12、进一步地,步骤s2中,对岸线利用图斑定义编码规则如下:
13、临河项目图斑编码:n+河流代码+序号;
14、跨河项目图斑编码:k+河流代码+序号。
15、进一步地,步骤s3中创建长度索引线具体为:
16、通过对岸线要素l={p1,p2,......,pn},其中pn表示岸线要素的坐标点(xn,yn),创建长度索引线l′={s1,s2,......,s(n-1)},
17、
18、其中s(n-1)包括从岸线的一个点到相邻下一个点的直线线段
19、({p(n-1),pn})、索引值(k)以及线段长度(d(n-1))。
20、进一步地,步骤s4中具体为:
21、根据河湖水域岸线编码创建长度索引线判段岸线利用类型,若河湖水域岸线编码以h开头,表示计算湖泊岸线利用长度,其长度计算方法为;
22、依次计算岸线利用项目图斑各顶点pj(xj,yj)(j=1,2,......,m,m表示图斑顶点数)到岸线索引线段l′={s1,s2,......,s(n-1)}的投影点qj(x′j,y′j),如果投影点qj的x′j坐标不在线段s(n-1)的x坐标范围内,或者y′j坐标不在线段s(n-1)的y坐标范围内,则投影点qj不在线段s(n-1)上,点pj到线段s(n-1)的最短距离将是点pj到线段s(n-1)两个端点的距离中的较小值,计算公式如下所示:
23、
24、否则是点到线段的垂线距离,计算公式如下所示,
25、
26、式中:
27、取最小距离dmin的点即为岸线利用项目顶点到索引线段l′的最短距离,
28、按照上述分别计算图斑的各个顶点,得到各个顶点的投影坐标和索引值,取出最大投影索引值kmax,最小投影索引值kmin,最大投影点与最小投影点之间的岸线索引线段即为岸线利用图斑对应的岸线利用线长度l岸线利用,岸线利用线长度为最小投影点与其所在索引线线段终点之间的距离、最大投影点与其所在索引线线段起点之间的距离以及最大、最小投影点之间的索引线线段长度总和,计算公式如下所示。
29、若kmax>kmin,则岸线利用长度计算公式:
30、
31、若kmax=kmin,则岸线利用长度计算公式:
32、
33、进一步地,步骤s4中具体为:
34、根据河湖水域岸线编码判段岸线利用类型,若河湖水域岸线编码以l或r开头,表示计算河流岸线长度,则需进一步区分岸线利用项目图斑编码的首字母;
35、若岸线利用项目图斑编码以n开头,则需优先分别计算岸线利用项目图斑中心点pc(xo,yo)到左、右岸线的最短距离,优先计算中心点到长度索引线各个线段s(n-1)的投影点p′c坐标(x′o,y′o),如计算公式下所示,
36、
37、其中如果投影点p′c的x′o坐标不在线段s(n-1)的x坐标范围内,或者y′o坐标不在线段s(n-1)的y坐标范围内,则投影点p′c不在线段s(n-1)上,点p′c到线段s(n-1)的最短距离将是点pc到线段s(n-1)两个端点的距离中的较小值,计算公式如下所示,
38、
39、否则是点到线段的垂线距离,计算公式下所示,
40、
41、式中:
42、最终获取中心点pc到左、右岸线的最短距离;按照上述分别计算图斑的各个顶点,得到各个顶点的投影坐标和索引值,取出最大投影索引值kmax,最小投影索引值kmin,最大投影点与最小投影点之间的岸线索引线段即为岸线利用图斑对应的岸线利用线长度l岸线利用,岸线利用线长度为最小投影点与其所在索引线线段终点之间的距离、最大投影点与其所在索引线线段起点之间的距离以及最大、最小投影点之间的索引线线段长度总和,计算公式如下所示;
43、若kmax>kmin,则岸线利用长度计算公式:
44、
45、若kmax=kmin,则岸线利用长度计算公式:
46、
47、若岸本文档来自技高网...
【技术保护点】
1.一种河湖水域岸线利用率的计算方法,其特征在于,包括以下步骤:
2.根据权利要求1所述一种河湖水域岸线利用率的计算方法,其特征在于,步骤S1中,对河流左岸岸线、右岸岸线、湖泊岸线定义编码规则如下:
3.根据权利要求2所述一种河湖水域岸线利用率的计算方法,其特征在于,步骤S2中,对岸线利用图斑定义编码规则如下:
4.根据权利要求3所述一种河湖水域岸线利用率的计算方法,其特征在于,步骤S3中创建长度索引线具体为:
5.根据权利要求4所述一种河湖水域岸线利用率的计算方法,其特征在于,步骤S4中具体为:
6.根据权利要求4所述一种河湖水域岸线利用率的计算方法,其特征在于,步骤S4中具体为:
7.根据权利要求5或6所述一种河湖水域岸线利用率的计算方法,其特征在于,步骤S5具体为:
8.一种河湖水域岸线利用率计算系统,其特征在于,包括:
【技术特征摘要】
1.一种河湖水域岸线利用率的计算方法,其特征在于,包括以下步骤:
2.根据权利要求1所述一种河湖水域岸线利用率的计算方法,其特征在于,步骤s1中,对河流左岸岸线、右岸岸线、湖泊岸线定义编码规则如下:
3.根据权利要求2所述一种河湖水域岸线利用率的计算方法,其特征在于,步骤s2中,对岸线利用图斑定义编码规则如下:
4.根据权利要求3所述一种河湖水域岸线利用率的计算方法,其特...
【专利技术属性】
技术研发人员:童为民,罗天文,王茂洋,凡江林,赵朝彬,郭亮亮,冯碧颖,
申请(专利权)人:贵州省水利水电勘测设计研究院有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。