一种电子地图数据的制作方法及装置转让专利

申请号 : CN201410419783.7

文献号 : CN105354878B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 贾双成朱玟征叶旻

申请人 : 北京协进科技发展有限公司

摘要 :

本发明提供一种电子地图数据的制作方法及装置,所述方法包括:针对任一精细三维模型,获取所述精细三维模型的形状点在经纬度坐标平面内的投影点,以及确定所述投影点所在的瓦片;并针对所述投影点所在的每一个瓦片中的每一个FootPrint面,获取所述FootPrint面的形状点的经纬度坐标;检测所述投影点组成的所述精细三维模型的投影面和所述FootPrint面的经纬度坐标范围是否部分或全部重叠;若是,将所述FootPrint面的高度设为0。根据本发明的方法可自动检测精细三维模型与FootPrint面是否重合;可以高效地进行三维数据制作,并提高电子地图的显示效果。

权利要求 :

1.一种电子地图数据的制作方法,用于制作包含建筑物轮廓图FootPrint模型和精细三维模型的电子地图,其特征在于,所述方法包括:针对任一精细三维模型,获取所述精细三维模型的形状点在经纬度坐标平面内的投影点,以及确定所述投影点所在的瓦片;并针对所述投影点所在的每一个瓦片中的每一个FootPrint面,从FootPrint数据中获取所述FootPrint面的形状点的经纬度坐标;

检测所述投影点组成的所述精细三维模型的投影面和所述FootPrint面的经纬度坐标范围是否部分或全部重叠;

当所述精细三维模型的投影面和所述FootPrint面的经纬度坐标范围部分或全部重叠时,将所述FootPrint面的高度设为0。

2.根据权利要求1所述的方法,其特征在于,所述检测所述投影点组成的所述精细三维模型的投影面和所述FootPrint面的经纬度坐标范围是否部分或全部重叠,包括:判断所述投影点中是否至少有一个投影点的经纬度坐标在所述FootPrint面的经纬度坐标范围内;

当所述投影点中至少有一个投影点的经纬度坐标在所述FootPrint面的经纬度坐标范围内时,确定所述精细三维模型的投影面和所述FootPrint面的经纬度坐标范围部分或全部重叠。

3.根据权利要求2所述的方法,其特征在于,

当所述FootPrint面的形状点的数量大于预设阈值时,所述判断所述投影点中是否至少有一个投影点的经纬度坐标在所述FootPrint面的经纬度坐标范围内,包括:根据所述FootPrint面的形状点的经纬度坐标确定所述FootPrint面的最小矩形包围盒坐标范围,其中,所述FootPrint面的最小矩形包围盒是指,在经纬度坐标平面内包含所述FootPrint面的所有形状点的经纬度坐标的最小矩形;

判断所述投影点中是否至少有一个投影点的经纬度坐标在所述FootPrint面的最小矩形包围盒坐标范围内;

所述当所述投影点中至少有一个投影点的经纬度坐标在所述FootPrint面的经纬度坐标范围内时,确定所述精细三维模型的投影面和所述FootPrint面的经纬度坐标范围部分或全部重叠,包括:当所述投影点中至少有一个投影点的经纬度坐标在所述FootPrint面的最小矩形包围盒坐标范围内时,确定所述精细三维模型的投影面和所述FootPrint面的经纬度坐标范围部分或全部重叠。

4.根据权利要求1所述的方法,其特征在于,所述检测所述投影点组成的所述精细三维模型的投影面和所述FootPrint面的经纬度坐标范围是否部分或全部重叠,包括:根据所述投影点的经纬度坐标,确定所述投影点的最小矩形包围盒坐标范围,其中,所述投影点的最小矩形包围盒是指,在经纬度坐标平面内包含所有的所述投影点的经纬度坐标的最小矩形;

判断所述FootPrint面的形状点中是否至少有一个形状点的经纬度坐标在所述投影点的最小矩形包围盒坐标范围内;

当所述FootPrint面的形状点中至少有一个形状点的经纬度坐标在所述投影点的最小矩形包围盒坐标范围内时,确定所述精细三维模型的投影面和所述FootPrint面的经纬度坐标范围部分或全部重叠。

5.根据权利要求1所述的方法,其特征在于,所述检测所述投影点组成的所述精细三维模型的投影面和所述FootPrint面的经纬度坐标范围是否部分或全部重叠,包括:根据所述投影点的经纬度坐标,确定所述投影点的最小矩形包围盒坐标范围,其中,所述投影点的最小矩形包围盒是指,在经纬度坐标平面内包含所有的所述投影点的经纬度坐标的最小矩形;

根据所述FootPrint面的形状点的经纬度坐标确定所述FootPrint面的最小矩形包围盒坐标范围,其中,所述FootPrint面的最小矩形包围盒是指,在经纬度坐标平面内包含所述FootPrint面的所有形状点的经纬度坐标的最小矩形;

判断所述投影点的最小矩形包围盒坐标范围和所述FootPrint面的最小矩形包围盒坐标范围是否部分或全部重叠;

当所述投影点的最小矩形包围盒坐标范围和所述FootPrint面的最小矩形包围盒坐标范围部分或全部重叠时,确定所述精细三维模型的投影面和所述FootPrint面的经纬度坐标范围部分或全部重叠。

6.一种电子地图数据的制作装置,用于制作包含建筑物轮廓图FootPrint模型和精细三维模型的电子地图,其特征在于,所述装置包括:第一获取模块,用于针对任一精细三维模型,获取所述精细三维模型的形状点在经纬度坐标平面内的投影点,以及确定所述投影点所在的瓦片;

第二获取模块,用于针对所述投影点所在的每一个瓦片中的每一个FootPrint面,从FootPrint数据中获取所述FootPrint面的形状点的经纬度坐标;

检测模块,用于检测所述投影点组成的所述精细三维模型的投影面和所述FootPrint面的经纬度坐标范围是否部分或全部重叠;

设置模块,用于当所述精细三维模型的投影面和所述FootPrint面的经纬度坐标范围部分或全部重叠时,将所述FootPrint面的高度设为0。

7.根据权利要求6所述的装置,其特征在于,所述检测模块包括:

第一判断单元,用于判断所述投影点中是否至少有一个投影点的经纬度坐标在所述FootPrint面的经纬度坐标范围内;

第一确定单元,用于当所述投影点中至少有一个投影点的经纬度坐标在所述FootPrint面的经纬度坐标范围内时,确定所述精细三维模型的投影面和所述FootPrint面的经纬度坐标范围部分或全部重叠。

8.根据权利要求7所述的装置,其特征在于,所述第一判断单元包括:

第一面矩形确定子单元,用于当所述FootPrint面的形状点的数量大于预设阈值时,根据所述FootPrint面的形状点的经纬度坐标确定所述FootPrint面的最小矩形包围盒坐标范围,其中,所述FootPrint面的最小矩形包围盒是指,在经纬度坐标平面内包含所述FootPrint面的所有形状点的经纬度坐标的最小矩形;

判断子单元,用于判断所述投影点中是否至少有一个投影点的经纬度坐标在所述FootPrint面的最小矩形包围盒坐标范围内;

所述第一确定单元,用于当所述投影点中至少有一个投影点的经纬度坐标在所述FootPrint面的最小矩形包围盒坐标范围内时,确定所述精细三维模型的投影面和所述FootPrint面的经纬度坐标范围部分或全部重叠。

9.根据权利要求6所述的装置,其特征在于,所述检测模块包括:

第一投影点矩形确定单元,用于根据所述投影点的经纬度坐标,确定所述投影点的最小矩形包围盒坐标范围,其中,所述投影点的最小矩形包围盒是指,在经纬度坐标平面内包含所有的所述投影点的经纬度坐标的最小矩形;

第二判断单元,用于判断所述FootPrint面的形状点中是否至少有一个形状点的经纬度坐标在所述投影点的最小矩形包围盒坐标范围内;

第二确定单元,用于当所述FootPrint面的形状点中至少有一个形状点的经纬度坐标在所述投影点的最小矩形包围盒坐标范围内时,确定所述精细三维模型的投影面和所述FootPrint面的经纬度坐标范围部分或全部重叠。

10.根据权利要求6所述的装置,其特征在于,所述检测模块包括:

第二投影点矩形确定单元,用于根据所述投影点的经纬度坐标,确定所述投影点的最小矩形包围盒坐标范围,其中,所述投影点的最小矩形包围盒是指,在经纬度坐标平面内包含所有的所述投影点的经纬度坐标的最小矩形;

第二面矩形确定单元,用于根据所述FootPrint面的形状点的经纬度坐标确定所述FootPrint面的最小矩形包围盒坐标范围,其中,所述FootPrint面的最小矩形包围盒是指,在经纬度坐标平面内包含所述FootPrint面的所有形状点的经纬度坐标的最小矩形;

第三判断单元,用于判断所述投影点的最小矩形包围盒坐标范围和所述FootPrint面的最小矩形包围盒坐标范围是否部分或全部重叠;

第三确定单元,用于当所述投影点的最小矩形包围盒坐标范围和所述FootPrint面的最小矩形包围盒坐标范围部分或全部重叠时,确定所述精细三维模型的投影面和所述FootPrint面的经纬度坐标范围部分或全部重叠。

说明书 :

一种电子地图数据的制作方法及装置

技术领域

[0001] 本发明涉及电子制图领域,尤其涉及一种电子地图数据的制作方法及装置。

背景技术

[0002] 三维电子地图由于其具有较高的辨识度,使人和电子地图能够直观的、逼真的进行交互,备受用户青睐。随着图形处理技术及相关技术的发展,使得三维电子地图越来越成熟。通常对于现实世界中的对象如建筑物,在三维电子地图中通过构建该建筑物的三维模型来显示。
[0003] 在一些三维电子地图中,可以通过三维模型数据,渲染出一个三维模型。通常三维模型数据存储的是构成该三维模型的多个形状点的数据,通过预设的规则将三维模型的形状点进行连接可以渲染出该三维模型。FootPrint(建筑物轮廓图)数据是三维模型数据中的一种,该FootPrint数据用于构建一些具有高度的FootPrint面,由这些具有高度的FootPrint面构建一个粗略的三维模型用于表示现实世界中的对象,如用FootPrint面渲染成一个长方体以表示一栋大厦。
[0004] 一般情况下,三维电子地图中当存储有FootPrint数据时还会存储一些其他的用于渲染精细三维模型的三维模型数据,该用于渲染精细三维模型的三维模型数据如3D Landmark(三维建筑物)数据。其中,3D Landmark数据通常由人工制作,用于渲染出精细三维模型,该模型展示出较为精细的三维建筑物,可以很好的表示出建筑物的形状、纹理和材质等,给人以逼真形象的感觉。而通常情况下,由于其成本高昂,在三维电子地图数据中,只有少数的对象具有3D Landmark模型。
[0005] 通常,在三维电子地图中根据3D Landmark数据渲染出精细三维模型时,也会根据FootPrint数据,渲染出一个FootPrint模型。这样,在三维电子地图中,精细三维模型和FootPrint模型之间会有重合,致使三维电子地图的显示效果会很差。
[0006] 在三维数据制作的过程中,为了解决根据不同三维模型数据渲染出的模型之间存在重合导致显示效果差的问题,通常由人工删除一些FootPrint模型中的FootPrint面的数据,这些FootPrint面是与精细三维模型重合的面。但是由于其采用人工操作,人力成本昂贵,还可能存在误操作。此外,该方法为了显示效果而删除含有多种信息的FootPrint数据,存在潜在的负面作用。因此,如何在数据制作的过程中,妥善处理三维电子地图的数据,以避免在渲染时存在因模型重合而导致显示效果差的问题,显得很迫切。

发明内容

[0007] 本发明的目的是提供一种电子地图数据的制作方法及装置,以克服相关技术中三维模型可能与一些具有高度的面之间有重合,导致显示效果差的问题。
[0008] 本发明提供一种电子地图数据的制作方法,用于制作包含建筑物轮廓图FootPrint模型和精细三维模型的电子地图,包括:
[0009] 针对任一精细三维模型,获取所述精细三维模型的形状点在经纬度坐标平面内的投影点,以及确定所述投影点所在的瓦片;并
[0010] 针对所述投影点所在的每一个瓦片中的每一个FootPrint面,从FootPrint数据中获取所述FootPrint面的形状点的经纬度坐标;
[0011] 检测所述投影点组成的所述精细三维模型的投影面和所述FootPrint面的经纬度坐标范围是否部分或全部重叠;
[0012] 当所述精细三维模型的投影面和所述FootPrint面的经纬度坐标范围部分或全部重叠时,将所述FootPrint面的高度设为0。
[0013] 本发明提供一种电子地图数据的制作装置,用于制作包含建筑物轮廓图FootPrint模型和精细三维模型的电子地图,所述装置包括:
[0014] 第一获取模块,用于针对任一精细三维模型,获取所述精细三维模型的形状点在经纬度坐标平面内的投影点,以及确定所述投影点所在的瓦片;
[0015] 第二获取模块,用于针对所述投影点所在的每一个瓦片中的每一个FootPrint面,从FootPrint数据中获取所述FootPrint面的形状点的经纬度坐标;
[0016] 检测模块,用于检测所述投影点组成的所述精细三维模型的投影面和所述FootPrint面的经纬度坐标范围是否部分或全部重叠;
[0017] 设置模块,用于当所述精细三维模型的投影面和所述FootPrint面的经纬度坐标范围部分或全部重叠时,将所述FootPrint面的高度设为0。
[0018] 本发明至少具有以下有益效果:通过在经纬度坐标平面内检测FootPrint面与精细三维模型的投影是否有重合,若有,表示该FootPrint面与精细三维模型重合,则将该FootPrint面的高度设置为0。由于在渲染精细三维模型时,如果FootPrint面的高度为0,则该FootPrin面将不再显示,从而有效避免了两模型之间重合而导致的显示效果差的问题;此外,通过自动检测出与精细三维模型重合的FootPrint面,并自动将该面的高度设为0,实现无需人工删除与精细三维模型重合的FootPrint面的FootPrint数据,提高了在数据制作过程中的数据处理效率,有效避免由于人工误操作带来的问题;此外,本发明实施例还保留了FootPrint面的FootPrint数据,从而有效避免了因删除含有多种信息的FootPrint数据,存在的潜在负面作用。
[0019] 应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。

附图说明

[0020] 图1为本发明实施例中电子地图数据的制作方法的示例性流程图;
[0021] 图2为本发明实施例中电子地图数据的制作方法的另一示例性流程图;
[0022] 图3为本发明实施例中电子地图数据的制作装置的示意图。

具体实施方式

[0023] 以下结合说明书附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明,并且在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
[0024] 本发明实施例提供一种电子地图数据的制作方法,用于制作包含FootPrint模型和精细三维模型的电子地图,该方法能在电子地图包含多种数据来源的情况下,处理跨瓦片的用于渲染精细三维模型的三维模型数据(如3D Landmark数据),可适用于任意形状三维模型的三维数据。
[0025] 在本发明实施例提供的技术方案中,将精细三维模型向经纬度坐标平面(即地面)做投影,在经纬度坐标平面内检测FootPrint面与精细三维模型的投影面的经纬度坐标范围是否部分或全部重叠,若是,表示该FootPrint面与精细三维模型重合,则将该FootPrint面的高度设置为0(即该FootPrint面在FootPrint数据中的高度数据为0)。
[0026] 下面对本发明实施例中的电子地图数据的制作方法进行详细说明。
[0027] 实施例一
[0028] 如图1所示,为本发明实施例中电子地图数据的制作方法的示例性流程图,该方法包括步骤101-步骤104:
[0029] 步骤101:针对任一精细三维模型,获取所述精细三维模型的形状点在经纬度坐标平面内的投影点,以及确定所述投影点所在的瓦片。
[0030] 步骤102:针对所述投影点所在的每一个瓦片中的每一个FootPrint面,从FootPrint数据中获取所述FootPrint面的形状点的经纬度坐标。
[0031] 步骤103:检测所述投影点组成的所述精细三维模型的投影面和所述FootPrint面的经纬度坐标范围是否部分或全部重叠。
[0032] 步骤104:当所述精细三维模型的投影面和所述FootPrint面的经纬度坐标范围部分或全部重叠时,将所述FootPrint面的高度设为0。
[0033] 其中,在一个实施例中,在步骤101之前,当用于渲染精细三维模型的三维模型数据和所述FootPrint数据,未按照瓦片进行切割存储时,可以按照瓦片将所述FootPrint数据和所述三维模型数据分别进行切割并存储,以便于能够迅速的按照瓦片获取精细三维模型的形状点在经纬度坐标平面的投影点,和获取FootPrint面的形状点的经纬度坐标。
[0034] 下面对步骤103进行详细说明:
[0035] 步骤103可以执行为以下四种方式:
[0036] 方式一:
[0037] 检测投影点是否在FootPrint面内,具体的,步骤103可执行为步骤A1-A2:
[0038] 步骤A1:判断所述投影点中是否至少有一个投影点的经纬度坐标在所述FootPrint面的经纬度坐标范围内。
[0039] 其中,当投影点的经纬度坐标在FootPrint面的边上时,可以视为该投影点的经纬度坐标不在FootPrint面的经纬度坐标范围内。
[0040] 步骤A2:当所述投影点中至少有一个投影点的经纬度坐标在所述FootPrint面的经纬度坐标范围内时,确定所述精细三维模型的投影面和所述FootPrint面的经纬度坐标范围部分或全部重叠。
[0041] 其中,当所述投影点的经纬度坐标都不在所述FootPrint面的经纬度坐标范围内时,确定所述精细三维模型的投影面和所述FootPrint面的经纬度坐标范围完全不重叠。
[0042] 通过检测投影点中是否至少有一个投影点的经纬度坐标在所述FootPrint面的经纬度坐标范围内,将对三维模型的投影面和FootPrint面的经纬度坐标范围是否部分或全部重叠,简化为对点是否在经纬度坐标范围内的检测,从而能够提高检测效率。
[0043] 进一步的,在一个实施例中,当所述FootPrint面的形状点的数量大于预设阈值时,步骤A1可执行为步骤B1-B2:
[0044] 步骤B1:根据所述FootPrint面的形状点的经纬度坐标确定所述FootPrint面的最小矩形包围盒坐标范围,其中,所述FootPrint面的最小矩形包围盒是指,在经纬度坐标平面内包含所述FootPrint面的所有形状点的经纬度坐标的最小矩形。
[0045] 其中,可以以FootPrint面中距离最远的两个形状点之间的距离,为最小矩形包围盒的长;对该两个形状点做连线,以在垂直于该连线的两个方向上,在该FootPrint面中在上述的两个方向上各找出距离该连线最远的两个形状点,以距离该连线最远的两个形状点到该连线的距离之和,作为最小矩形包围盒的宽。
[0046] 需要说明的是,任何根据现有技术能够确定最小矩形包围盒的方法均适用于本发明实施例,在此不做限定。
[0047] 步骤B2:判断所述投影点中是否至少有一个投影点的经纬度坐标在所述FootPrint面的最小矩形包围盒坐标范围内。
[0048] 上述步骤A2可执行为:当所述投影点中至少有一个投影点的经纬度坐标在所述FootPrint面的最小矩形包围盒坐标范围内时,确定所述精细三维模型的投影面和所述FootPrint面的经纬度坐标范围部分或全部重叠。
[0049] 其中,当所述投影点的经纬度坐标都不在所述FootPrint面的最小矩形包围盒坐标范围内时,确定所述精细三维模型的投影和所述FootPrint面的经纬度坐标范围完全不重叠。
[0050] 通过当FootPrint面的形状点大于预设阈值时,将投影点是否在复杂的具有较多边的FootPrint面中的检测,简化为检测投影点的经纬度坐标是否在一个简单的矩形中的检测,在FootPrint面的形状点较多时,可以进一步提高检测效率。
[0051] 方式二:
[0052] 检测FootPrint面的形状点是否在投影面内,具体的,步骤103可以执行为步骤C1-C3:
[0053] 步骤C1:根据所述投影点的经纬度坐标,确定所述投影点的最小矩形包围盒坐标范围,其中,所述投影点的最小矩形包围盒是指,在经纬度坐标平面内包含所有的所述投影点的经纬度坐标的最小矩形。
[0054] 其中,投影点的最小矩形包围盒的确定方法,与上述FootPrint面的最小矩形包围盒的确定方法可以相同,在此不再赘述。
[0055] 步骤C2:判断所述FootPrint面的形状点中是否至少有一个形状点的经纬度坐标在所述投影点的最小矩形包围盒坐标范围内。
[0056] 步骤C3:当所述FootPrint面的形状点中至少有一个形状点的经纬度坐标在所述投影点的最小矩形包围盒坐标范围内时,确定所述精细三维模型的投影面和所述FootPrint面的经纬度坐标范围部分或全部重叠。
[0057] 其中,当所述FootPrint面的形状点的经纬度坐标都不在所述投影点的最小矩形包围盒坐标范围内时,确定所述精细三维模型的投影面和所述FootPrint面的经纬度坐标范围完全不重叠。
[0058] 由于一般情况下FootPrint面的形状点的数量相对投影点的数量较少,通过检测FootPrint面的形状点的经纬度坐标是否在投影点的最小矩形包围盒坐标范围内,可以减少检测的点的数量,从而能够提高检测效率。
[0059] 方式三:
[0060] 检测面与面是否部分或全部重叠,具体的,步骤103可执行为步骤D1-D4:
[0061] 步骤D1:根据所述投影点的经纬度坐标,确定所述投影点的最小矩形包围盒坐标范围,其中,所述投影点的最小矩形包围盒是指,在经纬度坐标平面内包含所有的所述投影点的经纬度坐标的最小矩形。
[0062] 步骤D2:根据所述FootPrint面的形状点的经纬度坐标确定所述FootPrint面的最小矩形包围盒坐标范围,其中,所述FootPrint面的最小矩形包围盒是指,在经纬度坐标平面内包含所述FootPrint面的所有形状点的经纬度坐标的最小矩形。
[0063] 步骤D3:判断所述投影点的最小矩形包围盒坐标范围和所述FootPrint面的最小矩形包围盒坐标范围是否部分或全部重叠。
[0064] 步骤D4:当所述投影点的最小矩形包围盒坐标范围和所述FootPrint面的最小矩形包围盒坐标范围部分或全部重叠时,确定所述精细三维模型的投影面和所述FootPrint面的经纬度坐标范围部分或全部重叠。
[0065] 当所述投影点的最小矩形包围盒坐标范围和所述FootPrint面的最小矩形包围盒坐标范围完全不重叠时,确定所述精细三维模型的投影面和所述FootPrint面的经纬度坐标范围完全不重叠。
[0066] 通过检测两个最小矩形包围盒坐标范围是否部分或完全重叠实现对精细三维模型的投影面和FootPrint面的经纬度坐标范围是否部分或全部重叠的检测,简化为对两个最小矩形包围盒坐标范围的检测,可以提高检测效率。
[0067] 方式四:
[0068] 检测线线是否相交,具体的,为提高检测的准确性,步骤103可以执行为步骤E1-E2:
[0069] 步骤E1:检测所述投影点的任意两点的连线中是否至少存在一条连线与所述FootPrint面的至少一个边相交。
[0070] 其中,FootPrint面的相邻的两个形状点,构成该FootPrint面的一条边。
[0071] 步骤E2:当所述投影点的任意两点的连线中至少存在一条连线与所述FootPrint面的至少一个边相交时,确定所述精细三维模型的投影面和所述FootPrint面的经纬度坐标范围部分或全部重叠。
[0072] 其中,当所述投影点的任意两点的连线中不存在与所述FootPrint面的至少一个边相交的连线,且所述投影点与所述FootPrint面不具有包含关系时,确定所述精细三维模型的投影和所述FootPrint面的经纬度坐标范围完全不重叠,其中,所述投影点与所述FootPrint面具有包含关系是指,所述投影点的经纬度坐标都在所述FootPrint面的形状点的经纬度坐标范围内或所述投影点的经纬度坐标都在所述FootPrint面的形状点的经纬度坐标范围外。
[0073] 其中,精细三维模型的投影面可能是一个不规则的形状,可能是凸多边形,也可能是凹多边形。通过检测投影点的连线是否与FootPrint面的边相交,即可以理解为根据精细三维模型的投影面和FootPrint面的各自的实际形状进行检测,从而可以提高检测的准确性。
[0074] 综上,本发明实施例通过在经纬度坐标平面内检测FootPrint面与精细三维模型的投影是否有重合,若有,表示该FootPrint面与精细三维模型重合,则将该FootPrint面的高度设置为0。由于在渲染精细三维模型时,如果FootPrint面的高度为0,则该FootPrin面将不再显示,从而有效避免了两模型之间重合而导致的显示效果差的问题;此外,通过自动检测出与精细三维模型重合的FootPrint面,并自动将该面的高度设为0,实现无需人工删除与精细三维模型重合的FootPrint面的FootPrint数据,提高了在数据制作过程中的数据处理效率,有效避免由于人工误操作带来的问题;此外,本发明实施例还保留了FootPrint面的FootPrint数据,从而有效避免了因删除含有多种信息的FootPrint数据,存在的潜在负面作用。
[0075] 下面通过一个简单的实施例,对本发明实施例中,电子地图数据的制作方法进行详细说明。
[0076] 实施例二
[0077] 以精细三维模型为由3D Landmark数据渲染的3D Landmark模型为例,针对精细三维模型的投影点跨瓦片的情况进行处理,对本发明实施例中电子地图数据的制作方法进行详细说明,如图2所示,该方法包括步骤201-步骤210:
[0078] 步骤201:按照瓦片将FootPrint数据和3D Landmark数据分别进行切割并存储。
[0079] 其中,在一个实施例中,可以根据表1所示的表结构存储FootPrint数据。表1中的“形状点序列”用于存储FootPrint面的形状点的经纬度坐标以及该FootPrint面的高度数据;表1中的“瓦片信息”,用于表示该FootPrint面所属的瓦片。
[0080] 表1 FootPrint数据存储示意
[0081]
[0082]
[0083] 相应的3D Landmark数据的存储结构可以如表2所示,表2中“瓦片信息”表示3D Landmark模型所属的瓦片;表2中“形状点序列”用于存储3D Landmark模型的形状点的经纬度坐标和高度数据。
[0084] 表2 FootPrint数据存储示意
[0085]ID(主键) 类型 形状点序列 瓦片信息
a 3D Landmark … A
b 3D Landmark … A
c 3D Landmark … A
d 3D Landmark … A
[0086] 步骤202:从步骤1中切割存储的3D Landmark数据中,针对瓦片A中的任一3D Landmark模型,获取所述3D Landmark模型的形状点在经纬度坐标平面内的投影点。
[0087] 其中,在一个实施例中,可以在表2的基础上增加一“投影”列,用于存储3D Landmark模型的投影点。
[0088] 步骤203:针对瓦片A中的每一个FootPrint面,从步骤1中切割存储的FootPrint数据中,获取所述FootPrint面的形状点的经纬度坐标。
[0089] 其中步骤203的执行顺序不受限制,步骤203可以与步骤202同时执行,也可以在步骤201之后且在步骤202之前执行。
[0090] 步骤204:判断所述FootPrint面的形状点的数量是否大于预设阈值,若否则执行步骤205,若是则执行步骤206。
[0091] 步骤205:判断所述投影点中是否至少有一个投影点的经纬度坐标在所述FootPrint面的经纬度坐标范围内,若是执行步骤208,若否执行步骤209。
[0092] 步骤206:根据所述FootPrint面的形状点的经纬度坐标确定所述FootPrint面的最小矩形包围盒坐标范围,其中,所述FootPrint面的最小矩形包围盒是指,在经纬度坐标平面内包含所述FootPrint面的所有形状点的经纬度坐标的最小矩形,之后执行步骤207。
[0093] 步骤207:判断所述投影点中是否至少有一个投影点的经纬度坐标在所述FootPrint面的最小矩形包围盒坐标范围内,若是,执行步骤208,若否,执行步骤209。
[0094] 步骤208:将所述FootPrint面的高度设为0。
[0095] 步骤209:判断所述投影点中是否至少有一个投影点在瓦片A的相邻瓦片B中,若是,执行步骤210,若否则结束。
[0096] 其中,在一个实施例中步骤209是为了处理3D Landmark的投影跨瓦片的情况而存在的,因此该步骤的执行顺序也可以不受限制,例如步骤209可以在步骤202之后执行。此外,当3D Landmark模型的投影点跨瓦片时,可以记录下投影点所在瓦片的瓦片信息,用于根据该瓦片信息确定对哪个瓦片进行检测。
[0097] 步骤210:针对瓦片B中的每一个FootPrint面,若该FootPrint面与3D Landmark模型的投影面的经纬度坐标范围部分或全部重叠时,将该FootPrint面的高度设为0。
[0098] 需要说明的是,可以按照瓦片,先确定对哪个瓦片进行处理,在确定对该瓦片中的哪个精细三维模型进行处理;也可以先确定对哪个精细三维模型进行处理,再进而根据该精细三维模型的投影点,确定对该投影点所在的瓦片进行处理,以上两种方法均适用于本发明实施例,对此不做限定。
[0099] 本发明实施例中还提供一种电子地图数据的制作装置,用于制作包含建筑物轮廓图FootPrint模型和精细三维模型的电子地图,如图3所示,该装置包括:
[0100] 第一获取模块301,用于针对任一精细三维模型,获取所述精细三维模型的形状点在经纬度坐标平面内的投影点,以及确定所述投影点所在的瓦片;
[0101] 第二获取模块302,用于针对所述投影点所在的每一个瓦片中的每一个FootPrint面,从FootPrint数据中获取所述FootPrint面的形状点的经纬度坐标;
[0102] 检测模块303,用于检测所述投影点组成的所述精细三维模型的投影面和所述FootPrint面的经纬度坐标范围是否部分或全部重叠;
[0103] 设置模块304,用于当所述精细三维模型的投影面和所述FootPrint面的经纬度坐标范围部分或全部重叠时,将所述FootPrint面的高度设为0。
[0104] 其中,在一个实施例中,所述检测模块303包括:
[0105] 第一判断单元,用于判断所述投影点中是否至少有一个投影点的经纬度坐标在所述FootPrint面的经纬度坐标范围内;
[0106] 第一确定单元,用于当所述投影点中至少有一个投影点的经纬度坐标在所述FootPrint面的经纬度坐标范围内时,确定所述精细三维模型的投影面和所述FootPrint面的经纬度坐标范围部分或全部重叠。
[0107] 其中,在一个实施例中,所述第一判断单元包括:
[0108] 第一面矩形确定子单元,用于当所述FootPrint面的形状点的数量大于预设阈值时,根据所述FootPrint面的形状点的经纬度坐标确定所述FootPrint面的最小矩形包围盒坐标范围,其中,所述FootPrint面的最小矩形包围盒是指,在经纬度坐标平面内包含所述FootPrint面的所有形状点的经纬度坐标的最小矩形;
[0109] 判断子单元,用于判断所述投影点中是否至少有一个投影点的经纬度坐标在所述FootPrint面的最小矩形包围盒坐标范围内;
[0110] 所述第一确定单元用于当所述投影点中至少有一个投影点的经纬度坐标在所述FootPrint面的最小矩形包围盒坐标范围内时,确定所述精细三维模型的投影面和所述FootPrint面的经纬度坐标范围部分或全部重叠。
[0111] 其中,在一个实施例中,所述检测模块包括:
[0112] 第一投影点矩形确定单元,用于根据所述投影点的经纬度坐标,确定所述投影点的最小矩形包围盒坐标范围,其中,所述投影点的最小矩形包围盒是指,在经纬度坐标平面内包含所有的所述投影点的经纬度坐标的最小矩形;
[0113] 第二判断单元,用于判断所述FootPrint面的形状点中是否至少有一个形状点的经纬度坐标在所述投影点的最小矩形包围盒坐标范围内;
[0114] 第二确定单元,用于当所述FootPrint面的形状点中至少有一个形状点的经纬度坐标在所述投影点的最小矩形包围盒坐标范围内时,确定所述精细三维模型的投影面和所述FootPrint面的经纬度坐标范围部分或全部重叠。
[0115] 其中,在一个实施例中,所述检测模块包括:
[0116] 第二投影点矩形确定单元,用于根据所述投影点的经纬度坐标,确定所述投影点的最小矩形包围盒坐标范围,其中,所述投影点的最小矩形包围盒是指,在经纬度坐标平面内包含所有的所述投影点的经纬度坐标的最小矩形;
[0117] 第二面矩形确定单元,用于根据所述FootPrint面的形状点的经纬度坐标确定所述FootPrint面的最小矩形包围盒坐标范围,其中,所述FootPrint面的最小矩形包围盒是指,在经纬度坐标平面内包含所述FootPrint面的所有形状点的经纬度坐标的最小矩形;
[0118] 第三判断单元,用于判断所述投影点的最小矩形包围盒坐标范围和所述FootPrint面的最小矩形包围盒坐标范围是否部分或全部重叠;
[0119] 第三确定单元,用于当所述投影点的最小矩形包围盒坐标范围和所述FootPrint面的最小矩形包围盒坐标范围部分或全部重叠时,确定所述精细三维模型的投影面和所述FootPrint面的经纬度坐标范围部分或全部重叠。
[0120] 关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
[0121] 本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
[0122] 本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0123] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0124] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0125] 尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
[0126] 显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。