CN109636894B - 一种基于像素点栅格化的动态三维热力计算方法及系统 - Google Patents
一种基于像素点栅格化的动态三维热力计算方法及系统 Download PDFInfo
- Publication number
- CN109636894B CN109636894B CN201811288732.XA CN201811288732A CN109636894B CN 109636894 B CN109636894 B CN 109636894B CN 201811288732 A CN201811288732 A CN 201811288732A CN 109636894 B CN109636894 B CN 109636894B
- Authority
- CN
- China
- Prior art keywords
- dynamic
- dimensional
- rasterization
- data
- pixel
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种基于像素点栅格化的动态三维热力计算方法及系统,包括数据处理单元,对数据进行处理生成数据源,并将数据源中需要的字段拼接成动态模型;栅格化处理单元,对动态模型生成的二维图片进行栅格化处理;上色单元,对栅格化的模糊图片上色;拉伸单元,根据颜色权重拉伸高度,得到动态三维热力图;抽离封装单元,抽离绘制完成的动态三维热力图的参数并封装成组件,供用户后续调用。利用栅格化原理,将像素点栅格化,减少了部分像素点,提高运算速率,节省计算机内存、CPU开销,抽离参数,并组件化,提供多种样式模板,用户可直接选取使用,对于非专业的业务人员也可快速的完成配置,提升易用性,三维渲染展示,提高展示效果。
Description
技术领域
本发明属于三维图展示空间信息技术领域,具体地说,涉及一种基于像素点栅格化的动态三维热力计算方法及系统。
背景技术
随着大数据的蓬勃发展,数据可视化技术也随之快速发展。由于大数据中捆绑着大量地理空间信息,而热力图以特殊高亮的形式显示数据的特性,作为一种直观的可视化方法,具有综合展示数据空间特征和属性特征的良好特性,可帮助各个领域的研究人员获取地理空间知识,因此深受欢迎。而用户对空间信息的展示需求也越来越多。
传统的热力图都是二维热力图,二维热力图仅是使用不同的填充颜色来区分不同的热力密度,而不同的热力密度之间仅能通过不同颜色代表的不同热力密度来模糊的展示热力密度之间存在差异,且不同位置之间的颜色对比不明显,使热力图的展示效果不够直观,对比效果大打则扣。
传统热力图生成原理:
对像素点直接进行渲染
技术原理:利用Canvas进行渐变填充,生成灰度图,设置globalAlpha,重置canvas画布颜色,读取每个像素的alpha值(透明度),做一个颜色映射。
缺陷:
由于对像素点直接渲染,当像素点较多时,运算速率较低
生成的图形为二维图,没有高度维度的展示。
发明内容
针对现有技术中上述的不足,本发明提供一种基于像素点栅格化的动态三维热力计算方法及系统,利用栅格化原理,将像素点栅格化,减少部分像素点,提高运算速率,即使是百万级的数据量也可快速、流畅的展示,节省计算机内存、CPU开销,抽离参数,并组件化,提供多种样式模板,用户可直接选取使用,对于非专业的业务人员也可快速的完成配置,提升易用性;三维渲染展示,提高展示效果,动态的数据呈现方式能够更直观、更清晰的表达业务含义,给用户更好的交互体验。
为了达到上述目的,本发明采用的解决方案是:一种基于像素点栅格化的动态三维热力计算方法,包括如下步骤:
S1:数据处理:对数据进行处理生成数据源,并将数据源中需要的字段拼接成动态模型;
S2:栅格化处理:对动态模型生成的二维图片进行栅格化处理;
S3:对栅格化的模糊图片上色;
S4:根据颜色权重拉伸高度,得到动态三维热力图;
S5:抽离参数,并将参数封装成组件。
进一步地,所述的数据处理包括如下步骤:
S101:确定数据的数据类型;
S102:根据数据类型对数据进行处理,生成数据源;
S103:将生成的数据源存储入数据库;
S104:将存入数据库的数据源通过查询命令生成一张表格;
S105:在表格中筛选需要的字段拼接成动态模型。
进一步地,所述的数据类型包括点位置信息、点密度半径和点权重,所述的点位置信息包括中心点位置和经纬度。
进一步地,所述的点位置信息经过偏移和缩放处理生成数据源;所述的点密度半径和点权重经过有值取值,无值取默认值处理生成数据源。
进一步地,所述的二维图片为二维热力图。
进一步地,所述的栅格化处理包括确定栅格的份数;
S201:取二边长维图片的边长中的最大值作为栅格化的边长n=max(w,l);
S202:确定分割份数m,分割份数m的取值参照以下公式:
其中,m为整数,n为二维图片的像素点个数,w为二维图片在宽方向上的像素点个数,l为二维图片在长方向上的像素点个数;
S203:根据分割份数将二维图片进行栅格化处理。
进一步地,在进行二维图片栅格化处理时,二维图片边长较小的边自动延伸补足。
进一步地,所述的对栅格化的模糊图片上色通对栅格上的像素点的坐标点获取这些像素点在二维图片上的颜色,并对这些像素点进行上色,并根据栅格上的像素点的颜色对栅格之间的像素点上色,使前一栅格的颜色平滑过渡到后一栅格的颜色。
进一步地,所述的根据颜色权重拉伸高度包括如下步骤:
S401:根据颜色计算权重K,
S402:颜色转换,将rgba的颜色转化为HSLa,
S403:计算H,S,L,a的差值,
S404:根据权重K,比例运算得到所取颜色的权重值,取高度值,拉伸其高度;
S405:生成动态三维热力图。
应用高效计算动态三维热力图的方法的系统,包括数据处理单元,对数据进行处理生成数据源,并将数据源中需要的字段拼接成动态模型;栅格化处理单元,对动态模型生成的二维图片进行栅格化处理;上色单元,对栅格化的模糊图片上色;拉伸单元,根据颜色权重拉伸高度,得到动态三维热力图;抽离封装单元,抽离绘制完成的动态三维热力图的参数并封装成组件,供用户后续调用。
本发明的有益效果是:
(1)利用栅格化原理,将像素点栅格化,减少了部分像素点,提高运算速率,即使是百万级的数据量也可快速、流畅的展示,节省计算机内存、CPU开销,抽离参数,并组件化,提供多种样式模板,用户可直接选取使用,对于非专业的业务人员也可快速的完成配置,提升易用性;三维渲染展示,提高展示效果,动态的数据呈现方式能够更直观、更清晰的表达业务含义,给用户更好的交互体验。
附图说明
图1为本发明计算动态三维热力图的方法流程示意图;
图2为本发明的数据处理逻辑示意图;
图3为栅格化处理示意图;
图4为栅格化处理中的补边示意图;
图5为本发明计算动态三维热力图的系统框图。
具体实施方式
以下结合附图对本发明作进一步描述:
如图1所示,一种基于像素点栅格化的动态三维热力计算方法,包括如下步骤:
S1:数据处理:对数据进行处理生成数据源,并将数据源中需要的字段拼接成动态模型;
S2:栅格化处理:对动态模型生成的二维热力图片进行栅格化处理;
S3:对栅格化的模糊图片上色;
S4:根据颜色权重拉伸高度,得到动态三维热力图;
S5:抽离参数,并将参数封装成组件。
进一步地,如图2所示,数据处理包括如下步骤:
S101:确定数据的数据类型,数据类型包括点位置信息、点密度半径和点权重,其中点位置信息包括中心点位置和经纬度;
S102:根据数据类型对数据进行处理,生成数据源,点位置信息经过偏移和缩放处理,点密度半径和点权重经过有值取值,无值取默认值处理;
S103:将生成的数据源存储入数据库;
S104:将存入数据库的数据源通过查询命令生成一张表格;
S105:在表格中筛选需要的字段拼接成动态模型。
如图3所示,栅格化处理即将二维图片栅格化成模糊图片,栅格化处理包括确定栅格的份数;
S201:取二维图片的边长中的最大值作为栅格化的边长n=max(w,l);
S202:确定边长分割份数m,分割份数m的取值参照以下公式:
其中,m为整数,n为二维图片的像素点个数,w为二维图片在宽方向上的像素点个数,l为二维图片在长方向上的像素点个数;
S203:根据分割份数将二维图片进行栅格化处理。
如图4所示,在进行二维图片栅格化处理时,二维图片边长较小的边自动延伸补足。
进一步地,所述的对栅格化的模糊图片上色通对栅格上的像素点的坐标点获取这些像素点在二维图片上的颜色,并对这些像素点进行上色,并根据栅格上的像素点的颜色对栅格之间的像素点上色,使前一栅格的颜色平滑过渡到后一栅格的颜色。
进一步地,所述的根据颜色权重拉伸高度包括如下步骤:
S401:根据颜色计算权重K,
S402:颜色转换,将rgba的颜色转化为HSLa,
S403:计算H,S,L,a的差值,
S404:根据权重K,比例运算得到所取颜色的权重值,取高度值,拉伸其高度;
S405:生成动态三维热力图。
如图5所示,应用高效计算动态三维热力图的方法的系统,包括数据处理单元,对数据进行处理生成数据源,并将数据源中需要的字段拼接成动态模型;栅格化处理单元,对动态模型生成的二维图片进行栅格化处理;上色单元,对栅格化的模糊图片上色;拉伸单元,根据颜色权重拉伸高度,得到动态三维热力图;抽离封装单元,抽离绘制完成的动态三维热力图的参数并封装成组件,供用户后续调用。
抽离封装单元对热力图的高度,面积,旋转速度,渐变颜色,地图颜色等参数进行抽离,并将这些参数封装成组件,供用户调用,同时系统还提供有多种样式模板,用户可以直接选取使用。
本发明使用webgl对图形进行处理,实现三维渲染;使用GPU处理图片,提高高并发运算速率;使用着色器对图片进行计算,提高运算速率。
在本发明的一个实施例中,处理的数据为点位置信息,点位置信息包括经纬度和中心点,经过偏移和缩放处理后生成数据源,并将数据源存储在数据库中,然后通过查询命令生产数据表格,在表格中旋转需要的字段拼接成需要的动态模型;然后根据动态模型生成了w=1000个像素点,l=920个像素点的二维热力图片,取n=1000作为栅格化的边长,根据公式n=266×(m-50)-0.8667×(m-50)2→(50<n<20000)计算边长分割份数m,取整得到m=303,在l边补足80个像素点后,将二维图片切割为303×303份;切割完成后对栅格化的模糊图片上色,上色完成后,根据颜色权重拉伸高度,首先根据颜色计算权重K,然后将rgba的颜色转化为HSLa,然后计算H,S,L,a的差值,根据权重K,比例运算得到所取颜色的权重值,取高度值,拉伸其高度,生成动态三维热力图;最后将热力图的高度,面积,旋转速度,渐变颜色,地图颜色等参数进行抽离,并将这些参数封装成组件,供用户调用。
在本发明的另一个实施例中处理的数据为点密度半径,经过有值取值,无值取默认值处理后生成数据源,并将数据源存储在数据库中,然后通过查询命令生产数据表格,在表格中旋转需要的字段拼接成需要的动态模型;然后根据动态模型生成了w=32个像素点,l=50个像素点的二维热力图片,取n=50作为栅格化的边长,根据公式m=n→n≤50计算边长分割份数m,取整得到m=50,在w边补足18个像素点后将二维图片切割为50×50份;切割完成后对栅格化的模糊图片上色,上色完成后,根据颜色权重拉伸高度,首先根据颜色计算权重K,然后将rgba的颜色转化为HSLa,然后计算H,S,L,a的差值,根据权重K,比例运算得到所取颜色的权重值,取高度值,拉伸其高度,生成动态三维热力图;最后将热力图的高度,面积,旋转速度,渐变颜色,地图颜色等参数进行抽离,并将这些参数封装成组件,供用户调用。
在本发明的另一个实施例中处理的数据为点权重,经过有值取值,无值取默认值处理后生成数据源,并将数据源存储在数据库中,然后通过查询命令生产数据表格,在表格中旋转需要的字段拼接成需要的动态模型;然后根据动态模型生成了w=50000个像素点,l=27000个像素点的二维热力图片,取n=50000作为栅格化的边长,根据公式200→n≥20000计算边长分割份数m,取整得到m=200,在l边补足23000个像素点后将二维图片切割为200×200份;切割完成后对栅格化的模糊图片上色,上色完成后,根据颜色权重拉伸高度,首先根据颜色计算权重K,然后将rgba的颜色转化为HSLa,然后计算H,S,L,a的差值,根据权重K,比例运算得到所取颜色的权重值,取高度值,拉伸其高度,生成动态三维热力图;最后将热力图的高度,面积,旋转速度,渐变颜色,地图颜色等参数进行抽离,并将这些参数封装成组件,供用户调用。
以上所述实施例仅表达了本发明的具体实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。
Claims (9)
1.一种基于像素点栅格化的动态三维热力计算方法,其特征在于:包括如下步骤:
S1:数据处理:对数据进行处理生成数据源,并将数据源中需要的字段拼接成动态模型;
S2:栅格化处理:对动态模型生成的二维图片进行栅格化处理;具体的,所述的栅格化处理包括确定栅格的份数;
S201:取二维图片的边长中的最大值作为栅格化的边长n=max(w,l);
S202:确定边长分割份数m,分割份数m的取值参照以下公式:
其中,m为整数,n为二维图片的像素点个数,w为二维图片在宽方向上的像素点个数,l为二维图片在长方向上的像素点个数;
S203:根据分割份数将二维图片进行栅格化处理;
S3:对栅格化的模糊图片上色;
S4:根据颜色权重拉伸高度,得到动态三维热力图;
S5:抽离参数,并将参数封装成组件。
2.根据权利要求1所述的一种基于像素点栅格化的动态三维热力计算方法,其特征在于:所述的数据处理包括如下步骤:
S101:确定数据的数据类型;
S102:根据数据类型对数据进行处理,生成数据源;
S103:将生成的数据源存储入数据库;
S104:将存入数据库的数据源通过查询命令生成一张表格;
S105:在表格中筛选需要的字段拼接成动态模型。
3.根据权利要求2所述的一种基于像素点栅格化的动态三维热力计算方法,其特征在于:所述的数据类型包括点位置信息、点密度半径和点权重,所述的点位置信息包括中心点位置和经纬度。
4.根据权利要求3所述的一种基于像素点栅格化的动态三维热力计算方法,其特征在于:所述的点位置信息经过偏移和缩放处理生成数据源;所述的点密度半径和点权重经过有值取值,无值取默认值处理生成数据源。
5.根据权利要求1所述的一种基于像素点栅格化的动态三维热力计算方法,其特征在于:所述的二维图片为二维热力图。
6.根据权利要求1所述的一种基于像素点栅格化的动态三维热力计算方法,其特征在于:在进行二维图片栅格化处理时,二维图片边长较小的边自动延伸补足。
7.根据权利要求1所述的一种基于像素点栅格化的动态三维热力计算方法,其特征在于:所述的对栅格化的模糊图片上色通过栅格上的像素点的坐标点获取这些像素点在二维图片上的颜色,并对这些像素点进行上色,并根据栅格上的像素点的颜色对栅格之间的像素点上色,使前一栅格的颜色平滑过渡到后一栅格的颜色。
9.应用权利要求1-8中任意一项所述的一种基于像素点栅格化的动态三维热力计算方法的一种基于像素点栅格化的动态三维热力计算系统,其特征在于:包括数据处理单元,对数据进行处理生成数据源,并将数据源中需要的字段拼接成动态模型;栅格化处理单元,对动态模型生成的二维图片进行栅格化处理;上色单元,对栅格化的模糊图片上色;拉伸单元,根据颜色权重拉伸高度,得到动态三维热力图;抽离封装单元,抽离绘制完成的动态三维热力图的参数并封装成组件,供用户后续调用。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811288732.XA CN109636894B (zh) | 2018-10-31 | 2018-10-31 | 一种基于像素点栅格化的动态三维热力计算方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811288732.XA CN109636894B (zh) | 2018-10-31 | 2018-10-31 | 一种基于像素点栅格化的动态三维热力计算方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109636894A CN109636894A (zh) | 2019-04-16 |
CN109636894B true CN109636894B (zh) | 2022-10-25 |
Family
ID=66066981
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811288732.XA Active CN109636894B (zh) | 2018-10-31 | 2018-10-31 | 一种基于像素点栅格化的动态三维热力计算方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109636894B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110349261B (zh) * | 2019-07-15 | 2023-05-09 | 泰华智慧产业集团股份有限公司 | 基于gis生成三维热力图的方法 |
CN111325822B (zh) * | 2020-02-18 | 2022-09-06 | 腾讯科技(深圳)有限公司 | 热点图的显示方法、装置、设备及可读存储介质 |
CN112965650A (zh) * | 2021-03-12 | 2021-06-15 | 平安国际智慧城市科技股份有限公司 | 热力图可视化方法、系统和计算机设备 |
CN114580435B (zh) * | 2022-02-18 | 2022-10-25 | 深圳数鉴科技有限公司 | 基于用户行为数据的会话分析方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106022460A (zh) * | 2016-05-25 | 2016-10-12 | 重庆市勘测院 | 基于激光雷达的人群密度实时监测方法 |
CN106548508A (zh) * | 2016-09-20 | 2017-03-29 | 天津大学 | 一种高质量3d 纹理重建方法 |
CN106971417A (zh) * | 2017-05-17 | 2017-07-21 | 成都四方伟业软件股份有限公司 | 一种在浏览器中显示三维散点图的方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9582932B2 (en) * | 2012-06-05 | 2017-02-28 | Apple Inc. | Identifying and parameterizing roof types in map data |
-
2018
- 2018-10-31 CN CN201811288732.XA patent/CN109636894B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106022460A (zh) * | 2016-05-25 | 2016-10-12 | 重庆市勘测院 | 基于激光雷达的人群密度实时监测方法 |
CN106548508A (zh) * | 2016-09-20 | 2017-03-29 | 天津大学 | 一种高质量3d 纹理重建方法 |
CN106971417A (zh) * | 2017-05-17 | 2017-07-21 | 成都四方伟业软件股份有限公司 | 一种在浏览器中显示三维散点图的方法及系统 |
Non-Patent Citations (4)
Title |
---|
Thermal infrared imaging of the variability of canopy-air temperature difference distribution for heavy metal stress levels discrimination in rice;Biyao Zhang等;《Journal of Applied Remote Sensing》;20170630;第1-15页 * |
一种面向百万级数据的热力图生成算法;杨振凯等;《测绘科学》;20180201(第08期);第89-93页 * |
基于OpenGL的三维地形可视化原理与实现;程竹;《通化师范学院学报》;20070420(第04期);第57-59页 * |
战场态势热力图构建方法研究;董浩洋等;《指挥控制与仿真》;20171015(第05期);第7-14页 * |
Also Published As
Publication number | Publication date |
---|---|
CN109636894A (zh) | 2019-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109636894B (zh) | 一种基于像素点栅格化的动态三维热力计算方法及系统 | |
US10102663B2 (en) | Gradient adjustment for texture mapping for multiple render targets with resolution that varies by screen location | |
TWI602148B (zh) | 用於紋理映射至非正交網格的梯度調整 | |
US11024077B2 (en) | Global illumination calculation method and apparatus | |
US8704830B2 (en) | System and method for path rendering with multiple stencil samples per color sample | |
US9275493B2 (en) | Rendering vector maps in a geographic information system | |
JP6863693B2 (ja) | グラフィックス処理システムおよび方法 | |
US9495767B2 (en) | Indexed uniform styles for stroke rendering | |
CN110706326B (zh) | 数据展示方法及装置 | |
CN113177172A (zh) | 基于WebGL的大批量三维文字高效显示的方法 | |
CN108197555B (zh) | 一种基于人脸追踪的实时人脸融合方法 | |
US20160307294A1 (en) | Systems and Methods for Displaying Patterns of Recurring Graphics on Digital Maps | |
RU2680355C1 (ru) | Способ и система удаления невидимых поверхностей трёхмерной сцены | |
CN110428504B (zh) | 文本图像合成方法、装置、计算机设备和存储介质 | |
CN111179390A (zh) | 高效预览cg资产的方法和装置 | |
US11989807B2 (en) | Rendering scalable raster content | |
US7372461B2 (en) | Image processing apparatus and method of same | |
CN114820853A (zh) | 矢量图形的处理方法、装置、计算机设备和存储介质 | |
CN113593028A (zh) | 一种用于航电显控的三维数字地球构建方法 | |
Xu et al. | Visualization methods of vector data on a Digital Earth System | |
KR100624455B1 (ko) | 3차원 그래픽스 환경에서의 라이트맵 처리 방법 및 장치 | |
Mikhaylyuk et al. | Memory-effective methods and algorithms of shader visualization of digital core material model | |
US11869123B2 (en) | Anti-aliasing two-dimensional vector graphics using a compressed vertex buffer | |
US11776179B2 (en) | Rendering scalable multicolored vector content | |
Sanzharov et al. | Supporting Vector Textures in a GPU Photorealistic Rendering System |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |