[发明专利]基于改进边界代数法的相交多边形提取方法有效

专利信息
申请号: 201810731268.0 申请日: 2018-07-05
公开(公告)号: CN108985306B 公开(公告)日: 2020-03-31
发明(设计)人: 周琛;李满春;陈振杰;姜朋辉;程亮 申请(专利权)人: 南京大学
主分类号: G06K9/46 分类号: G06K9/46
代理公司: 南京同泽专利事务所(特殊普通合伙) 32245 代理人: 赵洪玉
地址: 210023 江苏*** 国省代码: 江苏;32
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明涉及一种基于改进边界代数法的相交多边形提取方法,包括以下步骤:对所有图层中的多边形顺序进行编号;计算包含所有图层的MBR,数组hDstDS、pIDArrayRLEGroup分别存放栅格单元的属性值、多边形ID和游程;对所有多边形使用边界代数算法依次进行栅格化,在栅格化过程中赋予各多边形的属性值均为1;在数组hDstDS中获取当前多边形MBR包含的栅格单元,并逐行读取获取其属性值,并根据不同的属性值进行相应处理;从数组RLEGroup存储的游程中提取相应的相交多边形组,即每个游程中的数组pGroup即对应一个相交多边形组。本发明计算复杂度低,尤其适用于规模化的多边形数据集的相交多边形提取。
搜索关键词: 基于 改进 边界 代数 相交 多边形 提取 方法
【主权项】:
1.一种基于改进边界代数法的相交多边形提取方法,包括以下步骤:步骤一、对所有图层中的多边形顺序进行编号,每个多边形对应唯一的多边形ID;步骤二、计算包含所有图层的MBR,根据栅格尺寸,生成初始值为0的数组hDstDS以存放栅格单元的属性值,其大小为nYSize行×nXSize列,同时生成与数组hDstDS相同大小、初始值为‑1的数组pIDArray以存放多边形ID;生成一个新的数组RLEGroup以存放游程;其中,一个栅格行中栅格单元的属性值为pNum的游程定义为RLE{StartX,EndX,LocateY,(pID0,pID1,…,pIDpNum‑1),pNum};其中,StartX和EndX为该栅格行中属性值为pNum的起始栅格单元与结束栅格单元的横坐标,LocateY为该栅格行的纵坐标,(pID0,pID1,…,pIDpNum‑1)为存放相交多边形ID的数组pGroup;步骤三、对步骤一中的所有多边形使用边界代数算法依次进行栅格化,在栅格化过程中赋予各多边形的属性值均为1,并更新数组hDstDS的值为栅格单元的属性值;在数组hDstDS中获取当前多边形MBR包含的栅格单元,并逐行读取,对于纵坐标为LocateY的栅格行中的任一栅格单元(StartX,LocateY),若该栅格单元位于该多边形内部,则计算其在hDstDS中的存放位置locate=LocateY×nXSize+StartX,并获取其属性值value=hDstDS[locate];1)若该栅格单元的属性值value<2,则该栅格单元仅位于一个多边形内部,不予处理;2)若该栅格单元的属性值value=2,则该栅格单元位于两个相交多边形内部;在该栅格行中以当前栅格单元为起点继续扫描后续栅格单元,以形成从栅格单元(StartX,LocateY)至栅格单元(EndX,LocateY)的栅格序列,其中StartX≤EndX;上述栅格序列中的任一栅格单元(LocateXi,LocateY),StartX≤LocateXi≤EndX,须位于该多边形内部,并满足以下条件:这样,该栅格序列中的所有栅格单元均位于两个相交多边形内部;同时,这两个相交多边形ID分别为pIDArray[locate]和pCurrentID;创建一个新的游程以存放上述栅格序列,该游程可表示为{StartX,EndX,LocateY,(pIDArray[locate],pCurrentID),2},并将该游程存放至数组RLEGroup中;3)若该栅格单元的属性值value>2,则该栅格单元位于三个或三个以上相交多边形内部;在该栅格行中以当前栅格单元为起点继续扫描后续栅格单元,以形成从栅格单元(StartX,LocateY)至栅格单元(EndX,LocateY)的栅格序列,其中StartX≤EndX;上述栅格序列中的任一栅格单元(LocateXi,LocateY),其中StartX≤LocateXi≤EndX,须位于多边形内部,并满足以下条件:这样,该栅格序列中的所有栅格单元均位于value个相交多边形内部,其中一个多边形ID为pCurrentID,另外value‑1个多边形ID存放于已有的游程中;从栅格单元(max(StartXj,StartX),LocateY)至栅格单元(min(EndXj,EndX),LocateY),搜索包含value‑1个多边形ID的游程RLEj{StartXj,EndXj,LocateY,(pID0,pID1,…,pIDvalue‑2),value‑1},首先将其分解为两个新的游程,分别为{StartXj,max(StartXj,StartX)‑1,LocateY,(pID0,pID1,…,pIDvalue‑2),value‑1}和{min(EndXj,EndX)+1,EndXj,LocateY,(pID0,pID1,…,pIDvalue‑2),value‑1},其中min(EndXj,EndX)≤EndXj,StartXj≤min(StartXj,StartX),并将两个新的游程放入数组RLEGroup中,然后将原游程RLEj从数组RLEGroup中删除;同时生成一个新的游程{max(StartXj,StartX),min(EndXj,EndX),LocateY,(RLEj.pGroup,pCurrentID),value},并将其放入数组RLEGroup中;步骤五、更新数组pIDArray,将当前多边形ID值赋给数组pIDArray中位于当前多边形内部的栅格单元;步骤六、从数组RLEGroup存储的游程中提取相应的相交多边形组,即每个游程中的数组pGroup即对应一个相交多边形组。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京大学,未经南京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/201810731268.0/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top