王凯 张明
摘 要:家装工程数据对于委托方与受委托方均有极重要的意义。为改善传统工程类数据可视化方法在家装项目信息化过程中难以对层次多维数据进行有效处理的缺点,提出一种基于多维度转换策略的可视化方法。该方法将数据建模处理后,按数据层次类别在不同维度可视图中进行布局,最后通过属性关系映射实现不同维度的可视化视图转换。实验结果表明,多维度可视化模型在“工程—房间—墙体”的层次结构中,进度指标可视化准确率均可达到100%。基于多维度转换策略的可视化方法不仅可直观展示家装数据层次结构,还可有效降低因主观原因导致的进度指标消费误差。
关键词:家装工程;层次多维数据;数据建模;数据可视化;多维度转换
DOI:10. 11907/rjdk. 192390 开放科学(资源服务)标识码(OSID):
中图分类号:TP391文献标识码:A 文章编号:1672-7800(2020)007-0161-05
Visualization Method for House Renovation Data Based on Multidimensional Conversion Strategy
WANG Kai,ZHANG Ming
(School of Computer Science,Jiangsu University of Science and Technology,Zhenjiang 212003,China)
Abstract:House renovation engineering data is of great significance to both the clients and the trustees. By traditional visualization method engineering data is difficult to effectively process the hierarchical multidimensional data in the process of home decoration project informatization. In order to make up the disadvantage, this paper proposes a data visualization method based on muti-dimensional transformation.This method lays out the data in different dimension visual graphs according to the hierarchy after data modeling,and then realizes the visual view transformation of different dimensions by mapping attribute relations. The experimental results show that the accuracy of multi-dimensional visualization model in the hierarchy of engineering-room-wall is 100%. The visualization method based on multi-dimensional transformation strategy not only intuitively shows the hierarchical structure of the home decoration data, but also effectively reduces the subjective consumption errors of the progress index data.
Key Words:house renovation;hierarchical multidimensional data;data modeling;data visualization;multi-dimensional transformation
0 引言
一个完整的家装工程主要分为前期设计、工种入场和家具摆放3个主要步骤。自产业成型以来,家装行业工业化持续推进[1]。目前国内外家装行业主要采用模块化分解的方法运作[2],按照一定规则划分半自律性子系统,可将一整个庞大的家装工程拆分为可单独设计的独立模块,落责至不同施工队。大量实践证明这种做法可充分利用各施工队专长,有效提高工程效率和质量,但模块独立性提高的同时导致不同模块之间耦合度降低[3],子模块之间风格迁移,工程进度难以采集并量化。因此本文提出用数据可视化方法取代工程管理人员及子系统责任人之间口头或文件交换信息的形式,以解决以上问题。
家装工程数据属于层次多维数据。层次为3层:工程、房间、墙体;数据维度有二维:时间、房间。在层次多维数据可视化方面,一般采用视图变化的方法处理这种映射关系[4],把数据信息和人们希望了解的信息直接映射起来的数据可视化映射方法较为鲜见。陈谊等[5]于2016年提出一种基于热图与放射环的关联层次数据可视化方法,使用基于节点排序的放射环将具有层次结构的数据可视化;Zhao等[6]提出一种变分圆形树图,使圆形嵌套图支持向下钻取和向上滚动操作;Claessen等[7]提出将坐标轴灵活移動的方案,用户可自由设定坐标轴布局位置,从而使其不受显示区域限制;Fua等[8]利用层次聚类算法构造分层聚簇树,提出采用分层显示的方法在平行坐标中分层显示数据,从而从不同抽象层次上表示数据,有效减轻了平行坐标中视觉杂乱问题。本文借鉴以上各种可视化算法思想,结合家装工程数据内部对象多、单个对象属性多、不同对象同名属性多、属性关联性强等特点[9],提出基于多维度视图转换的策略,以解决家装数据层次维度结构复杂、难以可视化的问题。该算法首先依据对象及对象属性外键关系传递性进行建表存储,连接数据进行建模处理[10],而后将获取到的初始数据按维度布局至不同维度的可视化视图中,通过属性关系进行数据绑定,通过透明度变化、缩放、旋转实现单个维度数据可视化[11],最后通过属性关系映射,实现不同维度可视化图形之间多维度转换。
1 家装工程数据建模
由于工程数据量大且种类繁多,根据可视化目的与每类数据仓库的不同用途,本文将其分为可视化无关数据和必需数据,本部分聚焦于必需数据,除非该数据与必需数据面向于同一对象且两者存在直接或间接映射关系。
1.1 建模方法
数据处理要求对象属性不可依赖、不可再分,3NF是必不可少的[12]。以此为准则,从上述主要业务流程中挖掘出以下实体数据对象,包括房子、房间、门、窗、锁、灯、地板、墙面和天花板;抽象数据对象包括家装工程、设计总图、设计子图、用户、家装公司、材料和材料详情;映射关系对象包括门/房、窗/房、锁/门、材料/材料详情、材料/地板、材料/墙面、材料/天花板。各数据对象拥有1~2个主键,外键数量根据不同依赖关系、数量及不同对象,以软件工程方式建库存储。
1.2 数据来源
对于家装工程而言,数据可分为纵向数据和横向数据,其中横向数据量依赖于建模方法及应用范式深度,纵向数据量依赖于工程用例数量。建模过程结束的标志是数据库对象表及其映射关系的建立,对于横向数据而言,该过程不可逆。由于家装工程抽象程度及参与角色的复杂性,导致横向数据复杂。另外家装工程时间跨度较长且作为工程外第三方,纵向数据采集难度较大。在保证“横—纵”建模顺序不变的情况下,在单个纵向用例中加入新的时间维度坐标,扩展模拟纵向数据可视化以解决该问题。令W为该时间节点横向数据量,N为时间维度坐标划分个数,则总数据量R的计算公式为:
本文工程用例为[140m2],C/D型四室两厅普通单元式住宅。初步加入时间维度坐标时(t=0),保证纵向深度为1不变,同时使用过程建模方法[13],分别从每个对象中提取若干横向属性,共223个。去除可视化无关数据后,最终剩余横向必须数据属性共41个,如表1所示,而后对时间坐标进行映射拓展。
在固定间隔时间点对工程内所有对象的所有横向属性值进行非拷贝式重新测量录入。由于时间间隔与起始日测量时间点对纵向数据可挖掘信息的影响未知,因此认为同时采集3组或更多数据是必要的[14]。工程总时常为744小时,第一组起始日测量时间点为早8点,时间间隔为24小时;第二组起始日测量时间为下午5点,时间间隔为24小时;第三组起始日测量时间为下午5点,时间间隔为48小时。令工程总时长为Z,测量时间间隔为H,则该组数据纵向深度P计算公式为:
由于时间坐标不改变横向数据类型和数量,仅对其进行扩展,所以总数据量R计算公式(1)替换为:
计算后3组数据量如表2所示。
1.3 进度指标模型
在家装工程数据管理中,进度是描述整个工程快慢、工程质量的关键所在。由于工程庞大、子工程类别数量众多、子工程细化程度没有确切规则,因此该属性很难量化。传统工程进度主要靠项目负责人验收审查后提交报表,存在主观性强、延时交互、冗余性差、容错率低等一系列问题。本文以房间为对象,将整个家装工程分解为墙、地板、天花板,分别获取这3类中每个独立对象的面积进度矩阵、灯进度矩阵、门进度矩阵、窗进度矩阵和插座进度矩阵等5类易于量化的进度数据进行建模。
通常家装设计图纸提供墙体(包括天花板或地板)粉刷步骤,本文从每个房间对应的设计图中获取该数据,作为面积进度矩阵行数N,将墙体面积作为列数M,粉刷标志位为[Sij],则可生成该墙体的0-1面积进度矩阵。
以灯的数量为L,插座个数为C,门个数为D,窗个数为W,安装标志位为[Qij],则可分别生成一个行向量,共4个,将其拼接,行数为4,列数K=MAX(L,C,D,W),则生成该墙体0-1配件进度矩阵。
对于墙体进度而言,墙面、灯、插座、门、窗共同描述了该墙面进度,本文以进度“1”描述完全成型墙体,上述5项权重值分别为:
加入权重值后,墙体进度F计算式为:
由于加法运算规则和自然数“0”的特殊数学关系[15],本文通过在配件进度矩阵Q中进行不足位补“0”的操作,可进一步简化该模型。
在进行数据预处理时,定位到具体工程用例、房间、墙体,获取到初始数据,利用该模型进行计算,即可获得量化进度属性。
2 家装工程数据可视化方法
数据可视化工作按照最佳任务范畴可划分為人、机两侧。机器一侧的任务是数据挖掘、数据梳理计算、图形渲染和绘制等,人一侧的任务是感知、认识、信息组织和推理决策。目前实现数据可视化的主要方法有空间三维图形、颜色图、亮度和数学的方法[4]。
家装数据属于层次多维数据,层次为“工程—房间—墙体”。获取家装工程可视化要求数据首先链接数据库,其中包含无须处理的面积等可直接可视化的数据和与进度有关的未处理数据。利用面积等数据构建3种维度视图,将与进度有关的未处理数据导入进度模型,计算得出量化进度数据后用来填充已搭建的三维视图容器,进行可视化展示。本部分主要介绍该混合可视化方法中涉及的布局设计、属性映射、属性点连接及用户交互等关键环节。
2.1 一维布局
对于一维布局而言,用户关注点在于布局可否反映数据现象和数据特征规则。在家装工程中,该规则指时间进度规则。以“工程-房间-墙体”为例,其中横坐标为时间,纵坐标为进度。在一张图中同时加入测量时间为早8点和晚5点的两组数据,以不同颜色区分,在同一组数据中将离散的时间节点连续化形成折线图。
上述数据均由模型计算出层次结构中最下级“墙体”进度后,一层层整理融合得出,属于该工程对象,唯一变量为时间坐标。时间坐标刻度由数量测量进度均等划分,在不同组数据之间,保证划分规则和测量间隔相同,从而保证不同组进行数据对比时的可读性,并以虚线对当前时间进行标注。
2.2 二维布局
在二维布局中,主要问题对象为“房间”层次数据。房间上层数据对象为工程,下层数据对象为墙体。对于上层数据对象,通过使用一维布局至二维布局的布局转换策略实现属性关系映射,从而确定该层父级数据对象属于哪一工程;对于下层数据对象,仍按照模型计算和数据整理融合的方式得到该房间进度数据。
对于家装工程而言,房间属于小样本有限数据,传统可视化方法通常使用坐标轴划分刻度,并与数据标注相结合的方法进行布局[16]。如果不考虑地理位置、房间大小、房型布局等问题,会导致现实信息与量化信息关系映射紊乱、数据显示杂乱等问题[17]。本文使用数据与现实相结合的方式,将房间地理位置、大小、长宽、布局等数据隐藏到绘制的二维房型俯视图中,只保留房间进度这一数据,通过颜色、透明度、百分比数字等直观消费方式,提高其受关注度,成功地将数据中隐藏的复杂关系信息映射到可理解的图形图象中。
2.3 三维布局
人类认知系统最高可识别的维度为三维。作为“工程—房间—墙体”数据层次中最低层次的墙体数据,三维属性是其父级对象房间的固有属性。对于层次多维数据而言,目前常见的可视化解决方案有Scatter plot[4、18]、几何图技术[4]、图标技术、平行坐标技术[19]等。Scatter plot是显示多维数据中任意两个数据维之间依赖关系的矩阵图,可解释所有维之间的关系且不受数据集大小和维度数量影响;几何图技术包含星型图、雷达图等,以线、角等直观的几何图案代表数据维,一个几何图表示数据库内的一条数据,在牺牲数据间依赖关系的情况下,加强了同一条数据不同维度之间的变换。通过比较总结,同时考虑到传统可视化方法无法直观消化墙体位置、形状、大小、是否有有门窗等数据信息,本文采用几何图技术与3D透视模型相结合的方法对墙体数据对象进行布局[20],使用three.JS进行3D模型上色,保证光源为白色环境光的同时,通过颜色深浅区别墙体进度。
墙体作为数据层次结构最底层的数据对象,通过维度转换的布局策略可获取与其父级对象之间的映射关系,然后根据映射关系的依赖传递性,控制其父级和祖父级对象不变,从而保证该墙体对象的唯一性和确定性。
2.4 维度转换
对于面积等隐藏数据而言,存在两种情况:由一维视图转换到二维视图、由二维视图转换到三维视图。一维视图中的数据属于第一层次工程数据,维度坐标轴为时间。在数据库对象中,以时间刻度为区别标准,在数据纵向深度上扩展样本,使不同时间坐标上数据库对象完全独立,在这类维度转换中,只需获得时间坐标,便可从数据库中获取该坐标下的房产对象及工程对象设计图纸,使用three.js将其转换为平面2D俯视模型,即可完成一维到二维的视图转换。对于二维视图而言,该层次中的数据已属于层次多维数据,不同层次间的面积等隐藏数据间的映射关系较难挖掘。例如墙体信息与房间之间仅存在数量关系上的映射,为获取一一对应的映射关系,需从祖父级层次工程对象中获取设计图纸属性,再向下遍历才可得出,该算法无论从时间复杂度还是空间复杂度上考量,都极为低效。因此本文利用cookie缓存机制,基于hashmap属性映射思想[21],设计另一种算法以解决该问题,算法流程为:①在一维视图与二维视图进行转换时从数据库取出工程对象设计图纸属性,并利用hashmap进行存储,存储单位为房间;②在二维视图的线条中加入上个步骤生成的hash索引值作为跟随属性;③依据hash函数中存在的映射关系,取出hashmap中的墙体数据,将二维视图中的线条升维成面,作为墙体视图生成的房间3D透视图。
2.5 用户交互策略
在一维视图中,由于采样时间点具有离散性,导致进度数据必然是离散的。理论上,离散数据点作为一个数据奇点,并无物理面积上的占位空间,当用户进行鼠标点击或屏幕触摸操作时,若以电子设备屏幕坐标是否重合作为判断该事件是否发生的标准,将导致触摸率低、用户体验感极差等状况。因此本文通过扩大虚拟占位空间的方法,判斷点击事件是否触发,并通过确认触发的虚拟占位空间所属数据点以解决该问题[22]。在二维视图中,视图被设计为2D平面俯视图,房间这一对象在电子设备上具有屏幕分辨率缩放的占位空间,因此点击事件的触发可实现。触发二维视图的点击事件之后,二维视图升维成三维视图,本文为这两种视图添加降维触发按钮,可通过映射属性链返回上一维度视图界面。当用户需切换墙体对象或房间对象以获取信息时,通过返回父级视图,重新触发父级视图点击事件进行维度转换操作以实现该需求。此外本文还加入了拖动、鼠标滚轮缩放等PC端操作和滑动、旋转、缩放等移动端手势操作,进一步加强人机信息交互便捷性[4,22]。
对于信息的消费,根据不同数据的消费原理,共有两种消费方式:面积、大小、房型、布局、门窗信息等信息被隐藏到视图模型中,由用户通过感官认知进行间接消费;进度信息通过透明度、颜色对比度、数字、线条等一系列传统可视化人机交互方式直接与用户进行交互[4,22]。
3 实验及结果分析
3.1 实验数据及实验环境
本文对2019年6~7月间某小区真实家装工程信息进行采集并处理,初始数据共223条,其中手工注释筛选后经算法扩展,可用数据共3 157条。在前文所述算法基础上,基于HTML5、JS、CSS3和JAVA,开发了一种基于多维度转换策略的家装数据可视化工具。前端扩展包包括three.js、echart、vue.js、jquery和bootstrap,后端框架为strut3+spring+mybatis,数据库版本为mysql 8.0,硬件配置为IntelCorei7G7700(3.6GHz)CPU,32GB内存,NVIDIA QuadroP600显卡(2GB显存)。
3.2 可视化展示
对于数据一维视图而言,数据展示结果如图2所示。根据起始日采集时间和采集间隔不同共分为3组数据。其中横轴表示采集日期,纵轴表示工程进度,每个小圆点表示该组数据当日工程进度情况,鼠标移入后显示具体数值。
该图折线走向即为工程进度走向,异色差值即为当日工程推进进度,由于这3组数据真实性可溯源,从中可挖掘到如下具体信息:①当时间相同时,采集时间间隔对数据扩展并无实质影響;②6月17日晚5点30分下班停工后有进度推进;③6月7日早8点至晚5点30分无任何进度推进;④6月8日至6月17日为主要进度推进期;⑤6月25日至6月28日工程进度推进缓慢。
与工程负责人进行确认,确认以上信息皆属实无误且有迹可循。通过点击数值区域,可打开该组数据的二维视图[22]。
对于二维视图而言,数据层次主要面向对象为房间。通过对房间及其父级对象进行视图建模后,本文设计了基于房间尺寸和方位进行布局的二维视图[23],如图3所示。以1M为比例单位设计横纵坐标轴并进行加粗,将每个房间大小、布局位置等信息直接隐藏到视图模型中,以透明度0~100对每个房间进度进行不同标注。
通过透明度标注的方式,本文成功将三维数据降维至二维视图中,并以房间墙对象代替三维视图中的第三维进度数据,效果如图4所示。在该视图中通过对选中房间的立体视图建模,将墙体信息隐藏到直观的3D模型中由用户主观挖掘。在墙体进度数据方面,本文在透明度的基础上加入雷达视图以填充三维视图上下角空白处,如图5所示。
4 结语
目前,我国工程类数据可视化方法丰富,各有优劣。本文主要目的是基于现有进度量化思想,研究关系复杂的工程数据可视化方法,以期通过对家装数据可视化表达和分析,为工程管理者进行工程监控提供新的辅助手段。因此,从专业人员考核体系与评价方法的角度看,本文进度模型势必存在很多不足之处。例如,对于墙体进度而言,考核人员手工录入的方式缺乏效率和准确度,若以日报考核拍照扫描的形式生成进度矩阵,则更智能化,效率也会极大提升;再者“工程—房间—墙体”的层次数据模型结构决定了在非第一次层次数据视图中,无法同时进行不同用例对比;第三层墙体三维视图中,3D模型渲染对于数据加载速度亦有影响,这些问题是下一步研究内容。
参考文献:
[1] 刘东卫,蒋洪彪,于磊. 中国住宅工业化发展及其技术演进[J]. 建筑学报,2012(4):10-18.
[2] 钱平凡,黄川川. 模块化:解决复杂系统问题的有效方法——以家庭装修项目为例[J]. 中国工业经济,2003(11):85-90.
[3] 王永初,王启志. 耦合度的新定义及其应用[J]. 华侨大学学报(自然科学版),1999(3):59-63.
[4] 任东怀,胡俊. 多维数据可视化技术综述[J]. 工程地质计算机应用,2006(4):4-9,34.
[5] 陈谊,林晓蕾,赵云芳,等. SunMap :一种基于热图和放射环的关联层次数据可视化方法[J]. 计算机辅助设计与图形学学报,2016,28(7):107-108.
[6] ZHAO H, LU L. Variational circular treemaps for interactive visualization of hierarchical data[C]. IEEE Pacific Visualization Symposium, 2015: 81-85.
[7] CLAESSEN J H, VAN WIJK J J. Flexible linked axes for multivariate data visualization[J]. IEEE Transactions on Visualization and Computer Graphics, 2011, 17(12): 2310-2316.
[8] FUA Y H, WARD M, RUNDENSTEINER E. Hierarchical parallel coordinates for exploration of large datasets[C]. Proceedings of the IEEE Visualization Conference,1999:43-50.
[9] 张中树,张定双. 建筑装饰装修工程施工工艺探究[J]. 中国住宅设施,2013,(7):114-117.
[10] 杨彦波,刘滨,祁明月. 信息可视化研究综述[J]. 河北科技大学学报,2014,35(1):91-102.
[11] 戚森昱,杜京霖,钱沈申,等. 多维数据可视化技术研究综述[J]. 软件导刊,2015,14(7):15-17.
[12] DARWEN H, DATE C J, FAGIN R, et al. A normal for preventing redundant tuples in relational databases[C]. International Conference on Database Theory, 2012: 114-126.
[13] 钱晔,李彤,郁涌,等. 一种面向同步交互的软件演化过程建模方法[J]. 计算机科学,2016,43(8):154-158.
[14] 宁津生,杨凯. 从数字化测绘到信息化测绘的测绘学科新进展[J]. 测绘科学,2007(2):5-11,176.
[15] PELLEGRINI M, SALA M. Weight distribution of Hermitian codes and matrices rank[J]. Finite Fields and Their Applications,2019(60):423-434.
[16] KNUTH K H. Optimal data-based binning for histograms and histogram-based probability density models[J]. Digital Signal Processing,2019(95):1-12.
[17] 贾泽露,刘耀林. 可视化空间数据挖掘研究综述[J]. 地理空间信息,2009,7(6):10-15.
[18] INSELBERG A. The plane with parallel coordinates[J]. The Visual Computer,1985, 1(2): 69-91.
[19] 周志光,余佳珺,郭智勇,等. 平行坐标轴动态排列的地理空间多维数据可视分析[J]. 中国图象图形学报,2019,24(6):956-968.
[20] 徐少坤,宋国民,陈令羽,等. 多维可视化技术在地理空间元数据检索中的应用研究[J]. 地理信息世界,2013,20(1):46-50.
[21] 张朝霞,刘耀军. 有效的哈希冲突解决办法[J]. 计算机应用,2010,30(11):2965-2966,3004.
[22] 王映,于满泉,李盛韬,等. JavaScript引擎在动态网页采集技术中的应用[J]. 计算机应用,2004(2):33-36.
[23] 张尤赛,陈福民. 三维医学图像的体绘制技术综述[J]. 计算机工程与应用,2002(8):18-19.
(责任编辑:江 艳)