本发明涉及大数据分析及可视化技术,尤其涉及一种运用大数据技术构建区域画像分析模型的方法。
背景技术:
利用地图来进行与区域相关的数据的可视化展示,是近几年大数据可视化技术中非常常用的一种手段,地图与区域数据的结合能更直观更真实的反应出数据的规律。基于地图的二次开发也受到很多大数据研发人员的青睐,通过调用地图提供的api,根据自己的需求进行定制开发,能更好的把地图跟业务场景结合起来。随着数据量的增大,传统的关系数据库计算能力已经无法满足大部分分析的业务场景,因此把数据迁移到hadoop中利用spark的计算能力对分析场景进行类实时的计算,是近几年大数据领域非常流行的方法。
社区网格化管理依托统一的城市管理以及数字化的平台,将城市管理辖区按照一定的标准划分成为单元网格。通过加强对单元网格的部件和事件巡查,建立一种监督和处置互相分离的形式。对于政府来说的主要优势是政府能够主动发现,及时处理,加强政府对城市的管理能力和处理速度,将问题解决在居民投诉之前。对每个网格的特点进行深入的剖析,得到网格内居住、工作的人员以及企业的特性,能使管理人员深入掌握每个网格的不同特性,并针对网格内的人群及企业制定合适的政策,便于高效的对网格区域进行管理。
技术实现要素:
基于以上因素,本发明提出了一种运用大数据技术构建区域画像分析模型的方法,通过在地图上任意划取一个区域或者选择固定的社区或者区县,实时对该区域内居住人口、工作人口、企业、基础设施、公共安全等进行统计分析,形成直观的统计分析。本发明可以快速分析出某一区域内包含人口综合分析、人口流动趋势、社区比较、社会治安等标签的区域画像,可以有效的辅助政府相关人员快速了解本市各区域形势,以便于更合理有效进行民生、治安、资源分配等工作的进行,为政府工作的人员提供便利,更好的为民众服务。
具体内容如下:
地图二次开发:调用地图提供的api接口进行二次开发,实现在地图上自由绘制区域,并且能够将绘制的图形处理成经纬度的格式传给后台。
在完成以上技术方案的基础上,利用地图api对人口、公司等对应的地址解析为经纬度,并保存至数据库。
数据迁移及处理:利用数据传输工具sqoop,将关系型数据库内的人口、工商、社保等海量数据以及解析的地址数据迁移至分布式存储系统。
在完成以上技术方案的基础上,对数据进行一定的过滤、提取等etl操作,包括通过出生日期计算年龄,利用人口数据与社保数据,将人员与公司信息,工资情况等一一对应起来等等。
在完成以上技术方案的基础上,建立区域画像分析模型,在地图上绘制一个图形,或选择现有的社区区县等放回一个区域坐标的经纬度信息,设计开发一个判断一个经纬度点是否在一个地图区域内的算法,并利用该算法筛选出落在该区域内的居住人口和工作人口,对删选的数据进行统计分析,完成区域画像指标分析。
在完成以上技术方案的基础上,获取区域画像分析模型的分析结果,利用地图技术,在地图上以直观、多样化的的图表来展示。
首先从公安系统获取人口、社保、工商信息等海量数据,并将该海量数据迁移至分布式存储系统hdfs中,应用分布式计算引擎spark进行实时计算,以此架构来应对传统关系型数据库在大数据量下运算力不足的问题,提升模型的分析速度。对存储的数据利用地图api将户籍信息、居住信息,企业信息中的地址转换为经纬度,并永久存储在对应的表中,为后续判断人口企业是否在所选区域内提供计算指标。分析的过程为首先通过在前端地图上划取任意区域或者选择预先设定好的区县和社区,调用地图api获取区域顶点坐标信息,将坐标信息处理为特定的格式并传给后台,后台程序调用分布式实时计算系统spark的jdbc接口,并传入该区域的坐标信息参数。通过自主开发的判断一个坐标是否在一个区域内的udf算法,筛选出该区域内的人口和企业,对筛选出的数据通过预先设计好的模型进行统计分析。
本发明的有益效果是
通过在地图上任意划取一个区域或者选择固定的社区或者区县,实时对该区域内居住人口、工作人口、企业、基础设施、公共安全等进行统计分析,形成直观的统计分析。可以快速分析出某一区域内包含人口综合分析、人口流动趋势、社区比较、社会治安等标签的区域画像,可以有效的辅助政府相关人员快速了解本市各区域形势,以便于更合理有效进行民生、治安、资源分配等工作的进行,为政府工作的人员提供便利,更好的为民众服务。
附图说明
图1是本发明的工作流程示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明采用的技术方案如下:
地图二次开发:调用地图提供的api接口进行二次开发,实现在地图上自由绘制区域,并且能够将绘制的图形处理成经纬度的格式传给后台。
在完成以上技术方案的基础上,利用地图api对人口、公司等对应的地址解析为经纬度,并保存至数据库。
数据迁移及处理:利用数据传输工具sqoop,将关系型数据库内的人口、工商、社保等海量数据以及解析的地址数据迁移至分布式存储系统。
在完成以上技术方案的基础上,对数据进行一定的过滤、提取等etl操作,包括通过出生日期计算年龄,利用人口数据与社保数据,将人员与公司信息,工资情况等一一对应起来等等。
在完成以上技术方案的基础上,建立区域画像分析模型,在地图上绘制一个区域坐标的经纬度信息,判断经纬度点是否在地图区域内,并利用该算法筛选出落在该区域内的居住人口和工作人口,对删选的数据进行统计分析,完成区域画像指标分析。
在完成以上技术方案的基础上,获取区域画像分析模型的分析结果,利用地图技术,在地图上以直观、多样化的的图表来展示。
如图1所示,流程如下:
1、开发地图绘图工具;
2、采集人口、企业、社保等数据并将数据迁移至分布式存储系统;
3、运用地图api解析地址,将地址解析为经纬度信息并保存;
4、开发对数据进行一定的过滤、提取,包括通过出生日期计算年龄,利用人口数据与社保数据,将人员与公司信息,工资情况等一一对应的etl脚本;
5、判断经纬度点是否在地图区域内;
6、根据返回的区域经纬度信息,结合点落入区域算法,获取区域内人口、公司、等数据;
7、利用spark开发分布式计算程序;
8、利用上一步分布式计算程序,结合计算出的数据进行区域画像的统计分析;
9、将计算出的区域画像模型数据在地图上绘制展示。
在此需要开发判断一个经纬度点是否在一个地图区域内的udf算法;udf算法设计分为两种情况,一种是坐标是否在圆形区域内,一种是坐标在多边形区域内。其中是否在圆形区域内算法,根据目标点坐标和圆心坐标的距离与圆半径的关系判断,小于半径则在区域内,反之则不在区域内;是否在多边形区域内算法,以目标点坐标为顶点画一条线,这条线同多边形的边相交,其中若相交的点的数量为奇数则目标点在多边形区域内,若相交的点数量为偶数,则目标点在多边形区域外。
以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。