一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于三维地图建立模型的方法、装置、设备和存储介质与流程

2021-12-04 00:03:00 来源:中国专利 TAG:


1.本发明涉及地图信息可视化技术领域,尤其是涉及一种基于三维地图建立模型的方法、装置、设备和存储介质。


背景技术:

2.当前的地图自定义建筑建模基本都是基于单个建筑的,需要手动测量建筑的经纬度坐标,计算建筑建筑模型的位置。并且需要修改模型旋转,缩放来适应整个地图的比例。整个过程效率低下且效果有限,只有单个建筑呈现定制效果,和周围区域反差很大。
3.可见,当需要对地图中的模型进行修改或者在地图中新增某一模型时,需要在整个地图中找到放置该模型的位置并对模型进行尺寸调整,操作不方便且容易导致模型位置与预期产生偏差。


技术实现要素:

4.本发明实施例提供一种基于三维地图建立模型的方法、装置、设备和存储介质,用以解决现有技术中当需要对地图中的模型进行修改或者在地图中新增某一模型时,需要在整个地图中找到放置该模型的位置并对模型进行尺寸调整,操作不方便且容易导致模型位置与预期产生偏差的问题。
5.针对以上技术问题,第一方面,本发明实施例提供一种基于三维地图建立模型的方法,包括:
6.获取目标模型,其中,所述目标模型为在三维地图的目标地图块中创建的模型和/或对所述目标地图块中的模型进行修改确定的模型;
7.根据所述目标模型在所述目标地图块的位置信息,以及所述目标地图块在所述三维地图中的配置信息,将所述目标模型添加到所述目标地图块中;
8.其中,所述配置信息包括所述目标地图块在所述三维地图中的位置。
9.第二方面,本发明实施例提供一种基于三维地图建立模型的装置,包括:
10.获取模块,用于获取目标模型,其中,所述目标模型为在三维地图的目标地图块中创建的模型和/或对所述目标地图块中的模型进行修改确定的模型;
11.添加模块,用于根据所述目标模型在所述目标地图块的位置信息,以及所述目标地图块在所述三维地图中的配置信息,将所述目标模型添加到所述目标地图块中;
12.其中,所述配置信息包括所述目标地图块在所述三维地图中的位置。
13.第三方面,本发明实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现以上所述的基于三维地图建立模型的装置的步骤。
14.第四方面,本发明实施例提供一种非暂态可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以上任一项所述的基于三维地图建立模型的装置的步骤。
15.第五方面,本发明实施例提供一种算机程序,该计算机程序被处理器执行时实现以上任一项所述的基于三维地图建立模型的装置的步骤。
16.本发明的实施例提供了一种基于三维地图建立模型的方法、装置、设备和存储介质,获取到对三维地图中的某一目标地图块确定的目标模型后,直接根据目标模型在目标地图块中的位置信息,以及该目标地图块的配置信息,将目标模型添加到目标地图块中。无需手动查找放置该目标模型的位置,且根据位置信息能够准确地将该目标模型放置到目标地图块中,操作方便且避免了模型位置与预期产生的偏差。
附图说明
17.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
18.图1是本发明实施例提供的基于三维地图建立模型的方法的流程示意图;
19.图2是本发明另一实施例提供的在地图块中选中模型的流程示意图;
20.图3是本发明另一实施例提供的将模型从三维画图软件中导出的信息结构示意图;
21.图4是本发明另一实施例提供的模型的加载信息结构图;
22.图5是本发明另一实施例提供的基于三维地图建立模型的装置的结构框图;
23.图6是本发明另一实施例提供的电子设备的实体结构示意图。
具体实施方式
24.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
25.本实施例提供了一种基于三维地图建立模型的方法,应用于任一设备,例如,服务器、终端或者专用于对在地图中编辑模型的设备,具体地,可以由设备中安装的地图显示的软件(获取由该软件中的自制工具)来执行。图1为本实施例提供的基于三维地图建立模型的方法的流程示意图,参见图1,该方法包括:
26.步骤101:获取目标模型,其中,所述目标模型为在三维地图的目标地图块中创建的模型和/或对所述目标地图块中的模型进行修改确定的模型。
27.其中,所述目标模型通过三维画图软件进行编辑,且根据所述目标地图块调整尺寸得到。三维画图软件可以是3d max软件。
28.地图块为预先按照预设分割规则从三维地图中划分出来的地图块。预设分割规则可以是将三维地图分割为10*10的地图块,本实施例对此不做具体限制。其中,目标模型的文件格式为sdx文件。
29.目标模型为“在目标地图块中创建的模型”指的是,在目标地图块中按照目标地图块的尺寸、当前结构创建的模型。“对目标地图块中的模型进行修改”指的是,对目标地图块
中的某一现有模型进行修改后确定的模型。
30.步骤102:根据所述目标模型在所述目标地图块的位置信息,以及所述目标地图块在所述三维地图中的配置信息,将所述目标模型添加到所述目标地图块中;其中,所述配置信息包括所述目标地图块在所述三维地图中的位置。
31.其中,位置信息包括目标模型的每一点在目标地图块中的位置,位置信息用于将目标模型准确地还原到目标地图块中。
32.其中,所述配置信息可以为在所述三维地图所在的坐标系下,目标地图块的左上角的点对应的坐标。
33.其中,所述根据所述目标模型在所述目标地图块的位置信息,以及所述目标地图块在所述三维地图中的配置信息,将所述目标模型添加到所述目标地图块中,包括:
34.根据所述目标地图块在所述三维地图中的配置信息,查找到所述三维地图中的所述目标地图块;
35.根据所述目标模型在所述目标地图块的位置信息,将所述目标模型添加到所述目标地图块中。
36.本实施例提供了一种基于三维地图建立模型的方法,获取到对三维地图中的某一目标地图块确定的目标模型后,直接根据目标模型在目标地图块中的位置信息,以及该目标地图块的配置信息,将目标模型添加到目标地图块中。无需手动查找放置该目标模型的位置,且根据位置信息能够准确地将该目标模型放置到目标地图块中,操作方便且避免了模型位置与预期产生的偏差。
37.需要说明的是,本实施例提供的方法至少可以应用于以下场景:
38.设计师需要将设计的楼宇、公共设施等模型放置到三维地图中进行显示,本实施例提供的方法可以自动将设计师设计的模型添加到三维地图中。且由于设计师是基于地图块进行模型设计的,因此模型和地图块之间能够很好的融合,设计师无需在三维地图中调整模型的尺寸位置,大大提高了设计师的工作效率。
39.将目标模型添加到三维地图中之后,若目标模型和三维地图中原有的模型均进行显示,则会造成画面混乱,难以区分哪些是设计师新设计的模型,因此,进一步地,在上述实施例的基础上,还包括:
40.获取对所述目标地图块中的各模型设置的显示状态信息,其中,显示状态信息包括将所述目标模型添加到所述目标地图块中后,所述目标地图块中每一模型对应的显示状态;
41.将所述目标模型添加到所述目标地图块中后,根据所述显示状态信息在所述三维地图中显示所述目标地图块;
42.其中,显示状态包括对模型进行隐藏和对模型进行显示。
43.其中,所述获取对所述目标地图块中的各模型设置的显示状态信息,包括:根据预先存储的每一地图块的地图块标识信息(地图块id)和显示状态信息的对应关系,获取对所述目标地图块中的各模型设置的显示状态信息。
44.本实施例通过显示状态信息可以使得用户能够通过显示状态信息控制各模型的显示与隐藏,增加了显示过程的灵活性。
45.对于显示状态的设置过程,进一步地,在上述各实施例的基础上,还包括:
46.将用户在所述三维地图中选择的地图块作为所述目标地图块,并对用户在所述目标地图块中选中的模型设置显示状态信息。
47.可以通过选中地图块中的模型,对模型的显示状态信息进行设置。
48.具体地,在用户从目标地图块中选择某一模型后,可以调出对显示状态信息进行设置的菜单,用户通过该菜单能够对选中的模型设置显示状态信息。
49.本实施例通过选中模型实现了显示状态信息的设置。
50.进一步地,在上述各实施例的基础上,所述对用户在所述目标地图块中选中的模型设置显示状态信息,包括:
51.检测到对显示屏幕中显示的目标地图块的触发操作后,确定与所述触发操作的位置对应的像素点,作为目标像素点;
52.获取预先对所述目标像素点编码的模型标识信息,根据所述模型标识信息确定所述用户选中的模型,对所述用户选中的模型设置显示状态信息;
53.其中,对所述三维地图中任一地图块,预先对所述地图块的每一模型对应的像素点编码的模型标识信息。
54.具体地,将用户在所述三维地图中选择的地图块作为所述目标地图块,用户触发选择模型的模式,并检测到对显示屏幕中显示的目标地图块的触发操作后,确定与所述触发操作的位置对应的像素点,作为目标像素点。
55.其中,触发操作包括对屏幕的点击操作。
56.三维地图中每一模型唯一对应一个模型标识信息(模型id)。
57.其中,检测到对显示屏幕中显示的目标地图块的触发操作后,确定与所述触发操作的位置对应的像素点,作为目标像素点,包括:
58.检测到对显示屏幕中显示的目标地图块的触发操作后,确定所述触发操作的位置,确定显示在所述触发操作的位置处的像素点,作为目标像素点。
59.由于预先对每一像素点编码了模型标识信息,因此可以解码出目标像素点对应的模型标识信息,从而确定被选中的模型。
60.本实施例通过检测用户进行触发操作的位置,通过与该位置对应的像素点实现了对用户选中的模型进行判断,由于对模型的每一像素点均编码了模型标识信息,因此具有较高的灵敏度,有利于快速准确地定位出用户选中的模型。
61.对于在模型的各像素点编码模型标识信息的过程,进一步地,在上述各实施例的基础上,还包括:
62.对所述三维地图中任一地图块,获取所述地图块中任一模型,作为待编码模型;
63.确定与所述待编码模型的每一像素点对应的纹理坐标,在与所述待编码模型的每一像素点对应的纹理坐标处,根据对所述待编码模型的模型标识信息编码的颜色进行渲染,得到对所述待编码模型的每一像素点编码的模型标识信息。
64.需要说明的是,在对模型的各像素点编码模型标识信息的过程中,可以将模型标识信息编码为纹理颜色,将编码的纹理颜色存储到纹理图中,其中,该纹理图中各纹理坐标与待编码模型的像素点一一对应。
65.具体来说,本实施例采用双摄相机渲染整个地图场景,一个用来显示,渲染的是地图的外观,渲染到屏幕;另一个摄像机用来做拾取,渲染的是建筑索引id信息,渲染到一个
和屏幕尺寸比例一样的渲染纹理。在着色器中,把建筑索引id编码为颜色,渲染到渲染纹理。通过渲染纹理我们就可以计算得到屏幕上每一个坐标对应的建筑索引id,从而实现鼠标点击建筑的拾取。
66.其中,采用gpu点击拾取的算法确定被选中的模型。
67.本实施例通过与像素点对应的纹理坐标,将模型标识信息存储到纹理坐标中,进而通过各像素点对应的纹理坐标解码被用户选中的模型的模型标识信息。
68.图2为本实施例提供的在地图块中选中模型的流程示意图,参见图2,该过程包括如下内容:在着色器中把建筑索引id(模型标识信息)输出到渲染纹理,把点击的屏幕坐标等比变换到纹理坐标,取渲染纹理下坐标颜色,再逆编码为建筑id,如果id是有效的建筑id,说明当前点击了建筑,完成拾取。
69.进一步地,在上述各实施例的基础上,还包括:
70.将所述三维地图划分为预设尺寸的地图块,对每一地图块存储所述地图块的配置信息,其中,配置信息包括在所述三维地图所在的坐标系下,地图块的左上角对应的像素坐标。
71.配置信息中对地图块,可以存储地图块左上角的坐标,通过左上角的坐标点能够在三维地图中快速定位到目标地图块。
72.具体来说,本实施例开发了自制工具,用于执行上述各实施例提供的方法,自制工具里面可以解析地图数据,完成地图的渲染。在自制工具里面可以拖动地图进行位置选择,可以缩放定位。通过自制工具可以快速定位需要定制模型的地图块区域、在导出地图块的时候存储该地图块的地理信息(即在地图中的配置信息),从而在需要定位地图块的过程张工避免手工输入,实现自动导出;模型定制完成以后,在自制工具里面通过点击操作来选择需要替换的定制过的建筑模型,提供建筑组索引id,完成替换过程。同时可以预览建筑模型替换之后的效果,给设计师提供反馈。
73.预先定义了地图的区域分割方案,根据缩放等级,把地图区域按固定的经纬度间隔分割成了大小固定的矩形区域(每一矩形区域即为一个地图块),这样就可以对每一地图块标注索引id,进行索引定位。设计师在自制工具中定位到某一地图块之后,使用鼠标点击该地图块中的模型就可以选中需要定制的模型。使用右键菜单,就可以导出此地图块的模型和地图块的配置信息。地图块的配置信息定义了地图块的id索引,包含建筑索引id信息。有了这些配置,才能在程序中实现自动加载,保证模型可以放到正确的位置去。
74.在实践过程中,设计师使用三维编辑软件打开我们导出的模型进行定制工作。设计师可以选择自制工具进行定制,模型是使用自制工具导出的,尺寸和朝向都是从真实数据计算得来,可以保证模型的尺寸和朝向和真是数据是一致的。设计师不需要自己去测量和调整尺寸和朝向。设计师将模型的位置信息提交,基于之前导出的地图块的配置信息,引擎可以实现自动加载,把这些定制的模型渲染到正确的位置。配置信息中还有定制的每个建筑的索引id,通过这些索引id,引擎就可以知道哪些原始的建筑是不需要创建的,而只渲染定制过的模型。
75.图3为本实施例提供的将模型从三维画图软件中导出的信息结构示意图,参见图3,这些信息包括区块索引、覆盖区域建筑索引数组、建筑附加信息和模型导出时间。这些信息是模型定制完毕之后能够被程序加载渲染到正确位置的基础。通过这些信息的自动导
出,才能使整个定制流程自动化,不需要手动检索每个建筑的经纬度等信息。另外,配置信息里面包含创建时间,可以用来给后续的持续化升级提供参考。
76.图4为本实施例提供的模型的加载信息结构图,参见图4,这些信息包括需要加载的建筑数组、每个建筑对应的原始地图建筑索引和建筑的资源位置。这些信息保证模型在定制完毕以后能够被地图程序识别和自动加载,并且可以使地图程序不再创建原始的建筑模型,只渲染定制过的模型。
77.图5为本实施例提供的基于三维地图建立模型的装置的结构框图,参见图5,所述基于三维地图建立模型的装置包括获取模块501和添加模块502,其中,
78.获取模块501,用于获取目标模型,其中,所述目标模型为在三维地图的目标地图块中创建的模型和/或对所述目标地图块中的模型进行修改确定的模型;
79.添加模块502,用于根据所述目标模型在所述目标地图块的位置信息,以及所述目标地图块在所述三维地图中的配置信息,将所述目标模型添加到所述目标地图块中;
80.其中,所述配置信息包括所述目标地图块在所述三维地图中的位置。
81.本实施例提供的基于三维地图建立模型的装置适用于上述各实施例基于三维地图建立模型的方法,在此不再赘述。
82.本实施例提供了一种基于三维地图建立模型的装置,获取到对三维地图中的某一目标地图块确定的目标模型后,直接根据目标模型在目标地图块中的位置信息,以及该目标地图块的配置信息,将目标模型添加到目标地图块中。无需手动查找放置该目标模型的位置,且根据位置信息能够准确地将该目标模型放置到目标地图块中,操作方便且避免了模型位置与预期产生的偏差。
83.可选地,还包括:
84.获取对所述目标地图块中的各模型设置的显示状态信息,其中,显示状态信息包括将所述目标模型添加到所述目标地图块中后,所述目标地图块中每一模型对应的显示状态;
85.将所述目标模型添加到所述目标地图块中后,根据所述显示状态信息在所述三维地图中显示所述目标地图块;
86.其中,显示状态包括对模型进行隐藏和对模型进行显示。
87.可选地,还包括:
88.将用户在所述三维地图中选择的地图块作为所述目标地图块,并对用户在所述目标地图块中选中的模型设置显示状态信息。
89.可选地,所述对用户在所述目标地图块中选中的模型设置显示状态信息,包括:
90.检测到对显示屏幕中显示的目标地图块的触发操作后,确定与所述触发操作的位置对应的像素点,作为目标像素点;
91.获取预先对所述目标像素点编码的模型标识信息,根据所述模型标识信息确定所述用户选中的模型,对所述用户选中的模型设置显示状态信息;
92.其中,对所述三维地图中任一地图块,预先对所述地图块的每一模型对应的像素点编码的模型标识信息。
93.可选地,还包括:
94.对所述三维地图中任一地图块,获取所述地图块中任一模型,作为待编码模型;
95.确定与所述待编码模型的每一像素点对应的纹理坐标,在与所述待编码模型的每一像素点对应的纹理坐标处,根据对所述待编码模型的模型标识信息编码的颜色进行渲染,得到对所述待编码模型的每一像素点编码的模型标识信息。
96.可选地,还包括:
97.将所述三维地图划分为预设尺寸的地图块,对每一地图块存储所述地图块的配置信息,其中,配置信息包括在所述三维地图所在的坐标系下,地图块的左上角对应的像素坐标。
98.图6示例了一种电子设备的实体结构示意图,如图6所示,该电子设备可以包括:处理器(processor)601、通信接口(communications interface)602、存储器(memory)603和通信总线604,其中,处理器601,通信接口602,存储器603通过通信总线604完成相互间的通信。处理器601可以调用存储器603中的逻辑指令,以执行如下方法:获取目标模型,其中,所述目标模型为在三维地图的目标地图块中创建的模型和/或对所述目标地图块中的模型进行修改确定的模型;根据所述目标模型在所述目标地图块的位置信息,以及所述目标地图块在所述三维地图中的配置信息,将所述目标模型添加到所述目标地图块中;其中,所述配置信息包括所述目标地图块在所述三维地图中的位置。
99.此外,上述的存储器603中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
100.进一步地,本发明实施例公开一种计算机程序,所述计算机程序包括存储在非暂态可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:获取目标模型,其中,所述目标模型为在三维地图的目标地图块中创建的模型和/或对所述目标地图块中的模型进行修改确定的模型;根据所述目标模型在所述目标地图块的位置信息,以及所述目标地图块在所述三维地图中的配置信息,将所述目标模型添加到所述目标地图块中;其中,所述配置信息包括所述目标地图块在所述三维地图中的位置。
101.另一方面,本发明实施例还提供一种非暂态可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的传输方法,例如包括:获取目标模型,其中,所述目标模型为在三维地图的目标地图块中创建的模型和/或对所述目标地图块中的模型进行修改确定的模型;根据所述目标模型在所述目标地图块的位置信息,以及所述目标地图块在所述三维地图中的配置信息,将所述目标模型添加到所述目标地图块中;其中,所述配置信息包括所述目标地图块在所述三维地图中的位置。
102.以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其
中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
103.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
104.最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献