试题三(共25分)阅读下列说明,回答问题1至问题6,将解答填入答题纸的对应栏内。
【说明】某公司准备开发一个面向手机等移动终端的餐饮搜索及评价软件产品,以便于用户通过手机或平板电脑搜索符合特定条件的餐厅(或饭店)的名称、地理位置和价格等信息。当搜索到合适的饭店后,客户端软件可以启动地图子模块显示其地理位置、周边环境及到达路线等,用户还可以对地图进行放大一缩小和漫游等操作。多个饭店的照片、内部布局的三维演示、菜单及具体菜品的照片和详细介绍等内容都存放在服务器上。用户可以在客户端软件中输入查询条件、浏览查询结果,对饭店进行评价并上传相关照片。
客户端软件地图子模块的功能实现可以有两种方式,
方式一:将矢量地图信息直接传送给客户端,由客户端进行渲染再显示;
方式二:将不同比例尺、不同放大级别的地图以位图格式存放在服务器上,客户端按需下载后直接显示。
(1)请简要分析两种实现方式各有什么优缺点。
(2)如果使用上述方式二,那么为了避免用户在放大、缩小和漫游地图过程中因长时间等待而失去耐心,应该采用哪些技术?
参考答案:
(1)方式一的优点:服务器端数据存储量小、从服务器端到客户端的数据传输量小;客户端对地图可以无失真地进行任意级别的放大、缩小和漫游。其缺点:客户端负责矢量渲染运算,即将矢量地图转化为点阵图像,客户端运算负载重。
方式二的优点:客户端运算量小,更适合运算能力受限的移动手机终端。缺点:服务器端数据存储量大、从服务器端到客户端的数据传输量大;只能对地图进行有限级别的放大和缩小。
(2)将地图图像切分成多个小幅面图像分别传输和显示;将图像进行压缩编码;在放大或缩小时首先将原级别的图像进行数字运算获得较模糊的新放大级别的图像,等待服务器端的地图图像完全下载之后再将模糊图像替换掉。
解析:
矢量图是用数学的方式(算法和特征)来描述一幅图形图像,即利用数学函数来记录和表示图形线条、颜色、尺寸、坐标等属性,在处理矢量图时根据图元对应的数学表达式进行编辑和处理,数据量小,占存储空间少,可以进行任意的放大、缩小、旋转、移动和叠加等变换,而不会破坏图像的画面。显示一幅矢量图时,首先要解释这些指令,然后将描述矢量图的指令转换成屏幕上显示的形状和颜色。如果转换为点阵图像或者表示复杂,并要求很高的图像时,将需要花费大量的时间进行变换、着色等,即渲染运算。 位图图像(点阵图像)是指用像素点来描述的图,即把一幅彩色图像或灰度图像分成许许多多的像素(点),每个像素用若干二进制位来指定该像素的颜色、亮度和属性。位图图像表现比较细腻,层次较多,色彩较丰富,包含大量细节,但图像的数据量很大,占用存储空间较大,一般需要进行数据压缩。在现代通信中,特别是因特网上开展的各种应用中,图像传输速度是一项很重要的指标,减少图像的数据量是提高网络传输速度的重要手段,而减少图像数据量的基本方法是进行数据压缩。 矢量图方式和位图图像方式均能实现客户端软件地图子模块,各有利弊。如果采用位图图像方式,则应考虑用户在放大、缩小和漫游地图过程中因长时间等待而失去耐心问题。解决这一问题的方法有多种,如将地图图像分割成多个小幅面图像分别传输和显示;使用累进方式对地图图像进行压缩编码;在放大或缩小时首先将原级别的图像进行数字运算获得较模糊的新放大级别的图像,等待服务器端的地图图像完全下载之后再将模糊图像替换掉。