CN104537024A - 一种海量位置签到数据的可视化方法 - Google Patents
一种海量位置签到数据的可视化方法 Download PDFInfo
- Publication number
- CN104537024A CN104537024A CN201410799227.7A CN201410799227A CN104537024A CN 104537024 A CN104537024 A CN 104537024A CN 201410799227 A CN201410799227 A CN 201410799227A CN 104537024 A CN104537024 A CN 104537024A
- Authority
- CN
- China
- Prior art keywords
- data
- register
- map
- magnanimity
- visualizing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Remote Sensing (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Processing Or Creating Images (AREA)
- Instructional Devices (AREA)
Abstract
本发明公布了一种海量位置签到数据的可视化方法,包括以下步骤:步骤1:从数据采集终端抓取位置签到数据,将采集到的数据存储到数据库中;步骤2:对步骤1中采集到的位置签到数据进行管理;步骤3:根据需要采集地理范围确定图幅范围;步骤4:采用NodeCanvas技术绘制地理底图;步骤5:在步骤4中获得地理地图上绘制采集到的位置签到数据;步骤6:输出结果图片。本发明可以根据不同的比例尺进行可视化,可视化效果美观,直观体现数据的分布规律。同时,本发明能够更加灵活的操作数据,有效解决了大数据可视化中数据读取的问题。使用本方法进行海量数据的可视化方法更加简单,绘图效率高,易于实现,效果好,能够绘制复杂图形。
Description
技术领域
本发明涉及地理信息可视化处理领域,特别涉及一种海量位置签到数据的可视化方法。
技术背景
数据可视化起源于1960年计算机图形学,采用计算机创建图形图表,通过可视化,将数据的各种属性和变量呈现出来。随着数据采集设备和数据保存设备等计算机硬件的发展,以及创建更复杂规模更大的数字模型的需求,于是乎发展了数据采集设备和数据保存设备,需要更高级的计算机图形学技术及方法来创建这些规模庞大的数据集。随着数据可视化平台的拓展,应用领域的增加,表现形式的不断变化,以及增加了诸如实时动态效果、用户交互使用等功能,数据可视化像所有新兴概念一样边界在不断扩大。
针对大规模数据可视化的关键在于精简的概括性及自然的交互性,通过对映射(mapping)、交互(interaction)这两个基本环节的设计来实现。映射是指将抽象数据转换为可视化表示的过程,例如通过颜色映射数值关系。通过设计准确巧妙的映射,可以将复杂抽象的数据形象直观地概括到一张或多张形象的图中,有利于有效地理解数据;交互,是指计算机对人所作出某种特定行为的反应。通过设计便捷有效的交互有利于人类自由地对复杂数据进行探索。对于传统数据而言,良好的映射与交互效果都可以很好地实现。但是,对于海量异构数据,想要实现良好的映射与交互效果,无论是对算法设计还是硬件设施都提出了更高的要求。
地图是一种简便、直观,也是目前非常流行的展现地理信息的可视化方式。它主要根据地理位置的不同,将不同地区的数据展示在地图上。当前,随着移动互联网的爆炸性发展,我们可以越来越方便地获取到更加精确的地理位置信息。在这大量地理数据的背后,还有很多有意思的东西正等待着人们去挖掘发现。
借助对地理信息大数据的可视化可以直观地发现人类的空间行为特征。通过对不同城市位置签到数据的可视化可以清楚地看出人口空间分布和轨迹特征,这是传统的人口调查统计无法做到的。可以用来研究群体活动的地理空间分布、聚落规模、区位、空间结构及功能区分布。但是在现有技术中还没有方法可以高效的将海量的签到数据可视化。
发明内容
发明目的:本发明的目的在于针对现有技术的不足,提出了一种能够高效的、更加直观的反应数据规律分布的海量的签到数据可视化方法。
技术方案:本发明提供了一种海量位置签到数据的可视化方法,包括以下步骤:
步骤1:从数据采集终端抓取位置签到数据,将采集到的数据存储到数据库中;
步骤2:对步骤1中采集到的位置签到数据进行管理;
步骤3:根据需要采集地理范围确定图幅范围;
步骤4:采用NodeCanvas技术绘制地理底图;NodeCanvas是一种使用NodeJS实现的Canvas后端绘图技术。
步骤5:在步骤4中获得地理地图上绘制采集到的位置签到数据并输出结果图片;
步骤6:输出结果图片。
进一步,所述步骤2中的数据管理包括以下步骤:
步骤201:数据预处理;去除数据中重复的和无效的位置数据;
步骤202:根据位置数据的唯一标识符建立唯一值索引;
步骤203:建立空间索引。
进一步,所述步骤3中确定图幅范围的方法,包括以下步骤:
步骤301:确定绘制地理范围的最小包围矩形;
步骤302:确定绘制图幅的大小;
步骤303:确定图幅左上角的坐标作为基准坐标。
进一步,所述步骤4中的绘制地理底图的方法,包括以下步骤:
步骤401:设置地理地图边线颜色、背景色和标注颜色;
步骤402:循环读取地理底图数据,其中地理数据中每个地理要素的经纬度信息绘制地理底图。
进一步,所述步骤5中绘制采集到的位置签到数据的方法包括以下步骤:
步骤501:从数据库中读取需要绘制的位置签到数据;
步骤502:将位置签到数据的经纬度坐标转成图幅像素坐标,在将转换后的图幅像素坐标进行像素的海量的数据抽稀聚合;
步骤503:将位于同一像素位置数据的签到次数求和;
步骤504:统计每一像素签到次数的分布;
步骤505:根据统计结果确定签到次数到颜色映射;
步骤506:绘制位置签到数据。
进一步,所述签到数据为兴趣点(下文简称POI)数据。
进一步,所述步骤2中采用MongoDB进行数据的存储和管理。其中,MongoDB是一种非关系数据库芒果数据库。采用MongoDB存储管理海量的POI签到数据,利用MongoDBNoSQL设计方式,可以更加灵活的操作数据,对于大数据处理MongoDB选择最大程度的利用内存资源作为缓存提高性能,解决大数据可视化中数据读取的问题。
有益效果:与现有技术相比,本发明可以根据不同的比例尺进行可视化,可视化效果美观,直观体现数据的分布规律。同时,本发明能够更加灵活的操作数据,有效解决了大数据可视化中数据读取的问题。使用本方法进行海量数据的可视化方法更加简单,绘图效率高,易于实现,效果好,能够绘制复杂图形。再者,本发明对于海量数的绘制采用了一种基于像素的数据抽稀聚合算法,该算法可以大大减少数据量而且不影响数据的可视化效果。
附图说明
图1为本发明的流程示意图;
图2为实施例的图幅范围示意图;
图3为实施例的绘制地理底图结果;
图4为实施例的可视化结果图。
具体实施方式
以下结合附图和实例对本发明的实施作进一步说明,但本发明的实施和包含不限于此。
如图1所示,本发明提供的一种海量位置数据的可视化方法,包括以下步骤:其中,本发明利用新浪微博兴趣点(下文简称POI)签到数据作为实验数据。
步骤1:数据获取;该步骤包括以下步骤:
步骤101:抓取新浪微博POI签到数据,具体实施时,根据新浪微博编写爬虫程序,其中,API为应用程序编程接口,抓取全国范围的内的所有POI数据;
步骤102:将数据存储到MongoDB数据库中。选择具有空间数据引擎功能的任意一种数据库存储抓取的POI数据。
步骤2:数据的管理;主要包括以下步骤:
步骤201:数据预处理,预处理主要去除数据中重复的和无效的位置数据;
步骤202:根据数据的兴趣点序号(简称为POI ID)建立唯一索引,抓取的微博数据具有POIID字段,POIID字段是POI的唯一标识符,在MongoDB数据库中,以POIID建立唯一索引的命令为:
db.weibo.ensureIndex({POIid:1},{unique:true});
其含义为:使用数据库命令工具以POIID建立唯一值索引
步骤203:建立空间索引;在MongoDB中空间数据以GeoJSON格式的地理要素格式存储,其中,GeoJSON是一种对各种地理数据结构进行编码的格式。根据位置(简称location)字段建立空间索引的命令如下:
db.weibo.ensureIndex({<location field>:"2dsphere"});
其含义为:根据location字段建立空间索引命令行代码。
步骤3:确定图幅范围;主要包括以下步骤:
步骤301:确定绘制地理范围的最小包围矩形;计算需要绘制地理边界的范围,本实例以江苏省为例,起始经纬度为(116.3672,30.7562)终止经纬度为(122.0032,35.1233)
步骤302:确定绘制图幅的大小;首先确定图幅的缩放等级,缩放等级为绘制比例尺的一种计算方法,一个缩放等级对应一个比例尺,取值为在0~20之间进行图像绘制。本实例采用Google地图切片方案作为标准,根据地图的缩放等级和地图范围确定所绘
制区域包含的瓦片行列号。其中与经纬度坐标转成Google瓦片坐标系的公式为:
其中,x和y分别表示Google瓦片坐标系的行号和列号,z为缩放等级,λ和分别表示地理边界的经度和纬度。
根据步骤301中计算获得的绘制地理边界的经纬度范围和缩放等级两个参数可根据上文公式计算出绘制区域的图幅大小。缩放等级为7时计算得瓦片范围左上角行列号(105,50),右下角的行号为(107,52)瓦片大小为256*256px,因此绘制江苏省区域需要3*3的九个地图瓦片。如图2所示,图幅所在的瓦片范围。图幅大小计算公式如下所示:
Width=(Xmax-Xmin+1)*256px
Height=(Ymax-Ymin+1)*256px
式中Xmax、Xmin分别为瓦片最大、最小行号,Ymax、Ymin分别为最、大最小列号。
步骤303:确定图幅左上角的坐标作为基准坐标;根据步骤302计算左上角瓦片可以计算出图幅左上角的像素坐标即为图幅的基准坐标(X,Y)。
计算公式:
X=R*256
Y=C*256
式中R、C为图幅左上角所在的行列号,即为步骤302中的Xmin和Ymin。
步骤4:绘制地理底图;主要包括以下步骤:
步骤401:设置地理地图边线颜色;本发明绘图采用NodeCanvas技术实现本地绘图,绘图之前需要进行颜色等属性的配置,确定地理底图背景色,边线颜色,标注颜色。
步骤402:绘制地理底图;地理底图数据格式为GeoJSON格式,通过循环读取数据中的每个地理要素的经纬度信息进行绘制,其中GeoJSON格式为一种轻量级的数据交换格式。Canvas绘图是基于像素的,图幅的左上角为(0,0)坐标,需要将经纬度坐标转为像素坐标。首先将经纬度坐标转为瓦片像素坐标(X1,Y1),然后减去步骤303中获得的基准像素坐标,即可得到该经纬度所在的画布像素坐标。如图3所示,根据像素坐标即可把地理底图绘制到画布上。
其中,经纬度坐标转成瓦片像素坐标的公式为
X1=(int)((λ+180)*16777216/180+0.5)/2(17-z)
其中,X1和Y1分别为瓦片像素坐标横坐标和纵坐标,z为缩放等级,λ和分别表示地理边界的经度和纬度。
步骤5:绘制位置签到数据;主要包括以下步骤:
步骤501:从数据库读取需要绘制的POI数据,可以根据地理范围、属性查询需要可视化的POI数据。
步骤502:将位置签到数据的经纬度坐标转成图幅像素坐标,转换方法和步骤402的转换方法一致,在将转换后的数据进行像素的海量的数据抽稀聚合。该步骤为本发明的核心步骤,即基于像素的海量的数据抽稀聚合方法,该方法在数据抽稀具有较好的压缩比,全国范围内880多万条POI数据采用,缩放等级设置为5使用该方法抽稀聚合之后,结果数据为12多万条,大大减少数据量,而且不影响可视化效果。
步骤503:位于同一像素的数据将签到次数求和,遍历需要可视化的POI签到数据,将位于同一像素的POI数据聚合。聚合结果根据像素坐标存储在二维数组中,数组元素的值为每个像素所聚合POI点签到次数的总和。
步骤504:统计每一像素签到次数的分布,统计503数组中的签到次数分布。
步骤505:根据统计结果确定签到次数颜色映射;根据每个像素点的签到次数的统计值进行相应的颜色映射。
步骤506:绘制位置签到数据,采用NodeCanvas将每一像素根据对应的颜色绘制到画布上。Canvas是用于网页绘制图形的技术,NodeCanvas是利用Nodejs实现并扩展了Canvas用于后端绘图,NodeCanvas是基于像素的绘制技术,Google V8引擎执行绘图程序的速度非常快,性能非常好。
数据采用基于像素的算法进行抽稀聚合,采用NodeCanvas基于像素的技术绘图更能提高效率。NodeCanvas绘制点数据每秒种可绘制上百万点,这是普通的软件绘图做不到的,而且NodeCanvas可以随意自定义绘制颜色。
步骤6:如图4所示,输出结果图片,是将NodeCanvas绘制的画布保存到本地。
Claims (7)
1.一种海量位置签到数据的可视化方法,其特征在于:包括以下步骤:
步骤1:从数据采集终端抓取位置签到数据,将采集到的数据存储到数据库中;
步骤2:对步骤1中采集到的位置签到数据进行管理;
步骤3:根据需要采集地理范围确定图幅范围;
步骤4:采用NodeCanvas技术绘制地理底图;
步骤5:在步骤4中获得地理地图上绘制采集到的位置签到数据;
步骤6:输出结果图片。
2.根据权利要求1所述的海量位置签到数据的可视化方法,其特征在于:所述步骤2中的数据管理包括以下步骤:
步骤201:数据预处理;去除数据中重复的和无效的位置数据;
步骤202:根据位置数据的唯一标识符建立唯一值索引;
步骤203:建立空间索引。
3.根据权利要求1所述海量位置签到数据的可视化方法,其特征在于:所述步骤3中确定图幅范围的方法,包括以下步骤:
步骤301:确定绘制地理范围的最小包围矩形;
步骤302:确定绘制图幅的大小;
步骤303:确定图幅左上角的坐标作为基准坐标。
4.根据权利要求1所述海量位置签到数据的可视化方法,其特征在于:所述步骤4中的绘制地理底图的方法,包括以下步骤:
步骤401:设置地理地图边线颜色、背景色和标注颜色;
步骤402:循环读取地理底图数据中的每个地理要素的经纬度信息绘制地理底图。
5.根据权利要求1所述海量位置签到数据的可视化方法,其特征在于:所述步骤5中绘制采集到的位置签到数据的方法包括以下步骤:
步骤501:从数据库中读取需要绘制的位置签到数据;
步骤502:将位置签到数据的经纬度坐标转成图幅像素坐标,在将转换后的图幅像
素坐标进行像素的海量的数据抽稀聚合;
步骤503:将位于同一像素位置数据的签到次数求和;
步骤504:统计每一像素签到次数的分布;
步骤505:根据统计结果确定签到次数到颜色映射;
步骤506:绘制位置签到数据。
6.根据权利要求1所述海量位置签到数据的可视化方法,其特征在于:所述签到数据为兴趣点数据。
7.根据权利要求1所述海量位置签到数据的可视化方法,其特征在于:所述步骤2中采用MongoDB进行数据的存储和管理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410799227.7A CN104537024B (zh) | 2014-12-19 | 2014-12-19 | 一种海量位置签到数据的可视化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410799227.7A CN104537024B (zh) | 2014-12-19 | 2014-12-19 | 一种海量位置签到数据的可视化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104537024A true CN104537024A (zh) | 2015-04-22 |
CN104537024B CN104537024B (zh) | 2017-12-22 |
Family
ID=52852552
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410799227.7A Expired - Fee Related CN104537024B (zh) | 2014-12-19 | 2014-12-19 | 一种海量位置签到数据的可视化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104537024B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105956117A (zh) * | 2016-05-05 | 2016-09-21 | 量子数聚(北京)科技有限公司 | 一种点数据空间加载方法及系统 |
CN106126565A (zh) * | 2016-06-17 | 2016-11-16 | 成都新橙北斗智联有限公司 | 一种沿轨迹线生成地图瓦片坐标的方法 |
CN106528762A (zh) * | 2016-11-03 | 2017-03-22 | 大唐融合通信股份有限公司 | 一种兴趣点识别的电子地图处理方法及处理系统 |
CN108563793A (zh) * | 2018-05-03 | 2018-09-21 | 成都瀚涛天图科技有限公司 | 一种多显示级别地图的制图方法 |
CN108664306A (zh) * | 2018-05-08 | 2018-10-16 | 广东亿迅科技有限公司 | 基于canvas与R树空间的浏览器矢量图形渲染方法及装置 |
CN110610544A (zh) * | 2019-08-13 | 2019-12-24 | 北京中色地科测绘有限公司 | 钻孔数据抽稀方法和装置、设备及储存介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1933411A (zh) * | 2006-09-28 | 2007-03-21 | 江苏天泽信息产业有限公司 | 基于互联网发布矢量地图的方法 |
CN102467519A (zh) * | 2010-11-04 | 2012-05-23 | 中国电信股份有限公司 | 基于地理信息系统的可视化标绘方法及系统 |
CN103699615A (zh) * | 2013-12-17 | 2014-04-02 | 鲁东大学 | 一种基于点矢量数据多层存储的快速地图表示方法及系统 |
US8755572B1 (en) * | 2010-10-05 | 2014-06-17 | Google Inc. | Labeling features of maps using road signs |
-
2014
- 2014-12-19 CN CN201410799227.7A patent/CN104537024B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1933411A (zh) * | 2006-09-28 | 2007-03-21 | 江苏天泽信息产业有限公司 | 基于互联网发布矢量地图的方法 |
US8755572B1 (en) * | 2010-10-05 | 2014-06-17 | Google Inc. | Labeling features of maps using road signs |
CN102467519A (zh) * | 2010-11-04 | 2012-05-23 | 中国电信股份有限公司 | 基于地理信息系统的可视化标绘方法及系统 |
CN103699615A (zh) * | 2013-12-17 | 2014-04-02 | 鲁东大学 | 一种基于点矢量数据多层存储的快速地图表示方法及系统 |
Non-Patent Citations (2)
Title |
---|
任克江: "基于地理信息的检索和用户数据挖掘", 《中国优秀硕士学位论文全文数据库(信息科技辑)》 * |
翟红生 等: "在线社交网络中的位置服务研究进展与趋势", 《计算机应用研究》 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105956117A (zh) * | 2016-05-05 | 2016-09-21 | 量子数聚(北京)科技有限公司 | 一种点数据空间加载方法及系统 |
CN105956117B (zh) * | 2016-05-05 | 2019-04-19 | 量子数聚(北京)科技有限公司 | 一种点数据空间加载方法及系统 |
CN106126565A (zh) * | 2016-06-17 | 2016-11-16 | 成都新橙北斗智联有限公司 | 一种沿轨迹线生成地图瓦片坐标的方法 |
CN106126565B (zh) * | 2016-06-17 | 2019-04-02 | 成都新橙北斗智联有限公司 | 一种沿轨迹线生成地图瓦片坐标的方法 |
CN106528762A (zh) * | 2016-11-03 | 2017-03-22 | 大唐融合通信股份有限公司 | 一种兴趣点识别的电子地图处理方法及处理系统 |
CN108563793A (zh) * | 2018-05-03 | 2018-09-21 | 成都瀚涛天图科技有限公司 | 一种多显示级别地图的制图方法 |
CN108563793B (zh) * | 2018-05-03 | 2022-02-15 | 成都瀚涛天图科技有限公司 | 一种多显示级别地图的制图方法 |
CN108664306A (zh) * | 2018-05-08 | 2018-10-16 | 广东亿迅科技有限公司 | 基于canvas与R树空间的浏览器矢量图形渲染方法及装置 |
CN110610544A (zh) * | 2019-08-13 | 2019-12-24 | 北京中色地科测绘有限公司 | 钻孔数据抽稀方法和装置、设备及储存介质 |
Also Published As
Publication number | Publication date |
---|---|
CN104537024B (zh) | 2017-12-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104537024A (zh) | 一种海量位置签到数据的可视化方法 | |
CN110222137B (zh) | 一种基于倾斜摄影与增强现实技术智慧校园系统 | |
CN102117497B (zh) | 一种三维地形建模方法及系统 | |
CN102306180B (zh) | 一种基于海量激光雷达栅格点云数据的建模方法 | |
CN103606192B (zh) | 一种基于三维虚拟地球的风场可视化展示方法 | |
CN112115198A (zh) | 一种城市遥感智能服务平台 | |
CN109493407A (zh) | 实现激光点云稠密化的方法、装置及计算机设备 | |
CN104821013A (zh) | 基于大地坐标系数字高程模型的地表面积提取方法及系统 | |
CN104835202A (zh) | 一种三维虚拟场景快速构建方法 | |
CN103412863A (zh) | 面向嵌入式设备的大容量矢量地图快速可视化实现方法 | |
CN102708587A (zh) | 一种快速获取三维建筑信息的方法及系统 | |
CN105574194B (zh) | 一种用于电子地图界面的坐标点处理方法及装置 | |
CN104281991A (zh) | 智慧社区三维监控平台及智慧社区三维监控方法 | |
CN102073645B (zh) | 虚拟城市系统及其运行方法 | |
CN115796712B (zh) | 区域陆地生态系统碳储量估算方法、装置、电子设备 | |
Liu et al. | Optimization of simulation and visualization analysis of dam-failure flood disaster for diverse computing systems | |
CN105761310A (zh) | 一种天空可视域数字地图的模拟分析及图像显示方法 | |
CN108830926A (zh) | 三维虚拟地球软件中空间动态粒子模型建立与可视化方法 | |
CN113254559A (zh) | 一种基于地理信息系统的设备选址方法 | |
CN107229742A (zh) | 一种基于遥感大数据确定城市易涝点的方法 | |
CN108375806A (zh) | 气象地图的获取方法和装置 | |
CN113157988B (zh) | 由ofd格式文件表示地理信息的方法和装置 | |
CN110120083A (zh) | 水质预报分布图绘制方法、装置和电子设备 | |
CN115906717A (zh) | 一种水土保持的侵蚀计算方法及系统 | |
Wang et al. | A storage method for remote sensing images based on google s2 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20171222 Termination date: 20201219 |
|
CF01 | Termination of patent right due to non-payment of annual fee |