一种基于GIS的面积量测方法及系统技术方案

技术编号:37333570 阅读:17 留言:0更新日期:2023-04-21 23:11
本发明专利技术提出了一种基于GIS的面积量测方法,输入地图坐标,同时获取当前面积量测的坐标数组;根据当前面积量测坐标数组长度,进行不同的处理,若当前面积量测坐标数组长度为0或1,则在坐标数组末尾新增输入的地图坐标,生成点实体,返回输入;若当前面积量测坐标数组长度为2,则在坐标数组末尾新增输入的地图坐标,生成多边形实体,并计算多边形实体的面积;若当前面积量测坐标数组长度大于2,则判断坐标数组是否符合重叠相交规则,对于筛选符合规则的坐标数组加入输入的地图坐标,生成多边形实体,计算多边形实体的面积。本发明专利技术解决了在部分情况下面积计算异常的情况。部分情况下面积计算异常的情况。部分情况下面积计算异常的情况。

【技术实现步骤摘要】
一种基于GIS的面积量测方法及系统


[0001]本专利技术涉及地理信息系统领域,具体涉及一种基于GIS的面积量测方法及系统。

技术介绍

[0002]地理信息系统(Geographic Information System,简称GIS)是一种获取、处理、显示与应用地理信息的计算机技术系统。其主要包括数据输入、数据处理以及数据显示等。目前,传统的面积量测功能主要是各地理信息应用提供方提供的简易面积方法,但是此类面积量测方法在复杂的面积量测情况下会出现不同类型的问题,具体包括:图形重叠时可能出现面积为0,甚至为负的情况;相近的图形,得到的结果相差巨大,甚至出现倒挂的情况,导致量测结果不精准。

技术实现思路

[0003]本专利技术的目的在于提出一种基于GIS的面积量测方法及系统。
[0004]实现本专利技术目的的技术解决方案为:一种基于GIS的面积量测方法,包括如下步骤:
[0005]步骤1:输入地图坐标,同时获取当前面积量测的坐标数组;
[0006]步骤2:根据步骤1中当前面积量测坐标数组长度,进行不同的处理,若当前面积量测坐标数组长度为0或1,则在坐标数组末尾新增输入的地图坐标,生成点实体,并转至步骤1;若当前面积量测坐标数组长度为2,则在坐标数组末尾新增输入的地图坐标,生成多边形实体,并转至步骤4计算多边形实体的面积;若当前面积量测坐标数组长度大于2,则转至步骤3判断坐标数组是否符合重叠相交规则,对于筛选符合规则的坐标数组加入输入的地图坐标,生成多边形实体,计算多边形实体的面积;
[0007]步骤3:将输入坐标与坐标数组中首个坐标组成遍历坐标L1,将首个坐标和第二个坐标组成被遍历坐标L2,基于快速排斥算法验证L1与L2是否有重叠,若当前无重叠,则将坐标数组中的第二个坐标和第三个坐标组成被遍历坐标L2,继续遍历;若当前有重叠部分,则进行跨立验算,验证是否相交,若跨立验算的结果为相交,则遍历结束,判定当前坐标数组不符合规则,若跨立验算的结果为不相交,则将坐标数组中的第二个坐标和第三个坐标组成被遍历坐标L2,继续遍历;以此类推,直至完成所有坐标的遍历;
[0008]步骤4:根据坐标数组,计算多边形实体的面积。
[0009]进一步的,步骤2中,若当前面积量测坐标数组长度为0,则在坐标数组末尾新增输入的地图坐标,生成点实体;若当前面积量测坐标数组长度为1,则在坐标数组末尾新增输入的地图坐标,生成线第二个点实体。
[0010]进一步的,步骤3中,将遍历坐标对L1的坐标记为:[P
11
(x
11
,y
11
),P
12
(x
12
,y
12
)],将被遍历坐标对L2的坐标记为:[P
21
(x
21
,y
21
),P
22
(x
22
,y
22
)],以L1和L2的坐标作为对角组成矩形,则两个矩形的坐标分别为:R1:[P
11
(x
11
,y
11
),P
12
(x
12
,y
11
),P
13
(x
12
,y
12
),P
14
(x
11
,y
12
)],R2:[P
21
(x
21
,y
21
),P
22
(x
22
,y
21
),P
23
(x
22
,y
22
),P
24
(x
21
,y
22
)],R1和R2有重叠和不重叠两种位置关
系,快速排斥算法对矩形R1和矩形R2进行重叠判断,其步骤如下:
[0011]1.设置矩形R1和R2的边界
[0012]将x
11
和x
12
中较小值记为X1
min
,较大值记为X1
max
,将y
11
和y
12
中较小值记为Y1
min
,较大值记为Y1
max

[0013]将x
21
和x
22
中较小值记为X2
min
,较大值记为X2
max
,将y
21
和y
22
中较小值记为Y2
min
,较大值记为Y2
max

[0014]2.比对R1和R1是否有重叠:
[0015](1)判断Y1
min
是否小于Y2
max

[0016](2)判断X2
max
是否小于X2
min

[0017](3)判断Y2
min
是否小于Y1
max

[0018](4)判断X1
max
是否小于X2
min

[0019]3.若上述(1)式(2)式(3)式(4)式的判断结果全部为真,则矩形R1和R1无重叠,即两线段必定不相交。
[0020]进一步的,步骤3中,将遍历坐标对L1的坐标记为:[P
11
(x
11
,y
11
),P
12
(x
12
,y
12
)],将被遍历坐标对L2的坐标记为:[P
21
(x
21
,y
21
),P
22
(x
22
,y
22
)],若L1和L2相交,则线段L2的两个端点P
21
和P
22
必定在线段L1左右两侧,且同时线段L1的两个端点P
11
和P
12
必定在线段L2左右两侧,对此,跨立验算需要通过向量叉乘,求线段L1和L2的端点坐标之间的向量积:
[0021]V1=(x
21

x
11
)*(y
12

y
11
)

(x
12

x
11
)*(y
21

y
11
)
[0022]V2=(x
22

x
11
)*(y
12

y
11
)

(x
12

x本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于GIS的面积量测方法,其特征在于,包括如下步骤:步骤1:获取地图输入坐标P,同时获取当前面积量测的坐标数组PA:[P1,P2,P2,

,P
n
];步骤2:根据步骤1中当前面积量测坐标数组PA的长度进行不同的处理,若当前面积量测坐标数组PA长度为0或1,则在坐标数组PA末尾新增输入的地图坐标P,地图生成点实体,并转至步骤1;若当前面积量测坐标数组PA长度为2,则在坐标数组PA末尾新增输入的地图坐标,生成多边形实体,并转至步骤4计算多边形实体的面积;若当前面积量测坐标数组PA长度大于2,则转至步骤3判断输入坐标P与坐标数组PA是否符合重叠相交规则,若符合则在坐标数组PA末尾添加输入坐标P,生成多边形实体,计算多边形实体的面积;步骤3:将输入坐标P与坐标数组PA首个坐标P1组成遍历坐标对L1,将数组PA首个坐标P1和其后续坐标P2组成被遍历坐标对L2,进行快速排斥算法验证L1与L2是否有重叠,若当前无重叠,则将坐标数组PA中的第二个坐标P2和其后续坐标P3组成被遍历坐标对L2,继续遍历;若当前有重叠部分,则进行跨立验算,验证是否相交,若跨立验算的结果为相交,则遍历结束,判定当前输入坐标P不符合规则,若跨立验算的结果为不相交,则将坐标数组PA中的第二个坐标P2和其后续坐标P3组成被遍历坐标对L2,继续遍历;以此类推,直至完成所有坐标的遍历;步骤4:根据坐标数组,计算多边形实体的面积。2.根据权利要求1所述的基于GIS的面积量测方法,其特征在于,步骤2中,若当前面积量测坐标数组长度为0,则在坐标数组PA末尾新增输入的地图坐标P,地图生成点实体;若当前面积量测坐标数组长度为1,则在坐标数组PA末尾新增输入的地图坐标P,地图生成线第二个点实体。3.根据权利要求1所述的基于GIS的面积量测方法,其特征在于,步骤3中,将遍历坐标对L1的坐标记为:[P
11
(x
11
,y
11
),P
12
(x
12
,y
12
)],将被遍历坐标对L2的坐标记为:[P
21
(x
21
,y
21
),P
22
(x
22
,y
22
)],以L1和L2的坐标作为对角组成矩形,则两个矩形的坐标分别为:R1:[P
11
(x
11
,y
11
),P
12
(x
12
,y
11
),P
13
(x
12
,y
12
),P
14
(x
11
,y
12
)],R2:[P
21
(x
21
,y
21
),P
22
(x
22
,y
21
),P
23
(x
22
,y
22
),P
24
(x
21
,y
22
)],R1和R2有重叠和不重叠两种位置关系,快速排斥算法对矩形R1和矩形R2进行重叠判断,其步骤如下:1.设置矩形R1和R2的边界将x
11
和x
12
中较小值记为X1
min
,较大值记为X1
max
,将y
11
和y
12
中较小值记为Y1
min
,较大值记为Y1
max
;将x
21
和x
22
中较小值记为X2
min
,较大值记为X2
max
,将y
21
和y
22
中较小值记为Y2
min
,较大值记为Y2
max
;2.比对R1和R1是否有重叠:(1)判断Y1
min
是否小...

【专利技术属性】
技术研发人员:姜微韩洪宇柳玉玲崔凯伦王敦文
申请(专利权)人:苏州空天信息研究院
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1