react大数据量渲染_大数据可视化的"轮子"

5d026936b5e625ff71138bcc478c7d60.png

本文中将基础研发比作"轮子",将应用研发比作"车子"。

有的企业擅长造轮子,有的企业擅长造车子,造轮子的企业更多的面向基础可视化能力的研发,造车的企业更多的是面向应用和场景研发。

轮子是推动整个大数据可视化领域创新的动力,在这里轮子似乎改为发动机更合适,正是这样的发动机团队,给我们带来了整个可视化效果和效率的大提升,使我们面对大数据可视化的应用展示的时候选择更多,效果更好。

轮子是面向大多数的车子的,但是每个造轮子企业的侧重或者发展路径不同,他们会有各自的特征,我这里就根据自己的理解和经历介绍几个特别好的大数据可视化轮子产品。

1. mapbox. gl

Mapbox GL使用WebGL渲染交互式矢量瓦片地图和栅格瓦片地图,WebGL渲染意味着高性能,Mapbox GL能够渲染大量的地图要素,拥有流畅的交互以及动画效果、可以显示立体地图并且支持移动端,是一款十分优秀的web GIS开发框架。

对于地图web开发入门或者时空大数据入门的团队来说,mapbox.gl 是我的首选推荐,详尽的文档,简单的使用方法,丰富的空间效果,强大的生态,都是我推荐的选项,国外的facebook、uber,国内已知的墨迹天气、keep都选用的是mapbox.gl。

Mapbox.gl除了空间可视化渲染库之外,还可以配合turf.js 地理分析库,另外还可以配合其它的开源应用设计和发布自己的地图数据,这样的话,从数据,到数据风格,再到上层效果都是可控可扩展的。

2. deck.gl

deck.gl是由uber开发并开源出来的基于WebGL的大数据量可视化框架。它具有提供不同类型可视化图层,GPU渲染的高性能,React和Mapbox GL集成,结合地理信息数据(GPS)的特点,专门用于大规模探索和可视化数据库。

使用deck.gl的基本思想是渲染一堆可视叠加层,为了使这个简单的概念有效,deck.gl处理了许多挑战:

  • 处理大型数据集和高性能更新
  • 交互式事件处理,例如拣选
  • 制图投影和与底层地图的整合
  • 经过验证和良好测试的图层目录
  • 易于创建新图层或自定义现有图层

对于更高阶的可视化应用和开发来说,就更推荐deck.gl了,它除了mapbox.gl达到的效果和效率之外,封装了很多动态的图层和交互方式,也更适合基于react框架开发的团队。

deck.gl 除了uber内部团队使用用来展示时空数据分析(kepler.gl)和无人驾驶(avs)等应用之外,也有很多外部的团队使用,以满足各种时空大数据可视化开发的应用场景。

deck.gl与许多配套模块并行开发,例如:

luma.gl - 一个通用WebGL库,旨在与原始WebGL API和其他WebGL库互操作。特别是,luma.gl不声明WebGL上下文的所有权,并且可以使用任何提供的上下文,包括由应用程序或其他WebGL库创建的上下文。

react-map-gl - 一个围绕Mapbox GL的React包装器,它与deck.gl无缝协作。

nebula.gl - deck.gl的高性能功能编辑框架。

3. antv L7

L7缘起阿里巴巴集团体系下的业务普遍有大量地理空间可视化的需求,另一方面,来自各行各业的第三方同样对于地理信息服务有着越来越迫切的需求;结合这些需求,由蚂蚁金服 AntV、高德地图开放平台、阿里云 DataV三个提供可视化技术团队组成的工作小组,首先从内部业务(包括集团国际 UED、盒马生鲜、菜鸟物流、蚂蚁数据平台等)需求出发,力求开发一套完整的地理空间数据可视化框架。

L7 中的 L 代表 Location,7 代表世界七大洲,寓意能为全球位置数据提供可视化能力。L7 的目标是提供一套地理空间数据可视化框架,易用易扩展,支持海量数据的高性能和 3D 高质量渲染,安全可靠的地理空间数据可视化解决方案。

目前L7经过了几个版本(当前版本v1.3)的迭代之后,在可视化效果上有了一定的提升,在可视化形式上也增加了许多新的类别,并且也增加了很多特色的展示效果,目前整体的能力也在不断的提升中。L7的地图目前还是依赖高德地图,在整个地图数据和内容上与支持商业软件效果的开源生态兼容性不太好,目前应用在纯粹的互联网环境下的时空大数据应用开发,相对更省心省力,在一些复杂网络条件下,还是有一定的限制。

4. 高德loca

Loca是一个基于高德 JS API 地图、纯 JavaScript 实现的地理空间数据可视化渲染引擎。

其特点是在无需了解高德 JS API 的情况下,通过灵活的配置,可以快速制作出如散点、轨迹、区面、热力图等地理位置相关的可视化作品。

由于依赖高德 JS API 开发,因此可以无缝接入到已有的 JS API 地图产品上去,并在 Loca 无法满足的情况下,可使用 JS API 进行扩展。

从整体介绍和示例体验来看,和L7没有太大的区别,反而比L7少了很多的动态效果,数据也是依赖于高德地图,对于开发者来说,可能高德地图开发者用户切换到loca会更自然,毕竟无论L7和loca都是依赖高德地图的开发者生态账号的。

暂不论效果,从上述两家阿里生态的公司从底层研发时空大数据渲染这块,已经在不断的给国内的开发者更多选择,或者将来一定会是更好的选择。

目前高德基于loca也开发了一款应用型产品(map lab),当然目前与国外同类别的kepler相比差距还很大,可能是产品定位或者是资源支持力度不大的原因吧,产品近一年来进展不是很大,不过能力也是不断的加强中。

总结

本想做一个产品对比,但是又觉得每个产品它的定位,受众,开发周期,功能都不太一致,也没办法用单调的指标对产品进行一个横向的评测,所以这个想法就放下了,但是还是要简单的总结下,就跟开始说的一样,造轮子的产品,是整个可视化技术系统的推动者,面对不同量级,不同应用场景的车子,就需要选用合适的轮子,但是轮子本身也需要众多的车子实践,才能将轮子造的更好,驱动力更强。

参考资料:

1. 参考资料

Mapbox.gl.jshttps://docs.mapbox.com/mapbox-gl-js/api/

Turf.jshttp://turfjs.org

Avshttps://avs.auto/#/

Deck.glLarge-scale WebGL-powered Data Visualization

Antv L7https://antv.alipay.com/zh-cn/l7/1.x/demo/index.html

AntV发布大数据空间可视化解决方案L7 http://www.3snews.net/domestic/244000053927.html

locahttps://lbs.amap.com/api/loca-api/prod_intro

loca demoshttps://lbs.amap.com/api/loca-api/demos/common/loca_create

maplabhttps://maplab.amap.com

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值