倾斜摄影地形文件加载方法、装置、设备和存储介质与流程

文档序号:31213593发布日期:2022-08-20 04:02阅读:71来源:国知局
倾斜摄影地形文件加载方法、装置、设备和存储介质与流程

1.本技术涉及图形渲染技术领域,具体是指一种倾斜摄影地形文件加载方法、装置、设备和存储介质。


背景技术:

2.技术
3.建筑信息模型(building information model,简称bim)是对一个设施的实体和功能特性的数字化表达方式。建筑信息模型是涉及建筑学、工程学即土木工程的新辅助工具,其主要是以建筑工程项目的各项相关信息数据作为模型的基础,并以此进行建筑模型的建立,从而通过数字信息仿真模拟建筑物所具有的真实信息。此外,建筑信息模型还具有可视化、协调性、模拟性、优化性和可出图性这五个特点。
4.revit是autodesk公司一套系列软件的名称。revit系列软件是为建筑信息模型(bim)构建的,可帮助建筑设计师设计、建造和维护质量更好、能效更高的建筑。revit是我国建筑业bim体系中使用最广泛的软件之一。但是,现有 revit设计平台中的地形模型多为1:200与1:500的等高线模型,对地形地貌、建筑轮廓会有精度丢失。
5.倾斜摄影技术则是国际测绘领域近些年发展起来的一项高新技术,它颠覆了以往正射影像只能从垂直角度拍摄的局限,通过在同一飞行平台上搭载多台传感器,同时从一个垂直、四个倾斜等五个不同的角度采集影像,将用户引入了符合人眼视觉的真实直观世界。通过倾斜摄影技术,能够获得高精度的倾斜摄影模型。
6.但是,现有的倾斜摄影模型不能直接导入到revit设计平台中充当地形模型用于建筑设计。


技术实现要素:

7.基于以上技术问题,本技术提供了一种倾斜摄影地形文件加载方法、装置、设备和存储介质,解决了revit设计平台不能加载倾斜摄影地形文件的问题。
8.为解决以上技术问题,本技术采用的技术方案如下:
9.一种倾斜摄影地形文件加载方法,包括:
10.对倾斜摄影原始文件进行处理,获得倾斜摄影索引文件和倾斜摄影数据文件;
11.基于所述倾斜摄影索引文件读取需要加载的所述倾斜摄影数据文件;
12.对所述倾斜摄影数据文件进行解析,获取所述倾斜摄影数据文件中的地形特征点数据和地形特征点逻辑引用数据;
13.将所述地形特征点数据转换为用于revit设计平台识别的坐标点数据,以及将所述地形特征点逻辑引用数据转换为用于revit设计平台识别的特征面索引数据;
14.将所述坐标点数据和所述特征面索引数据传入所述revit设计平台,通过所述revit设计平台创建地形。
15.进一步的,对所述倾斜摄影数据文件进行解析,获取所述倾斜摄影数据文件中的
地形特征点数据和地形特征点逻辑引用数据包括:
16.逐行对所述倾斜摄影数据文件中的文本数据进行读取;
17.解析所述文本数据中是否存在关键字;
18.若所述文本数据中存在第一关键字,则所述文本数据为地形特征点数据并保存;
19.若所述文本数据中存在第二关键字,则所述文本数据为地形特征点逻辑引用数据并保存。
20.进一步的,在对所述地形特征点数据保存之前,对所述地形特征点数据进行去重。
21.进一步的,所述去重包括:
22.将所述地形特征点数据与已保存的地形特征点数据进行比对;
23.若所述地形特征点数据的xy坐标与已保存的地形特征点数据的xy坐标相同,则将所述地形特征点数据的xy坐标进行偏移。
24.进一步的,若所述文本数据中不存在第一关键字和第二关键字,则对所述倾斜摄影数据文件中下一行的文本数据进行读取。
25.进一步的,所述revit设计平台创建地形之后,将生成的地形文件按编号递增的顺序进行保存。
26.进一步的,倾斜摄影数据文件为obj格式文件。
27.一种倾斜摄影地形文件加载装置,包括:
28.文件转换模块,所述文件转换模块用于对倾斜摄影原始文件进行处理,获得倾斜摄影索引文件和倾斜摄影数据文件;
29.文件读取模块,所述文件读取模块用于基于所述倾斜摄影索引文件读取需要加载的所述倾斜摄影数据文件;
30.文件解析模块,所述文件解析模块用于对所述倾斜摄影数据文件进行解析,获取所述倾斜摄影数据文件中的地形特征点数据和地形特征点逻辑引用数据;
31.数据转换模块,所述数据转换模块用于将所述地形特征点数据转换为用于 revit设计平台识别的坐标点数据;以及
32.将所述地形特征点逻辑引用数据转换为用于revit设计平台识别的特征面索引数据;
33.地形创建模块,所述地形创建模块用于将所述坐标点数据和所述特征面索引数据传入所述revit设计平台,通过所述revit设计平台创建地形。
34.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行上述倾斜摄影地形文件加载方法的步骤。
35.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行上述倾斜摄影地形文件加载方法的步骤。
36.与现有技术相比,本技术的有益效果是:
37.上述倾斜摄影地形文件加载方法、装置、计算机设备和存储介质,可以将倾斜摄影地形文件载入revit设计平台,形成高精度的地形模型,以供后续建筑设计使用。
附图说明
38.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。其中:
39.图1为倾斜摄影地形文件加载方法的流程示意图。
40.图2为倾斜摄影索引文件解析方法的流程示意图。
具体实施方式
41.为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例的附图,对本公开实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本公开的一部分实施例,而不是全部的实施例。基于所描述的本公开的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
42.应当理解,本说明书中所使用的“系统”、“装置”、“单元”和/或“模组”是用于区分不同级别的不同组件、元件、部件、部分或装配的一种方法。然而,如果其他词语可实现相同的目的,则可通过其他表达来替换所述词语。
43.如本说明书和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其它的步骤或元素。
44.本说明书中使用了流程图用来说明根据本说明书的实施例的系统所执行的操作。应当理解的是,前面或后面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各个步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。
45.参阅图1,在一些实施例中,一种倾斜摄影地形文件加载方法,包括:
46.s101,对倾斜摄影原始文件进行处理,获得倾斜摄影索引文件和倾斜摄影数据文件;
47.具体的,倾斜摄影原始文件是通过将无人航测回来的倾斜摄影文件。
48.具体的,倾斜摄影索引文件是显示所有倾斜摄影数据文件位置的索引文件,其可以用于对倾斜摄影数据进行分类管理。
49.具体的,倾斜摄影数据文件是通过测绘专业的生产工具(对应专业软件,比如大疆智图)处理后,生产出的地形、建筑物的3d模型文件。
50.优先的,倾斜摄影数据文件为obj格式文件,obj文件是3d建模和动画软件的一种标准文件格式,适合用于3d软件模型之间的互导。
51.s102,基于所述倾斜摄影索引文件读取需要加载的所述倾斜摄影数据文件;
52.优选的,可以在客户端操作页面设计相关交互页面。该交互部分程序需要实现将用户点击“创建倾斜摄影地形”按钮后,选择需要导入的倾斜摄影数据文件,进行处理,在revit三维视图上生成地形的功能。
53.其中,调用打开文件窗体来实现用户选择地形文件的交互界面,当用户选择完倾斜摄影索引文件(一般为metadata.xml)后,加载所有需要转换生成的倾斜摄影数据文件,在界面中勾选需要生成的文件,进行解析与生成。
54.s103,对所述倾斜摄影数据文件进行解析,获取所述倾斜摄影数据文件中的地形特征点数据和地形特征点逻辑引用数据;
55.s104,将所述地形特征点数据转换为用于revit设计平台识别的坐标点数据,以及将所述地形特征点逻辑引用数据转换为用于revit设计平台识别的特征面索引数据;
56.s105,将所述坐标点数据和所述特征面索引数据传入所述revit设计平台,通过所述revit设计平台创建地形。
57.具体的,revit设计平台通过api接收数据并完成地形创建,具体api为 topographysurface.create,此方法支持坐标点数据(xyz点集)与特征面索引数据(polymeshfacet)。创建完成的地形文件则是包含了倾斜摄影数据文件中地形特征的revit地形文件,revit设计平台生成的地形文件为rvt格式文件, rvt是revit设计平台保存设计数据所用的一种专有文件格式。
58.本实施例中,通过对倾斜摄影数据文件进行解析,对倾斜摄影数据文件中的地形特征要素进行数据解析和提取,再将倾斜摄影数据文件中的记录的三维点与面的数据进行转换,转换为revit设计平台中有效的地形高程点,再通过 revit设计平台中创建地形的api接口,在revit设计平台中生成对应地形。
59.revit设计生成的高精度地形便可以用于后续设计使用,比如光伏发电站的设计等。
60.其中,由于三维地形都是由面构成的,构成面的点就是特征点,特征点的特点就是记录了空间xyz的坐标点数据。上述地形特征点数据的转换过程则是将倾斜摄影数据文件中的坐标点,转换为revit设计平台中的坐标点,revit设计平台中的坐标点也是xyz坐标,但是有可能会出现倾斜摄影数据文件中的坐标点的坐标系与revit设计平台中坐标点的坐标系不一致的情况,因此需要进行对应的调整,例如在revit设计平台中坐标点为xyz,对应到倾斜摄影数据中有可能会出现yxz的情况,即在倾斜摄影坐标系中的xy与revit设计平台坐标系的xy是对调的情况。
61.因此,为了使revit设计平台能够正确识别倾斜摄影数据文件中的地形数据,需要对倾斜摄影数据文件解析出的地形特征点数据和地形特征点逻辑引用数据进行转换,转换成revit设计平台能够识别的坐标点数据和特征面索引数据。
62.此外,通过revit设计平台中相关api中对rvt文件的链接与卸载接口,结合界面的地形文件管理列表,还可实现对rvt文件的动态加载与卸载。
63.优选的,所述revit设计平台创建地形之后,将生成的地形文件按编号递增的顺序进行保存。
64.具体的,地形文件保存在计算机指定目录下。
65.优选的,导入的倾斜摄影数据文件与生成的地形rvt文件都存储于用户本地磁盘上,过程中的解析的三维对象、键值队、点集合等存储于内存中。
66.优选的,由于revit软件自身限制,其创建rvt地形时候,导入的倾斜摄影数据文件单个文件应该限制在300mb以下,推荐单个倾斜摄影数据文件的大小为30mb~100mb。若超出此推荐大小,会导致生成数据过慢影响用户体验。若超出最大限制,则可能导致转换失败。
67.参阅图2,在一些实施例中,对所述倾斜摄影数据文件进行解析,获取所述倾斜摄
影数据文件中的地形特征点数据和地形特征点逻辑引用数据包括:
68.s201,逐行对所述倾斜摄影数据文件中的文本数据进行读取;
69.s202,解析所述文本数据中是否存在关键字;
70.s203,若所述文本数据中存在第一关键字,则所述文本数据为地形特征点数据并保存;
71.s204,若所述文本数据中存在第二关键字,则所述文本数据为地形特征点逻辑引用数据并保存。
72.在本实施例中,将需要转换的倾斜摄影数据文件(具体为obj文件)读取至内存中,然后循环逐一解析每一行的obj数据。由于obj数据为文本数据,因此读取到内存中的每一行数据不需要额外编解码就可进行解析。判断每一行 obj数据中的是否存在关键字。
73.具体的,设定第一关键字为“v”,则如果此行文本数据中存在关键字“v”,那么代表该行数据为倾斜摄影数据文件中的地形特征点数据,记录了地形特征点的x、y、z的坐标数据,将读取到的地形特征点数据保存至内存集合中。
74.具体的,设定第二关键字为“f”,则如果此行文本数据中存在关键字“f”,那么代表该行数据为倾斜摄影数据文件中地形特征点逻辑引用数据,地形特征点逻辑引用数据记录了构成地形特征的一个面是由哪几个地形特征点构成的,将读取到的地形特征点逻辑引用数据保存至内存集合中。
75.优选的,在对所述地形特征点数据保存之前,对所述地形特征点数据进行去重。
76.其中,由于revit设计平台中的地形是不允许在相同的xy坐标上同时存在两个不同z值的点的。因此,在对所述地形特征点数据保存之前,需要对所述地形特征点数据进行去重。
77.具体的,所述去重包括:
78.将所述地形特征点数据与已保存的地形特征点数据进行比对;
79.若所述地形特征点数据的xy坐标与已保存的地形特征点数据的xy坐标相同,则将所述地形特征点数据的xy坐标进行偏移。
80.其中,同时检查已经保存的地形特征点数据,是否与当前待保存的地形特征点具有相同的xy坐标,如果有,则对将要保存的该地形特征点的x和y进行偏移操作。
81.具体的,x和y的偏移距离为0.1mm。
82.优选的,若所述文本数据中不存在第一关键字和第二关键字,则对所述倾斜摄影数据文件中下一行的文本数据进行读取。
83.其中,如果该行数据不包含第一关键字“v”与第二关键字“f”,则该行数据对地形创建无意义,继续解析后续文本数据,直至倾斜摄影数据文件中每行文本数据都被解析完。
84.在一些实施例中,还公开了一种倾斜摄影地形文件加载装置,包括:
85.文件转换模块,所述文件转换模块用于对倾斜摄影原始文件进行处理,获得倾斜摄影索引文件和倾斜摄影数据文件;
86.文件读取模块,所述文件读取模块用于基于所述倾斜摄影索引文件读取需要加载的所述倾斜摄影数据文件;
87.文件解析模块,所述文件解析模块用于对所述倾斜摄影数据文件进行解析,获取所述倾斜摄影数据文件中的地形特征点数据和地形特征点逻辑引用数据;
88.数据转换模块,所述数据转换模块用于将所述地形特征点数据转换为用于 revit设计平台识别的坐标点数据;以及
89.将所述地形特征点逻辑引用数据转换为用于revit设计平台识别的特征面索引数据;
90.地形创建模块,所述地形创建模块用于将所述坐标点数据和所述特征面索引数据传入所述revit设计平台,通过所述revit设计平台创建地形。
91.为解决上述技术问题,本技术还公开了一种计算机设备,其特征在于,包括存储器和处理器,存储器中存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述倾斜摄影地形文件加载方法的步骤。
92.其中,所述计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
93.所述存储器至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或d界面显示存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器可以是所述计算机设备的内部存储单元,例如该计算机设备的硬盘或内存。在另一些实施例中,所述存储器也可以是所述计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。当然,所述存储器还可以既包括所述计算机设备的内部存储单元也包括其外部存储设备。本实施例中,所述存储器常用于存储安装于所述计算机设备的操作系统和各类应用软件,例如所述倾斜摄影地形文件加载方法的程序代码等。此外,所述存储器还可以用于暂时地存储已经输出或者将要输出的各类数据。
94.所述处理器在一些实施例中可以是中央处理器(central processing unit, cpu)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器通常用于控制所述计算机设备的总体操作。本实施例中,所述处理器用于运行所述存储器中存储的程序代码或者处理数据,例如运行所述倾斜摄影地形文件加载方法的程序代码。
95.为解决上述技术问题,本技术还公开了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述倾斜摄影地形文件加载方法的步骤。
96.其中,所述计算机可读存储介质存储有界面显示程序,所述界面显示程序可被至少一个处理器执行,以使所述至少一个处理器执行如上述的倾斜摄影地形文件加载方法的步骤。
97.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器或者网络设备等)执行本技术各个实施例所述的方法。
98.如上即为本技术的实施例。上述实施例以及实施例中的具体参数仅是为了清楚表述申请的验证过程,并非用以限制本技术的专利保护范围,本技术的专利保护范围仍然以其权利要求书为准,凡是运用本技术的说明书及附图内容所作的等同结构变化,同理均应包含在本技术的保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1