一种处理二维矢量图形之间的边界不契合方法与流程
未命名
09-02
阅读:266
评论:0

1.本发明涉及二维图像边界处理领域,尤其涉及一种处理二维矢量图形之间的边界不契合方法。
背景技术:
2.在三维地籍管理系统的建设中数据是重中之重,其中产权体模型数据生产的基本流程为:生成房产分层分户图;将《房产测绘报告》(cad文件或pdf文件)中的每一层每一户的图形数据转换为二维矢量面图形数据;叠加分层分户图;即将同一幢的分层分户图叠加在一起生成一幢的分层分户图;空间数据校正:参照地籍图或地形图确定叠加后的分层分户图的空间位置和建筑朝向;属性挂接;将每一户对应的标识码,地籍区编号,地籍区名称,不动产单元号,基底高程,层高,备注,户号,所在层,坐落,幢坐落等属性信息挂载在每一户上;5.产权体模型生产;通过叠加后的分层分户图以及挂接属性中的基底高程,层高属性转换为三维白模。
3.目前数据生产中生成房产分层分户图的基础数据通常为《房产测绘报告》。
4.《房产测绘报告》有两个难以避免的问题:一是《房产测绘报告》多为pdf格式需要进行矢量化后由人工进行二次处理后才能继续使用;二是《房产测绘报告》是人工测绘数据,会有一些细微的误差。在叠加分层分户图和空间数据校正的步骤中由于同一幢的分层分户图有可能来自于多个《房产测绘报告》,在叠加合并后就会因为人工测量的一些小误差造成不同层的分层分户图矢量二维图形的边界之间出现边界未契合的情况,这些边界未契合的错误往往误差在0.05米之内,但却非常多需要人工进行一些修复,而在三维地籍的研发和运用上,数据生产范围动则一个区甚至一个市,因为细微数据误差问题造成的边界未契合问题数量会急剧增加,处理这些问题会占用大量的人力和时间成本。
技术实现要素:
5.为解决目前二维矢量数据存在因为数据源细微数据误差问题造成的边界未契合问题,本发明提出了一种处理二维矢量图形之间的边界不契合方法,该方法基于同一幢的分层分户图二维矢量数据的每一个折点与其他分层分户图二维矢量数据折点及折线的距离为基本依据来判断哪些折点需要处理并以此来批量修复二维矢量数据边界未契合的问题。
6.本发明所述的一种处理二维矢量图形之间的边界不契合方法,包括以下步骤:s1、对分层分户图进行叠加得到建筑产权体模型底图;s2、对建筑产权体模型底图进行属性挂接;s3、对建筑产权体模型底图采用快速排斥法进行筛选,得到筛选后的单幢建筑产权体模型底图二维矢量数据;s4、通过获取单幢建筑产权体模型底图中的所有二维矢量数据的折点数组来获取
构成单个二维矢量数据的线型和角度来对筛选后的建筑产权体模型底图二维矢量数据进行数据分类;s5、判断当前单个建筑产权体模型底图二维矢量数据与其它单个建筑产权体模型底图二维矢量数据涉及的边界未契合问题的类型;s6、根据不同类别边界的折点数组和边界未契合问题的类型,完成边界契合修复。
7.本发明提供的有益效果是:可以最大限度的保证原图形的完整性下批量处理因为人工测量的一些小误差造成不同层的分层分户图矢量二维图形的边界之间出现边界未契合的情况,可以大大减少人工量和处理时间。
附图说明
8.图1是本发明方法流程示意图;图2是产权体模型底图折线类型示意图;图3是产权体模型底图边界未契合现象示意图;图4是产权体模型底图边界未契合类型示意图。
具体实施方式
9.为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地描述。
10.请参考图1,图1是本发明方法流程示意图;本发明提供的一种处理二维矢量图形之间的边界不契合方法,具体包括以下步骤:s1、对分层分户图进行叠加得到建筑产权体模型底图;s2、对建筑产权体模型底图进行属性挂接;s3、对建筑产权体模型底图采用快速排斥法进行筛选,得到筛选后的单幢建筑产权体模型底图二维矢量数据;需要说明的是,步骤s3中,采用快速排斥法筛选的过程如下:s31、通过已有的楼栋幢坐落属性,筛选需要处理的建筑产权体模型底图;需要说明的是,幢是指房屋的计量单位,通常是指一座独立的、包括不同结构和不同层次的房屋。
11.多个不同功能、不同结构、不同层次的房屋相互组合与交织组成一个建筑综合体(如同一裙房上矗立多个主楼或同一地下室上矗立多个单体建筑等) 。
12.在三维地籍的研发和运用上,数据生产范围动则一个区甚至一个市,数据非常之繁杂,一次性处理这些数据效率很低。
13.因此本发明在处理数据的时候以幢为条件设置了一个范围,幢是房产分层分户图之间出现边界未契合问题最大的一个范围,因此把数据按幢坐落去分区处理是比较准确的处理范围,同时也可以减少一次性处理数据的数量,提高处理效率。
14.在一些其它实施例中,可能会没有幢属性来区分,那么可以根据实际情况跳过此步骤。
15.s32、设置步长阈值r,所述步长阈值用以约束多个建筑产权体模型底图的折点或边界的距离,当距离超过所述步长阈值时,进入快速排除法;
作为一种实施例而言,在叠加分层分户图和空间数据校正的步骤中由于同一幢的分层分户图有可能来自于多个《房产测绘报告》,在叠加合并后就会因为人工测量的一些小误差造成不同层的分层分户图矢量二维图形的边界之间出现边界未契合的情况,这些边界未契合的错误往往误差在0.05米之内。
16.而《房产测绘报告》中是不包含建筑外立面细节部位以及柱子之类的建筑内部细节的,它所记录的边界折线长度除了弧形结构不会小于0.3米。因此为了批量处理分层分户图矢量二维图形之间的边界未契合错误,本发明需要设置一个阈值来保证包含图形可能出现的边界未契合误差的最大范围(》=0.05米),同时也需要保证不会影响到建筑原本结构(《=0.3米)。需要说明的是,弧形情况会在后续步骤中分类处理。
17.本发明在处理数据的流程中设置阈值r为0.1米来确认数据的处理范围。当然,在一些其它实施例中,此值根据具体数据情况可以进行细微修改。
18.s33、获取使用幢坐落字段筛选的建筑产权体模型底图二维矢量数据的矩形包围框,将矩形包围框扩大一圈,扩大的值为所述步长r/2;需要说明的是,在获得了以幢为条件筛选出来的数据后,需要遍历这些分层分户图数据(也可以称作建筑产权体模型底图,方便阐述,后文部分处以分层分户图进行表述),将这些分层分户图数据和可能出现边界未契合现象的分层分户图数据进行匹配筛选。
19.可能会出现边界未契合现象的分层分户图可以理解为两个分户图的边界(折线,折点)之间的距离小于设置的阈值,简单来说就是二维矢量图形的边界扩展阈值的一半后两个二维矢量图形边界存在相切或相交,这两个分层分户图数据可能会存在边界未契合现象。
20.在实际情况中分成分户图的数据形状会非常的多,直接去计算两个二维矢量图形边界存在相切或交集非常麻烦,因此本发明使用图形的矩形包围框配合快速排斥试验快速的筛选匹配数据。
21.矩形包围框点集合获取方法:1.收集需要获取矩形包围框点集合的分成分户图的所有坐标,排序筛选出所有坐标中的x值和y值的最大值(x
max
,y
max
),x值y值的最小值(x
min
,y
min
)。2.包围框的四个点的坐标为(x
min
,y
max
),(x
max
,y
max
),(x
max
,y
min
),(x
min
,y
min
)。
22.如果直接使用矩形包围框进行快速排斥试验那么计算的是两个图形本身是否相切或相交,为判断两个分层分户图数据是否会存在边界未契合现象,就需要加上阈值,由于是两个图形的边界之间的距离为阈值,所以单个图形的矩形包围框的四个点坐标需要加上阈值的一半,矩形包围框的四个点坐标更新为(x
min-r/2,y
max
+r/2),(x
max
+r/2,y
max
+r/2),(x
max
+r/2,y
min
),(x
min-r/2,y
min-r/2);s34、遍历使用幢坐落数据筛选的建筑产权体模型底图,使用当前建筑产权体模型底图的包围框和其它建筑产权体模型底图的包围框进行一次快速排斥试验,初步筛选出与当前建筑产权体模型底图边界可能需要契合的其他建筑产权体模型底图,作为筛选后的建筑产权体模型底图。
23.步骤s34具体如下:s341、获取当前建筑产权体模型底图的包围框和其它建筑产权体模型底图的包围框的坐标集合;所述当前建筑产权体模型底图的包围框坐标为:(x
1min-r/2,y
1max
+r/2),(x
1max
+r/
2,y
1max
+r/2),(x
1max
+r/2,y
1min
),(x
1min-r/2,y
1min-r/2);所述其它建筑产权体模型底图的包围框的坐标为:(x
2min-r/2,y
2max
+r/2),(x
2max
+r/2,y
2max
+r/2),(x
2max
+r/2,y
2min
),(x
2min-r/2,y
2min-r/2);s342、根据坐标集合判断两个包围框是否相切或相交,若是则判定其它建筑产权体模型底图的边界需要与当前建筑产权体模型底图的边界相契合;否则表示不需要契合。
24.作为一种实施例而言,当获取了两个图形加了一半阈值的坐标集合后,就可以使用快速排斥试验判断两个图形分别加上阈值距离一半以后是否有相切或者相交,从而得出两个图形的边界是否可能出现未契合现象。
25.快速排斥试验步骤:1.首先获取两个图形矩形包围框的坐标集合,图形1(x
1min-r/2,y
1max
+r/2),(x
1max
+r/2,y
1max
+r/2),(x
1max
+r/2,y
1min
),(x
1min-r/2,y
1min-r/2),图形2(x
2min-r/2,y
2max
+r/2),(x
2max
+r/2,y
2max
+r/2),(x
2max
+r/2,y
2min
),(x
2min-r/2,y
2min-r/2);2.判断两个矩形包围框是否相切或相交需要同时符合这四个条件,条件一:x
1max
+r/2与x
1min-r/2中小的那个值小于等于x
2max
+r/2与x
2min-r/2中大的那个值;条件二:x
2max
+r/2与x
2min-r/2中小的那个值小于等于x
1max
+r/2与x
1min-r/2中大的那个值;条件三:y
1max
+r/2与y
1min-r/2中小的那个值小于等于y
2max
+r/2与y
2min-r/2中大的那个值;条技四:y
2max
+r/2与y
2min-r/2中小的那个值小于等于y
1max
+r/2与y
1min-r/2大的那个值。
26.本发明使用快速排斥试验筛选匹配分层分户图和可能与分层分户图有边界未契合图形的集合用来继续下一阶段的处理。
27.s4、通过获取单幢建筑产权体模型底图中的所有二维矢量数据的折点数组来获取构成单个二维矢量数据的线型和角度来对筛选后的建筑产权体模型底图二维矢量数据进行数据分类;需要说明的是,在三维地籍的研发和运用上,分层分户图的图形并都是不是一个个规则的矩形或规整的多边形,通常是由多种线形(弧线,直线),多种角度(直角,钝角,锐角)构成的复杂图形,因此本技术中不可能直接用一种方法处理所有类型的图形,故而需要对图形进行分类,执行不同的策略。
28.由于常规二维矢量图形数据格式比如shp是不支持弧线这种类型的,通常弧线类型是由大量钝角角度的直线来描述的。因此本发明使用角度来进行图形内的折点折线分类执行不同的修复策略,为了方便本发明会把角度和折点挂钩。
29.具体参考如图2所示的图形一;图形一中,p代表的是点,l代表的是线,折线l1是由点p1和点p2构成的,折线l2是由点p2和点p3构成的,点p2的角度就是点p2涉及到的折线l1与l2之间的角度,而折线l1l2涉及到的折点为p1p2p3,因此计算折点p2的角度只需要获取这个折点和这个折点涉及到的折线的两个折点p1p3的坐标就可以求出这个折点的角度。
30.步骤s4的具体过程如下:步骤s4中的数据分类过程具体如下:s41、收集需要契合的建筑产权体模型底图的所有折点的坐标集合(p1,p2,
p3,
……
);需要说明的是,点的坐标集合的顺序是按照构成这个图形的折点的顺序;s42、获取折点pi涉及到的折线li和l
i+1
;其中i为折点编号;s43、折线li由折点pi和p
i+1
构成;折线l
i+1
由折点p
i+1
和p
i+2
构成;s44、获取折线li和l
i+1
的向量vi和v
i+1
;作为一种实施例,比如点p2,折点p2涉及到的折线为l1和l2,我们可以通过构成折线l1的折点p1p2,构成折线l2的折点p2p3来得出折线l1l2的向量;设向量l1为(b1,b2),向量l2为(d1,d2),则:b1=p1坐标的x值减去p2坐标的x值;b2=p1坐标的y值减去p2坐标的y值;d1=p2坐标的x值减去p3坐标的x值;d2=p2坐标的y值减去p3坐标的y值;s45、计算点p
i+1
涉及到的向量vi和v
i+1
之间的夹角α;仍以点p2为例,则p2的α=arccos((b1*d1+b2*d2) / (sqrt(b1^2 +b2^2) *sqrt(d1^2 +d2^2)));这里arccos表示反余弦函数,sqrt表示平方根;^表示幂;s46、当α处于大于第一预设角度或小于第二预设角度且和这个连续相关的两个折点夹角角度不是全部都大于等于第三预设角度时,认为点p
i+1
涉及到的夹角α属于第一类夹角;当α小于等于第一预设角度或大于等于第二预设角度,则认为点p
i+1
涉及到的夹角α属于第二类夹角;当α大于等于第三预设角度且连续相关的两个折点夹角角度全都大于第三预设角度或前两个折点全都大于第三预设角度或后两个折点全都大于第三预设角度,则认为夹角α属于点p
i+1
涉及到的第三类夹角;其中,第二预设角度小于第一预设角度小于第三预设角度。
31.作为一种实施例,通过步骤s45求出的角度是弧度制的,需要以度数表示,将其结果乘以180/π进行转换;由于两个线段夹角可能会大于180度,为了方便后续计算,需要把超过180度的夹角转换为小于180度的夹角,方法就是加一个判断条件,如果计算出来的角度大于180度则此角度改为360度减去此角度。
32.当获得了分层分户图后需要按照点集合对图形所有夹角按照角度区间进行分类。
33.本发明将这些夹角按照角度为三类去进行修复:1.第一类夹角(普通夹角):即折点夹角角度符合大于91或小于89度且和这个连续相关的两个折点夹角角度不是全部都大于等于110度。比如说折点p2,p2的夹角小于89度和折点p2连续相关的两个折点p1和p3的夹角都不大于等于110度,所以它是普通夹角。
34.2.第二类夹角(直角夹角):即折点夹角角度小于等于91或大于等于89度,比如折点p3。
35.3.弧线夹角:即折点角度大于等于110度且连续相关的两个折点夹角角度全都大于110度或前两个折点全都大于110度或后两个折点全都大于110度。比如折点p8,它的夹角角度大于110度,它的后面两个折点p9p
10
的角度也全都大于110度,所以它是弧线夹角。
36.s5、判断当前单个建筑产权体模型底图二维矢量数据与其它单个建筑产权体模型
底图二维矢量数据涉及的边界未契合问题的类型;步骤s5具体为:当建筑产权体模型底图的折点到另一个建筑产权体模型底图的折线或者折点的距离如果小于设置好的阈值且该折点到另一建筑产权体模型底图的折线或者折点的距离大于零,则该折点涉及到的边界存在边界未契合问题;所述边界未契合问题分为:折点到折线的未契合问题和折点到折点的未契合。
37.需要说明的是,本发明将判断分层分户图的哪些边界与其他分层分户图未契合的条件由分层分户图边界分解到了分层分户图的折点和折线,即分户图的折点到另一个分户图的折线或者折点的距离如果小于设置好的阈值且该折点到另一个分户图的折线或者折点的距离大于零则该折点涉及到的边界有边界未契合问题。
38.以此为核心算法配合其他方法来完善整个流程。
39.举例说明,请参考图3,图3中的建筑一层和建筑二层之间的边界契合错误,建筑一层的折点d2很明显应该处于建筑折二层折点p2上就属于是折点到折点的问题;而建筑二层的折点p0很明显应该在建筑一层折线ll0上,可以理解为是折点到折线的问题。
40.需要说明的是,所述折点到折线的未契合问题的计算,具体如下:获取折点pi(x1,y1)与折点p
i+1
(x2,y2)所构成的直线l;获取线段llj;线段llj两个端点的坐标为(x3,y3) 和 (x4,y4);直线l的斜率设为m1,m1= (y
2-y1) / (x
2-x1)线段llj的斜率设为m2,m2 = (y
4-y3) / (x
4-x3);求直线l与线段llj的斜距,其中直线l的斜距为b1,b1=y
1-m1*x1;线段llj的斜距为b2,b2=y
3-m2*x3;计算直线l与线段llj延长后的直线的交点,设交点的坐标为(x,y),x= (b
2-b1) / (m
1-m2),y=m1*x+b1;判断交点是否在线段llj上,若是,则计算交点到折点pi的距离,若距离小于阈值,就将折点的坐标修改为交点的坐标;其中,交点在线段llj上需要满足下面条件:min(x3,x4)《=x《=max(x3,x4)并且min(y3,y4)《=y《=max(y3,y4);其中min是指括号中的两个值当中最小的那个值,max是指括号中的两个值当中最大的那个值。
41.作为一种实施例而言,比如建筑二层折点p0到建筑一层折线ll0的边界未契合错误修复后应该在的位置为折点p0p1构成的直线与线段ll0的交点;同理可知p0p1构成的直线与线段ll0的交点与p0之间的距离如果小于阈值,则折点p0为需要修复的边界未契合问题的折点。
42.以下为直线与线段是否相交,如果相交求交点的具体算法:首先可以将直线和线段当成两个直线去求他们的斜率,设直线1的两个折点的坐标为(x1,y1) 和 (x2,y2);线段1的两个折点的坐标为(x3,y3) 和 (x4,y4);直线1的斜率设为m1,m1= (y
2-y1) / (x
2-x1);线段1的斜率设为m2,m2= (y
4-y3) / (x
4-x3)。如果直线或线段的斜率都为0或者相等则直线和线段平行,那么就不需要使用直线到线段检测直接使用点到点的检测即可;求斜距,设直线1的斜距为b1,b1=y
1-m1*x1;设线段1的斜距为b2,b2=y
3-m2*x3;计算两个直线的交点,设交点的坐标为(x,y),x= (b
2-b1) / (m
1-m2),y=m1*x+b1;
判断交点是否在线段1上,交点在线段1上需要满足下面条件:min(x3,x4)《=x《=max(x3,x4)并且min(y3,y4)《=y《=max(y3,y4);其中min是指括号中的两个值当中最小的那个值,max是指括号中的两个值当中最大的那个值。
43.需要说明的是,所述折点到折点的未契合问题的计算,具体如下:遍历求取建筑产权体模型底图所有折点与另外一个建筑产权体模型底图的所有折点之间的距离,如果这个建筑产权体模型底图的一个折点与另外一个建筑产权体模型底图的折点之间的距离小于阈值则将小于阈值另外一个建筑产权体模型底图的折点坐标按照距离进行排序只保留距离最近的那个,并将这个折点的坐标更新为保留的那个折点。
44.s6、根据不同类别边界的折点数组和边界未契合问题的类型,完成边界契合修复。
45.步骤s6中,当折点为第一类夹角的修复过程如下:先进行折点到折点的未契合问题的计算,再进行折点到折点的未契合问题的计算。
46.步骤s6中,折点为第二类夹角的修复过程如下:先进行折点到折点的未契合问题的计算,根据计算结果,再判定是否折点到折点的未契合问题的计算。
47.折点为第三类夹角的修复过程如下:进行折点到折点的未契合问题的计算。
48.作为一种实施例而言,为了满足各种形状的二维矢量图形的边界未契合错误的处理,本发明按照折点涉及到的折线的夹角角度来对数据进行分类修复。
49.本发明在修复前的处理流程是先对折点进行分类;1.如果折线为弧线夹角则直接进行点到点的数据计算,如果低于阈值则把折点的坐标修改为最近的那个低于阈值的其他图形的折点坐标。
50.2.如果折线为普通夹角,则先进行点到线的计算阶段,如果判定为交点在线段上则计算交点到折点的距离,如果距离小于阈值,就将折点的坐标修改为交点的坐标;然后再进行点到点的数据计算,如果低于阈值则把折点的坐标修改为最近的那个低于阈值的其他图形的折点坐标。
51.3.如果折点为直角夹角,那么先进行点到线的计算阶段,如果判定为交点在线段上则计算交点到折点的距离,如果距离小于阈值,就将折点的坐标修改为交点的坐标,如果折点涉及到的续相关的两个折点中不为进行数据计算的那个折点也是直角夹角的话,那个折点偏移原折点坐标到新折点坐标的偏移量;然后再进行点到点的数据计算,如果低于阈值则把折点的坐标修改为最近的那个低于阈值的其他图形的折点坐标,如果折点涉及到的续相关的两个折点中不为进行数据计算的那个折点也是直角夹角的话,那个折点偏移原折点坐标到新折点坐标的偏移量。之所以直角夹角需要相邻点一起偏移是因为折点和相邻点都是直角,一般建筑结构直角的结构大部分为准确建筑结构,如果只偏移其中一个点就会破坏它的整体结构如图4中的p5折点往d5d6中间的折线偏移的时候,如果只偏移p5,那么整体结构就变了所以在p6和p5都是直角夹角的时候,需要一起往p5偏移的量偏移。
52.综合来看,本发明的有益效果是:可以最大限度的保证原图形的完整性下批量处理因为人工测量的一些小误差造成不同层的分层分户图矢量二维图形的边界之间出现边界未契合的情况,可以大大减少人工量和处理时间。
53.以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
技术特征:
1.一种处理二维矢量图形之间的边界不契合方法,其特征在于:包括以下步骤:s1、对分层分户图进行叠加得到建筑产权体模型底图;s2、对建筑产权体模型底图进行属性挂接;s3、对建筑产权体模型底图采用快速排斥法进行筛选,得到筛选后的单幢建筑产权体模型底图二维矢量数据;s4、通过获取单幢建筑产权体模型底图中的所有二维矢量数据的折点数组来获取构成单个二维矢量数据的线型和角度来对筛选后的建筑产权体模型底图二维矢量数据进行数据分类;s5、判断当前单个建筑产权体模型底图二维矢量数据与其它单个建筑产权体模型底图二维矢量数据涉及的边界未契合问题的类型;s6、根据不同类别边界的折点数组和边界未契合问题的类型,完成边界契合修复;步骤s3中,采用快速排斥法筛选的过程如下:s31、通过已有的楼栋幢坐落属性,筛选需要处理的建筑产权体模型底图;s32、设置步长阈值r,所述步长阈值用以约束多个建筑产权体模型底图的折点或边界的距离,当距离超过所述步长阈值时,进入快速排除法;s33、获取使用幢坐落字段筛选的建筑产权体模型底图二维矢量数据的矩形包围框,将矩形包围框扩大一圈,扩大的值为所述步长r/2;s34、遍历使用幢坐落数据筛选的建筑产权体模型底图,使用当前建筑产权体模型底图的包围框和其它建筑产权体模型底图的包围框进行一次快速排斥试验,初步筛选出与当前建筑产权体模型底图边界可能需要契合的其他建筑产权体模型底图,作为筛选后的建筑产权体模型底图。2.如权利要求1所述的一种处理二维矢量图形之间的边界不契合方法,其特征在于:步骤s34中,所述快速排斥试验如下:s341、获取当前建筑产权体模型底图的包围框和其它建筑产权体模型底图的包围框的坐标集合;所述当前建筑产权体模型底图的包围框坐标为:(x
1min-r/2,y
1max
+r/2),(x
1max
+r/2,y
1max
+r/2),(x
1max
+r/2,y
1min
),(x
1min-r/2,y
1min-r/2);所述其它建筑产权体模型底图的包围框的坐标为:(x
2min-r/2,y
2max
+r/2),(x
2max
+r/2,y
2max
+r/2),(x
2max
+r/2,y
2min
),(x
2min-r/2,y
2min-r/2);s342、根据坐标集合判断两个包围框是否相切或相交,若是则判定其它建筑产权体模型底图的边界需要与当前建筑产权体模型底图的边界相契合;否则表示不需要契合。3.如权利要求1所述的一种处理二维矢量图形之间的边界不契合方法,其特征在于:步骤s4中的数据分类过程具体如下:s41、收集需要契合的建筑产权体模型底图的所有折点的坐标集合(p1,p2,p3,
……
);s42、获取折点p
i
涉及到的折线l
i
和l
i+1
;其中i为折点编号;s43、折线l
i
由折点p
i
和p
i+1
构成;折线l
i+1
由折点p
i+1
和p
i+2
构成;s44、获取折线l
i
和l
i+1
的向量v
i
和v
i+1
;s45、计算点p
i+1
涉及到的向量v
i
和v
i+1
之间的夹角α;s46、当α处于大于第一预设角度或小于第二预设角度且和这个连续相关的两个折点夹
角角度不是全部都大于等于第三预设角度时,认为点p
i+1
涉及到的夹角α属于第一类夹角;当α小于等于第一预设角度或大于等于第二预设角度,则认为点p
i+1
涉及到的夹角α属于第二类夹角;当α大于等于第三预设角度且连续相关的两个折点夹角角度全都大于第三预设角度或前两个折点全都大于第三预设角度或后两个折点全都大于第三预设角度,则认为夹角α属于点p
i+1
涉及到的第三类夹角;其中,第二预设角度小于第一预设角度小于第三预设角度。4.如权利要求3所述的一种处理二维矢量图形之间的边界不契合方法,其特征在于:步骤s5具体为:当建筑产权体模型底图的折点到另一个建筑产权体模型底图的折线或者折点的距离如果小于设置好的阈值且该折点到另一建筑产权体模型底图的折线或者折点的距离大于零,则该折点涉及到的边界存在边界未契合问题;所述边界未契合问题分为:折点到折线的未契合问题和折点到折点的未契合问题。5.如权利要求4所述的一种处理二维矢量图形之间的边界不契合方法,其特征在于:步骤s6中,当折点为第一类夹角的修复过程如下:先进行折点到折点的未契合问题的计算,再进行折点到折点的未契合问题的计算。6.如权利要求4所述的一种处理二维矢量图形之间的边界不契合方法,其特征在于:步骤s6中,折点为第二类夹角的修复过程如下:先进行折点到折点的未契合问题的计算,根据计算结果,再判定是否折点到折点的未契合问题的计算。7.如权利要求4所述的一种处理二维矢量图形之间的边界不契合方法,其特征在于:折点为第三类夹角的修复过程如下:进行折点到折点的未契合问题的计算。8.如权利要求4所述的一种处理二维矢量图形之间的边界不契合方法,其特征在于:所述折点到折线的未契合问题的计算,具体如下:获取折点p
i
(x1, y1)与折点p
i+1
(x2, y2)所构成的直线l;获取线段ll
j
;线段ll
j
两个端点的坐标为(x3, y3) 和 (x4, y4);直线l的斜率设为m1,m
1 = (y2ꢀ‑ꢀ
y1) / (x2ꢀ‑ꢀ
x1)线段ll
j
的斜率设为m2,m2 = (y4ꢀ‑ꢀ
y3) / (x4ꢀ‑ꢀ
x3);求直线l与线段ll
j
的斜距,其中直线l的斜距为b1,b
1 = y1ꢀ‑ꢀ
m
1 * x1;线段ll
j
的斜距为b2,b
2 = y3ꢀ‑ꢀ
m
2 * x3;计算直线l与线段ll
j
延长后的直线的交点,设交点的坐标为(x,y),x = (b2ꢀ‑ꢀ
b1) / (m1ꢀ‑ꢀ
m2),y = m
1 * x + b1;判断交点是否在线段ll
j
上,若是,则计算交点到折点p
i
的距离,若距离小于阈值,就将折点的坐标修改为交点的坐标;其中,交点在线段ll
j
上需要满足下面条件:min(x3, x4) <= x <= max(x3, x4)并且min(y3, y4) <= y <= max(y3, y4);其中min是指括号中的两个值当中最小的那个值,max是指括号中的两个值当中最大的那个值。9.如权利要求4所述的一种处理二维矢量图形之间的边界不契合方法,其特征在于:所述折点到折点的未契合问题的计算,具体如下:遍历求取建筑产权体模型底图所有折点与另外一个建筑产权体模型底图的所有折点之间的距离,如果这个建筑产权体模型底图的一个折点与另外一个建筑产权体模型底图的折点之间的距离小于阈值则将小于阈值另外一
个建筑产权体模型底图的折点坐标按照距离进行排序只保留距离最近的那个,并将这个折点的坐标更新为保留的那个折点。
技术总结
本发明涉及一种处理二维矢量图形之间的边界不契合方法,包括以下步骤:对分层分户图进行叠加得到建筑产权体模型底图;对建筑产权体模型底图进行属性挂接;对建筑产权体模型底图采用快速排斥法进行筛选,得到二维矢量数据;通过获取单幢建筑产权体模型底图中的所有二维矢量数据的折点数组来获取构成单个二维矢量数据的线型和角度来对筛选后的建筑产权体模型底图二维矢量数据进行数据分类;判断当前单个建筑产权体模型底图二维矢量数据与其它单个建筑产权体模型底图二维矢量数据涉及的边界未契合问题的类型;根据不同类别边界的折点数组和边界未契合问题的类型,完成边界契合修复。本发明有益效果是:大大减少人工量和处理时间。处理时间。处理时间。
技术研发人员:吴颖 饶家梁 唐坚强 周慧明
受保护的技术使用者:武汉天恒信息技术有限公司
技术研发日:2023.08.01
技术公布日:2023/8/31
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
上一篇:断路器组件的制作方法 下一篇:电源电路的制作方法