首席数据官

Hi, 请登录

地理数据可视化探索——SLS的地图演变之路

前言

伴随着阿里云日志服务(SLS)面向的客户群体不断变化,接入的日志数据种类日益增多,地理类数据成为了日志数据分析中越来越常见的一类数据形式。数据可视化应用的火爆发展,地理数据的可视化也萌发出了大量的需求地图数据可视化,大规模地理数据可视化分析,从业务上来看一直是个难点,地理数据的存储,计算,分析,可视化,产品应用等各个方面都需要综合起来考虑。本文将简单介绍一下日志服务在地理类日志数据可视化分析中的探索,并提供部分目前支持的地理类可视化工具demo。

有哪些地理类数据?

地理数据是直接或间接关联着相对于地球的某个地点的数据,地理类数据种类繁多,涉及的知识面也各不相同。比较学术类的就不展开,感兴趣的可以去同学可以了解一下GIS系统,就我们生活中常见的地理类数据无非就以下两种:

1. POI数据(Point of interest/Point of information)

POI数据,又称为信息点/兴趣点,常常出现在地图表达中,一个 POI 可代表一栋大厦、一家商铺、一处景点等等。通过POI搜索,完成找餐馆、景点、找厕所等等的功能,生活中最常见的描述一个位置点的方式:

通过自然语言去描述一个位置信息,通俗易懂地图数据可视化,各大地图类厂商都有自己的POI数据库,POI数据一般还有多种分类,如“餐饮服务”、“商务住宅”、“生活服务”等

POI描述位置信息

图(1).POI数据描述地理位置信息

2. Geo数据(Geography)

更加专业的地理信息描述方式,通过经度、维度、海拔相结合即可描述出一个三维空间的地理位置。在数字化地理信息中,我们经常能接触到诸如geo.json这一类数据用于描述一组地理位置信息的集合,常见的格式有:

在线生成geoJson小工具

geo

图(2).GeoJson描述地理位置信息

日志里的地理信息

了解了一些常见的地理类数据后,我们回归到日志领域,来看一下SLS在日志类信息中如何去做地理数据可视化分析。

1.早期的DevOps

谈到日志,我们最先想到的还是DevOps领域。在早期接入的各类数据源中,访问日志、错误日志、监控日志占据绝大多数,其中并没有直接和地理位置挂钩的信息数据,但我们能间接地通过一些常见的数据来推导地理位置信息,比如:

基于此类需求,日志服务提供了丰富的ip函数和电话号码转换函数来处理这一类的信息并输出地理位置可视化图表

* | SELECT 
    mobile_city(try_cast("mobile" AS bigint)) AS "城市",
    mobile_province(try_cast("mobile" AS bigint)) AS "省份", 
    COUNT(1) as "请求次数" 
    GROUP BY "省份", "城市" ORDER BY "请求次数" DESC LIMIT 100 

phone2map

图(3).电话号码转换地图

* | SELECT
     ip_to_country(remote_addr) AS "国家", 
     count(1) AS c GROUP BY "国家" LIMIT 10

ip2map

图(4).ip地址转换世界地图

2. 逐渐成型的经纬度信息

随着日志种类的丰富,简单的地图不能完全满足用户的需求,主要的声音包括两种:

地图可视化过于简单,只能看到特定区域的总数,无法查看类似点图、热力图等更高阶的可视化分析缺少事件,没办法变换维度

基于上述两个问题,日志服务着手进行了经纬度信息相关的配套研发:

* | SELECT 
    ip_to_geo(remote_addr) AS "经纬度", 
    COUNT(1) AS c GROUP BY "经纬度" LIMIT 100

geo2map

图(5).经纬度信息

支持经纬度之后,我们就可以直接分析日志中存在的经纬度信息了,并且通过一些列如split、concat去对应需要的属性列,同时地图类事件也得到了增强,变换地区的维度得到更细粒度的分析

* | SELECT arr[2] AS "经度", arr[1] AS "纬度", c FROM(
        SELECT split(r, ',') AS arr, c FROM(
            SELECT 
              ip_to_geo(remote_addr) AS r, 
              count(1) AS c FROM log GROUP BY r
          )) LIMIT 10

drill

图(6).行政区变换

3. 更加自然的POI

对于通过自然语言描述地理位置的POI信息,我们也支持去识别并进行统计和可视化

* | SELECT poi, type LIMIT 1000

poitype

杭州市临安市杭州樱久工贸有限公司

公司企业;公司企业

杭州市余杭区IADO女装

购物;服饰鞋包

杭州市建德市交投公司

公司企业;公司企业

杭州市西湖区觉客O2O家居体验店(山姆会员店)

购物;家具家居建材

杭州市临安市东方罗马

运动健身;其它运动健身

......

试看结束,如继续查看请付费↓↓↓↓
打赏0.5元才能查看本内容,立即打赏

来源【首席数据官】,更多内容/合作请关注「辉声辉语」公众号,送10G营销资料!

版权声明:本文内容来源互联网整理,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 jkhui22@126.com举报,一经查实,本站将立刻删除。

相关推荐

二维码
评论