CN117392269A - 一种管网图纸数据提取方法及装置 - Google Patents
一种管网图纸数据提取方法及装置 Download PDFInfo
- Publication number
- CN117392269A CN117392269A CN202311675854.5A CN202311675854A CN117392269A CN 117392269 A CN117392269 A CN 117392269A CN 202311675854 A CN202311675854 A CN 202311675854A CN 117392269 A CN117392269 A CN 117392269A
- Authority
- CN
- China
- Prior art keywords
- elevation
- line
- pipe network
- marking
- drawing data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 35
- 238000013075 data extraction Methods 0.000 title claims abstract description 30
- 239000011159 matrix material Substances 0.000 claims abstract description 43
- 238000012216 screening Methods 0.000 claims description 19
- 238000012805 post-processing Methods 0.000 claims description 12
- 238000012795 verification Methods 0.000 claims description 6
- 238000000605 extraction Methods 0.000 claims description 4
- 238000002372 labelling Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 7
- 239000013598 vector Substances 0.000 description 7
- 238000001914 filtration Methods 0.000 description 4
- 238000012423 maintenance Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000007726 management method Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000007429 general method Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
- G06T11/206—Drawing of charts or graphs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/75—Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/762—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using clustering, e.g. of similar faces in social networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/19—Recognition using electronic means
- G06V30/191—Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
- G06V30/19173—Classification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/40—Document-oriented image-based pattern recognition
- G06V30/42—Document-oriented image-based pattern recognition based on the type of document
- G06V30/422—Technical drawings; Geographical maps
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Processing Or Creating Images (AREA)
- Image Analysis (AREA)
Abstract
本申请提出一种管网图纸数据提取方法及装置,属于图纸数据提取。该方法包括:提取并实例化图纸中的基本元素,然后筛选出标高标注线、标高文字、管线和其余标注信息。构建标高标注线的连接关系矩阵,基于此矩阵判断具有相连关系的标高标注线,并形成线条信息。将标高标注线的线条信息与标高文字进行匹配和聚类,生成包含标高标注线和标高文字的标高标注线对象。最后,将标高标注线对象与管线和其余标注信息进行匹配和聚类,最终获得管网图纸数据。此方法通过关系矩阵替代固定阈值设定,增强了面对不同尺寸和标注风格图纸时的泛化性能,提高了提取数据的准确性。
Description
技术领域
本申请图纸数据提取领域,尤其涉及一种管网图纸数据提取方法及装置。
背景技术
在港口行业,设计和施工人员交付过程中,会使用CAD图纸绘制地下管网信息。但所述图纸大多是二维平面图,且缺乏统一的绘制标准和风格。这导致了以下问题:
无法实现全区域、全生命周期的地下管网数字化管理。
需要人工查询或审阅图纸,耗时且易错,阻碍了管线运维和升级工作。
为解决上述问题,已有数字化方法可自动提取CAD图纸中的管线信息:
发明专利《基于CAD的排水管网模型构建方法及存储介质》(申请号CN202310280704.8),该方案旨在读取CAD中的管道对象信息并进行提取,但是其信息匹配方式依赖于设置文字与管线的容差阈值来判断标注与管线的关联,这种方法在面对不同尺寸、不同标注风格的图纸时,泛化性能较差。其次,该方案缺乏后续的后处理校验步骤,因此无法确保提取信息的准确性。
发明专利《排水系统CAD-GIS数据转换及标准标注方法和装置》(申请号CN202211589678.9),该方案与申请号CN202310280704.8的方案类似,也提供了一种自动化提取CAD图中管线信息的方法。但是,其同样存在使用绝对距离判断导致的泛化性较差和图纸适应性较差的问题。其次,此项方案也未包括后处理步骤,因此也不能保证提取信息的准确性。
发明内容
本申请的目的在于克服现有技术中的缺陷,提供及一种管网图纸数据提取方法及装置。
本申请提供一种管网图纸数据提取方法,包括:
提取并实例化管网图纸数据中的基本元素;
从所述基本元素中筛选出标高标注线、标高文字、管线和其余标注信息;
构建所述标高标注线的连接关系矩阵;
基于所述连接关系矩阵判断具有相连关系的所述标高标注线,连接具有相连关系的所述标高标注线形成标高标注线的线条信息;
将所述标高标注线的线条信息与所述标高文字进行匹配和聚类,生成包含标高标注线和标高文字的标高标注线对象;
将所述标高标注线对象与所述管线和其余标注信息进行匹配和聚类,获得管网图纸数据。
可选地,所述关系矩阵中,每个元素(i,j)表示第i根标高标注线和第j根标高标注线是否具有互相连接的关系。
可选地,基于所述连接关系矩阵,连接具有相连关系的标高标注线,包括:
计算两根标高标注线的归一化端点距离,当所述归一化端点距离小于设定的阈值时表示具有相连关系,连接具有相连关系的所述标高标注线;或
计算两根标高标注线的归一化距离,当所述归一化距离小于设定阈值时表示具有相连关系,连接具有相连关系的标高标注线。
可选地,还包括:后处理校验,步骤如下:
计算所述标高标注线、标高文字、管线和其余标注信息的第一极值;
在所述第一极值范围内绘制原始图像的二次绘图图像;
计算所述管网图纸数据的第二极值;
在所述第二极值范围内所述管网图纸数据的二次绘图图像;
根据所述原始图像的二次绘图图像对所述管网图纸数据的二次绘图图像的基本元素进行增加、删除和/或修改。
可选地,绘制原始图像的二次绘图图像或绘制所述管网图纸数据的二次绘图图像,步骤包括:
根据所述第一极值或第二级值,计算二次绘图图像的宽度和高度;
根据所述宽度和高度范围,确定图像对象;
计算所述标高标注线、标高文字、管线和其余标注信息,或者所述管网图纸数据的像素坐标;
基于所述像素坐标,在所述图像对象内二次绘图,获得所述原始图像的二次绘图图像或者所述管网图纸数据的二次绘图图像。
本申请还提供一种管网图纸数据提取装置,包括:
提取模块,用于提取并实例化管网图纸数据中的基本元素;
筛选模块,用于从所述基本元素中筛选出标高标注线、标高文字、管线和其余标注信息;
关系模块,用于构建所述标高标注线的连接关系矩阵;
连接模块,用于基于所述连接关系矩阵判断具有相连关系的所述标高标注线,连接具有相连关系的所述标高标注线形成标高标注线的线条信息;
第一聚类模块,用于将所述标高标注线的线条信息与所述标高文字进行匹配和聚类,生成包含标高标注线和标高文字的标高标注线对象;
第二聚类模块,用于将所述标高标注线对象与所述管线和其余标注信息进行匹配和聚类,获得管网图纸数据。
可选地,所述关系矩阵中,每个元素(i,j)表示第i根标高标注线和第j根标高标注线是否具有互相连接的关系。
可选地,所述连接模块基于所述连接关系矩阵,连接具有相连关系的标高标注线,包括:
计算两根标高标注线的归一化端点距离,当所述归一化端点距离小于设定的阈值时表示具有相连关系,连接具有相连关系的所述标高标注线;或
计算两根标高标注线的归一化距离,当所述归一化距离小于设定阈值时表示具有相连关系,连接具有相连关系的标高标注线。
可选地,还包括:后处理模块,用于后处理校验,步骤如下:
计算所述标高标注线、标高文字、管线和其余标注信息的第一极值;
在所述第一极值范围内绘制原始图像的二次绘图图像;
计算所述管网图纸数据的第二极值;
在所述第二极值范围内所述管网图纸数据的二次绘图图像;
根据所述原始图像的二次绘图图像对所述管网图纸数据的二次绘图图像的基本元素进行增加、删除和/或修改。
可选地,所述后处理模块绘制原始图像的二次绘图图像或绘制所述管网图纸数据的二次绘图图像,步骤包括:
根据所述第一极值或第二级值,计算二次绘图图像的宽度和高度;
根据所述宽度和高度范围,确定图像对象;
计算所述标高标注线、标高文字、管线和其余标注信息,或者所述管网图纸数据的像素坐标;
基于所述像素坐标,在所述图像对象内二次绘图,获得所述原始图像的二次绘图图像或者所述管网图纸数据的二次绘图图像。
本申请的优点和有益效果:
本申请提供一种管网图纸数据提取方法,包括:提取并实例化管网图纸数据中的基本元素;从所述基本元素中筛选出标高标注线、标高文字、管线和其余标注信息;构建所述标高标注线的连接关系矩阵;基于所述连接关系矩阵判断具有相连关系的所述标高标注线,连接具有相连关系的所述标高标注线形成标高标注线的线条信息;将所述标高标注线的线条信息与所述标高文字进行匹配和聚类,生成包含标高标注线和标高文字的标高标注线对象;将所述标高标注线对象与所述管线和其余标注信息进行匹配和聚类,获得管网图纸数据。本申请通过关系矩阵替换固定的阈值设定,使得在面对不同尺寸、不同标注风格的图纸时,泛化性能较强,提高了提取的数据的准确性。
附图说明
图1是本申请中管网图纸数据提取流程示意图。
图2是本申请中管网图纸数据示意图。
图3是本申请中管线图层中管线示意图。
图4是本申请中标高图层中标高标注线和标高文字示意图。
图5是本申请中原始管网图像示意图。
图6是本申请中提取后的管网图纸数据示意图。
图7是本申请中管网图纸数据提取装置示意图。
图8是本申请中管网图纸数据提取装置局部界面图。
具体实施方式
下面结合附图和具体实施例对本申请作进一步说明,以使本领域的技术人员更好地理解本申请并能予以实施。
以下内容均是为了详细说明本申请要保护的技术方案所提供的具体实施过程的示例,但是本申请还采用不同于此的描述的其他方式实施,本领域技术人员在本申请构思的指引下,采用不同的技术手段实现本申请,因此本申请不受下面具体实施例的限制。
本申请提供一种管网图纸数据提取方法,包括:提取并实例化管网图纸数据中的基本元素;从所述基本元素中筛选出标高标注线、标高文字、管线和其余标注信息;构建所述标高标注线的连接关系矩阵;基于所述连接关系矩阵判断具有相连关系的所述标高标注线,连接具有相连关系的所述标高标注线形成标高标注线的线条信息;将所述标高标注线的线条信息与所述标高文字进行匹配和聚类,生成包含标高标注线和标高文字的标高标注线对象;将所述标高标注线对象与所述管线和其余标注信息进行匹配和聚类,获得管网图纸数据。本申请通过关系矩阵替换固定的阈值设定,使得在面对不同尺寸、不同标注风格的图纸时,泛化性能较强,提高了提取的数据的准确性。
在下面的描述中,将涉及本申请中定义的一些特定对象类型。为方便理解,首先对所述对象进行定义和说明。
1. 程序中定义的类(class)。
(1) Line 类:
概述:表示基本的线段类型。
成员变量:
start_point:表示线段起点的二维绝对值坐标;
end_point:表示线段终点的二维绝对值坐标;
length:表示线段的长度;
param_A, param_B, param_C:表示线段对应的直线方程参数;
start_pt_point:表示线段起点的图像坐标值;
end_pt_point:表示线段终点的图像坐标值;
layer_name:表示线段所属的图层名称。
(2) Mtext 类:
表示基本的文本类型。
成员变量:
raw_text:表示文本字符串;
insert_point:表示文本插入点的二维绝对值坐标;
bbox_pt_1, bbox_pt_2,…,bbox_pt_4:表示包围文本的矩形框的四个顶点坐标;
insert_point_pt:表示插入点的图像坐标值;
bbox_pixel_pt_1,…:表示矩形框四个顶点的图像坐标值;
layer_name:表示文本所属的图层名称。
(3) Label 类:
由Line和Mtext对象组合构建的标注对象,用于表示一个完整的标注信息。
成员变量:
Line_list:包含多个Line对象的列表,表示当前标注的引导线;
Mtext_list:包含多个Mtext对象的列表,表示当前标注的文本;
(4) pipe_line 类:
继承自Line类,包含额外的成员变量,用于描述一个完整的管线及其所有信息。
新增成员变量:
start_label:一个Label对象,表示线段起点的标高标注线;
end_label:一个Label对象,表示线段终点的标高标注线;
other_annotations:一个包含多个Mtext对象的列表,表示与当前管线相关的其他所有标注和注释。
图1是本申请中管网图纸数据提取流程示意图。
请参照图1所示,一种管网图纸数据提取的步骤,包括:
S101、提取并实例化管网图纸数据中的基本元素。
本申请采用的CAD图纸的格式是dxf,这是CAD的常用格式。具体的,还是其他CAD的常用格式,在此不再赘述。
如图2所示,基于如图8所示的软件,根据CAD图纸的图层进行操作,从CAD图纸中提取基本元素,所述基本元素至少包括直线201和文字202。
所述直线201(Line)对象的实例化处理:
如图3所示,对于每一条提取的直线201,将其转化为Line对象。
为Line对象的start_point、end_point、layer_name属性赋值。
计算直线201的长度(length)属性,使用的公式为:
;
其中,记。
计算直线201的斜率(k),使用的公式为:
;
但当直线201与x轴夹角为90度时,斜率不存在,此时设置参数为0。
根据start_point和斜率计算直线201的b参数。
根据上述公式,计算出直线201的标准公式参数:param_A = k。param_B = -1。param_C = b。
需要注意的是,当直线201与x轴夹角为90度时,这三个参数都设置为0。
如图4所示,文字202(Mtext)对象的实例化处理:
对于每一个提取的文本信息,将其转化为Mtext对象。
为Mtext对象的raw_text、insert_point、layer_name属性赋值。
根据insert_point信息和文本框的长宽信息计算出bbox_pt_1到bbox_pt_4这四个点。
S102从所述基本元素中筛选出标高标注线、标高文字、管线和其余标注信息。
管线筛选:
从之前实例化的Line对象中进行筛选。
筛选的条件是Line对象的layer_name属性值为“管线图层”的对象。这里的“管线图层”例如是一个特定的字符串标识,用于在CAD图纸中标识管线所在的图层。
符合筛选条件的Line对象,即那些其layer_name属性为“管线图层”的Line对象,将被选出。筛选出来的所述Line对象,将被记录到一个名为base_pipe_line_list的列表中。该列表名称指示了它包含的是代表管线的Line对象。
标高标注线筛选:
从之前已经创建的一系列Line对象中进行筛选。
layer_name为标高图层。这里的“标高图层”是Line对象的一个属性,即layer_name。需要找出那些其layer_name属性值被设置为“标高图层”的Line对象。
符合条件的Line对象被筛选出来,所述对象即为代表标高标注线的Line对象。这意味着所述Line对象在CAD图纸中是用来标注标高的。
筛选出来的对象将被记录在一个名为base_label_line_list的列表中。该列表将包含所有代表标高标注线的Line对象。
标高文字筛选:
目标对象是之前实例化的Mtext对象。从这些对象中进行进一步的筛选。
筛选的条件是Mtext对象的layer_name属性必须为“标高图层”。这表示只对那些位于“标高图层”的Mtext对象感兴趣。
符合条件的Mtext对象即为代表标高文字的Mtext对象。这说明这些对象用于表示标高相关的文字202信息。
所有满足条件的Mtext对象将被记录在一个名为base_label_mtext_list的列表中。该列表将用于后续的处理或分析。
其余标注信息的筛选:
从实例化的Mtext对象中进行筛选。
筛选的条件是Mtext对象的layer_name属性值为“标注图层”。这意味着想要找到所有在“标注图层”中的Mtext对象。
这些筛选出来的Mtext对象代表的是管线的其余标注信息。这说明,这些Mtext对象包含了关于管线的一些额外或补充标注,这些标注可能包含了管线的某些特性、属性或其他相关信息。
筛选出来的这些代表管线其余标注信息的Mtext对象将被记录在一个名为base_annot_mtext_list的列表中。该列表用于后续的统一处理、分析或显示。
S103构建所述标高标注线的连接关系矩阵。
考虑到已经从上述步骤中获取了base_label_line_list,其中包含了n根标高标注线。现在的任务是构建一个矩阵,以表示这些线之间的连接关系。
矩阵构建:
矩阵是维的。因为有n根标高标注线,所以需要一个/>的矩阵来完全表示每两根线之间的连接关系。
矩阵的每一个元素(i,j)代表第i根Line和第j根Line是否是互相连接的。这是一个二值变量,值为true时表示两根线是连接的,值为false时表示两根线不是连接的。
该矩阵在初始化时,所有元素都被设置为false,表示在开始时,假设没有任何两根线是连接的。
对角线元素表示线与其自身的连接关系,由于一条线不能与自身连接,因此所有对角线元素被赋值为false。
S104、基于所述连接关系矩阵判断具有相连关系的所述标高标注线,连接具有相连关系的所述标高标注线形成标高标注线的线条信息。
为了确定两根线是否连接,本申请设置了两个条件,满足其中一个条件即可判断为两线相连。
条件一:端点相连。
设两根线分别为line_a和line_b。为了确定这两条线是否满足条件一,需要计算它们的归一化端点距离norm_dis。
首先,计算line_a的起点到line_b的起点和终点的距离,以及line_a的终点到line_b的起点和终点的距离。
从这四个距离中选取最小的距离。
除了计算上述的最小距离外,还需要进行归一化处理,即除以两根线的长度中的较小值。这样确保了距离是在0到1之间的一个值。
当计算得到的norm_dis小于某个设定的阈值(例如0.05)时,认为条件一成立,即两根线的端点是相连的。表达式如下:
;
其中,当norm_dis小于设置阈值(例如0.05)时,则条件一成立。
条件二:一条线的端点在另一条线上。
对于line_a和line_b,需要分别计算它们的四个端点到另一条线的距离。
与条件一类似,也要进行归一化处理。
除了计算归一化距离外,还需要判断两个向量的夹角余弦值。例如,当判断line_a的起点到line_b的情况时,需要计算两个向量v1和v2,表达式如下:
;
;
其中,v1是line_b的起点指向line_a的起点的向量,v2是line_b的起点指向line_b的终点的向量。
如果这两个向量的夹角的余弦值接近-1(也就是说,两个向量的夹角接近180°),那么认为该条件满足。
与条件一相同,当计算得到的归一化距离小于设定阈值(例如0.05),并且向量夹角余弦值满足条件时,认为条件二成立。
基于上述判断条件,进行如下判断:
判断哪些Line对象是相连的,并更新flag_matrix。
遍历矩阵的每一个元素。对于每一个元素位置(i,j),判断对应的两个Line对象,即第i根标高标注线和第j根标高标注线,是否满足上条件一或二:
条件一是端点相连的情况,条件二是一条线的端点在另一条线上的情况。
如果满足其中的任一条件,那么就更新flag_matrix矩阵,使得flag_matrix[i,j]= true。这表明第i根标高标注线和第j根标高标注线是相连的。
此处需要注意的是,矩阵的上三角或下三角部分可能只需要检查一次,因为线的连接关系是双向的,即如果线i与线j连接,那么线j与线i也连接。
基于flag_matrix,获取每一个标高标注线(label)的所有线条信息。
遍历flag_matrix矩阵,查找所有值为true的元素,每一个true元素代表两根线的连接关系。根据这些连接关系,将相连的Line对象分组到一起。每一组相连的Line对象就构成了一个标高标注线(label)的所有线条信息。
为每一个label的Line_list赋值,即把相应组的Line对象信息赋值给对应的label。
至此,形成了标高标注线的线条信息。
S105、将所述标高标注线的线条信息与所述标高文字进行匹配和聚类,生成包含标高标注线和标高文字的标高标注线对象。
将生成的mtext对象与前面生成的标高标注线的线条信息进行匹配,确保标高文字与对应的标高标注线对象正确关联。
首先,遍历在生成的所有mtext对象。对于每一个mtext对象,首先要计算其bbox(边界框)的中心坐标。该中心坐标代表了标高文字的中心位置。
接下来,计算该中心坐标到标高标注线line_list中的每条线的最小距离,并将该最小距离除以bbox的矩形宽度width,得到归一化距离norm_dis。该归一化距离是为了消除不同大小的bbox之间的尺度差异。
如果norm_dis小于1.0并且该中心点与当前线条的两端点连线夹角大于90°,则认为该mtext对象与当前的标高标注线匹配成功。这里的夹角条件确保了文字202是垂直于标高线标注的。
一旦判断为匹配成功,就将该mtext对象加入到当前标高标注线的mtext_list中。
按照上述所有步骤,最终生成k个标高标注线对象。每个标高标注线对象都包含了:
1、数个引导线Line对象:这些是在上述步骤中生成的Line对象,它们构成了标高标注线的线条部分。
2、数个标高文字mtext对象:这些是在上述步骤中生成的mtext对象,它们代表了与标高标注线匹配的标高文字。
S106、将所述标高标注线对象与所述管线和其余标注信息进行匹配和聚类,获得管网图纸数据。
将上述步骤中得到的管线与上述步骤中生成的标高标注线对象进行匹配,并将匹配结果赋值给相应的成员变量。同时,还需要与上述步骤中生成的其余标注信息进行匹配。
首先,遍历上述步骤中得到的所有管线对象。对于每一个管线对象,在上述步骤中生成的k个标高标注线对象Label中寻找与其端点匹配的标高标注线,匹配方式与上一步的匹配方式相同。如果找到了匹配的标高标注线,则将其赋值给标高标注对象的start_label和end_label成员变量中,分别表示起点和终点的标高标注线信息。
同时,在上述步骤中生成的其余标注信息中,寻找与当前标高标注对象匹配的其余标注信息。匹配方式同样上一步的匹配方式相同。如果找到了匹配的其余标注信息,则将其赋值给标高标注对象的other_annotations成员变量中,表示其余标注信息。
经过上述匹配过程后,最终得到m个管网图纸数据(pipe_line)。每个pipe_line对象包含了以下信息:
管线基础信息,表示管线的基本属性和特征。
起点和终点标高标注线信息,表示管线的起点和终点的标高标注线。
其余标注信息,表示与管线相关的其余标注信息。
需要注意的是,如果在某个Line对象的匹配过程中,某个端点无法找到与之匹配的Label对象,那么会自动判断该Line对象为错误分层的管线,并将其跳过。因此,不会生成对应的pipe_line管线对象。
进一步的,本申请的技术方案还包括:后处理校验的步骤。具体的,包括:
在上述步骤完成后,得到了一系列提取出的pipe_line对象。接下来的操作是将这些对象整理到一个数组中,并为每一个对象赋予一个互斥的编号。
首先,初始化一个空的数组,用于存放所有的pipe_line对象。将提取出的每一个pipe_line对象添加到该数组中。
然后,为了便于后续的管理和引用,需要为每一个pipe_line对象赋予一个独特的编号。这个编号是互斥的,意味着每一个pipe_line对象都有一个唯一的编号,不会与其他对象重复。例如:设第一个pipe_line对象的编号为id_1,第二个为id_2,以此类推,直到最后一个对象编号为id_n。其中,n代表数组中的pipe_line对象的数量。
经过上述操作,得到了一个包含所有pipe_line对象的数组,且每一个对象都被赋予了一个独特的编号,从id_1到id_n。这样的编号方式便于后续对特定pipe_line对象的查找、引用和管理。同时,由于编号是互斥的,不会出现混淆或重复的情况,确保了数据的准确性和一致性。
原始图像二次绘制:
本申请中,提取的Line对象和Mtext对象包含了管线的原始信息,如图5所示。对这些对象进行二次绘制是为了生成一个包含所有图层原始信息的图像(origin_image)。
为了确定图像的范围,首先计算所有Line对象和Mtext对象的坐标边界。具体地,计算所有对象的起点(start_point)、终点(end_point)以及边界框(bbox)的四个角点(bbox_pt_1 ... bbox_pt_4)的x和y坐标的最大值(max_x, max_y)和最小值(min_x, min_y)。
基于上述计算的坐标边界,通过给定的shrink_ratio计算出二次绘图图像的宽度(width)和高度(height)。
优选的,这个shrink_ratio被设置为确保图像的宽和高均不大于3000像素。
接着,在内存中初始化一个名为origin_image的对象,其像素大小为计算出的width和height,优选的,将所有像素初始化为255。
对于每个Line对象和Mtext对象,为了将它们的坐标转换到origin_image中,需要按照shrink_ratio进行缩放并取整。例如,对于start_pt_point,将start_pt的坐标乘以shrink_ratio并取整得到其在origin_image中的像素坐标。对所有原始坐标进行同样的处理,然后根据这些像素坐标在origin_image上绘制相应的直线201、矩形和文字图形。
完成上述步骤后,origin_image便包含了所有图层的原始信息,并且所有的Line对象和Mtext对象的相关像素坐标属性也已被赋值。这意味着origin_image现在是一个完整的、包含所有提取对象和图层信息的图像。
管网图纸数据二次绘制:
基于上述原始图像二次绘制的方法,对所述管网图纸数据进行二次绘制,记为filter_image。
基于上述原始图像和管网图纸数据二次绘制生成的可视化图像,用户直观地查看和校验提取的管线信息,如图6所示。
由于这些图像和信息是通过一体化的方式生成的,因此用户直接通过操作图像来实现信息处理,而无需进行复杂的数据操作。下面详细介绍三种操作方式:
增加管线信息:
在origin_image图像上,已经绘制了所有的原始管线图层、标注和标高图层的信息。如果自动化提取过程中有遗漏,用户手动添加。
在origin_image图像上,用户在待添加元素的附近点选。系统会遍历内存中的所有line对象,找出距离点选像素位置最近的line对象,并显示其起点和终点的绝对坐标。同时,由于所有相关信息都在origin_image上显示,因此得到一个完整的pipe_line对象信息。
为新添加的pipe_line对象赋予一个与当前已提取对象ID不同的编号,然后将其加入到pipe_line数组中。这样就完成了一条新管线信息的添加。
删除管线信息:
在filter_image图像上,用户点选待删除的管线。系统同样会完成遍历,选取距离当前点选位置最近的pipe_line对象,并找出其对应的编号。
使用找到的编号,从pipe_line数组中删除对应的对象,这样就完成了管线信息的删除。
修改管线信息:
按照增加管线信息的方式,首先找到待修改管线的当前信息,并得到其对应的ID。然后在修改模式中输入这个ID和修改后的信息。
系统会使用提供的ID和信息,修改并更新已存储的pipe_line对象。
上述三种操作方式都基于二次绘制的图像进行,因此都非常直观和便捷。由于图像信息和pipe_line信息是紧密关联的,用户通过简单的图像操作,实现对复杂管线信息的修改和处理,大大提高了操作的便捷性和效率。
进一步的,将这些数据保存到一个长期储存的媒介中,以便后续使用和参考。具体操作如下:
选择表单(如Excel)或数据库(如MySQL)作为储存媒介。选择哪种媒介取决于数据的使用频率、数量、安全性等因素。
在储存前,需要设计数据结构以适配pipe_line对象的属性。通常,每一条记录(表单行或数据库记录)会包含以下信息:
起点x、y坐标:记录管线的起始位置。
起点标高信息(z坐标):记录管线起点的标高,用于三维空间定位。
终点x、y坐标:记录管线的终止位置。
终点标高信息(z坐标):记录管线终点的标高,用于三维空间定位。
管线长度:记录管线的物理长度。
其余标注信息:记录其他与管线相关的注释或信息。
遍历pipe_line数组,将每个元素的上述信息储存到预先设计好的数据结构(表单或数据库表)中。
进一步的,维护和更新已经数字化并储存的信息。具体操作如下:
根据所选的储存媒介(表单或数据库),采用相应的通用方法进行信息维护。例如,如果选择MySQL数据库,则可使用SQL语句进行增、删、改、查等操作。如果选择Excel表单,则可使用Excel的各种功能进行操作。
在运维阶段,技术人员运用运维资料对数据库中的相应字段进行必要的修改和更新,确保数据的实时性和准确性。
通过在数据库中新增表单sheet(如果是Excel)或数据表TABLE(如果是SQL数据库)的方式来区分不同阶段(如设计阶段、运维阶段)的数据。这样的布局有助于维护一个包含动态时序信息的长周期信息数据库,方便追踪和回溯。
本申请还提供一种管网图纸数据提取装置,以实现上述一种管网图纸数据提取方法的具体执行。
图7是本申请中管网图纸数据提取装置示意图。
请参照图7所示,一种管网图纸数据提取装置,包括:
提取模块301:该模块负责从管网图纸数据中提取并实例化基本元素。这些基本元素是构成图纸的基础部分,例如线条、标注等。
筛选模块302:在基本元素被提取后,筛选模块会从这些元素中筛选出标高标注线、标高文字、管线和其余标注信息。这一过程是为了分离出不同类型的数据,以便后续处理。
关系模块303:该模块用于构建标高标注线的连接关系矩阵。这个矩阵会表示不同标高标注线之间的连接关系。
连接模块304:连接模块基于连接关系矩阵判断哪些标高标注线是相连的,并将它们连接起来形成线条信息。具体来说,它可以通过计算两根高标注线的归一化端点距离或归一化距离,当这个距离小于设定的阈值时,就认为两根线具有相连关系,并将它们连接起来。
第一聚类模块305:该模块将标高标注线的线条信息与标高文字进行匹配和聚类,生成包含标高标注线和标高文字的标高标注线对象。
第二聚类模块306:这个模块进一步将标高标注线对象与管线和其余标注信息进行匹配和聚类,最终获得完整的管网图纸数据。
除了以上主要模块,该装置还可以包含后处理模块,用于进行后处理校验。这个模块的工作流程如下:
计算标高标注线、标高文字、管线和其余标注信息的第一极值;
在第一极值范围内绘制原始图像的二次绘图图像;
计算管网图纸数据的第二极值;
在第二极值范围内绘制管网图纸数据的二次绘图图像;
根据原始图像的二次绘图图像对管网图纸数据的二次绘图图像的基本元素进行增加、删除或修改。
在绘制二次绘图图像时,后处理模块会根据极值计算图像的宽度和高度,确定图像对象,计算各种元素的像素坐标,并在图像对象内进行二次绘图,最终获得所需的二次绘图图像。
Claims (10)
1.一种管网图纸数据提取方法,其特征在于,包括:
提取并实例化管网图纸数据中的基本元素;
从所述基本元素中筛选出标高标注线、标高文字、管线和其余标注信息;
构建所述标高标注线的连接关系矩阵;
基于所述连接关系矩阵判断具有相连关系的所述标高标注线,连接具有相连关系的所述标高标注线形成标高标注线的线条信息;
将所述标高标注线的线条信息与所述标高文字进行匹配和聚类,生成包含标高标注线的线条信息和标高文字的标高标注线对象;
将所述标高标注线对象与所述管线和其余标注信息进行匹配和聚类,获得管网图纸数据。
2.根据权利要求1所述的管网图纸数据提取方法,其特征在于,所述关系矩阵中,每个元素(i,j)表示第i根标高标注线和第j根标高标注线是否具有互相连接的关系。
3.根据权利要求1所述的管网图纸数据提取方法,其特征在于,基于所述连接关系矩阵,连接具有相连关系的标高标注线,包括:
计算两根标高标注线的归一化端点距离,当所述归一化端点距离小于设定的阈值时表示具有相连关系,连接具有相连关系的所述标高标注线;或
计算两根标高标注线的归一化距离,当所述归一化距离小于设定阈值时表示具有相连关系,连接具有相连关系的标高标注线。
4.根据权利要求1所述的管网图纸数据提取方法,其特征在于,还包括:后处理校验,步骤如下:
计算所述标高标注线、标高文字、管线和其余标注信息的第一极值;
在所述第一极值范围内绘制原始图像的二次绘图图像;
计算所述管网图纸数据的第二极值;
在所述第二极值范围内所述管网图纸数据的二次绘图图像;
根据所述原始图像的二次绘图图像对所述管网图纸数据的二次绘图图像的基本元素进行增加、删除和/或修改。
5.根据权利要求4所述的管网图纸数据提取方法,其特征在于,绘制原始图像的二次绘图图像或绘制所述管网图纸数据的二次绘图图像,步骤包括:
根据所述第一极值或第二级值,计算二次绘图图像的宽度和高度;
根据所述宽度和高度范围,确定图像对象;
计算所述标高标注线、标高文字、管线和其余标注信息,或者所述管网图纸数据的像素坐标;
基于所述像素坐标,在所述图像对象内二次绘图,获得所述原始图像的二次绘图图像或者所述管网图纸数据的二次绘图图像。
6.一种管网图纸数据提取装置,其特征在于,包括:
提取模块,用于提取并实例化管网图纸数据中的基本元素;
筛选模块,用于从所述基本元素中筛选出标高标注线、标高文字、管线和其余标注信息;
关系模块,用于构建所述标高标注线的连接关系矩阵;
连接模块,用于基于所述连接关系矩阵判断具有相连关系的所述标高标注线,连接具有相连关系的所述标高标注线形成标高标注线的线条信息;
第一聚类模块,用于将所述标高标注线的线条信息与所述标高文字进行匹配和聚类,生成包含标高标注线和标高文字的标高标注线对象;
第二聚类模块,用于将所述标高标注线对象与所述管线和其余标注信息进行匹配和聚类,获得管网图纸数据。
7.根据权利要求6所述的管网图纸数据提取装置,其特征在于,所述关系矩阵中,每个元素(i,j)表示第i根标高标注线和第j根标高标注线是否具有互相连接的关系。
8.根据权利要求6所述的管网图纸数据提取装置,其特征在于,所述连接模块基于所述连接关系矩阵,连接具有相连关系的标高标注线,包括:
计算两根标高标注线的归一化端点距离,当所述归一化端点距离小于设定的阈值时表示具有相连关系,连接具有相连关系的所述标高标注线;或
计算两根标高标注线的归一化距离,当所述归一化距离小于设定阈值时表示具有相连关系,连接具有相连关系的标高标注线。
9.根据权利要求6所述的管网图纸数据提取装置,其特征在于,还包括:后处理模块,用于后处理校验,步骤如下:
计算所述标高标注线、标高文字、管线和其余标注信息的第一极值;
在所述第一极值范围内绘制原始图像的二次绘图图像;
计算所述管网图纸数据的第二极值;
在所述第二极值范围内所述管网图纸数据的二次绘图图像;
根据所述原始图像的二次绘图图像对所述管网图纸数据的二次绘图图像的基本元素进行增加、删除和/或修改。
10.根据权利要求9所述的管网图纸数据提取装置,其特征在于,所述后处理模块绘制原始图像的二次绘图图像或绘制所述管网图纸数据的二次绘图图像,步骤包括:
根据所述第一极值或第二级值,计算二次绘图图像的宽度和高度;
根据所述宽度和高度范围,确定图像对象;
计算所述标高标注线、标高文字、管线和其余标注信息,或者所述管网图纸数据的像素坐标;
基于所述像素坐标,在所述图像对象内二次绘图,获得所述原始图像的二次绘图图像或者所述管网图纸数据的二次绘图图像。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311675854.5A CN117392269B (zh) | 2023-12-08 | 2023-12-08 | 一种管网图纸数据提取方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311675854.5A CN117392269B (zh) | 2023-12-08 | 2023-12-08 | 一种管网图纸数据提取方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117392269A true CN117392269A (zh) | 2024-01-12 |
CN117392269B CN117392269B (zh) | 2024-02-27 |
Family
ID=89463366
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311675854.5A Active CN117392269B (zh) | 2023-12-08 | 2023-12-08 | 一种管网图纸数据提取方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117392269B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011095980A1 (en) * | 2010-02-05 | 2011-08-11 | Shreenivas Potnis | Method and system for pipe routing and design including piping layout, isometrics, and bill of material |
CN102689231A (zh) * | 2012-06-12 | 2012-09-26 | 西南交通大学 | 一种丝杠副、导轨副性能退化的图示化分析方法 |
CN111814664A (zh) * | 2020-07-07 | 2020-10-23 | 广联达科技股份有限公司 | 识别图纸中标注的方法、装置、计算机设备及存储介质 |
CN113435289A (zh) * | 2021-06-22 | 2021-09-24 | 万翼科技有限公司 | 空间分割方法、装置、设备及存储介质 |
CN115329556A (zh) * | 2022-07-29 | 2022-11-11 | 国网河北省电力有限公司电力科学研究院 | 变电站cad图纸审核方法及设备 |
CN115455519A (zh) * | 2022-06-22 | 2022-12-09 | 合肥坤颐建筑科技合伙企业(有限合伙) | 基于bim平台的水平构件标注方法及相关设备 |
CN115482552A (zh) * | 2022-09-30 | 2022-12-16 | 中交第二航务工程局有限公司 | 一种矢量钢筋图纸智能翻样方法及系统 |
CN115906360A (zh) * | 2022-12-12 | 2023-04-04 | 中山火炬水务有限公司 | 排水系统cad-gis数据转换及标准标注方法和装置 |
CN117058157A (zh) * | 2023-07-18 | 2023-11-14 | 北京中铁建建筑科技有限公司 | 一种cad图纸的切割与标注方法 |
-
2023
- 2023-12-08 CN CN202311675854.5A patent/CN117392269B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011095980A1 (en) * | 2010-02-05 | 2011-08-11 | Shreenivas Potnis | Method and system for pipe routing and design including piping layout, isometrics, and bill of material |
CN102689231A (zh) * | 2012-06-12 | 2012-09-26 | 西南交通大学 | 一种丝杠副、导轨副性能退化的图示化分析方法 |
CN111814664A (zh) * | 2020-07-07 | 2020-10-23 | 广联达科技股份有限公司 | 识别图纸中标注的方法、装置、计算机设备及存储介质 |
CN113435289A (zh) * | 2021-06-22 | 2021-09-24 | 万翼科技有限公司 | 空间分割方法、装置、设备及存储介质 |
CN115455519A (zh) * | 2022-06-22 | 2022-12-09 | 合肥坤颐建筑科技合伙企业(有限合伙) | 基于bim平台的水平构件标注方法及相关设备 |
CN115329556A (zh) * | 2022-07-29 | 2022-11-11 | 国网河北省电力有限公司电力科学研究院 | 变电站cad图纸审核方法及设备 |
CN115482552A (zh) * | 2022-09-30 | 2022-12-16 | 中交第二航务工程局有限公司 | 一种矢量钢筋图纸智能翻样方法及系统 |
CN115906360A (zh) * | 2022-12-12 | 2023-04-04 | 中山火炬水务有限公司 | 排水系统cad-gis数据转换及标准标注方法和装置 |
CN117058157A (zh) * | 2023-07-18 | 2023-11-14 | 北京中铁建建筑科技有限公司 | 一种cad图纸的切割与标注方法 |
Also Published As
Publication number | Publication date |
---|---|
CN117392269B (zh) | 2024-02-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112270027B (zh) | 基于实体模型的城市设计无纸化智能交互审查方法 | |
US5278946A (en) | Method of presenting multimedia data in a desired form by comparing and replacing a user template model with analogous portions of a system | |
US7492364B2 (en) | System and method for creating and updating a three-dimensional model and creating a related neutral file format | |
CN106777808B (zh) | 一种基于标准化cad图纸的网络资源生成方法 | |
KR100836235B1 (ko) | Cad도면에 의한 gis공간연계db 자동구축 방법 | |
US9720886B2 (en) | System and method for dynamic linking between graphic documents and comment data bases | |
JP2008033875A (ja) | Cad製図データのレイヤ振分けプログラム、記録媒体及びその装置、並びにそのレイヤ振分けシステム、cad製図基準データチェック装置 | |
CN116126809B (zh) | 一种基于国标的建筑信息模型数据存储转换方法 | |
WO2023241519A1 (zh) | Bim构件创建方法、数字设计资源库应用方法和装置 | |
Yin et al. | An automated layer classification method for converting CAD drawings to 3D BIM models | |
CN117392269B (zh) | 一种管网图纸数据提取方法及装置 | |
CN116821223A (zh) | 基于数字孪生的工业可视化控制平台及方法 | |
CN111784801A (zh) | 一种竣工单体建筑车位平面图自动化绘制方法及系统 | |
CN110675729B (zh) | 一种多版本地理信息一体化制图方法及系统 | |
CN110737790B (zh) | 一种基于数据库的通用图像数据集管理方法 | |
CN107133391A (zh) | 施工图纸的生成方法和系统 | |
JP2906826B2 (ja) | 設備管理システム | |
KR20080080008A (ko) | Cad도면에 의한 gis공간연계db를 이용한 파일 검색방법. | |
CN117271859B (zh) | 一种快速生成景观工程参数信息的方法、装置及设备 | |
CN113378334B (zh) | 地下管线参数化建模方法、系统及计算机可读存储介质 | |
CN116882032B (zh) | 一种建筑设计图集数字化、可视化及其应用方法与装置 | |
CN113255499B (zh) | 一种变电站电缆二次回路数字化自动建模方法 | |
US11295066B2 (en) | System and method for dynamic linking between graphic documents and comment data bases | |
CN113657669B (zh) | 一种街区空间编码图的智能建构方法、系统及存储介质 | |
US20220350946A1 (en) | Computer-implemented conversion of technical drawing data representing a map and object detection based thereupon |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |