CN106033451B - 一种小区话务量的密度图即时渲染方法及装置 - Google Patents
一种小区话务量的密度图即时渲染方法及装置 Download PDFInfo
- Publication number
- CN106033451B CN106033451B CN201510116469.6A CN201510116469A CN106033451B CN 106033451 B CN106033451 B CN 106033451B CN 201510116469 A CN201510116469 A CN 201510116469A CN 106033451 B CN106033451 B CN 106033451B
- Authority
- CN
- China
- Prior art keywords
- cell
- tile fragment
- pixel
- unit
- grid matrix
- 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
- 238000009877 rendering Methods 0.000 title claims abstract description 34
- 230000001413 cellular Effects 0.000 title claims abstract description 21
- 239000011159 matrix material Substances 0.000 claims abstract description 114
- 230000000875 corresponding Effects 0.000 claims abstract description 17
- 230000003321 amplification Effects 0.000 claims description 9
- 238000003199 nucleic acid amplification method Methods 0.000 claims description 9
- 230000005540 biological transmission Effects 0.000 claims description 8
- 238000010586 diagram Methods 0.000 description 19
- 238000000034 method Methods 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 6
- 238000004458 analytical method Methods 0.000 description 3
- 241001062009 Indigofera Species 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000003068 static Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000002592 echocardiography Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006011 modification reaction Methods 0.000 description 1
- 230000000750 progressive Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Abstract
本发明公开一种小区话务量的密度图即时渲染方法及装置,所述方法包括:接收浏览器发送的获取地图瓦块图片的请求,所述请求包括当前瓦块的信息;根据所述请求生成所述瓦块对应的栅格矩阵;获取所述瓦块对应范围内的小区,小区扇形覆盖图形以及小区的话务量;将所述小区,小区扇形覆盖图形栅格化到所述栅格矩阵上;将所述小区的话务量填充到栅格化后的所述栅格矩阵上;将填充话务量的所述栅格矩阵渲染为瓦块图片;遍历所述瓦片图片中的像素点,确定每个像素点的话务量值;根据所述每个像素点的话务量值确定所述每个像素点的颜色,得到地图瓦片图片;将所述地图瓦块图片反馈给所述浏览器,以使所述浏览器将所述地图瓦块图片显示给所述用户。
Description
技术领域
本发明涉及计算机通信技术领域,特别涉及一种小区话务量的密度图即时渲染方法及装置。
背景技术
随着地理信息系统(GIS,Geographic Information System)在移动通信行业运用的日渐广泛,在部分需求中,对地理数据的灵活性和实时性要求较高。比如,传统的密度图渲染,多基于静态图层或空间数据处理(GP,Geoprocessing)服务的方式实现,其中,Geoprocessing包含了一系列地理数据处理的功能,像做缓冲区分析、叠加分析、以及对栅格数据制作阴影图等等。
但是,基于静态图层或空间数据处理的密度图渲染方法中,如果对数据密度图进行实时渲染呈现和切换现,需要的处理周期过长,不能慢慢用户需求,降低了用户的满意度。因此,如何对数据密度图进行实时渲染呈现和切换,是目前有待解决的技术问题。
发明内容
本发明实施例中提供了一种小区话务量的密度图即时渲染方法及装置,以解决现有技术中对数据密度图渲染的周期长导致用户满意度降低的技术问题。
为了解决上述技术问题,本发明实施例公开了如下技术方案:
第一方面提供了一种小区话务量的密度图即时渲染方法,所述方法包括:
接收浏览器发送的获取地图瓦块图片的请求,所述请求包括当前瓦块的信息,所述瓦块的信息为所述浏览器在接收到用户的查询请求时,获取的地图显示区域的变化信息;
根据所述请求生成所述瓦块对应的栅格矩阵;
获取所述瓦块对应范围内的小区,小区扇形覆盖图形以及小区的话务量;
将所述小区,小区扇形覆盖图形栅格化到所述栅格矩阵上;
将所述小区的话务量填充到栅格化后的所述栅格矩阵上;
将填充话务量的所述栅格矩阵渲染为瓦块图片;
遍历所述瓦块图片中的像素点,确定每个像素点的话务量值;
根据所述每个像素点的话务量值确定所述每个像素点的颜色,得到地图瓦块图片;
将所述地图瓦块图片反馈给所述浏览器,以使所述浏览器将所述地图瓦块图片显示给所述用户。
可选的,所述当前瓦块的信息包括:所述瓦块在整个地图中所处的行号和列号,地图层级,地图分辨率以及瓦块像素大小;
所述根据所述请求生成所述瓦块对应的栅格矩阵,包括:
根据所述请求计算所述瓦块左上角的经纬度位置信息;
将所述经纬度位置信息转换为墨卡托坐标信息;
根据所述请求创建行号和列号均为预定值的栅格矩阵,并在创建的所述栅格矩阵的左上角上标记所述墨卡托坐标以及所述栅格矩阵的宽高;
初始化标记后的所述栅格矩阵。
可选的,所述将所述小区,小区扇形覆盖图形栅格化到所述栅格矩阵上,包括:
遍历所述瓦块对应范围内的小区,得到对应小区扇形覆盖图形;
确定所述小区扇形覆盖图形的每一条边经过的单元格坐标点;
按照所述坐标点中的纵坐标对所述横坐标进行分组,得到多个单元格组;
将每个单元格组中的纵坐标作为行号,从最小的横坐标为起始列号,到最大的横坐标作为终止列号,从左到右累加填充单元格的值。
可选的,所述将所述小区,小区扇形覆盖图形栅格化到所述栅格矩阵上,还包括:
放大所述栅格矩阵中累加值后的单元格;
放大后单元格的值为原单元格的值的均值。
可选的,所述将所述小区的话务量填充到栅格化后的所述栅格矩阵上,包括:计算每个单元格四个顶点的值;将每个单元格划分为四个三角形,根据所述每个单元格四个顶点的值计算每个三角形顶点的话务量值;
所述遍历所述瓦块图片中的像素点,确定每个像素点的话务量值,包括:遍历所述瓦块图片中的像素点,确定每个像素点所属的三角形;利用所述三角形的面公式计算计算每个像素点的话务量值。
第二方面提供了一种小区话务量的密度图即时渲染装置,所述装置包括:
接收单元,用于接收浏览器发送的获取地图瓦块图片的请求,所述请求包括当前瓦块的信息,所述瓦块的信息为所述浏览器在接收到用户的查询请求时,获取的地图显示区域的变化信息;
生成单元,用于根据所述请求生成所述瓦块对应的栅格矩阵;
获取单元,用于获取所述瓦块对应范围内的小区,小区扇形覆盖图形以及小区的话务量;
栅格化单元,用于将所述小区,小区扇形覆盖图形栅格化到所述栅格矩阵上;
填充单元,用于将所述小区的话务量填充到栅格化后的所述栅格矩阵上;
渲染单元,用于将填充话务量的所述栅格矩阵渲染为瓦块图片;
像素点遍历单元,用于遍历所述瓦块图片中的像素点;
话务量确定单元,用于确定所述像素点遍历单元遍历得到的每个像素点的话务量值;
颜色确定单元,用于根据所述每个像素点的话务量值确定所述每个像素点的颜色,得到地图瓦块图片;
发送单元,用于将所述地图瓦块图片反馈给所述浏览器,以使所述浏览器将所述地图瓦块图片显示给所述用户。
可选的,所述接收单元接收到的所述当前瓦块的信息包括:所述瓦块在整个地图中所处的行号和列号,地图层级,地图分辨率以及瓦块像素大小;
所述生成单元包括:
第一计算单元,用于根据所述请求计算所述瓦块左上角的经纬度位置信息;
转换单元,用于将所述经纬度位置信息转换为墨卡托坐标信息;
创建单元,用于根据所述请求创建行号和列号均为预定值的栅格矩阵;
标记单元,用于在所述创建单元创建的所述栅格矩阵的左上角上标记所述墨卡托坐标以及所述栅格矩阵的宽高;
初始化单元,用于初始化标记后的所述栅格矩阵。
可选的,所述栅格化单元包括:
小区遍历单元,用于遍历所述瓦块对应范围内的小区,得到对应的小区扇形覆盖图形;
坐标确定单元,用于确定所述小区扇形覆盖图形的每一条边经过的单元格坐标点;
分组单元,用于按照所述坐标中的纵坐标对所述横坐标进行分组,得到多个单元格组;
累加单元,用于将每个单元格组中的纵坐标作为行号,从最小的横坐标为起始列号,到最大的横坐标作为终止列号,从左到右累加填充单元格的值。
可选的,所述栅格化单元还包括:
放大单元,用于放大所述累加单元累加填充值后的单元格;
第二计算单元,用于计算放大后单元格的值为原单元格的值的均值。
可选的,所述填充单元包括:
第三计算单元,用于计算每个单元格四个顶点的值;
划分单元,用于将每个单元格划分为四个三角形,根据所述每个单元格四个顶点的值计算每个三角形顶点的话务量值;
所述话务量确定单元包括:
三角形确定单元,用于确定每个像素点所属的三角形;
第四计算单元,用于利用所述三角形的面公式计算计算每个像素点的话务量值。
由上述技术方案可知,本发明实施例中,先生成栅格矩阵,然后将获取的小区,将小区扇形覆盖图形及小区话务量快速栅格化到栅格矩阵上,并将栅格化的矩阵渲染为瓦块图片,然后确定该瓦块图片上的话务量,以及根据话务量确定每个像素点的颜色,从而得到地图瓦块图片,实现了根据请求对小区话务量进行实时渲染,缩小了渲染周期,提高了用户满意度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种小区话务量的密度图即时渲染方法的流程图;
图2为本发明实施例提供的瓦块在整个地图中所处的行号和列号的示意图;
图3为本发明实施例提供的一种将栅格矩阵中的单元格初始化后的示意图;
图4A为本发明实施例提供的将一个小区的小区扇形覆盖图形栅格化到所述栅格矩阵上的示意图;
图4B为本发明实施例提供的将多个小区的小区扇形覆盖图形栅格化到所述栅格矩阵上的示意图;
图5为本发明实施例提供的一种单元格放大后取均值的示意图;
图6为本发明实施例提供的一种单元格三角面化的示意图;
图7为本发明实施例提供的一种地图瓦块图片的示意图;
图8为本发明实施例提供的一种小区话务量的密度图即时渲染装置的结构示意图;
图9为本发明实施例提供的一种服务端的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本发明实施例中可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本发明实施例范围的情况下,第一信息也可以被称为第二信息,不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在,,,,时”或“当,,,,时”或“响应于确定”。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
请参阅图1,图1为本发明实施例提供的一种小区话务量的密度图即时渲染方法的流程图,所述方法包括:
步骤101:接收浏览器发送的获取地图瓦块图片的请求,所述请求包括当前瓦块的信息,所述瓦块的信息为所述浏览器在接收到用户的查询请求时,获取的地图显示区域的变化信息;
该步骤中,用户可以通过浏览器或客户端发起查询请求,所述查询请求包括:时间,网络制式和指标等;而浏览器或客户端在接收到该查询请求后,获取地图显示区域的变化信息,通过地图瓦块图片的请求把该地图显示区域的变化信息发送给服务端,其中,地图显示区域的变化信息又称为当前瓦块的信息,其中,当前瓦块的信息包括但不限于下述四种参数:
1)瓦块在整个地图中所处的行号、列号,比如(231,123)。如图2所示,图2为本发明实施例提供的瓦块在整个地图中所处的行号和列号的示意图;
2)地图层级,比如:3;
3)地图分辨率,比如:0.123411234;4)瓦块像素大小,比如:256*256。
步骤102:根据所述请求生成所述瓦块对应的栅格矩阵;
该步骤中,服务端根据所述请求生成所述瓦块对应的栅格矩阵的过程包括:
1)服务端按照该请求中包含的瓦块在整个地图中所处的行号和列号计算所述瓦块左上角的经纬度位置信息;其计算的过程对于本领域技术人员已是已知技术,在此不再赘述。
2)将所述经纬度位置信息转换为墨卡托坐标信息;
该步骤中,服务端通过下述公式将经纬度位置信息转换为墨卡托坐标信息:
3)根据所述请求创建行号和列号均为预定值的栅格矩阵,并在创建的所述栅格矩阵的左上角上标记所述墨卡托坐标以及所述栅格矩阵的宽高;
该步骤中,可以根据瓦块像素的大小来创建栅格矩阵,如果瓦块像素的大小256*256,则创建行列数均为256的栅格矩阵,并在该栅格矩阵的左上角上标记墨卡托坐标以及栅格矩阵的宽高。
4)初始化标记后的所述栅格矩阵。
即将栅格矩阵中的单元格初始化为0,具体如图3所示,图3为本发明实施例提供的一种将栅格矩阵中的单元格初始化后的示意图。
步骤103:获取所述瓦块对应范围内的小区,小区扇形覆盖图形以及小区的话务量;
在该步骤中,如果是服务端第一次接收到浏览器或客户端发送的请求,则获取所有小区及每个小区的话务量,并缓存所述小区及每个小区的话务量。如果不是第一次接收到该请求,则只获取该瓦块对应范围内的小区,以及该范围内的小区的话务量,从而提高了效率。
步骤104:将所述小区,小区扇形覆盖图形栅格化到所述栅格矩阵上;
该步骤中,服务端将所述小区,小区扇形覆盖图形栅格化到所述栅格矩阵上的过程,包括:
1)服务端遍历所述瓦块对应范围内的小区,确定所述小区扇形覆盖图形的每一条边经过的单元格的坐标;
该步骤中,服务端依次遍历所述瓦块对应范围内的每个小区,然后,确定每个小区扇形覆盖图形的每一条边经过的单元格的坐标。
可以利用伯明翰(Bresenham)算法计算将组成小区扇形覆盖图形的每一条边经过的单元格坐标点,即{(x1,y1),,,,(xn,yn)};
2)按照所述坐标点中的纵坐标对所述横坐标进行分组,得到多个单元格组;
比如,按y1至yn进行分组,得到多个单元格组,即{(y1,xmin,xmax),,,,(yn,xmin,xmax)};
3)将每个单元格组中的纵坐标作为行号,从最小的横坐标为起始列号,到最大的横坐标作为终止列号,从左到右累加填充单元格的值。
如图4A和图4B所示,图4A为本发明实施例提供的将一个小区的小区扇形覆盖图形栅格化到所述栅格矩阵上的示意图;图4B为本发明实施例提供的将多个小区的小区扇形覆盖图形栅格化到所述栅格矩阵上的示意图。
进一步,为了提高运算速度,服务端将所述小区的话务量填充到栅格化后的所述栅格矩阵上的过程还可以包括:在填充单元格的值后,放大所述栅格矩阵中累加值后的单元格;放大后单元格的值为原单元格的值的均值。
也就是说,为了提高运算速度,服务端按设定倍数扩大添加值后栅格矩阵的单元格。比如,将栅格矩阵中的单元格扩大N倍,总单元格数据降为原有单元格的1/N2。放大后单元格的值可由原单元格的值取均值来确定,即合并后的单元格的值=(左上+右上+左下+右下)/4。如图5所示,图5为本发明实施例提供的一种单元格放大后取均值的示意图。
其中,图5是对图4B进行放大后取均值的示意图,该实施例中,是以将4个单元格合并成一个单元格为例,而在实际应用中,并不限于此。这样除了的目的可以减少后续的三角面计算,从而提高了计算速度和性能。
步骤105:将所述小区的话务量填充到栅格化后的所述栅格矩阵上;
该步骤中,服务端将所述小区的话务量填充到栅格化后的所述栅格矩阵上的过程包括:
1)服务端计算每个单元格四个顶点的值;
该步骤中,每个单元格的顶点的值等于与该顶点相邻的4个单元格的值的平均值。
2)将每个单元格划分为四个三角形,根据所述每个单元格四个顶点的值计算每个三角形顶点的话务量值。具体如图6所示,图6为本发明实施例提供的一种单元格三角面化的示意图。
如图6所示,该实施例中,以将单元格划分为四个直角三角形为例,并计算每个直角三角形顶点的话务量值。
其中,直角三角形两个底角的值等于直角所在的单元格的顶点值,直角的值等于直角三角形所在单元格四个顶点的均值。
步骤106:将填充话务量的所述栅格矩阵渲染为瓦块图片;
该步骤中,渲染为瓦块图片的大小为栅格矩阵行数或列数的N倍,瓦块图片数据映射为字节数组的长度为瓦块图片宽×瓦块图片高×4。每4个字节作为一个像素点的数据存储,每个字节依次代表B(蓝)、G(绿)、R(红)、A(透明度)。由于瓦块图片的宽高是栅格矩阵行列的N倍,因此,将像素点映射到栅格矩阵时需按N倍进行缩放。
步骤107:遍历所述瓦块图片中的像素点,确定每个像素点的话务量值;
该步骤中,服务端遍历所述瓦块图片中的像素点,确定每个像素点所属的三角形;然后利用所述三角形的面公式计算计算每个像素点的话务量值。
也就是说,在像素点映射到栅格矩阵的单元格上后,服务端需要进一步判定像素点落在哪一个三角形上,包括:落在三角形的内部或边上。
步骤108:根据所述每个像素点的话务量值确定所述每个像素点的颜色,得到地图瓦块图片;
该步骤中,利用三角形代表的面公式Ax+By+Cz+D=0,可计算出该像素的话务量z。其中,A、B、C分别为三角形面公式的系数,x为像素点在单元格内x坐标,y为像素点在单元格内y坐标。
再后,将计算出的话务量z带入颜色渐变公式进行计算,得到该像素点的颜色。
其中,颜色渐变公式为X’=X+(Xs-Xe)*(V-Vs)/(Ve-Vs)其中,X代表rgb颜色中的r(红)、g(绿)、b(蓝)分量,X’代表渐变后的分量,Xs、Xe代表渐变起止分量,V代表当前话务量,Vs、Ve代表渐变起止话务量。
通过以上步骤,可生成图片所需的完整的字节数组,将字节数组保存为地图瓦块图片输出,具体如图7所示,图7为本发明实施例提供的一种地图瓦块图片的示意图。
步骤109:将所述地图瓦块图片反馈给所述浏览器,以使所述浏览器将所述地图瓦块图片显示给所述用户。
该步骤中,服务端将得到的地图瓦块图片发送给浏览器或客户端,以便于浏览器或客户端在接收到该地图瓦块图片时,将该地图瓦块图片呈现给用户。
本发明实施例中,服务端根据接收获取地图瓦块图片的请求生成瓦块对应的栅格矩阵,并将获取的小区,小区扇形覆盖图形栅格化到该栅格矩阵上,并将获取到的小区话务量填充到栅格化的栅格矩阵上,然后将填充话务量的所述栅格矩阵渲染为瓦块图片,确定瓦块图片中每个像素点的话务量值,根据像素点的话务量值确定每个像素点的颜色,从而得到地图瓦块图片。也就是说,本发明实施例中,先生成栅格矩阵,然后将获取的小区,将小区扇形覆盖图形及小区话务量快速栅格化到栅格矩阵上,并将栅格化的矩阵渲染为瓦块图片,然后确定该瓦块图片上的话务量,以及根据话务量确定每个像素点的颜色,从而得到地图瓦块图片,实现了根据请求对小区话务量进行实时渲染,缩小了渲染周期,提高了用户满意度。
进一步,由于小区数据较多,本实施例可以快速将小区多边形进行栅格化,并提高了栅格化的速度。
另外,通过放大栅格矩阵单元格,相应的减少栅格矩阵中的三角形数量。三角形面公式涉及大量浮点运算,非常耗时,在不影响呈现效果的情况下,将栅格单元扩大化处理以减少三角形数量。提高了运算效率。
本发明实施例中,采取指针扫描的方式将像素值映射到图像中,而相比现有技术汇总,通过设置图像的像素值的方式,大大的提升了效率。
进一步,本发明实施例中,为了保证渲染图的浏览时的流畅性,每张瓦块图片的生成耗时需控制在预设时间内(比如控制在100毫秒内,但并不限于此),因此在填充栅格、三角化单元格、生成图像等都采用了快速的生成算法以及并行处理,虽短渲染周期,提高了渲染效率。
基于上述方法的实现过程,本发明实施例还提供一种小区话务量的密度图即时渲染装置,其结构示意图如图8所示,所述装置包括:接收单元81,生成单元82,获取单元83,栅格化单元84,填充单元85,渲染单元86,像素点遍历单元87,话务量确定单元88,颜色确定单元89和发送单元90,其中,
所述接收单元81,用于接收浏览器发送的获取地图瓦块图片的请求,所述请求包括当前瓦块的信息,所述瓦块的信息为所述浏览器在接收到用户的查询请求时,获取的地图显示区域的变化信息;
所述生成单元82,用于根据所述请求生成所述瓦块对应的栅格矩阵;
所述获取单元83,用于获取所述瓦块对应范围内的小区,小区扇形覆盖图形以及小区的话务量;
所述栅格化单元84,用于将所述小区,小区扇形覆盖图形栅格化到所述栅格矩阵上;
所述填充单元85,用于将所述小区的话务量填充到栅格化后的所述栅格矩阵上;
所述渲染单元86,用于将填充话务量的所述栅格矩阵渲染为瓦块图片;
所述像素点遍历单元87,用于遍历所述瓦块图片中的像素点;
所述话务量确定单元88,用于确定所述像素点遍历单元遍历得到的每个像素点的话务量值;
所述颜色确定单元89,用于根据所述每个像素点的话务量值确定所述每个像素点的颜色,得到地图瓦块图片;
所述发送单元90,用于将所述地图瓦块图片反馈给所述浏览器,以使所述浏览器将所述地图瓦块图片显示给所述用户。
可选的,在另一实施例中,该实施例在上述实施例的基础上,所述接收单元81接收到的所述当前瓦块的信息包括:所述瓦块在整个地图中所处的行号和列号,地图层级,地图分辨率以及瓦块像素大小;
所述生成单元82包括:第一计算单元,转换单元,创建单元,标记单元和初始化单元(图中未示),其中,
所述第一计算单元,用于根据所述请求计算所述瓦块左上角的经纬度位置信息;
所述转换单元,用于将所述经纬度位置信息转换为墨卡托坐标信息;
所述创建单元,用于根据所述请求创建行号和列号均为预定值的栅格矩阵;
所述标记单元,用于在所述创建单元创建的所述栅格矩阵的左上角上标记所述墨卡托坐标以及所述栅格矩阵的宽高;
所述初始化单元,用于初始化标记后的所述栅格矩阵。
在另一实施例中,该实施例在上述实施例的基础上,所述栅格化单元84包括:小区遍历单元,坐标确定单元,分组单元和累加单元(图中未示),其中,
所述小区遍历单元,用于遍历所述瓦块对应范围内的小区,得到对应的小区扇形覆盖图形;
所述坐标确定单元,用于确定所述小区扇形覆盖图形的每一条边经过的单元格坐标点;
所述分组单元,用于按照所述坐标中的纵坐标对所述横坐标进行分组,得到多个单元格组;
所述累加单元,用于将每个单元格组中的纵坐标作为行号,从最小的横坐标为起始列号,到最大的横坐标作为终止列号,从左到右累加填充单元格的值。
在另一实施例中,该实施例在上述实施例的基础上,所述栅格化单元84还包括:放大单元和第二计算单元(图中未示),其中,
所述放大单元,用于放大所述累加单元累加填充值后的单元格;
第二计算单元,用于计算放大后单元格的值为原单元格的值的均值。
在另一实施例中,该实施例在上述实施例的基础上,所述填充单元85包括:第三计算单元和划分单元(图中未示),
所述第三计算单元,用于计算每个单元格四个顶点的值;
所述划分单元,用于将每个单元格划分为四个三角形,根据所述每个单元格四个顶点的值计算每个三角形顶点的话务量值。
在另一实施例中,该实施例在上述实施例的基础上,所述话务量确定单元88包括:三角形确定单元和第四计算单元(图中未示),其中,
所述三角形确定单元,用于确定每个像素点所属的三角形;
所述第四计算单元,用于利用所述三角形的面公式计算计算每个像素点的话务量值。
本发明实施例中,所述装置先生成栅格矩阵,然后将获取的小区,将小区扇形覆盖5图形及小区话务量快速栅格化到栅格矩阵上,并将栅格化的矩阵渲染为瓦块图片,然后确定该瓦块图片上的话务量,以及根据话务量确定每个像素点的颜色,从而得到地图瓦块图片,
实现了根据请求对小区话务量进行实时渲染,缩小了渲染周期,提高了用户满意度。
本发明实施例中的渲染方法,主要特点是灵活、反应快,而传统的分析方法难以达到效果。而本发明实施例中,可以在运用时,动态更换矩阵栅格的数据源,无需提前准备生成栅格空间数据、无需提前生成栅格图片。本实施例所述的渲染方法中,是根据每次请求的瓦块图片进行生成,无需生成无请求的瓦块图片,所以单词渲染的量大大减小。
还请参阅图9,图9为本发明实施例提供的一种服务端的结构示意图,该服务端900包括:处理器910、存储器920、收发器930和总线940;
处理器910、存储器920、收发器930通过总线940相互连接;总线940可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器920,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器920可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
所述收发器930用于连接其他设备,并与其他设备进行通信。具体的,所述收发器930可以用于:接收浏览器发送的获取地图瓦块图片的请求,所述请求包括当前瓦块的信息,所述瓦块的信息为所述浏览器在接收到用户的查询请求时,获取的地图显示区域的变化信息;
所述处理器910执行存储器920中存储的所述程序代码,用于根据所述请求生成所述瓦块对应的栅格矩阵;
所述收发器930,还用于获取所述瓦块对应范围内的小区,小区扇形覆盖图形以及小区的话务量;
所述处理器910,还用于将所述小区,小区扇形覆盖图形栅格化到所述栅格矩阵上;将所述小区的话务量填充到栅格化后的所述栅格矩阵上;将填充话务量的所述栅格矩阵渲染为瓦块图片;遍历所述瓦块图片中的像素点,确定每个像素点的话务量值;根据所述每个像素点的话务量值确定所述每个像素点的颜色,得到地图瓦块图片;
所述收发器930,还用于将所述地图瓦块图片反馈给所述浏览器,以使所述浏览器将所述地图瓦块图片显示给所述用户。
可选地,所述当前瓦块的信息包括:所述瓦块在整个地图中所处的行号和列号,地图层级,地图分辨率以及瓦块像素大小;
所述处理器910根据所述请求生成所述瓦块对应的栅格矩阵,包括:根据所述请求计算所述瓦块左上角的经纬度位置信息;将所述经纬度位置信息转换为墨卡托坐标信息;根据所述请求创建行号和列号均为预定值的栅格矩阵,并在创建的所述栅格矩阵的左上角上标记所述墨卡托坐标以及所述栅格矩阵的宽高;初始化标记后的所述栅格矩阵。
可选地,所述处理器910将所述小区,小区扇形覆盖图形栅格化到所述栅格矩阵上,包括:遍历所述瓦块对应范围内的小区,得到对应小区扇形覆盖图形;确定所述小区扇形覆盖图形的每一条边经过的单元格坐标点;按照所述坐标点中的纵坐标对所述横坐标进行分组,得到多个单元格组;将每个单元格组中的纵坐标作为行号,从最小的横坐标为起始列号,到最大的横坐标作为终止列号,从左到右累加填充单元格的值。
可选地,所述处理器910将所述小区,小区扇形覆盖图形栅格化到所述栅格矩阵上,还包括:放大所述栅格矩阵中累加值后的单元格;放大后单元格的值为原单元格的值的均值。
可选地,所述处理器910将所述小区的话务量填充到栅格化后的所述栅格矩阵上,包括:计算每个单元格四个顶点的值;将每个单元格划分为四个三角形,根据所述每个单元格四个顶点的值计算每个三角形顶点的话务量值。
可选地,所述处理器910遍历所述瓦块图片中的像素点,确定每个像素点的话务量值,包括:遍历所述瓦块图片中的像素点,确定每个像素点所属的三角形;利用所述三角形的面公式计算计算每个像素点的话务量值。
本发明实施例中,处理器先生成栅格矩阵,然后将获取的小区,将小区扇形覆盖图形及小区话务量快速栅格化到栅格矩阵上,并将栅格化的矩阵渲染为瓦块图片,然后确定该瓦块图片上的话务量,以及根据话务量确定每个像素点的颜色,从而得到地图瓦块图片,实现了根据请求对小区话务量进行实时渲染,缩小了渲染周期,提高了用户满意度。
本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述的本发明实施方式,并不构成对本发明保护范围的限定。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种小区话务量的密度图即时渲染方法,其特征在于,包括:
接收浏览器发送的获取地图瓦块图片的请求,所述请求包括当前瓦块的信息,所述瓦块的信息为所述浏览器在接收到用户的查询请求时,获取的地图显示区域的变化信息;
根据所述请求生成所述瓦块对应的栅格矩阵;
获取所述瓦块对应范围内的小区,小区扇形覆盖图形以及小区的话务量;
将所述小区,小区扇形覆盖图形栅格化到所述栅格矩阵上;
将所述小区的话务量填充到栅格化后的所述栅格矩阵上;
将填充话务量的所述栅格矩阵渲染为瓦块图片;
遍历所述瓦块图片中的像素点,确定每个像素点的话务量值;
根据所述每个像素点的话务量值确定所述每个像素点的颜色,得到地图瓦块图片;
将所述地图瓦块图片反馈给所述浏览器,以使所述浏览器将所述地图瓦块图片显示给所述用户。
2.根据权利要求1所述的方法,其特征在于,所述当前瓦块的信息包括:所述瓦块在整个地图中所处的行号和列号,地图层级,地图分辨率以及瓦块像素大小;
所述根据所述请求生成所述瓦块对应的栅格矩阵,包括:
根据所述请求计算所述瓦块左上角的经纬度位置信息;
将所述经纬度位置信息转换为墨卡托坐标信息;
根据所述请求创建行号和列号均为预定值的栅格矩阵,并在创建的所述栅格矩阵的左上角上标记所述墨卡托坐标以及所述栅格矩阵的宽高;
初始化标记后的所述栅格矩阵。
3.根据权利要求2所述的方法,其特征在于,
所述将所述小区,小区扇形覆盖图形栅格化到所述栅格矩阵上,包括:
遍历所述瓦块对应范围内的小区,得到对应小区扇形覆盖图形;
确定所述小区扇形覆盖图形的每一条边经过的单元格坐标点;
按照所述坐标点中的纵坐标对横坐标进行分组,得到多个单元格组;
将每个单元格组中的纵坐标作为行号,从最小的横坐标为起始列号,到最大的横坐标作为终止列号,从左到右累加填充单元格的值。
4.根据权利要求3所述的方法,其特征在于,所述将所述小区,小区扇形覆盖图形栅格化到所述栅格矩阵上,还包括:
放大所述栅格矩阵中累加值后的单元格;
放大后单元格的值为原单元格的值的均值。
5.根据权利要求1至4任一项所述的方法,其特征在于,
所述将所述小区的话务量填充到栅格化后的所述栅格矩阵上,包括:计算每个单元格四个顶点的值;将每个单元格划分为四个三角形,根据所述每个单元格四个顶点的值计算每个三角形顶点的话务量值;
所述遍历所述瓦块图片中的像素点,确定每个像素点的话务量值,包括:遍历所述瓦块图片中的像素点,确定每个像素点所属的三角形;利用所述三角形的面公式计算计算每个像素点的话务量值。
6.一种小区话务量的密度图即时渲染装置,其特征在于,包括:
接收单元,用于接收浏览器发送的获取地图瓦块图片的请求,所述请求包括当前瓦块的信息,所述瓦块的信息为所述浏览器在接收到用户的查询请求时,获取的地图显示区域的变化信息;
生成单元,用于根据所述请求生成所述瓦块对应的栅格矩阵;
获取单元,用于获取所述瓦块对应范围内的小区,小区扇形覆盖图形以及小区的话务量;
栅格化单元,用于将所述小区,小区扇形覆盖图形栅格化到所述栅格矩阵上;
填充单元,用于将所述小区的话务量填充到栅格化后的所述栅格矩阵上;
渲染单元,用于将填充话务量的所述栅格矩阵渲染为瓦块图片;
像素点遍历单元,用于遍历所述瓦块图片中的像素点;
话务量确定单元,用于确定所述像素点遍历单元遍历得到的每个像素点的话务量值;
颜色确定单元,用于根据所述每个像素点的话务量值确定所述每个像素点的颜色,得到地图瓦块图片;
发送单元,用于将所述地图瓦块图片反馈给所述浏览器,以使所述浏览器将所述地图瓦块图片显示给所述用户。
7.根据权利要求6所述的装置,其特征在于,所述接收单元接收到的所述当前瓦块的信息包括:所述瓦块在整个地图中所处的行号和列号,地图层级,地图分辨率以及瓦块像素大小;
所述生成单元包括:
第一计算单元,用于根据所述请求计算所述瓦块左上角的经纬度位置信息;
转换单元,用于将所述经纬度位置信息转换为墨卡托坐标信息;
创建单元,用于根据所述请求创建行号和列号均为预定值的栅格矩阵;
标记单元,用于在所述创建单元创建的所述栅格矩阵的左上角上标记所述墨卡托坐标以及所述栅格矩阵的宽高;
初始化单元,用于初始化标记后的所述栅格矩阵。
8.根据权利要求7所述的装置,其特征在于,所述栅格化单元包括:
小区遍历单元,用于遍历所述瓦块对应范围内的小区,得到对应的小区扇形覆盖图形;
坐标确定单元,用于确定所述小区扇形覆盖图形的每一条边经过的单元格坐标点;
分组单元,用于按照所述坐标中的纵坐标对横坐标进行分组,得到多个单元格组;
累加单元,用于将每个单元格组中的纵坐标作为行号,从最小的横坐标为起始列号,到最大的横坐标作为终止列号,从左到右累加填充单元格的值。
9.根据权利要求8所述的装置,其特征在于,所述栅格化单元还包括:
放大单元,用于放大所述累加单元累加填充值后的单元格;
第二计算单元,用于计算放大后单元格的值为原单元格的值的均值。
10.根据权利要求6至9任一项所述的装置,其特征在于,
所述填充单元包括:
第三计算单元,用于计算每个单元格四个顶点的值;
划分单元,用于将每个单元格划分为四个三角形,根据所述每个单元格四个顶点的值计算每个三角形顶点的话务量值;
所述话务量确定单元包括:
三角形确定单元,用于确定每个像素点所属的三角形;
第四计算单元,用于利用所述三角形的面公式计算计算每个像素点的话务量值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510116469.6A CN106033451B (zh) | 2015-03-17 | 2015-03-17 | 一种小区话务量的密度图即时渲染方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510116469.6A CN106033451B (zh) | 2015-03-17 | 2015-03-17 | 一种小区话务量的密度图即时渲染方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106033451A CN106033451A (zh) | 2016-10-19 |
CN106033451B true CN106033451B (zh) | 2019-07-30 |
Family
ID=57150870
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510116469.6A Active CN106033451B (zh) | 2015-03-17 | 2015-03-17 | 一种小区话务量的密度图即时渲染方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106033451B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106998556B (zh) * | 2017-03-17 | 2019-12-06 | 北京邮电大学 | 一种构建无线网络业务分布地图的系统及实现方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101083831A (zh) * | 2006-05-29 | 2007-12-05 | 大唐移动通信设备有限公司 | 一种生成邻小区的方法 |
CN103336783A (zh) * | 2012-05-11 | 2013-10-02 | 南京大学 | 联合泰森多边形与反距离加权的密度图制图方法 |
CN103946836A (zh) * | 2011-09-26 | 2014-07-23 | 谷歌公司 | 使用非光栅地图数据的修改来渲染地图图像 |
US8872848B1 (en) * | 2010-09-29 | 2014-10-28 | Google Inc. | Rendering vector data as tiles |
CN104125582A (zh) * | 2013-04-26 | 2014-10-29 | 中国移动通信集团设计院有限公司 | 一种规划通信网络的方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8243102B1 (en) * | 2011-10-12 | 2012-08-14 | Google Inc. | Derivative-based selection of zones for banded map display |
-
2015
- 2015-03-17 CN CN201510116469.6A patent/CN106033451B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101083831A (zh) * | 2006-05-29 | 2007-12-05 | 大唐移动通信设备有限公司 | 一种生成邻小区的方法 |
US8872848B1 (en) * | 2010-09-29 | 2014-10-28 | Google Inc. | Rendering vector data as tiles |
CN103946836A (zh) * | 2011-09-26 | 2014-07-23 | 谷歌公司 | 使用非光栅地图数据的修改来渲染地图图像 |
CN103336783A (zh) * | 2012-05-11 | 2013-10-02 | 南京大学 | 联合泰森多边形与反距离加权的密度图制图方法 |
CN104125582A (zh) * | 2013-04-26 | 2014-10-29 | 中国移动通信集团设计院有限公司 | 一种规划通信网络的方法 |
Non-Patent Citations (1)
Title |
---|
利用数据打包发布海量栅格瓦块地图的方法;向泽君等;《测绘通报》;20140625;第75-78页 |
Also Published As
Publication number | Publication date |
---|---|
CN106033451A (zh) | 2016-10-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107423445B (zh) | 一种地图数据处理方法、装置及存储介质 | |
CN105247575B (zh) | 用于在三维场景上叠加二维地图数据的系统和方法 | |
CN100587722C (zh) | 地图显示装置 | |
EP2343659B1 (en) | Techniques for density mapping | |
CN108701139A (zh) | 拆分瓦片地图渲染 | |
CN102117497B (zh) | 一种三维地形建模方法及系统 | |
EP2209092A1 (en) | Method for unified visualisation of heterogeneous datasets | |
CN108269305A (zh) | 一种二维、三维数据联动展示方法和系统 | |
KR100956416B1 (ko) | 3차원 지리 정보 클라이언트 장치와 서버 장치 및 이를포함한 3차원 지리 정보 시스템 | |
CN103606188A (zh) | 基于影像点云的地理信息按需采集方法 | |
CN107564098A (zh) | 一种大区域网络三维噪声地图的快速渲染方法 | |
CN110347769A (zh) | 多层级地图瓦片的处理方法、装置、设备和存储介质 | |
EP1748392B1 (en) | Real-time conformal terrain rendering | |
CN110851558B (zh) | 一种地方坐标系地图通用加载方法 | |
CN106383828A (zh) | 一种绘图方法及电子设备 | |
JP2014197410A (ja) | 空間データ処理方法及び装置 | |
US10157498B2 (en) | System and method for procedurally generated object distribution in regions of a three-dimensional virtual environment | |
KR101487454B1 (ko) | Lod 영상 병렬처리방법 | |
US9093006B2 (en) | Image shader using style attribute references | |
KR102424571B1 (ko) | Gis 데이터 자동변환 시스템 | |
US9542724B1 (en) | Systems and methods for stroke rendering on digital maps | |
CN106033451B (zh) | 一种小区话务量的密度图即时渲染方法及装置 | |
US9092907B2 (en) | Image shader using two-tiered lookup table for implementing style attribute references | |
CN104166715B (zh) | 一种VxWorks平台电子海图引擎处理系统 | |
CN114756937A (zh) | 一种基于UE4引擎和Cesium框架的可视化系统及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP02 | Change in the address of a patent holder | ||
CP02 | Change in the address of a patent holder |
Address after: Room 818, 8 / F, 34 Haidian Street, Haidian District, Beijing 100080 Patentee after: BEIJING ULTRAPOWER SOFTWARE Co.,Ltd. Address before: 100089 Beijing city Haidian District wanquanzhuang Road No. 28 Wanliu new building block A Room 601 Patentee before: BEIJING ULTRAPOWER SOFTWARE Co.,Ltd. |