一种基于BIM+GIS平台的公路设计数据协同管理方法及管理系统与流程

文档序号:26051074发布日期:2021-07-27 15:26阅读:359来源:国知局
一种基于BIM+GIS平台的公路设计数据协同管理方法及管理系统与流程

本发明涉及bim+gis技术领域,特别涉及一种基于bim+gis平台的公路设计数据协同管理方法及管理系统。



背景技术:

传统的勘察设计数据成果只能通过二维图纸进行数据交付,二维图纸传递空间有限,传递渠道狭窄,设计数据读取困难,无法清晰、直观的展现设计意图,很难实现设计数据的上下游联动,无法实现对设计数据的对比、分析。传统的道路设计软件虽然有路线数据,部分软件还能生成bim模型,但其不是bim+gis软件,不能将多源数据融合到一起,设计成果与其他控制因素关系不能展现出来。

目前,市面上存在的bim软件或gis软件都是直接加载bim模型,与原始勘察设计数据之间格式不通,无法在相应的bim软件或gis软件中对多个原始公路设计文件进行高效管理。此外,由于现有的bim软件或gis软件中所建立的模型成果是通过翻模得到的,其与勘察设计的数据已经脱节,所得模型准确度较低、与原始勘察设计数据关联度较低。如autodesk公司的infoworks软件是一款比较成熟的bim软件,其实现步骤如下,第一步是将设计数据翻模到autocadcivil3d中,通过其建立道路模型,将道路模型导出,第二步是autocadcivil3d的模型导入infoworks,在infoworks中整合多源数据,该bim软件存在设计数据与bim模型脱节、不能实现设计数据与bim模型高效联动管理,所得到的模型成果不能实现快速的、清晰的、直观的展现设计意图。



技术实现要素:

本发明的目的在于克服现有技术中所存在的现有bim或gis软件与原始勘察设计数据之间格式不通,无法在相应的bim软件或gis软件中对多个原始公路设计文件进行高效管理、以及,现有bim或gis软件中模型成果与勘察设计的数据脱节,不能实现设计数据与bim模型高效联动管理的问题,提供一种基于bim+gis平台的公路设计数据协同管理方法及管理系统,通过在bim+gis平台中导入公路设计文件,对公路设计文件进行解析,重构,基于公路设计文件中的原始内容(项目文件)给设计数据文件加上项目id进行标记,实现参数化设计数据与模型的高效协同管理。

为了实现上述发明目的,本发明提供了以下技术方案:

一种基于bim+gis平台的公路设计数据协同管理方法,包括:

接收导入的公路设计文件,对所述公路设计文件进行解析,得到公路设计文件解析结果;其中,所述公路设计文件为来自纬地道路软件、鸿业市政道路软件或海地公路软件的二维公路数据文件;所述公路设计文件包括:项目文件以及n个设计数据文件,n≥1;

根据所述解析结果中的项目文件的存储路径生成电子id,在bim+gis平台的公路设计文件数据库中进行查找,判断是否存在一致的电子id,

若否,则认为所述项目文件为新项目,利用所生成的电子id更新所述公路文件数据库;以及,对所述项目文件进行重构,根据重构结果生成项目id,并利用所述项目id对所述公路设计文件进行标记,并将所生成的电子id关联到所述项目id,以及,进入建模数据单元解析重构流程、基于所述项目id对重构得到的建模数据单元进行标记;

若是,则认为所述项目文件为既有项目,以及,提取所述电子id对应的既有公路设计文件,基于所述公路设计文件的解析结果判断当前公路设计文件是否与所述既有公路设计文件一致,若是,则结束流程,若否,则在所述公路设计文件数据库中找到与所述电子id相关联的项目id,利用所述公路设计文件去覆盖所述电子id、项目id对应的既有公路设计文件,以及,进入建模数据单元解析重构流程、基于所述项目id对重构得到的建模数据单元进行标记。

根据一种具体的实施方式,上述公路设计数据协同管理方法中,所述基于所述公路设计文件的解析结果判断当前公路设计文件是否与所述既有公路设计文件一致,包括:

判断所述公路设计文件与所述既有公路设计文件中的设计数据文件的个数是否一致,若否,则认为当前公路设计文件是否与所述既有公路设计文件不一致;若是,则采用hash算法,为当前公路设计文件中的每个所述设计数据文件生成一个哈希码,得到第一哈希码集合;以及,为所述既有公路设计文件中的每个设计数据文件生成一个哈希码,得到第二哈希码集合;

判断所得第一哈希码集合与所述第二哈希码集合是否一致,若是,则认为当前公路设计文件与所述既有公路设计文件一致,若否,则认为不一致。

根据一种具体的实施方式,上述公路设计数据协同管理方法中,所述根据所述项目文件的存储路径生成电子id,包括:

将所述项目文件的存储路径转换为第一字符串,采用hash函数基于所述第一字符串生成所述电子id。

根据一种具体的实施方式,上述公路设计数据协同管理方法中,所述进入建模数据单元解析重构流程、基于所述项目id对重构得到的建模数据单元进行标记,包括:

对n个所述设计数据文件进行解析、重构,得到多个能够被bim+gis平台直接读取并用于建模的建模数据单元;基于所述公路设计文件的项目id对所得建模数据单元进行标记;

其中,所述建模数据单元包括:地面线数据单元、横断面数据单元、构筑物数据单元、线元数据子单元、交点数据子单元、纵断面数据子单元中的一种或两种以上的组合。

根据一种具体的实施方式,上述公路设计数据协同管理方法中,当所述公路设计文件来自所述纬地道路软件时,所述对n个所述设计数据文件进行解析、重构,包括:

步骤1:通过数据抽取的方法从n个所述设计数据文件中提取零散的二维公路设计数据;对所提取零散的二维公路设计数据进行重新分类整理,得到多个待处理的数据集合;

步骤2:根据所述待处理的数据集合中每个数据的桩号信息将多个所述待处理的数据集合中的二维公路设计数据进行关联重构,得到多个能够被bim+gis平台读取并用于建模的建模数据单元,多个所述建模数据单元与公路工程图形组成单元一一对应;其中,多个所述建模数据单元中包括至少一种三维设计数据,所述三维设计数据由二维公路设计数据根据公路工程空间逻辑关系转换得到。

根据一种具体的实施方式,上述公路设计数据协同管理方法中,所述待处理的数据集合中每个数据的桩号信息通过以下步骤进行求解,包括:

判断n个所述设计数据文件是否存在断链信息文件,

若是,则通过数据抽取的方法提取所述断链信息文件中的断链信息,根据所述断链信息得到断链区间信息,并根据所述断链区间信息利用所述数据单元中每个数据的连续桩号计算每个数据的设计桩号,并根据所述连续桩号与所述设计桩号将多个所述数据集合进行关联重构;

若否,则直接根据所述数据集合中每个数据的连续桩号将多个所述数据集合进行关联重构。

根据一种具体的实施方式,上述公路设计数据协同管理方法中,所述方法还包括:利用每个所述公路设计文件的项目id对基于建模数据单元生成的既有模型成果进行标记,以将所述既有模型成果关联至所述公路设计文件;

以及,根据所述公路设计文件的项目id及其关联的既有模型成果的类型在所述bim+gis平台中生成项目成果管理表单,其中,模型成果的类型包括:bim路面模型、bim边坡模型、bim边沟模型、工程数量表。

根据一种具体的实施方式,上述公路设计数据协同管理方法中,当所述bim+gis平台接收到用户输入的既有模型成果删除指令时,根据所述既有模型成果删除指令中的模型成果类型及其项目id,在bim+gis平台中进行查找,定位到用户所选择的既有成果模型,展示给用户,弹出相应的确认窗口,待用户确认删除后,在所述项目成果管理表单中删除所述项目id对应的既有模型成果。

根据一种具体的实施方式,上述公路设计数据协同管理方法中,当所述bim+gis平台获取到用户的建模绘图指令时,解析所述建模绘图指令,获取用户调用的建模数据单元的项目id以及用户建模得到的模型成果;

基于所述项目id在所述项目成果管理表单中进行查询,判断当前建模得到的模型成果是否为所述项目id对应的既有模型成果:

若是,则利用建模得到的模型成果替换所述既有模型成果,

若否,则利用所述项目id对建模得到的模型成果进行标记,根据所述建模得到的模型成果在所述项目成果管理表单中更新所述项目id对应的既有模型成果。

在本发明进一步的实施例中,还提供一种基于bim+gis平台的公路设计数据协同管理系统,其特征在于,包括至少一个处理器,以及与所述至少一个处理器通信连接的存储器;所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述公路设计数据协同管理方法。

与现有技术相比,本发明的有益效果:

1、本发明在bim+gis平台中,通过对导入其中的公路设计文件进行解析,根据解析结果所生成的电子id以及重构项目文件所生成的项目id对在相应的公路设计文件数据库对公路设计文件进行协同管理,有效区分bim+gis平台中的既有公路项目与新增公路项目,并且当导入的公路设计文件为新增项目时,先对其中的项目文件进行重构,生成项目id,再进入相应的公路设计文件重构流程,当导入的公路设计文件为既有项目时,通过读取项目id对应的既有公路设计文件,基于解析结果判断当前导入的公路设计文件是否与已经解析重构过的既有公路文件一致,若是,则无需对该公路设计文件进行二次重构,避免进行重复工作、减少系统工作量,据此,本发明基于解析阶段的电子id与重构阶段的项目id达到了在同一个bim+gis平台中协调管理多个公路设计文件的目的,并且基于所述项目id在bim+gis平台中实现了对公路设计文件以及对应的建模数据单元的高效联动管理。

2、通过本发明重构得到的建模数据单元,使得相应的模型成果不依赖于翻模得到,成果数据更加准确、操作友好、建模效率更高;进一步,我们通过基于项目id实现了原始公路设计文件与成果的联动,通过创建的项目成果管理表单,可以快速实现成果数据的更新与添加,实现了设计数据生成成果的快速增、删、改的功能,用户操作友好。

3、通过将项目id关联到建模数据单元所生成的多种模型成果,实现了公路设计文件与模型成果的关联,并配置相应的模型成果管理表单,实现模型成果的高效增、删、改,快速高效的实现数据与模型成果的联动。

附图说明:

图1a为本发明示例性实施例1的一种基于bim+gis平台的公路设计数据协同管理方法流程图。

图1b为本发明示例性实施例1的判断当前公路设计文件与既有公路设计文件是否一致的流程图。

图2a为本发明示例性实施例2的对项目文件进行解析重构得到的道路起始桩号字符串数组示意图。

图2b为本发明示例性实施例2的项目文件进行解析重构得到的起点坐标、终点坐标字符串数组示意图。

图2c为本发明示例性实施例2的项目文件进行解析重构得到的项目包含的所有市、乡、镇等行政区划以及对应主线桩号的相对段落字符串数组示意图。

图3为本发明示例性实施例3的重构得到多个建模数据单元的原理框图。

图4a示出了本发明示例性实施例3的重构得到的横断面数据单元构件示意图。

图4b示出了本发明示例性实施例3的横断面设计线与地面线空间位置示意图1。

图4c示出了本发明示例性实施例3的横断面设计线与地面线空间位置示意图2。

图5为本发明示例性实施例4的一种基于bim+gis平台的公路设计数据协同管理的成果数据协同管理系统结构框图。

具体实施方式

实施例1

图1a示出了本发明示例性实施例的基于bim+gis平台的公路设计数据协同管理方法,包括:

接收导入的公路设计文件,对所述公路设计文件进行解析,得到公路设计文件解析结果;其中,所述公路设计文件为来自纬地道路软件、鸿业市政道路软件或海地公路软件的二维公路数据文件;所述公路设计文件包括:项目文件以及n个设计数据文件,n≥1;

根据所述解析结果中的项目文件的存储路径生成电子id,在bim+gis平台的公路设计文件数据库中进行查找,判断是否存在一致的电子id,若否,则认为所述项目文件为新项目,利用所生成的电子id更新所述公路文件数据库;以及,对所述项目文件进行重构,根据重构结果生成项目id,并利用所述项目id对所述公路设计文件进行标记,并将所生成的电子id关联到所述项目id,以及,进入建模数据单元解析重构流程、基于所述项目id对重构得到的建模数据单元进行标记;

若是,则认为所述项目文件为既有项目,以及,提取所述电子id对应的既有公路设计文件,基于所述公路设计文件的解析结果判断当前公路设计文件是否与所述既有公路设计文件一致,若是,则结束流程,若否,则在所述公路设计文件数据库中找到与所述电子id相关联的项目id,利用所述公路设计文件去覆盖所述电子id、项目id对应的既有公路设计文件,以及,进入建模数据单元解析重构流程、基于所述项目id对重构得到的建模数据单元进行标记。

具体的,目前国内常见的公路设计文件主要为来自包括纬地道路软件、鸿业市政道路软件或海地公路软件的二维公路数据文件,即纬地道路数据、鸿业市政道路数据及海地公路优化设计数据等,在相应的公路设计文件中包括:项目文件(prj文件)以及至少一个存储相应公路工程二维设计数据的设计数据文件(例如:后缀为pm的平面文件、后缀为zdm的纵断面文件、后缀为dmx的地面线文件等,在一个公路设计文件中通常包含不同后缀的设计数据文件的一种或多种组合)。在接收到公路设计文件时,首先对公路设计文件进行初步解析,得到所述公路设计文件中的项目文件的以及n个设计数据文件的存储路径与文件的后缀、文件初始内容等信息,并将bim+gis平台中的公路设计文件数据库存储下当前解析结果。

进一步的,根据所述公路设计文件中的项目文件的存储路径生成电子id,其中,通过将所述项目文件的存储路径转换为第一字符串,采用hash函数基于所述第一字符串生成所述电子id,具体的,所述hash函数包括bkdrhash,aphash,djbhash,jshash,rshash,sdbmhash,pjwhash,elfhash,md2,md4,md5,sha0,sha1,sm3等,可以选择其中任意一种。在bim+gis平台的公路设计文件数据库中进行查找,判断是否存在一致的电子id,若否,则认为所述项目文件为新项目,利用所生成的电子id更新所述公路文件数据库;以及,对所述项目文件进行重构,根据重构结果生成项目id,并利用所述项目id对所述公路设计文件进行标记,并将所生成的电子id关联到所述项目id,再进入建模数据单元解析重构流程。若判断结果为存在一致的电子id,则认为所述项目文件为既有项目,提取所述电子id对应的既有公路设计文件,进而判断当前公路设计文件是否与所述既有公路设计文件一致,如图1b所示,判断方法包括:首先判断所述公路设计文件与所述既有公路设计文件中的设计数据文件的个数是否一致,若否,则认为当前公路设计文件是否与所述既有公路设计文件不一致;若是,则采用hash算法,为当前公路设计文件中的每个所述设计数据文件生成一个哈希码,得到第一哈希码集合(由其中的每个设计数据文件的哈希码组成的第一数组集合);以及,为所述既有公路设计文件中的每个设计数据文件生成一个哈希码,得到第二哈希码集合(由既有公路设计文件中的每个设计数据文件的哈希码组成的第二数组集合);判断所得第一哈希码数组集合与所述第二哈希码数组集合是否完全一致,若是,则两个文件对应的哈希码完全一样,则认为当前公路设计文件与所述既有公路设计文件一致,若否,即哈希码存在不同,则认为两个文件不一致。

基于当前公路设计文件与既有公路设计文件中的设计数据文件的个数判断所述当前公路设计文件是否与所述既有公路设计文件一致,若是,则认为当前导入的公路设计文件与bim+gis平台已经解析重构过的既有公路文件一致,无需进行二次重构,结束流程即可。若否,则在所述公路设计文件数据库中找到与所述电子id相关联的项目id,以及,利用所述公路设计文件去覆盖所述电子id与项目id对应的既有公路设计文件,并进入建模数据单元重构流程。

进一步,所述建模数据单元重构流程包括:对n个所述设计数据文件进行解析、重构,得到多个能够被bim+gis平台直接读取并用于建模的建模数据单元;基于所述公路设计文件的项目id对所得建模数据单元进行标记;其中,所述建模数据单元包括:地面线数据单元、横断面数据单元、构筑物数据单元、线元数据子单元、交点数据子单元、纵断面数据子单元中的一种或多种组合。相应的建模数据单元的种类和个数由公路设计文件中包含的n个所述设计数据文件决定,在bim+gis平台中,根据绘图逻辑调用所述建模数据单元即可进行快速高效的公路工程三维建模。由此,本发明针对每个项目的公路设计文件,通过对公路设计文件进行了解析重构,即可生成相应的能够被bim+gis读取并用于建模的建模数据单元,通过重构得到的建模数据单元,使得在bim+gis平台中的模型成果不依赖于二维图纸翻模得到,用户依据绘图逻辑调用相应的建模数据单元即可进行快速高效的三维建模,操作友好、建模效率更高,所得模型成果数据更加准确。

进一步的,本发明还利用每个所述公路设计文件的项目id对基于建模数据单元生成的既有模型成果(在bim+gis平台中已经建模得到的模型成果)进行标记,以将所述既有模型成果关联至所述公路设计文件;以及,根据所述公路设计文件的项目id及其关联的既有模型成果的类型在所述bim+gis平台中生成项目成果管理表单,其中,所述项目成果类型包括:bim路面模型、bim边坡模型、bim边沟模型、工程数量表等。由此,在bim+gis平台中的既有模型成果均挂接有相应的项目id,一个项目id对应一个公路设计文件及其建模数据单元,并在bim+gis平台中建立项目成果管理表单,基于项目id与模型成果类型对每个项目的成果进行记录与管理,从而有效实现了原始公路设计文件与模型成果之间的快速联动、实现了基于原始公路设计文件的成果模型管理。

进一步的,当所述bim+gis平台获取到用户的建模绘图指令时,通过解析所述建模绘图指令,能够获取到用户调用的建模数据单元的项目id以及用户建模得到的模型成果。此时,平台会基于所述项目id在所述项目成果管理表单中进行查询,组合一个用于查询的唯一不重复的字符串,具体字符串内容不限制,建议组合字符串为“项目id+成果类型+桩号段落”,将组合字符串查询已有的成果,可以用语言集成查询linq语言在成果数据库中查询;如果查询结果存在已有该成果时,将新的成果直接覆盖已有的成果,如果查询结果不存在该项目路线时,直接在项目成果管理表单中新增该成果。如采用设计数据生产bim路面模型,该设计数据的id为“1a8506800ac475ee936a183be8a746e4”,bim路面模型的桩号段落k26+230~k27+450,并同时组合成新字符串“1a8506800ac475ee936a183be8a746e4_lm_k26+230_k27+450”,用语言集成查询linq语言在成果数据库中查询,判断是否已经存在该bim路面模型,存在则直接替换覆盖已有bim路面模型,不存在直接添加bim路面模型,并更新项目成果管理表单中记录的该项目id下的既有模型成果。同时,在用户想要删除某个模型成果时,只需输入相应的模型成果的类型与项目id,bim+gis平台即可根据用户输入的成果类型与项目id快速定位到相应的既有模型成果,展示给用户,此时弹出人机交互窗口,请用户确认是否删除所述既有模型成果,待用户确认后在bim+gis平台中删除相应的既有模型成果,同时由于相应的项目id中的建模数据单元的存在,在删除之后,即可快速重新生产对应的成果。由此,我们通过基于项目id实现了原始公路设计文件与成果的联动,通过创建的项目成果管理表单,可以快速实现成果数据的更新与添加,实现了设计数据生成成果的快速增、删、改的功能,用户操作友好。

在上述实施例中,我们在bim+gis平台中,通过基于公路设计文件解析结果(项目文件存储路径)所生成的电子id以及重构项目单元所生成的项目id对在相应的公路设计文件数据库对公路设计文件进行协同管理,有效区分系统中的既有项目与新增项目,当导入的公路设计文件为新增项目时,先对其中的项目文件进行重构,生成项目id,以基于所生成的项目id对后续建模数据、模型成果数据进行关联;从而能够实现设计数据与建模数据、模型成果的直接关联,通过重构建模数据单元,使得相应的模型成果不依赖于翻模得到,成果数据更加准确、操作友好、建模效率更高;当导入的公路设计文件为既有项目时,能够基于公路设计文件中的设计数据文件的个数是否发生变化来判断当前导入的公路设计文件是否与已经解析重构过的既有公路文件一致,若是,则无需对该公路设计文件进行二次重构,避免进行重复工作、减少系统工作量,若否,则认为当前公路设计文件相较于既有公路文件发生了变化,需要重新替换该项目id对应的公路设计文件,再对更新后的公路设计文件进行重构,得到新的建模数据单元,从而形成了在bim+gis平台中对公路设计文件的高效管理;进一步,我们通过基于项目id实现了原始公路设计文件与成果的联动,通过创建的项目成果管理表单,可以快速实现成果数据的更新与添加,实现了设计数据生成成果的快速增、删、改的功能,用户操作友好。

实施例2

在发明进一步的实施例中,每条设计数据均有对应的项目信息,但在导入公路设计数据文件时,公路设计文件的项目文件通常存在信息不全面的问题,如纬地数据文件中经常缺失项目信息的部分内容,或者命名不规范等问题。项目信息不规范、不完整,会导致在bim+gis平台展示的设计成果名称不规范,让使用者不理解展示的设计数据信息,因此,本发明对项目文件进行重构,旨在建立标准的项目信息数据,便于生成相应的项目id,形成设计数据的管理与成果展示,利于使用者理解。具体的,我们通过以下步骤,对公路设计文件中的项目文件进行重构,包括:

重构的项目信息数据其所有信息类型均为字符串(string)类型,并以数据结构树的方式进行映射,以便后续进行数据整理。包含如下内容:

1.标示信息:①数据进入时间、数据创建的时间;②信息作用、项目的基本信息描述;③包含内容:项目名称(prjname),例子:峨眉至汉源高速公路。项目编号(prjnumber),主要为国省干道编号,例子:g241(国道241)。项目阶段(prjstage),为枚举类型,包括预可行性研究、可行性研究、初步设计、施工图设计。项目简介(prjdescription),主要为项目的基本介绍。起始地名(stratname),例子:峨眉山市。终止地名(terminname),例子:汉源县

2.路线信息:①数据进入时间、数据创建的时间②信息作用:项目的路线基本描述、设计数据交付至bim+gis平台、设计数据向施工阶段传递。③包含内容:路线名称(alignname),路线的具体名称,如k线;桩号标识(stationident),在bim+gis平台中展示的桩号标识,如ck240+580,ck就是桩号标识。路线类型(aligntype),为枚举类型,包括主线、左线、匝道。互通信息(interchange),为项目包括的所有互通,其下层包括互通名称、互通类型、互通描述、关联路线;互通类型为枚举类型,包括互通、服务区、停车区。所属互通(belonginter),此字段不是必填字段,当路线选择为匝道时,需要指定该匝道属于那个互通。路线描述(desc),为路线的描述信息。起始桩号(startstation),为字符串数组类型,其下层包括各种路段的起点桩号,如图2a所示。终止桩号(endstation),为字符串数组类型,其下层包括各种路段的起点桩号。如图2b所示:起点坐标(startcoordinates),为项目主线(k线)起点坐标;终点坐标(endcoordinates),为项目主线(k线)终点坐标;行政区划(administrativearea),为字典类型,其下层包括项目包含的所有市、乡、镇等行政区划以及对应主线桩号的相对段落,如图2c所示。

3.设计信息:①数据进入时间、数据创建的时间;②信息作用:项目设计阶段基本信息描述、设计数据交付至bim+gis平台、设计数据向施工阶段传递;③包含内容:技术等级,为字符串数组类型,其下层包括对应区段的技术等级、起点桩号(k线)及终点桩号(k线)。行政等级,为枚举类型,为国道、省道、县道、乡道:功能等级,为枚举类型,为主干道、干道、支道技术等级,设计时速,为字符串数组类型,其下层包括对应区段的设计时速、起点桩号(k线)及终点桩号(k线)。设计年限,为字符串类型,如:50年、100年等。设计阶段,为字符串类型,如:两阶段初步设计、两阶段施工图设计等。工程总投资,为字符串数组类型,其下层包括对应区段的预算\概算\估算总额以及平均每公里造价。路线长度,为字符串数组类型,其下层包括对应区段的路线长度。路面宽度,为字符串数组类型,其下层包括对应区段的路面总总宽、路幅组成及对应宽度。占地面积,为字符串数组类型,其下层包括对应区段的永久占地面积。互通区域,为字符串数组类型,其下层包括对应互通、服务区名称的起点桩号(k线)、终点桩号(k线)。最后,生成项目信息字符串,根据路线类型生成唯一对应的项目信息字符串即项目id(项目名称+路线类型+路线标识),路线类型枚举包括主线、左线、匝道主线。

实施例3

在本发明进一步的实施例中,以来自纬地道路软件的公路设计文件为例,图3示出了本发明对n个所述设计数据文件进行解析重构得到多个建模数据单元,具体包括:

步骤1:通过数据抽取的方法从n个所述设计数据文件中提取零散的二维公路设计数据;对所提取零散的二维公路设计数据进行重新分类整理,得到多个待处理的数据集合;

步骤2:根据所述待处理的数据集合中每个数据的桩号信息将多个所述待处理的数据集合中的二维公路设计数据进行关联重构,得到多个能够被bim+gis平台读取并用于建模的建模数据单元,多个所述建模数据单元与公路工程图形组成单元一一对应;其中,多个所述建模数据单元中包括至少一种三维设计数据,所述三维设计数据由二维公路设计数据根据公路工程空间逻辑关系转换得到。

其中,所述待处理的数据集合中每个数据的桩号信息通过以下步骤进行求解,包括:

判断n个所述设计数据文件中是否存在断链信息文件,若是,则通过数据抽取的方法提取所述断链信息文件中的断链信息,根据所述断链信息得到断链区间信息,并根据所述断链区间信息利用所述数据单元中每个数据的连续桩号计算每个数据的设计桩号,并根据所述连续桩号与所述设计桩号将多个所述数据集合进行关联重构;若否,则直接根据所述数据集合中每个数据的连续桩号将多个所述数据集合进行关联重构;基于所述公路设计文件的项目id对所得建模数据单元进行标记。

具体的,纬地道路数据与bim+gis平台是不同的数据格式,因此,在实际建模中,不能将纬地道路数据直接用于建模,纬地道路会产生多个数据格式,如.prj、.pm、.zdm、.hdm等,而bim+gis平台仅能加载.kml、.lrp、.shp等数据格式,并且在bim建模中所需要用到的数据文件信息可能是前者多个文件信息的组合(多个组合才能变成三维数据、或者具有建模需要的属性信息),所以需要把前者文件进行信息提取、解析、整理分类、重构。由此,通过步骤1来进行数据提取、数据解析,其中,“纬地道路”设计软件是传统的道路勘察设计软件,解析数据是将“纬地道路”软件的成果数据及第三方参数数据解析到本发明自定义的数据库(包括多个数据单元的数据库)中。对于一个公路工程,“纬地道路”中的第一设计文件包括:项目文件、平面文件、交点文件、纵断面文件、地面线文件、横断面文件、挖方边坡文件、填方边坡文件、超高数据文件等文件的一种或多种的组合。并且相应的数据是分散在各种文件中的,例如:横断面数据是分布于多个文件(横断面文件、挖方边坡文件、填方边坡文件)中的,而一个项目中交点数据与平面线元数据只会存在一种,因此要首先判断文件是否存在,因此在步骤1中我们通过设计数据文件,对文件进行逻辑判断(判断是否存在),再通过数据抽取的方法从所述第一设计文件中提取零散的设计数据(分布在各个文件中的数据);其中,所提取的零散的设计数据为二维设计数据。

由此,“纬地道路”产生的数据主要包括项目数据(.prj)、平面数据(.pm)、交点数据(.jd)、纵断面数据(.zdm)、参数数据(.ctr)地面线数据(.dmx)、横断面数据(.hdm)、超高数据(.sup)、路幅宽度数据(.wid)、桩号数据(.sta)等,第三方参数主要是构筑物信息,本发明即是将上述数据以一定的规则进行提取、分类、重构,最终形成以数据库结构的形式在计算机数据库中进行保存,重构得到的第二设计数据可直接用于bim建模。在步骤一中,首先判断相关的文件信息是否存在,若存在,则建立一个集合,将此文件内的属性值以桩号为一个集合体分门别类的储存起来。

以下以平面文件(.pm)来举例。在一个公路项目中,首先读取“纬地道路”中的项目文件(.prj),判断是否存在断链信息;其次,判定该项目文件中是否存在平面文件(.pm)。若存在,程序中自定义的“平面初始文件”pmfile就不为空,且文件内容与(.pm)中一致;再次,将“平面初始文件”pmfile文件中的要素在程序中构建两个集合进行存储,第一个为“平面基础集合”pmentities集合,里面存放所有线元原始信息;另一个为“平面结构集合”pmxianyuanparams集合,用于存放用于线元法所有要素集合。对其余文件的判定类似,都是运用程序读取“纬地道路”中的项目文件(.prj),再判断是否有该文件,若有,则程序中“初始文件”不为空,并将“初始文件”信息以“基础集合”和“结构集合”储存起来。

采用上述逻辑对第一设计文件进行依次读取即可提取其中的数据,形成多个待处理的数据集合。首先判断所读取的第一设计文件中是否存在断链信息文件,若是,则通过数据抽取的方法提取所述断链信息文件中的断链信息,根据所述断链信息得到断链区间信息,并根据所述断链区间信息利用所述数据单元中每个数据的连续桩号计算每个数据的设计桩号,并根据所述连续桩号与所述设计桩号将多个所述数据集合进行关联重构;若否,则直接根据所述数据单元中每个数据的连续桩号(连续桩号可由纬地数据直接得到)将多个所述数据集合进行关联重构:其中,相当于数据集合中的每一个点数据都会有桩号信息作为其属性参数,从而在重构时,能够根据每个点数据的桩号信息息进行关联重构。

进一步的,为了形成能够用于建模的三维数据(主要为横断面数据),在提取数据时,需要将纵断面地面线数据与横断面地面线整理在一起,相应的横断面建模数据单元建立过程,包括:

纵断面数据解析与重构:读取第一设计文件中的纵断面文件,通过数据抽取方法从所述纵断面文件中提取纵断面点数据,得到待处理的纵断面数据集合;将所提取的纵断面点数据代入纵断面纵坡坡长计算公式中,得到纵断面纵坡坡长,从而将所述待处理的纵断面数据集合重构为能够被第二设计软件读取并用于建模的纵断面数据子单元。

1.1构建“纵断面初始文件”类zdmfile,读取原始纵断面文件(.zdm)数据并保存到“纵断面基础集合”zdmentities属性中;

zdmentity包含所有变坡点的数据信息,包含属性:变坡点连续桩号、变坡点高程、变坡点设计曲线半径;

1.2.纵断面数据重构:提取“纵断面基础集合”zdmentities属性的有效信息。通过桩号高程及竖曲线半径,算出两个竖曲线之间的纵坡坡长,得到纵断面相关参数,用“纵断面结构集合”zdmparam保存。

“纵断面结构集合”zdmparam包含属性:变坡点设计桩号;变坡点连续桩号;变坡点高程;变坡点设计曲线半径;纵坡l1;纵坡l2;曲线长l;切线长t;外距e;直圆点连续桩号;圆直点连续桩号;竖曲线类型;

有了“纵断面结构集合”zdmparam,就可计算出任意设计桩号的设计标高,也可以绘制纵断面线。该纵断面线是设计数据的精准反映。

2、地面线数据

2.1纵断面地面线数据解析:读取第一设计文件中的地面线文件,通过数据抽取方法从所述地面线文件中提取中桩数据、地面线高程数据;读取第一设计文件中的横断面文件,通过数据抽取方法从所述横断面文件中提取横断面地面线点数据;将所述中桩数据、地面线高程数据、横断面地面线点数据进行整合,得到待处理的地面线数据集合。构建“纵断面地面线初始文件”类zdmxfile,读取原始纵断面地面线文件(.zdm)数据并保存到“纵断面地面线基础集合”zdmxentities属性中;其中包含中桩数据、地面线高程。

2.2横断面地面线数据解析:

构建“横断面地面线初始文件”类hdmxfile,读取原始横断面地面线文件(.hdm)数据并保存到“横断面地面线基础集合”hdmxentities属性中;其中包含左右侧横断面地面线点,包含属性:对应中桩设计桩号、对应中桩连续桩号、点东坐标、点北坐标、点设计标高、点地面高程、相对中桩偏距、相对中桩设计标高高差。

2.3构建横断面地面线构建“地面线基础集合”类dmxentities,将纵断面地面线数据和横断面地面线数据融合在一起,一个dmxentities包含的属性有:中桩设计桩号、中桩连续桩号、中桩点坐标、中桩左侧点个数、中桩右侧点个数、左侧点的高差和平距、右侧点的高差和平距。在.dmx中,没有横断面地面线点的数据;在.hdm中,没有中桩数据,通过结合,“横断面地面线结构集合”hdmparam提供方法支持用户获取任意横断面任意位置的点坐标;通过点,就形成了横断面地面线。纵断面地面线数据中的中桩数据信息就是横断面中最中心点的高程信息。在横断面地面线文件中(.hdm),没有这个高程信息,只有各个点的相对平距高差,即每个点的二维坐标,加入高程信息,才可以得到三维的地面线,因为将二者结合可重构得到三维数据。

进一步的,以所述中桩数据作为基准,计算所述横断面地面线点数据相对于中桩的横向偏移值,根据所述横向偏移值计算所述横断面地面线点数据相对于中桩的高差值和高程值(二维变三维);从而将所述待处理的地面线数据单元重构为能够被第二设计软件读取并用于建模的地面线数据单元,包括:

(1).读取数据后的预处理

步骤①,读取“地面线基础集合”类dmxentities,该集合包含:中桩设计桩号、中桩连续桩号、中桩点坐标、中桩左侧点个数、中桩右侧点个数、左侧点的高差和平距、右侧点的高差和平距。

步骤②,因为直接读取地面线点的平距和高差是相对前点的数值,为了后续计算方便在此将相对前点的数值,整理成相对于中桩号的高差值和横向距离。

步骤③,步骤②处理后的相对于中桩号的高差值,和横向距离与步骤①中的设计桩号、连续桩号、中桩左侧点个数、中桩右侧点个数存放在自定义的横断面地面点信息数组中,即完成横断面地面线数据信息的预处理。

(2).根据输入的桩号值与距中桩的横向偏移距,得到该点相对中桩设计线的高差步骤①,输入需要查询的桩号值及横向偏移距离x。

步骤②,判断此偏移距离是否在此桩号横断面地面线范围以内。在范围内则继续下一步,在范围以外则提示用户。

步骤③,取得横向偏移值x,前后点的相对中桩高差值,通过插值算法得到该点与中桩设计线的高差值y,并存储以便后续计算使用。

(3).根据输入的桩号值与距中桩的横向偏移距,得到该点的高程,有了高程,每个二维横断面地面线点数据就是三维数据了。

步骤①,输入需要查询的桩号值及横向偏移距离x,得到该桩号横向偏移距x处的地面线高程。

步骤②,与功能二中得到的与中桩设计线的高差值相加,便到该点的高程,并存储以便后续计算使用。

(4).构建“地面线结构集合”dmxparams,将上述信息储存起来。

3.横断面数据:读取第一设计文件中的横断面文件、挖方边坡文件以及填方边坡文件,通过数据抽取方法从所述横断面文件、挖方边坡文件以及填方边坡文件提取横断面点数据,整理得到待处理的横断面数据集合。

3.1填方边坡数据解析:

构建“填方边坡初始文件”类:tfbpfile,读取原始参数文件(.ctr)数据,并保存到“填方边坡基础集合”tfbpentities属性中。

参数包含:边坡坡度、控制坡高、最大坡高、砌护控制四个参数。四个参数为一组,一组代表一级边坡。

3.2挖方边坡数据解析:

构建“挖方边坡初始文件”类:wfbpfile,读取原始参数文件(.ctr)数据,并保存到“挖方边坡基础集合”wfbpentities属性中。

参数包含:边坡坡度、控制坡高、最大坡高、砌护控制四个参数。四个参数为一组,一组代表一级边坡。

3.3超高数据解析:

构建“超高初始文件”类:supfile,读取原始超高文件(.sup)数据,并保存到“超高基础集合”supentities属性中。参数包含:超高段落、超高值。

3.4.加宽数据解析:

构建“加宽初始文件”类:widfile,读取原始超高文件(.wid)数据,并保存到“加宽基础集合”widentities属性中。参数包含:加宽段落、加宽值。

3.5横断面数据重构:结合所述中桩数据将所述二维横断面点数据转换为三维数据,整理得到待处理的三维横断面点数据集合(与地面线转换过程相同),再结合所述地面线数据单元的地面线信息,将所述待处理的三维横断面点数据集合按照预定格式写入预先建立的横断面数据单元中;利用所述地面线数据单元的地面线信息计算每个所述待处理的三维横断面点数据与地面线的相对空间位置,根据所述相对空间位置,将所述三维横断面点数据写入预先建立的横断面数据单元中的预定构件位置处,从而将所述预先建立的横断面点数据单元重构为能够被第二设计软件读取并用于建模的横断面数据单元。

其中,所述预先建立的横断面数据单元包括:依次连接的七个数据构件,所述七个数据构件包括:路面、路肩墙、填方边坡、路堤墙、边沟、路堑墙及挖方边坡;每个数据构件包括多个点,其中路面基类点为8个;路肩墙基类点为2个,填方边坡基类点为18个,路堤墙基类点为3个,边沟基类点为10个,路堑墙基类点为4个,挖方边坡基类点33个;并将每个数据构件中的最后一个点标记为挂接点。具体的,“横断面结构集合”中的点按照组成来分可分为路面点、路肩墙点、填方边坡点、路堤墙点、边沟点、路堑墙点及挖方边坡点7大部分;按照属性来分,可分为挂接点、基类点、公共点。为了建立横断面数据,首先要提取点的公共属性建立基类点(sacpoint),再由基类点组合成横断面各个部分点的集合,同时生成挂接点集合。基类点的结构属性参数包括:(1)x偏移值,相对于路基中心点的偏移值,左负右正;(2)h偏移值,相对于路基中心点的高差,上正下负;(3)所属路幅(side),由left左幅,center整幅,right右幅组成;(4)道路类型(roadtype),由subgrade路基,tunnel隧道,bridge桥梁,interchange互通组成;(5)编码(code),由lm路面、ljq路肩墙、tfbp填方边坡、ldq路堤墙、bg边沟、lqq路堑墙、wfbp挖方边坡组成。(6)所属路线(alignment),如:ak,代表ak线;(7)设计桩号(destation);(8)连续桩号(plstation);(9)绝对坐标(mypoint3d),包括x/y/z。

路基分为左右两个部分,各部分基类点如下。路面基类点8个,主要分为路基中心点,第一中央分隔带点,第二中央分隔带点,第一土路肩点,第一行车道点,第二行车道点、硬路肩点、第二土路肩点。路肩墙基类点2个,由2个点组成路堑墙特性。填方边坡基类点18个,每级边坡由3个点组成,表示每一级边坡的平台和边坡,默认可以计算至六级边坡。路堤墙基类点3个,由3个点组成路堤墙特性。边沟基类点10个,由10个点组成边沟平台、放坡、边沟特性等。路堑墙基类点4个,由4个点组成路堑墙特性。挖方边坡基类点33个,每级边坡由3个点组成,表示每一级边坡的平台和边坡,默认可以计算至十一级边坡。

其中,对于公共点,公共点的结构属性包括:设计桩号(destation);连续桩号(plstation);道路类型(roadtype),由subgrade路基,tunnel隧道,bridge桥梁,interchange互通组成;

对于挂接点:不同于纬地数据中体现横断面要素较为分散的特性,该集合包括各个横断面7个要素的所有点集合。为了表示每个横断面的各部分直接的关系还要建立挂接点属性。挂接点的作用是连接7个横断面要素的点,如为了保证路肩墙能顺利与路面挂接,则必须在路面外边缘点设置为连接点属性,在路肩墙第一个点设置为连接点属性,从而将两者挂接起来。挂接点主要包括路面挂接点、路肩墙挂接点、填方边坡挂接点、路堤墙挂接点、边沟挂接点、路堑墙挂接点。

挂接点结构属性包含:设计桩号(destation);连续桩号(plstation);道路类型(roadtype):subgrade路基,tunnel隧道,bridge桥梁,interchange互通;放坡与否(bool),布尔值(bool),true表示放坡,false表示不放坡。

需要注意的是,横断面点的挂接是有顺序的,由路面挂接路肩墙、路肩墙挂接填方边坡、填方边坡挂接路堤墙、路堤墙挂接边沟、边沟挂接路堑墙、路堑墙挂接挖方边坡。挂接点存在于路面第8个点、路肩墙第2个点、填方边坡第18个点、路堤墙第3个点、边沟第10个点、路堑墙第4个点。但在一个横断面,不可能同时存在填方边坡与挖方边坡,这时,不存在的部分会统一收于一点,这一点即是本级与上一级的挂接点。如在一个横断面中,只有路面,无填挖方、挡防、排水等,则路面之后的所有点都收于路面挂接点。

本发明进一步的实施例中,对我们根据地面线进行横断面数据单元重构的空间逻辑进行说明:(1).构成任意一个横断面都是由七个构件组合而成,它们分别是路面、路肩墙、填方边坡、路堤墙、边沟、路堑墙及挖方边坡;每个数据构件包括多个点,其中路面基类点为8个;路肩墙基类点为2个,填方边坡基类点为18个,路堤墙基类点为3个,边沟基类点为10个,路堑墙基类点为4个,挖方边坡基类点33个;并将每个数据构件中的最后一个点标记为挂接点,如图4a所示。其中,每个横断面的连接顺序是固定的,即路面-路肩墙-填方边皮-路堤墙-边沟-路堑墙-挖方边坡组合而成,若不存在某构件,则该构件的所有点都收于上一构件的最后一点。如图4b所示横断面,一条为地面线,一条为横断面设计线,以右半幅为例,该断面右幅为路面-边沟-挖方边坡的组合,按照顺序,则路肩墙、填方边坡、路堤墙构件的所有点都收于路面构件的最后一点;路堑墙的所有点收于边沟的最后一点。

以此类推,图4b的左幅则路肩墙收于路面构件最后一点;路堤墙收于填方边坡最后一点;路堑墙和挖方边坡都收于边沟的最后一点。因此,运用以上七个构件,可以组合出任意形式的横断面。在解析重构数据后,是怎样在三维中绘制横断面的呢,下面进行举例说明,如图4c所示,一条为地面线,一条为横断面设计线。在解析重构后得到的数据库中,通过桩号关联所有的设计信息,首先读取该断面的设计信息,如在此断面左幅中,有如下设计信息:此处为挖方段、挖方边坡的坡率为1:0.75、坡高为10米、平台宽2米。其次,通过边坡坡、坡高、平台高度,以及设计线中桩高程值和地面线高程值,可算出此处挖方边坡的放坡级数和与地面线的相交位置(即与地面线的空间位置)。在此横断面中,计算得到相交位置与边沟构件最后一点的高程差值为24.5m,所以得到由图4c所示的三级边坡。

实施例4

图5示出了根据本发明示例性实施例的公路工程设计数据重构解析的系统,即电子设备310(例如具备程序执行功能的计算机服务器),其包括至少一个处理器311,电源314,以及与所述至少一个处理器311通信连接的存储器312和输入输出接口313;所述存储器312存储有可被所述至少一个处理器311执行的指令,所述指令被所述至少一个处理器311执行,以使所述至少一个处理器311能够执行前述任一实施例所公开的方法;所述输入输出接口313可以包括显示器、键盘、鼠标、以及usb接口,用于输入输出数据;电源314用于为电子设备310提供电能。

本领域技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(readonlymemory,rom)、磁碟或者光盘等各种可以存储程序代码的介质。

当本发明上述集成的单元以软件功能单元的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、rom、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本发明具体实施方式的详细说明,而非对本发明的限制。相关技术领域的技术人员在不脱离本发明的原则和范围的情况下,做出的各种替换、变型以及改进均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1