数据可视化技术在客流展示中的应用研究
摘 要 介绍了数据可视化技术的基本含义以及常用的实现方法,并通过一个基于b/s模式的商场客流展示系统的介绍和说明,对展示的图表进行合理的归类总结,从而达到更为系统的进行图表展示的目的。关键字 数据可视化;客流展示;图表;jfreechart;决策支持
1 引言
随着市场经济的深入发展,竞争的日益激烈,合理获取信息是企业生存的法宝。客流量是商场在商业运作中的一个重要因素,也是商业运作中的重要信息。强劲的客流量,一方面有宣传广告的效应,另一方面也是实现巨大营业额的前提。如果能精确的知道某个营业额是在某种客流量下形成的,就会分析出客流量与营业额之间的一些深层次的关系[1]。因此,对于客流量信息的采集与分析,具有重要的实际意义。 商场采集的客流信息具有数量大、复杂和实时变化的特点,单单依靠对数据信息的分析效率低下,很难及时获取有用的信息。数据可视化作为一门新兴的技术,将各种数据信息以图象、图表的方式展现给用户,直观、形象,开辟了商家快速、准确分析决策新的途径。2 数据可视化技术和实现方法
2.1 数据可视化技术的基本概念
可视化(visualization)技术是利用计算机图形学和图像处理技术,将数据转换成图形或图像在屏幕上显示出来,并进行交互处理的理论、方法和技术。wwW.11665.cOm它涉及到计算机图形学、计算机视觉、计算机辅助设计等多个领域,成为研究数据表示、决策分析等问题的综合技术。 可视化技术是一种计算方法。它将符号描述转变成几何描述,使研究者能够观察到所期望的仿真和计算结果。近年来,可视化的应用范围不断拓宽。信息可视化目前已成为可视化技术的热点研究内容,应用可视化技术,可在具有大量高维信息的金融、通信和商业领域中发现数据中隐含的内在规律,为决策提供依据。事实上,可视化已成为许多领域必不可少的计算机辅助后置数据处理部分[2][3]。2.2 客流量图表展示的实现方法
数据可视化作为一门技术科学,涉及广泛,有很多的研究领域和实现方法。随着信息化和internet的发展,使用jsp语言开发的基于b/s模式的商场客流量分析系统已经成为此领域应用的主流。在这种情况下,实现客流图表展示的常用方法有如下几种: (1)使用applet小应用程序绘图。applet是嵌在网页中的java小应用程序,在java applet中可以方便的调用java.awt包进行绘图。为了实现动态图形的显示,首先applet从jsp页中获取需要的数据,然后根据从jsp页中传来的数据绘制出图形。applet有java的支持,功能比较强大。但作为java的应用程序,在执行时必须将相应的.class文件下载到客户端,再通过浏览器来执行。由于有些浏览器不能很好的支持applet,这样对客户端的要求比较高,运行也比较慢。applet由于其运行机制,不能对图形打印和下载。同时,applet利用sandbox机制实现安全管理,存在非常大的安全问题[4][5]。 (2) 使用svg图表显示方式。svg是w3w组织为适应internet web应用的飞速发展而制定的一套基于xml语言的可缩放矢量图形语言描述规范,可以用来描述矢量图形、图像及文字等三类图形对象。svg对于图形对象可进行成组、添加样式、几何变换、复合等操作,还可以嵌入脚本语言,提高它的动态和交互性能。svg的这些特性使得它具备了一些独特的优点:能加快下载浏览速度,能获得更广泛的硬件支持,能实现方便的图形定位与检索,具有丰富的表现效果、良好的可重用性、准确的颜色描述及跨平台的能力[6]。svg功能强大,但是由于结构比较复杂,对其进行开发实现需要较强的技术背景和支持,开发周期比较长。 (3)使用jfreechart绘制图表。jfreechart是用java编写的用来生成图形开源java类库,可以做到跨平台使用。可支持的图表包括 :饼图、柱状图、线型图和区域图、散点图和bubble 图、甘特图、曲线图等等。这些不同类型的图表基本上可以满足用户对数据库中数据可视化的需求。该组件的安装使用也比较简单 ,只需要将其类库文件复制到服务器安装目录下即可使用[7]。同时它还提供了可扩展的接口,对应用户特别的需求。由于jfreechart的各种优点,它被广泛的采用于b/s的数据可视化图表的展示系统之中。 正是由于jfreechart简单实用的优点,本文研究的客流展示系统采用jfreechart进行数据可视化开发。3 客流展示系统的研究
本文通过介绍某公司的一个商场客流展示系统,分析研究数据可视化技术在客流展示中的应用。3.1 设计思想和实现方法
在客流展示系统的设计过程中,始终坚持以商场客流展示需求为基础,以实现客观有效的图表展示为重点,又充分考虑了b/s和c/s的特点,使其应用于不同的部分。系统本着通用性和方便用户的原则,进行数据库设计、算法程序设计、用户交互界面设计以及各部分的集成。 由于数据提取、传输的地理位置的限制,系统采用了c/s的模式进行数据传输。而对于图表的展示以及功能定制、管理等大部分功能模块,则采用了目前流行的b/s模式,图表的展示采用了使用简单且功能强大的jfreechart绘制图表,开发语言为jsp+java,数据采集处理用的是微软的access数据库, 客流信息展示部分使用的是流行的mysql数据库。3.2 总体构架
客流展示系统是对采集到数据进行分析、展示,获得的有效信息为商业或其它相关领域提供决策支持。系统包括数据采集传输、用户管理、商业及员工信息维护、展示图形报表、报警等功能模块。数据采集传输模块是通过外设采集客流信息,解析放入前端pc机的数据库,并通过c/s模式传入服务器数据库。用户管理主要是用户权限的分配和相关信息的维护。商业及员工信息维护包括商业销售数据、员工信息以及考勤数据的录入与维护等功能。展示图形报表包括设置和维护站点参数、定制报告、展示图表和电子表格、打印导出等功能。报警是客流展示系统实现的是对客流量的监控。3.3 图表展示功能说明
图表展示是实现数据可视化的重要部分,也是为用户提供决策信息的重要载体。客流系统的图表展示部分又分为设置和维护站点参数、定制报告和展示图表和电子表格等部分。 设置和维护站点参数是为展示图表设置各种参数,为展示数据提供必要的信息。定制报告模块允许用户定制日末、周末、月末、年末报告。一般报告可设置选择计数器组或区域范围、时间范围、图表表现形式、时间周期几个参数,然后展示图表和电子表格。系统还提供了对图表以及电子表格的导出和打印功能,以供用户备份分析,以及向上级报告。3.4 数据可视化在该系统的分析研究
3.4.1 图表的分类 在客流展示系统中,共有客流量报告、总访客量报告、比较性的顾客报告、团组大小、站点分析、销售报告、比较性销售报告等19种报告,针对不同的业务需求对数据进行汇总展示,为用户提供决策支持。通过对这些具体报告分析,对于信息数据的可视化,笔者将其汇总为四类进行分析展示: 1)单轴简单图 该类图表用于简单的图表展示,只有单轴,表示含义明确,简单明了。比如比较性顾客、比较性销售等报告。如图1所示。图1 单轴简单图实例
该图为比较性报告实例,展示了所选时间段内,所选计数器组或通道的客流量。该报告以一天的24小时为横轴,将所选各天各个时段的客流量作比较,图表中,不同时间的客流量用不同颜色表示。报告形式有普通条形图、3d条形图、曲线图、点图、点线图、电子表格。图为3d效果的条形图。2)单纵轴联合图 有些情况单轴简单图不易表示,比如要展示不同的几天各个时刻的信息。这种情况下就需要单轴联合图。 单轴联合图由多个子图表组成,这些子图表共用一个纵轴,横轴坐标可以相同也可以不同。比如客流量报告就用单纵轴联合图实现,如图2所示。这是一个双向客流的报告。该报告展示的数据内容是所选时间段内、所选计数器组(或区域)的“进”客流、“出”客流、“总客流”(即“进”与“出”客流绝对值的和)、“净客流”(即“进”与“出”客流绝对值的差值)。图表展示的是这四种客流之间的比较,四种客流用四种颜色来表示。图表横轴是时间,纵轴是客流。报告形式有区域图、曲线图、点图、点线图、电子表格。图中的表现形式为曲线图。 3)多轴简单图 针对一些展示信息,它有多个展示指标,而且这些展示指标的计量单位不同,为了在同一图中将不同计量单位的指标进行比较,就需要多轴简单图来展示,不同的计量单位的数据映射到不同的纵轴。如图3所示。
图 2 单轴联合图实例图 3 多轴简单图实例
该图为单位客流员工成本报告,展示的是所选时间范围内,客流量、员工人数、单位客流量的员工成本。图表以时间为横轴,作员工人数、客流量、单位客流量的员工成本的比较。单位客流量员工成本的计算公式如2.1所示。单位客流量的员工成本=(∑员工人数*相应员工工资)/客流量 (2.1) 4)多轴联合图 当一个图既要显示不同时间单位(比如天)的各个时刻的信息,又要将不同的量分别映射到不同的轴时,就要采用多纵轴联合图,该类情况比较复杂。总访客量报告就是用这种图实现的。如图4所示。
图4 多轴联合图实例
该图为将整个站点的人、车数据进行比较,由于通常人数会明显大于车数,甚至相差几个数量级,因此将人、车分别映射到不同的轴才便于比较。红色曲线代表整个站点中人的数据,蓝色曲线代表整个站点中车的数据。每天24小时的数据用一个子图表表示,每个子图表都有人、车两条曲线,分别映射到左、右两侧纵轴。3.2.4 客流展示的问题分析 通过对客流展示系统的分析和研究,归纳总结一些注意的问题: (1)采集的数据经过解析,加工汇总存入数据库,提供展示的基本信息。但存入的数据不一定是jfreechart需要的形式,因此,需要先进行转换,系统设计依据上述四类图,提供了一个通用的转换方法,转换后,可为jfreechart调用展示。 (2)图表的展示需要设置许多参数,设计时要将数据尽量在较少的页面上设置,防止繁杂的过程影响用户的操作。 (3)设计要满足用户使用的方便性。在图表展示界面,用户可以随时根据需要修改各个展示参数、各种表现形式,定制展示信息,以求从各个角度、方面展示所需的信息,还可查看对应的电子表格。图表是实现数据可视化,而电子表格对应准确的数据信息,只有这两方面合理的结合分析,才能为用户决策提供最大的支持。 (4) 原始数据以计数器为单位,每几分钟一条数据存放在原始数据表里,而每个报告都有按小时、天、周、月四种汇总方式,即按照这些时间间隔展示客流数据的汇总值,每次生成报告时,由用户选择按哪种时间间隔汇总数据。空间参数方面,报告展示的最小单位是计数器组,包含若干个计数器。因此,系统以线程的方式每隔一定时间对数据预处理的解决方案,增加时间汇总表和计数器组汇总表。首先,以每个计数器组为单位,将它包含的各个计数器的数据进行汇总,时间不变;然后,将每个计数器组每天的数据进行汇总,存放在以天为单位的数据表里。这样当用户请求的报告以天、周、月为单位进行展示时,直接读取天数据表,在此基础上进行计算,而不用根据原始数据表重复计算,大大提高了系统的执行效率。
4 小结
本文介绍了数据可视化的基本概念,并对常用方法进行分析比较,并通过对某客流展示系统的研究,根据实现方法将展示图表进行分类,分析了数据可视化技术在客流展示领域的具体应用问题。可视化技术为客流数据的展示提供了一种切实可行的方案,对商家用户的决策提供了很好的支持。同时,可视化作为一种新兴的技术,将会在更多的具体业务领域发挥更重要的作用。参考文献
[1] 杜开南. 大商场中的客流监测系统[j].商场现代化,2001,(2):14-15.[2] gershon nahum. information visualization[j].ieee computer graphicsand applications,1997,17(4):29-31.[3] 刘勘,周晓峥,周洞汝. 数据可视化的研究与发展[j].计算机工程,2002,28(8):1-2[4] 李伯宇,赵丽丽.在jsp中实现动态图表方法研究[j].计算机应用,2003,23(6):213-214[5] duane k f, mark a. web development with java server pages(2nd edition)[m].newyork: manning publications, 2001. [6] 王仲,董欣,陈晓鸥.svg—一种支持可缩放矢量图形的web浏览语言规范[j].中国图象图形学报,用2000,5(12): 1039-1043 [7] david gilbert. the jfreechart class library[eb/ol], simba management limited ,2002.上一篇: 房地产造价可视化管理及造价工程师职能管理
下一篇: 大三暑期实习报告--拿到的六把钥匙