三维静态地图生产方法与流程

文档序号:12367338阅读:254来源:国知局

本发明涉及一种地图生产方法,尤其涉及一种三维静态地图生产方法。



背景技术:

传统的2.5维地图在生产或生成过程中比较依赖于人工编辑修饰,地图中的数据在更新时需要耗费大量人力。传统的地图生产方法在地图渲染、建筑物的对象化、地图注记的产生等方面都非常依赖于人工参与、调整,因而人力成本过高且容易发生错误。此外,传统的2.5维地图在生成过程中会丢失三维空间坐标,因而仅具有三维的表现形式,但却不具备三维空间的运算和分析能力。



技术实现要素:

本发明要解决的技术问题是为了克服现有技术中的地图生产方法过于依赖人工参与和调整因而人力成本过高,同时不具备三维空间的运算和分析能力的缺陷,提供一种三维静态地图生产方法。

本发明是通过下述技术方案来解决上述技术问题的:

本发明提供了一种三维静态地图生产方法,其特点在于,在一地图的基础上执行以下步骤:

步骤一、渲染该地图中的构筑物;

步骤二、处理地面影像;

步骤三、生成地图标记;

步骤四、渲染该地图;

步骤五、将构筑物对象化并赋予三维空间的计算分析能力。

其中步骤一包括一分幅步骤和一定位渲染步骤,该分幅步骤包括:

计算出该地图中的构筑物模型的倾斜投影多边形;

根据该地图的当前格网选择与构筑物模型相交的构筑物倾斜投影面;

根据选取的构筑物倾斜投影面获取对应的影响区域内涉及的所有三维模型。

该定位渲染步骤包括:

以平行投影的方式将构筑物模型映射到平面上;

将待渲染的原始网格范围转换为一实际渲染网格范围;

并将多个分幅渲染图片加载到该地图中。

在构筑物渲染的渲染步骤中,大体可分为分幅、渲染与定位。传统方法中的分幅主要采用的是基于空间位置的分幅方式,即根据构筑物是否坐落于一定宽度与长度的规则地理格网内为条件进行分幅。然而三维静态地图采取的是倾斜投影,因此如果仅加载格网范围内建筑模型,会造成部分渲染后缺失相邻格网内的高层建筑投影部分。为了解决上述渲染后部分投影缺失的问题,通常只有在渲染过程中把相邻格网范围内的所有建筑都加载进行渲染,这就必然导致渲染时的模型数量明显增大而造成渲染时间变长,并且也无法完全解决缺失部分超高层投影部分的问题。

为此,本发明采取了基于倾斜投影影响区域的分幅方式,即首先计算出模型的倾斜投影多边形,然后根据当前格网选择与其空间位置相交的构筑物倾斜投影面,最终根据投影面获得对应影响区域内涉及的所有构筑物三维模型。这就使得本发明的方法,能大幅减少渲染过程中加载的模型数量,有效节省模型渲染时间,提升模型渲染效率,同时又完全解决渲染后部分投影缺失的问题。

并且,为了避免三维静态地图渲染时发生变形从而影响分幅图片坐标的定位与拼接,在定位渲染中采用平行投影的方式。而为了更好表达场景的灯光效果,可以选用Vray渲染器。

由于3DS MAX中渲染范围与实际的网格范围存在差异,因此需要在地图生产过程中确定实际的渲染网格范围。为了能够既保证将原始网格范围内的地物全部包含在内,又不增加过多的时间损耗,在渲染范围转换的时候应 当使用原始网格的最小外接矩形作为实际渲染范围。实际生产过程中可以根据摄像机水平旋转角的变化动态计算出任意旋转角下的最小渲染网格范围,从而大大提高了实际渲染的效率。

应当理解的是,每个分幅渲染图片都带有准确的地理坐标,因此可以在将各个分幅渲染图片加载到该地图中,并利用ArcGIS Server对合并后的三维构筑物进行切片与发布。

较佳地,步骤二包括:

根据以下投影变换公式将地图平面坐标值变换至三维地图坐标值;

x'=x cos(θz)-y sin(θz);

y'=cos(θx)*[y cos(θz)+x sin(θz)];

在上述投影变换公式中,x、y为地图平面坐标值,x’、y’为三维地图坐标值,θz为三维地图的视角与z轴的夹角,θz为三维地图的视角与x轴的夹角。

本发明的方法中,地面影像处理的数据源采用数字正射影像。影像处理模块起到效果修饰、影像坐标投影变换的作用。对于效果修饰,一般需要对影像首先进行整体色调与色彩饱和度地调整,然后对于重点区域进行地面道路与空旷区域的局部修饰以达到较好的图面效果。

针对坐标投影变换来说,根据三维静态地图投影的定义,对三维模型在不同用户视图视角的投影,其实就是对模型在不同方向旋转某一角度后,投影在固定投影面上的图形。因此,采用的投影变换公式为:

x'=x cos(θz)-y sin(θz);

y'=cos(θx)*[y cos(θz)+x sin(θz)]。

较佳地,步骤三包括:

对该地图中的道路中心线的矢量数据进行预处理,预处理包括对地图标记与道路交叉口的重叠区域进行拓扑裁切运算以及对预设的地图标记的格 式转换;

对地图标记的对象与构筑物倾斜投影面进行拓扑运算,以去除构筑物的遮挡部分;

将地图标记叠加于该地图上。

由于在三维静态地图中道路通常都会被建筑投影所遮挡,如果直接进行自动化注记生产,例如标注道路名称时,会产生注记被遮挡,或者道路注记显示在建筑物上的情况,造成图面效果不理想或注记错误。

为了解决这些问题,本发明中通过上述步骤三以使得注记智能化地避开建筑投影区域。具体来说,首先对道路中心线的矢量数据进行一定的预处理,其中包括与道路交叉口的重叠区域进行拓扑裁切运算以及注记名称的格式转换,然后将需要标注的道路与构筑物倾斜投影面进行拓扑运算,去除建筑物被遮挡部分后,再进行道路的标注,从而有效避免注记与建筑投影区域的位置冲突。

进一步地,在去除掉建筑投影区域后,要将城市坐标下的道路线转换至2.5维坐标系统下,并将其叠合至事先已经渲染好的建筑图上,再利用ArcMap的地图标注引擎对道路进行自动的标注,生成Annotation图层,然后对部分自动标注位置不理想的地方进行手工的修改,以加以完善。当然,对于本发明的方法而言,手工修改或编辑并非是必须进行的。手工部分编辑完成后,就通过程序再进行一次遮挡面的判别,同时将自动生成注记渲染索引,利用3DS MAX对注记进行最终渲染。为了能够达到较好的渲染效果,项目中将注记的名称进行了拆分,通过计算得到了每个字的相关属性,最终将每个字作为单独的对象进行渲染。

在配置好注记的位置与样式后,将通过开发注记渲染工具实现注记分块导出和在3DSMax环境中自动构建字体三维模型并实现自动逐块烘焙。

较佳地,步骤四为:在一控制计算机对该地图的渲染任务进行分配配置,采用多台计算机并行执行配置好的渲染任务。

三维静态地图的渲染是一项非常费时的一项工作,在传统的地图生产方法中,这部分工作基本上占据了三维静态地图生产过程中60%以上的时间。在本发明中,可以采用基于云架构的渲染方式以解决这一问题。用户只需要在一台的计算机上进行渲染任务的分配,由其他多台计算机并行执行任务完成图片的渲染。这样就提高了渲染处理效率,更是实现了渲染过程的可伸缩性,稳定性。

较佳地,步骤五包括:

计算构筑物的轮廓范围面,基于该轮廓范围面将构筑物对象化,并添加相应属性;

采用视线求交算法计算得出视线向量和构筑物模型的交点,并根据交点确定用户获取的三维坐标值,然后将确定的三维坐标值作为三维空间分析的基础。

地图对象化就是将图片中相应的建筑物勾选出来,并赋予相应的属性,这些属性可以预先从相应的数据库中获取,从而提供地图浏览查询等应用功能。上述步骤五采用了视线求交算法,利用三维静态地图上获取的目标点坐标和地图投影参数,确定视线向量,然后将该视线向量与模型库中进行求交,计算得出与三维模型的交点,该交点就是用户地图上获取的准确三维坐标值,可用于相应的空间查询和三维计算。

在符合本领域常识的基础上,上述各优选条件,可任意组合,即得本发明各较佳实例。

本发明的积极进步效果在于:本发明的三维静态地图生产方法具有较高的生产效率以及地理精度,不依赖于人工调整,可以看做传统三维地图的静态化、轻量化表现,其兼顾了三维地图的空间运算能力以及二维地图的高性 能特性,兼具平面化数据表达与三维化空间分析的技术优势。

附图说明

图1为本发明一较佳实施例的三维静态地图生产方法的流程图。

具体实施方式

下面通过实施例的方式进一步说明本发明,但并不因此将本发明限制在所述的实施例范围之中。

本实施例的三维静态地图生产方法,其所采用的原始数据主要来自于现有的城市三维模型库、正射影像图及基础地形数据。如图1所示,本实施例的三维静态地图生产方法基于一地图,并且包括以下步骤:

步骤一、渲染该地图中的构筑物;

步骤二、处理地面影像;

步骤三、生成地图标记;

步骤四、渲染该地图;

步骤五、将构筑物对象化并赋予三维空间的计算分析能力。

其中步骤一包括一分幅步骤和一定位渲染步骤,该分幅步骤包括:

计算出该地图中的构筑物模型的倾斜投影多边形;

根据该地图的当前格网选择与构筑物模型相交的构筑物倾斜投影面;

根据选取的构筑物倾斜投影面获取对应的影响区域内涉及的所有三维模型。

该定位渲染步骤包括:

以平行投影的方式将构筑物模型映射到平面上;

将待渲染的原始网格范围转换为一实际渲染网格范围;

并将多个分幅渲染图片加载到该地图中。

在构筑物渲染的渲染步骤中,大体可分为分幅、渲染与定位。本实施例基于倾斜投影影响区域的进行分幅,即首先计算出模型的倾斜投影多边形, 然后根据当前格网选择与其空间位置相交的构筑物倾斜投影面,最终根据投影面获得对应影响区域内涉及的所有构筑物三维模型。

本实施例的步骤二包括根据以下投影变换公式将地图平面坐标值变换至三维地图坐标值;

x'=x cos(θz)-y sin(θz);

y'=cos(θx)*[y cos(θz)+x sin(θz)];

在上述投影变换公式中,x、y为地图平面坐标值,x’、y’为三维地图坐标值,θz为三维地图的视角与z轴的夹角,θz为三维地图的视角与x轴的夹角。地面影像处理的数据源采用数字正射影像。影像处理模块起到效果修饰、影像坐标投影变换的作用。对于效果修饰,一般需要对影像首先进行整体色调与色彩饱和度地调整,然后对于重点区域进行地面道路与空旷区域的局部修饰以达到较好的图面效果。

本实施例的步骤三包括:

对该地图中的道路中心线的矢量数据进行预处理,预处理包括对地图标记与道路交叉口的重叠区域进行拓扑裁切运算以及对预设的地图标记的格式转换;

对地图标记的对象与构筑物倾斜投影面进行拓扑运算,以去除构筑物的遮挡部分;

将地图标记叠加于该地图上。

具体来说,首先对道路中心线的矢量数据进行一定的预处理,其中包括与道路交叉口的重叠区域进行拓扑裁切运算以及注记名称的格式转换,然后将需要标注的道路与构筑物倾斜投影面进行拓扑运算,去除建筑物被遮挡部分后,再进行道路的标注,从而有效避免注记与建筑投影区域的位置冲突。

进一步地,在去除掉建筑投影区域后,要将城市坐标下的道路线转换至2.5维坐标系统下,并将其叠合至事先已经渲染好的建筑图上,再利用 ArcMap的地图标注引擎对道路进行自动的标注,生成Annotation图层,然后对部分自动标注位置不理想的地方进行手工的修改,以加以完善。

本实施例中的步骤四为:在一控制计算机对该地图的渲染任务进行分配配置,采用多台计算机并行执行配置好的渲染任务。其中,该控制计算机相对来说可以是运算能力稍弱的,而对于该多台计算机的运算速度一般也不必有特定的要求。由多台计算机的并行渲染,就提高了渲染处理效率,实现了渲染过程的可伸缩性,稳定性。

本实施例的步骤五包括:

计算构筑物的轮廓范围面,基于该轮廓范围面将构筑物对象化,并添加相应属性;

采用视线求交算法计算得出视线向量和构筑物模型的交点,并根据交点确定用户获取的三维坐标值,然后将确定的三维坐标值作为三维空间分析的基础。

地图对象化就是将图片中相应的建筑物勾选出来,并赋予相应的属性,这些属性可以预先从相应的数据库中获取,从而提供地图浏览查询等应用功能。而采用视线求交算法计算得出的交点就是用户地图上获取的准确三维坐标值,可用于相应的空间查询和三维计算。

虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这些仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。

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