在地图上展示大量的轨迹数据容易会有叠加情况,造成视觉混淆,所有还是得分场景来展示。如上面是为了查看具体的某辆车的具体行驶轨迹,所以我们需要尽可能详细的展示这辆车的行驶轨迹细节,其他与之无关的信息尽量减少。但如果要是为了查看大数据的轨迹,目的就是理解我们数据的整体模式,而不是展现每一条线段,这时我们就可以对我们的轨迹进行简化抽稀合并处理。如下图我们展示的就是南京的出租车轨迹情况,轨迹叠加的越多的地方让它的颜色更亮一点,尽管有大量的轨迹重叠和交叉,还是可以看出大致的数据分布情况的。
还有单纯的两点连线数据展示,如下是慧眼团队春节国外迁徙报告中把中国来源城市和出国国家之间进行连线展示,大部分人们选择的出国国家还是主要分布在中国的周边。
除了单纯的连线外,还可以对连线进行一些连线捆绑处理。如下展示的就是西二旗区域上班的人通勤的od连线捆绑效果。
四、面数据的可视化:
面数据即由一系列的点组成的封闭空间。如展示地图上的建筑物面、行政区域边界、湖泊的面等。可视化展示方面主要是想展示面的属性,如密度数量等。最常使用到的是通过不同的颜色来表示这些属性值的大小情况。
如按省份、按城市来展示人口密度、销量等密度图。
如用echarts绘制的全国省份某产品用户分布情况:
还有如下展示是北京一些景区的客流热力情况:
五、其他一些应用:
人口迁徙,使用的是echarts和地图的结合,用来展示人们在各城市之间的迁徙情况,关注人类活动的地理分布。
景区热力图,可以用来查看各景点的热力情况,可为人们出行提供一些参考。
室内客流分析,也是我们慧眼产品的一项能力。如下图展示的是某个商场内部的示例客流分布数据,可为商场一些规划提供决策支持。
六、应用到的前端技术:
在我们做的这么多数据可视化效果中,都是基于web来开发的,用到了canvas、WebGL、svg、node-canvas等一些技术。
这里面使用最多的就是canvas,选择它的原因主要还是因为在大数据量的呈现、像素级操作更好控制、还有在动画方面的绘制能力,都相比dom、svg有更多的优势。
在canvas性能优化上,主要列了几点:
1、减少绘制API的调用次数
2、减少上下文的状态改变
3、避免使用绘制特效,如阴影,模糊等
4、使用缓存预绘制技术
5、只渲染改变的部分
6、动画使用requestAnimationFrame
这些大部分展示都是在浏览器进行实时绘制渲染的,所以就算再优化,性能上数据大到一定界别也还是会有瓶颈,一些部分的效果我们就选择使用离线渲染生成图片的方式来实现,这样在前端就不会有性能瓶颈了,我们选择的是与canvas对应的node-canvas技术来在服务端生成图片,这样同一份前端的代码也可以在服务端进行渲染了,最典型的应用就是我们的个性化地图,同时支持前端canvas实时渲染,也能兼容ie6、7等其他浏览器,使用 node-canvas生成瓦片图。
前端技术知识方面,传统的前端主要是使用html、js、css来构建系统页面,我们数据可视化产品除了传统的产品页面开发外,地理信息方面还需要了解一些gis知识,还有webgis还需要了解3d方面一些知识。当然同时我们也不会受传统的浏览器兼容性方面的限制,各种移动端、HTML5、 css3、webgl技术我们都可以尝试应用。拥抱开源,使用开源代码,尽量不重复造轮子,同时一些我们的技术也会进行开源。
声明:中国勘测联合网登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,文章内容仅供参考。