本发明涉及一种数据可视化方法,具体涉及一种大数据量的时空数据可视化方法。
背景技术:
目前大数据量的可视化方法有不少,针对地图数据,主要有三类可视化库、框架或者软件。第一类是echarts、highcharts和d3等可视化库,它们被用于实现数据可视化,属于普适性的可视化工具,但是不一定有针对数据量大时的优化处理,因此也不一定适合大数据量的可视化;第二类是如arcgis、qgis类型的桌面软件,它们通常有良好的交互体验,但是不一定适合批量处理,实现可视化的灵活性也有一定局限;第三类是像spark这样的通用大数据计算平台,对于大数据量它有得天独厚的优势,但问题是它不是专门用于可视化的,运用它的学习成本比较高。下一个部分各用一个例子,对三类可视化工具的优缺点进行更为详细的讨论。
echarts是一个使用javascript实现的开源可视化库,可以流畅的运行在pc和移动设备上,兼容当前绝大部分浏览器(ie8/9/10/11,chrome,firefox,safari等),底层依赖轻量级的矢量图形库zrender,提供直观,交互丰富,可高度个性化定制的数据可视化图表。echarts由百度开发,主要面向商业数据可视化,使用原生javascript,支持自定义构建,像bootstrap那样可以选择自己需要的图表,然后集成一个js包。这个产品简洁美观,交互性好,对于开发者来说入门容易,操作较简单,但是它可定制性较差。对于地理数据而言,数据的直接落点效果不好,而且数据量达到一定程度后,前端压力大,浏览器易卡死,数据吞吐量不够大,数据集成度不够好。
arcgis作为esri公司推出的gis行业领先的桌面端全平台,制作地图专业性较强,arcmap的地图可视化功能较为完善。在制图过程中,有地理数据库做支撑,方便灵活的要素编辑修饰、自制符号库、地图标注样式多样、符号优先级设置等都带来了良好的交互制作体验。但是对于地图样式基本固定,需要批量自动化出图的应用场景,或对渲染速度、渲染质量要求高的应用场景,arcmap则不太适合。并且其在场景美观方面还有所欠缺,可视化效果不够好,还有提升空间。
spark是一个最初由加州大学伯克利分校amplab开发的开源集群运算框架,它可看作是一个通用大数据计算平台,可以解决大数据计算中的批处理、交互查询及流式计算等核心问题。在数据可视化方面,zeppelin可以作为spark的解释器,进一步提供基于web页面的数据分析和可视化协作。可视化结果可以输出表格、柱状图、折线图、饼状图、点图等,但是无法提供更为复杂的交互分析手段,并且spark相关技术搭建麻烦,可处理大量数据但不是专业作图工具,可视化效果不一定好。
技术实现要素:
针对现有技术的不足,本发明的目的旨在提供一种大数据量的时空线数据可视化方法,解决了超大线数据量在可视化方面难以全部加载的问题,同时保证全局层面的可视化效果和全量数据加载出来效果的一致性。
为实现上述目的,本发明采用如下技术方案:
一种大数据量的时空数据可视化方法,具体步骤为:
s1:上传大数据量的时空数据;
s2:依据线数据特点判断上传的时空数据是否为线数据,对时空数据进行筛选,筛选出为线数据的时空数据;
s3:根据线数据两个端点和经纬度落点,并连接每条数据的起点、终点组成线数据;
s4:将所有的线数据看作是落在一张画布上,所述画布的大小由线数据的经纬度范围决定,并根据线数据的数量在画布上绘制不同规格的栅格;
s5:起点落在同一个小栅格里面且终点也落在同一个小栅格里面的多条线数据合并为一条线数据,且合并后线数据的起点在原先起点小栅格的中间位置,合并后的终点在原先终点小栅格的中间位置,合并后的权重为小栅格里面所有线数据的权重之和;
s6:将处理之后的时空数据进行可视化处理,对处理之后的时空数据采用开源的echarts框架进行可视化,使可视化效果更加丰富美观,且速度更快,更有助于对数据进行分析解译,提高数据的使用价值。
进一步地,所述s1中上传的时空数据必须包括经纬度。
进一步地,所述s2中线数据包含起点的经纬度、终点的经纬度,起点终点连接的权重字段。
进一步地,所述s4中规划栅格的原则为:根据线数据的数量在画布上绘制不同规格的栅格,若数据量超过70万,包括70万,则每个栅格大小设为8×8,数据量低于70万,则每个栅格大小设为4×4。
进一步地,所述s5中合并后线数据的起点在原先起点小栅格的中间位置,合并后的终点在原先终点小栅格的中间位置,合并后的权重为小栅格里面所有线数据的权重之和。
本发明的有益效果在于:本发明采用首先大数据量时空数据的上传,识别线数据,如果不是线数据则删除掉该条数据,若是线数据则连接数据的起点、终点,使单独的点数据变为线数据,然后定制栅格,判断线数据中起终点是否在同一个栅格位置,如果在同一个栅格位置,则合并它们,最终将返回的线数据进行数据可视化,解决了超大线数据量在可视化方面难以全部加载的问题,同时保证了数据直观美观的可视化效果,且可视化的速度更快,更有助于对数据进行分析解译,提高数据的使用价值。
附图说明
附图1为本发明的方法流程图;
附图2为arcgis软件直接落点;
附图3为arcgis软件调整可视化之后的图;
附图4为本发明方法做的可视化图(一);
附图5为本发明方法做的可视化图(二)
附图6为本发明方法的技术展示图。
具体实施方式
下面,结合附图以及具体实施方式,对本发明做进一步描述:
实施例一
如图1所示,一种大数据量的时空数据可视化方法,具体步骤为:
第一步:上传大数据量的时空数据;因为是时空数据,所以上传的时空数据中的每条数据必须包括经纬度和连接的权重字段信息,可以上传几百万、几千万的数据量;
第二步:判别上传的时空数据中哪些数据是线数据;线数据判别原则:线数据包含起点、终点、经纬度和连接的权重,如果该条数据未包含起点、终点、经纬度和连接权重,则删除该条数据,其中连接权重主要表示起点和终点之间连接线的粗细;该步骤的主要作用是清除掉上传的时空数据里面的脏数据,若是线数据,则进行下一步的操作;
第三步:经过第二步的筛选之后,根据线数据起点、终点的经纬度落点,落完点之后连接每条数据的起点和终点,组成线数据群;此时落点完的数据是杂乱无章,且无任何规律的,可视化效果极差,如图2所示;
第四步:定制栅格;定制栅格的目的是为了后续步骤中合并那些起点落在同一个栅格上且终点在同一个栅格上的线数据;如下图6所示,将整个线数据看作都落在一张画布上,则根据数据量的多少和画布大小将该画布定制成许多个长宽一样的细小栅格,提升可视化效果,让用户可以进行数据分析,如下图6中间的图所示。
第五步:得到定制后的栅格之后,则将那些起点在同一个栅格里面且终点也在同一个小栅格里面的多条线数据合并为同一条线数据;例如有十条线数据的起点在同一个小栅格内,终点都落在了另外一个小栅格内,则将该十条线数据合并为一条线数据,合并后线数据的起点在原先起点小栅格的中间位置,合并后的终点在原先终点小栅格的中间位置,合并后的权重为小栅格里面所有线数据的权重之和,其中每个格子大小可以是4×4或者8×8,若数据量超过或包括70万,则每个栅格大小设为8×8,数据量低于70万,则每个栅格大小设为4×4,以此达到了将数据量压缩的目的,因此通过该种方法,数据量会大大减少了。且通过此方法有效减少了超大线数据量在可视化方面难以全部加载的问题;
得到定制后的栅格之后,那些起点或终点不在同一个小栅格里面的线数据不做合并处理;第六步:将处理完之后的数据返回给前端进行可视化处理,处理完之后的数据量大大减少,极大地降低了前端可视化的压力;前端可视化图表框架采用开源的echarts,可视化效果很好,同时保证了数据直观美观的可视化效果,且可视化的速度更快,更有助于对数据进行分析解译,提高数据的使用价值;最终的可视化效果如图4所示。
附图2、附图3、附图4是使用同一份数据绘制,图2是直接落点的图,图3是现有作图软件做的图,图4是使用本方法做的图;
图5是另外一份数据,使用本方法绘制的图,体现出本方法可视化的效果很好。
对本领域的技术人员来说,可根据以上描述的技术方案以及构思,做出其它各种相应的改变以及形变,而所有的这些改变以及形变都应该属于本发明权利要求的保护范围之内。
1.一种大数据量的时空数据可视化方法,其特征在于,具体步骤为:
s1:上传大数据量的时空数据;
s2:依据线数据特点判断上传的时空数据是否为线数据,对时空数据进行筛选,筛选出为线数据的时空数据;
s3:根据线数据两个端点和经纬度落点,并连接每条数据的起点、终点组成线数据;
s4:将所有的线数据看作是落在一张画布上,所述画布的大小由线数据的经纬度范围决定,并根据线数据的数量在画布上绘制不同规格的栅格;
s5:起点落在同一个小栅格里面且终点也落在同一个小栅格里面的多条线数据合并为一条线数据,合并后线数据的起点在原先起点小栅格的中间位置,合并后的终点在原先终点小栅格的中间位置,合并后的权重为小栅格里面所有线数据的权重之和;
s6:将处理之后的时空数据进行可视化处理,对处理之后的时空数据采用开源的echarts框架进行可视化,使可视化效果更加丰富美观,且速度更快,更有助于对数据进行分析解译,提高数据的使用价值。
2.如权利要求1所述的一种大数据量的时空数据可视化方法,其特征在于,所述s1中上传的时空数据必须包括经纬度。
3.如权利要求1所述的一种大数据量的时空数据可视化方法,其特征在于,所述s2中线数据包含起点的经纬度、终点的经纬度,起点终点连接的权重字段。
4.如权利要求1所述的一种大数据量的时空数据可视化方法,其特征在于,所述s4中规划栅格的原则为:根据线数据的数量在画布上绘制不同规格的栅格,若数据量超过70万,则每个栅格大小设为8×8,数据量低于70万,则每个栅格大小设为4×4。
5.如权利要求1所述的一种大数据量的时空数据可视化方法,其特征在于,所述s5中合并后线数据的起点在原先起点小栅格的中间位置,合并后的终点在原先终点小栅格的中间位置,合并后的权重为小栅格里面所有线数据的权重之和。
技术总结