【技术实现步骤摘要】
基于改进边界代数法的相交多边形提取方法
本专利技术涉及一种基于改进边界代数法的相交多边形提取方法,属于图像处理
技术介绍
多边形相交计算是地理信息系统(GeographicalInformationSystem,GIS)中的重要计算类型,被广泛地应用于多边形拓扑检查、缓冲区生成、叠置分析等GIS空间分析类型,具有典型的计算复杂、密集的算法特征。该类型空间计算的一般步骤包括:(1)遍历所有多边形数据集并搜索、确定相交多边形;(2)提取相交多边形并完成对相交部分结果的求解。目前已有大量学者针对该类型算法的处理效率和精度展开研究,根据其使用方法的不同,可分为基于矢量的方法和基于栅格的方法两种类型。基于矢量的方法主要面向空间对象描述,各多边形对象之间的空间关系判断需要基于计算几何算法进行定位、分析和检索。其基本处理过程包括:利用多边形的最小外接矩形(MinimalBoundingRectangle,简称MBR)表征多边形的空间形状,首先过滤出可能相交的候选多边形,进而对候选多边形进行精炼确定相交多边形组,最后对相交多边形组进行裁剪。尽管不同的多边形空间计算算法原理不同,但具有相同的算法特征,即本质操作均是过滤出具有相交关系的多边形,并对多边形点集集合进行裁剪。因此,计算密集型多边形空间计算的核心问题在于多边形之间的裁剪及相交多边形的确定。现有成熟的多边形裁剪算法主要是针对两个多边形进行;针对海量多边形数据,通用的方法是采用“暴力”算法逐个遍历源数据判断当前多边形与其他多边形的空间关系,并反复调用裁剪算法实现相交多边形的裁剪,不但计算复杂度高、效率低下,而 ...
【技术保护点】
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包含的栅格单元,并逐 ...
【技术特征摘要】
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},并将该游程存放至数组RLEG...
【专利技术属性】
技术研发人员:周琛,李满春,陈振杰,姜朋辉,程亮,
申请(专利权)人:南京大学,
类型:发明
国别省市:江苏,32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。