[发明专利]一种高效提取大数据量无拓扑矢量多边形公共边方法在审
申请号: | 201810639937.1 | 申请日: | 2018-06-21 |
公开(公告)号: | CN110704550A | 公开(公告)日: | 2020-01-17 |
发明(设计)人: | 张亚军;林巍凌;刘小春;王瑞瑞 | 申请(专利权)人: | 苏州中科蓝迪软件技术有限公司 |
主分类号: | G06F16/29 | 分类号: | G06F16/29;G06F16/56 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 215000 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 公共边 大数据量 高效提取 矢量 拓扑 线段 相邻多边形 | ||
1.一种高效提取大数据量无拓扑矢量多边形公共边方法,其特征在于:包括提取两个以上多边形公共边的步骤,所述两个以上多边形均有m个节点和m条线段,所述提取步骤为:
第一步,对两个以上多边形按照其包含节点数量由多到少的顺序排序;
第二步,取出第一个多边形存储的第一个节点a0和第二个节点a1之间的线段a0-a1,判断线段a0-a1是否存在相邻多边形;若不存在,取紧邻其后面的线段a1-a2继续查找相邻多边形;
若存在多边形B与其相邻,则从相邻多边形B的起始节点开始,依次取出一条线段与线段a0-a1进行公共部分的判断识别,一旦相邻多边形的某条线段bi-bi+1与线段a0-a1包含公共部分则停止识别,即不再取线段bi+1-bi+2与a0-a1判断,而是采用同步增加节点的方法,以线段bi-bi+1和线段a0-a1分别为起始线段,判断识别并提取第一个多边形与该相邻多边形B的公共部分;之后,一旦发现第一个多边形的当前线段ai-ai+1与相邻多边形B的当前线段不再包含公共部分,则进入步骤三;
第三步,取线段ai-ai+1,采用与第一步相同的方法,查找到与线段ai-ai+1相邻的多边形;
若查找到与线段ai-ai+1相邻的多边形有多个,且仍包含第一步中处理过的相邻多边形B,则此处只处理多边形B之外的相邻多边形,但后面的处理不做约束;因为,不排除第一个多边形中后面的线段与多边形B再次相邻;同样的,从与线段ai-ai+1相邻多边形的起始节点开始,依次取出一条线段与线段ai-ai+1进行公共部分的判断识别,一旦相邻多边形的某条线段与线段ai-ai+1包含公共部分则停止识别,继而采用同步增加节点的方法以该条线段和线段ai-ai+1分别为起始线段,判断识别并提取第一个多边形与该相邻多边形的公共部分;之后,一旦发现第一个多边形的当前线段aj-aj+1与该相邻多边形的当前线段不再包含公共部分,则直接进入步骤三;其中,线段aj-aj+1为第一个多边形中ai-ai+1后面的某条线段;
第四步,依次取线段aj-aj+1和其后面的线段,采用与第二和三步相同的方法进行判断提取,直到处理完第一个多边形包含的所有线段。
2.根据权利要求1所述的一种高效提取大数据量无拓扑矢量多边形公共边方法,其特征在于:所述线段与其相邻多边形的某线段包含公共部分,而存储方向相反,则将相邻多边形存储的节点重新排序后再采用同步增加节点的方法提取公共部分;如若线段a0-a1与相邻多边形B的线段bi-bi+1包含公共部分,但相邻多边形B的节点存储顺序与线段a0-a1相反;则将相邻多边形B的存储节点排序为bi+1-bi-bi-1-...-b0-bm-bm-1-...-bi+2-bi+1之后,再采用同步增加节点的方法提取公共部分,其中,多边形B共包含m个节点。
3.根据权利要求1所述的一种高效提取大数据量无拓扑矢量多边形公共边方法,其特征在于:所述线段a0-a1若识别出与多边形B相邻,且查找到多边形B中线段bi-bi+1与a0-a1包含公共部分,且节点存储顺序相同,则采用同步增加节点的方法,以线段a0-a1和线段bi-bi+1分别为第一多边形与相邻多边形公共部分判断提取的起始线段,提取公共部分;其中,当前两条线段a0-a1和bi-bi+1处理完成后,可按照如下原则在两个多边形中分别选取线段进行公共部分的判断和提取;若节点bi在线段a0-a1的反向延长线上,进一步的判断节点bi+1的位置;
若节点bi+1也在线段a0-a1的反向延长线上,则在多边形B上取紧邻bi-bi+1后面的线段bi+1-bi+2与线段a0-a1进行判断;若节点bi+1在线段a0-a1上,则进一步的判断节点bi+1与节点a1是否重合,若重合分别从第一个多边形和多边形B中取出线段a1-a2和bi+1-bi+2进行判断,若不重合从多边形B中取出bi+1-bi+2与a0-a1进行判断;若节点bi+1在线段a0-a1的延长线上,则从第一个多边形中取出紧邻a0-a1后面的线段a1-a2与线段bi-bi+1进行判断;若节点bi在线段a0-a1内部,进一步的判断节点bi+1的位置;若节点bi+1在线段a0-a1上,判断节点bi+1与节点a1是否重合,若重合分别从第一个多边形和多边形B中取出紧邻a0-a1和bi-bi+1后面的线段a1-a2和bi+1-bi+2进行判断,若不重合从多边形B中取出紧邻bi-bi+1后面线段bi+1-bi+2与线段a0-a1进行判断;若节点bi+1在线段a0-a1的延长线上,从第一个多边形中取出紧邻a0-a1后面的线段a1-a2与线段bi-bi+1进行判断;若节点bi在线段a0-a1的延长线上,从第一个多边形中取出紧邻a0-a1后面的线段a1-a2与线段bi-bi+1进行判断。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州中科蓝迪软件技术有限公司,未经苏州中科蓝迪软件技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810639937.1/1.html,转载请声明来源钻瓜专利网。