Ecahrts 基于地理信息的可视化
Echarts 是一款基于js的交互式图表工具
这一模型可用于显示气候、地理、人流等各种信息。
1、环境
- 在线调试echarts的功能可以在官网,选择实例下任意一个点开:
然后在左侧的编辑框中即可编辑(其中包含了自动渲染脚本,十分适合入门使用):
2、地理信息绘制
首先需要明确要显示的地理位置和对应的物理量。
//显示地理信息
//主要参考了一下demo:
//http://www.echartsjs.com/examples/editor.html?c=effectScatter-bmap
//http://www.echartsjs.com/examples/editor.html?c=map-parallel-prices
//http://www.echartsjs.com/examples/editor.html?c=line-simple
//http://www.echartsjs.com/examples/editor.html?c=pie-legend
//首先先定义需要显示对应信息的位置坐标,按照[纬度,精度]的格式
var geoCoordMap = {
'位置1':[90.9180416971,41.0807155340],
'位置2':[123.4965120599,51.0206466741],
'位置3':[100.4728967514,26.1734892363],
'位置4':[121.5121844054,31.2106872661],
'位置5':[111.50148,31.2458353752],
'位置6':[111.50148,24.2458353752],
//ref:http://www.gpsspg.com/maps.htm //这里可以得到对应地点的gps经纬度,也可批量查询
//http://lbsyun.baidu.com/index.php?title=jspopular/guide/conflux
//http://lbsyun.baidu.com/custom/
};
//随后定义每个位置需要显示的量的值
var data = [
{
name: '位置1', value: 19},
{
name: '位置2', value: 20},
{
name: '位置3', value: 32},
{
name: '位置4', value: 24},
{
name: '位置5', value: 46},
{
name: '位置6', value: 30},
];
随后需要对数据进行处理,将坐标信息和对应物理量的值合在一起。
var convertData = function (data) {
var res = [];
for (var i = 0; i < data.length; i++) {
var geoCoord = geoCoordMap[data[i].name]; //首先根据data中的name作为键值读入地理坐标
//var rjj1 = data[i].value;
if (geoCoord) {
res.push({
name: data[i].name,
value: geoCoord.concat(data[i].value) //随后将地理坐标与对应信息值衔接起来
//成为了 [name 经度 纬度 value]的形式
});
}
}
//console.log(res)
return res;
};
接下来就是对于echarts 对象具体值的设置了,全局选项option
option = {
title: {
text: '地理信息显示 - 实时', //整个图标的标题显示
subtext: 'data from lalala', //子标题显示
sublink: 'http://somewhere', //子标题超链接
left: 'center', //标题位置 可以left center right
textStyle : {
color: '#2f2f2f'