让数据跃然“图”上!腾讯位置服务数据可视化API正式发布
在这个大数据时代,各式各样纷繁复杂的海量数据让我们应接不暇。如何快速发现数据背后的规律,发掘数据隐藏的价值,是帮助我们提高业务决策效率的关键。在这个过程中,数据可视化将起到不可替代的作用。
尤其是带有空间属性的数据,和地图具有天然的匹配性。所以,让海量的位置数据通过一定的视觉形态在地图上进行直观的呈现,成为很多开发者们竞相考虑的选择。
经过长达一年的持续打磨和场景验证,我们正式面向开发者推出腾讯位置服务数据可视化API —— 基于腾讯位置服务JavaScript API GL实现的专业地理空间数据可视化web渲染引擎,帮助开发者快速便捷的搭建适合自己业务的数据可视化场景。
丰富样式,让数据与场景更匹配
我们的可视化API提供了热力图、散点图、轨迹图、弧线图、区域图等多种可视化样式。无论你的业务场景是何种类型,都能找到最合适的可视化样式进行呈现,实现数据和场景的天然结合。
当我们需要了解整个城市的实时人流分布的时候,城市热力图就是一个很好的呈现选择。
城市实时热力
当我们需要了解整个城市内车辆的运行状态时,我们可以通过动态轨迹图来表现,直观的获知到城市内车辆的流动规律。
城市车辆流动规律分析
而当某个全国性事件发生,需要我们去关注各行政区划内该事件发展的程度时,这个时候我们可以利用到区域面填充的能力,帮助我们快速构建起事件地图。
全国事件地图
鲜活呈现,让数据动起来
除了基础的点、线、面以及热力的静态绘制之外,我们的可视化API还提供了图形的动效显示能力,在让数据呈现更鲜活的同时,还增加了数据内涵的表达维度。例如在迁徙场景中,不仅可以通过弧线的粗细表现人口迁徙的量级,还可以通过弧线的动态流向,来表现人口迁徙的方向;在交通轨迹场景中,不仅可以通过线条的颜色表现车流的多少,还可以通过线条的运动方向,来表现车流的方向。
我们的可视化API自带这个动态效果,无需开发者额外开发。
弧线流向图
动态轨迹图
性能保障,海量数据渲染
我们不只是追求视觉效果和简单易用,我们还要保证高性能。充分发挥GPU的并行计算能力,同时结合实例化渲染技术,大幅度提升了大数据量的渲染性能。最高支持百万级点、线、面绘制,同时可以保持高帧率运行。
Canvas2D可视化组件散点图-20万数据
数据可视化API散点图-20万数据
最大承载数据量对比(i7独显):
Canvas2D可视化组件 |
数据可视化API |
|
---|---|---|
散点图 |
250,000 |
5000,000 |
热力图 |
20,000 |
160,000 |
弧线图(动画) |
300 |
120,000 |
弧线图(无动画) |
20,000 |
120,000 |
区域图 |
3,000 |
5,000 |
轨迹图 |
无 |
60,000 |
简单易用,只需三步接入
在注册成为腾讯位置服务开发者并申请好KEY之后,只需3步,即可完成一个可视化场景的渲染:
1、 创建地图实例
var map = new TMap.Map('mapContainer', { zoom: 4, center: new TMap.LatLng(39.92659, 116.39806), mapStyleId: "style3"});
2、 创建可视化图层
各图层已内置默认样式,所以只需指定地图对象即可完成创建,以散点图为例:
var dot = new TMap.visualization.Dot().addTo(map);
3、 传入数据
各图层数据格式不同,以散点图为例:
dot.setData([ { lat: 16.831090, lng: 112.338170 }, { lat: 41.878477, lng: 85.646478 }, { lat: 44.776380, lng: 82.483990 }, // 其他点省略]);
至此即可完成散点图的渲染了:
目前,腾讯位置服务数据可视化API已经服务于腾讯内部各大业务,经历了多个重要项目场景的验证,成熟度和稳定性都达到了新的水平。我们希望可以将这些优秀的能力开放给越来越多的开发者,满足开发者在可视化呈现上的更多诉求。欢迎广大开发者立即访问腾讯位置服务官网,获取关于数据可视化API的操作指南和更多示例,尽快开启你的可视化之旅!
Web3D地图来了!腾讯位置服务JavaScript API GL正式版发布
- 报警系统QuickAlarm之报警规则的设定与加载
- 报警系统QuickAlarm之报警执行器的设计与实现
- 如何在Kerberos与非Kerberos的CDH集群BDR不可用时复制数据
- 一个可扩展的报警系统Quick-Alarm
- 如何借助GitHub搭建属于自己的maven仓库
- Java可以如何实现文件变动的监听
- 如何在CDH中安装Kudu&Spark2&Kafka
- 秒懂 javascript 拖拽上传文件
- 一款轻量级树形控件EasyTreeview
- 大白话谈 Git
- 打造一个属于自己的 server
- 一款不可多得的火柴时钟
- 常见端口转发工具的使用方式(二)
- 如何在CDH启用Kerberos的情况下安装及使用Sentry(一)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- word模板和XML数据源是如何合并生成最后的word文档的详细过程
- Angular路由跳转时,如何传递信息
- Angular里的购物车页面实现
- CentOS7部署WeADMIN监控主机交换机和URL(无坑版)
- JsonPath实践(一)
- 开源测试服务
- Charles报错Failed to install helper解决方案
- [890]scrapy之pipeline的使用
- Redis的slot迁移工具
- 一文搞懂Flink rocksdb中的数据恢复
- Linux expect用法介绍
- GitHub通过access token来clone代码
- 在.NET Core中使用MongoDB明细教程(1):驱动基础及文档插入
- 探索闭包
- openresty实现接口签名安全认证