具有立体效果的地图制作

306 篇文章 79 订阅

具有立体效果的地图制作

最近经常碰到用户问,使用SuperMap桌面软件能不能制作高低起伏的地形图?这个答案当然是肯定的:能!一般我会推荐用户使用DEM生成正射三维影像或者三维晕渲图,但这两者具体的有何区别,哪个更好用些?今天,就用一个实例的方式简单说明一下。

使用示例数据:SuperMapiDesktop中提供的Jingjin示范数据。因为提供的Jingjin数据是经纬度的,建议先将数据转为投影的,以保证栅格的X、Y、Z值单位统一。

1. 正射三维影像

"正射三维影像"功能,用来生成正射三维影像。在拍摄航空影像过程中,无法保证任何拍摄瞬间相机都是绝对水平的,因此得到的影像可能发生倾斜;另外由于成像方式存在的固有误差,需要对影像进行纠正,从而消除各种变形。经过纠正后的影像就是正射三维影像。

正射影像实质就是采用数字微分纠正技术,通过周边邻近栅格的高程得到当前点的合理日照强度,进行正射影像纠正的过程。

例如,图1中是Jingjin某地区的栅格原图,图2是生成的正射三维影像。

图一

正射三维影像,可以实现高低起伏的地形图的效果,但是在DEM生成正摄三维的时候:①日照的角度不能设置,只能使用系统默认;②结果数据集是影像数据集,无法设置其颜色表。虽然可以在生成正射三维影像的时候设置颜色表,如图3所示,但结果数据集已经应用,要是想做调整,就得重新再生成正射三维影像,比较麻烦。

img

图3 生成正射三维影像对话框示意

那么,是不是使用三维晕渲图就可以解决这些问题?下面我们一起来看一看。

2.三维晕渲图

三维晕渲图是通过模拟实际地表的阴影从而反映出地形起伏状况的栅格图。通过采用假想的光源照射地图,结合栅格数据得到的坡度坡向信息,获得各像元的灰度值。面向光源的斜坡的灰度值最高,背向光源的灰度值较低,即为阴影区,从而形象地表现栅格实际的地貌和地势。

三维晕渲图主要是用于显示。使用【分析】–【表面分析】–【三维晕渲图】功能,由DEM生成带有立体效果的栅格数据,如图4所示,该功能的主要参数设置:

  • 方位角:用来确定光源的方向,单位为度。值域范围顺时针0~360.

  • 高度角:光源照射时倾斜角度,单位为度,值域范围0~90.

二者默认值分别为315和45,效果是北京冬天下午的太阳位置,如果想要北京夏天正午的日照效果,更改为225和90即可,其他区域可以根据实际情况进行调整。

  • 阴影模式:提供了三种阴影模式:渲染、阴影、渲染与阴影。建议选择第三种”渲染与阴影“,得到的立体效果更真实。

  • 高程缩放倍数:栅格表面中,栅格高程值(Z 值)相对于 X 和 Y 坐标的单位变换系数。相当是夸张系数,默认为1.
    这里写图片描述

图4 三维晕渲图对话框示意
这里写图片描述
实际上,默认生成的三维晕渲图颜色表并不是上图中所示的黑白色,因为三维晕渲图的结果是栅格数据集,在其“属性“中可以重新设置颜色表,为保证后面和原始DEM的叠加显示的效果,一般选择黑白过渡色带。

接下来就是已生成的山体阴影数据和原始DEM的叠加效果渲染了。两者叠加在同一地图窗口,原始DEM图层在上层,山体阴影数据在下层,然后对原始DEM图层的透明度和亮度进行设置,DEM图层可以根据需要选用合适的颜色表,就可以轻松地创建出精美细致颇具立体感的地貌图。如图5所示。
这里写图片描述
图5:叠加效果示意

不同的应用场景下,为了达到最佳的制图效果,需要不断调整参数,例如栅格图层的透明度和亮度。之后可以在其上继续添加其他图层(如土地利用类型图、道路、河流图层),可进一步丰富地图信息。下图是不同分级和透明度设置效果:
这里写图片描述

图6中的分级,是通过对原始DEM制作范围分段专题图实现的。

如图7所示,为以三维晕渲图为底图,叠加道路、乡镇等信息配置的一幅地图。
这里写图片描述
图7 制作完成的地图示意

栅格数据集比影像数据集具有更多的可控性,例如颜色表的设置、专题图的制作、图层透明度、亮度等的设置,所以在制图时,使用栅格数据集作为底图,再叠加其他一些要素图层,地图的显示效果更优。生成地图缓存,将地图发布出来浏览,性能也不是问题。

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Unity是一款功能强大的游戏开发引擎,它提供了丰富的工具和功能来制作各种不同的游戏效果,包括立体效果。 首先,Unity提供了灵活的3D建模工具,可以创建各种形状的物体。开发者可以通过其内置的编辑器或者外部的3D建模软件来设计和建立游戏场景中的立体物体。这些物体可以是简单的几何体,也可以是复杂的模型,甚至可以使用粒子系统创建出逼真的特效。 其次,Unity还提供了强大的光照和渲染系统,可以给立体物体添加各种灯光效果,例如阴影、反射和折射等。通过设置不同的光源和材质属性,可以调整立体物体的表面光泽和颜色,使其看起来更加真实和具有立体感。 另外,Unity还支持使用各种不同的着色器(shader)来控制立体物体的外观。着色器可以用来处理立体物体的纹理贴图、法线贴图、透明度、反射等效果,通过调整着色器的参数可以实现各种想要的立体效果。 此外,Unity还提供了强大的物理引擎,可以模拟立体物体之间的碰撞和受力情况。利用物理引擎,开发者可以实现立体物体之间的真实互动,例如球体滚动、物体堆叠等。 总之,Unity提供了丰富的功能和工具,可以轻松地实现立体效果。开发者可以利用其灵活的建模工具、强大的光照和渲染系统、多样的着色器和物理引擎来制作出各种带有立体效果的游戏场景和物体,为玩家呈现出一个更加逼真和立体的游戏世界。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值