一种小区话务量的密度图即时渲染方法及装置的制造方法

文档序号:10665785阅读:198来源:国知局
一种小区话务量的密度图即时渲染方法及装置的制造方法
【专利摘要】本发明公开一种小区话务量的密度图即时渲染方法及装置,所述方法包括:接收浏览器发送的获取地图瓦块图片的请求,所述请求包括当前瓦块的信息;根据所述请求生成所述瓦块对应的栅格矩阵;获取所述瓦块对应范围内的小区,小区扇形覆盖图形以及小区的话务量;将所述小区,小区扇形覆盖图形栅格化到所述栅格矩阵上;将所述小区的话务量填充到栅格化后的所述栅格矩阵上;将填充话务量的所述栅格矩阵渲染为瓦块图片;遍历所述瓦片图片中的像素点,确定每个像素点的话务量值;根据所述每个像素点的话务量值确定所述每个像素点的颜色,得到地图瓦片图片;将所述地图瓦块图片反馈给所述浏览器,以使所述浏览器将所述地图瓦块图片显示给所述用户。
【专利说明】
一种小区话务量的密度图即时渲染方法及装置
技术领域
[0001] 本发明涉及计算机通信技术领域,特别涉及一种小区话务量的密度图即时渲染方 法及装置。
【背景技术】
[0002] 随着地理信息系统(GIS,Geographic Information System)在移动通信行业运 用的日渐广泛,在部分需求中,对地理数据的灵活性和实时性要求较高。比如,传统的密 度图渲染,多基于静态图层或空间数据处理(GP,Geoprocessing)服务的方式实现,其中, Geoprocessing包含了一系列地理数据处理的功能,像做缓冲区分析、叠加分析、以及对栅 格数据制作阴影图等等。
[0003] 但是,基于静态图层或空间数据处理的密度图渲染方法中,如果对数据密度图进 行实时渲染呈现和切换现,需要的处理周期过长,不能慢慢用户需求,降低了用户的满意 度。因此,如何对数据密度图进行实时渲染呈现和切换,是目前有待解决的技术问题。

【发明内容】

[0004] 本发明实施例中提供了一种小区话务量的密度图即时渲染方法及装置,以解决现 有技术中对数据密度图渲染的周期长导致用户满意度降低的技术问题。
[0005] 为了解决上述技术问题,本发明实施例公开了如下技术方案:
[0006] 第一方面提供了一种小区话务量的密度图即时渲染方法,所述方法包括:
[0007] 接收浏览器发送的获取地图瓦块图片的请求,所述请求包括当前瓦块的信息,所 述瓦块的信息为所述浏览器在接收到用户的查询请求时,获取的地图显示区域的变化信 息;
[0008] 根据所述请求生成所述瓦块对应的栅格矩阵;
[0009] 获取所述瓦块对应范围内的小区,小区扇形覆盖图形以及小区的话务量;
[0010] 将所述小区,小区扇形覆盖图形栅格化到所述栅格矩阵上;
[0011] 将所述小区的话务量填充到栅格化后的所述栅格矩阵上;
[0012] 将填充话务量的所述栅格矩阵渲染为瓦块图片;
[0013] 遍历所述瓦片图片中的像素点,确定每个像素点的话务量值;
[0014] 根据所述每个像素点的话务量值确定所述每个像素点的颜色,得到地图瓦片图 片;
[0015] 将所述地图瓦块图片反馈给所述浏览器,以使所述浏览器将所述地图瓦块图片显 示给所述用户。
[0016] 可选的,所述当前瓦块的信息包括:所述瓦块在整个地图中所处的行号和列号,地 图层级,地图分辨率以及瓦块像素大小;
[0017] 所述根据所述请求生成所述瓦块对应的栅格矩阵,包括:
[0018] 根据所述请求计算所述瓦块左上角的经炜度位置信息;
[0019] 将所述经炜度位置信息转换为墨卡托坐标信息;
[0020] 根据所述请求创建行号和列号均为预定值的栅格矩阵,并在创建的所述栅格矩阵 的左上角上标记所述墨卡托坐标以及所述栅格矩阵的宽高;
[0021] 初始化标记后的所述栅格矩阵。
[0022] 可选的,所述将所述小区,小区扇形覆盖图形栅格化到所述栅格矩阵上,包括:
[0023] 遍历所述瓦块对应范围内的小区,得到对应小区扇形覆盖图形;
[0024] 确定所述小区扇形覆盖图形的每一条边经过的单元格坐标点;
[0025] 按照所述坐标点中的纵坐标对所述横坐标进行分组,得到多个单元格组;
[0026] 将每个单元格组中的纵坐标作为行号,从最小的横坐标为起始列号,到最大的横 坐标作为终止列号,从左到右累加填充单元格的值。
[0027] 可选的,所述将所述小区,小区扇形覆盖图形栅格化到所述栅格矩阵上,还包括:
[0028] 放大所述栅格矩阵中累加值后的单元格;
[0029] 放大后单元格的值为原单元格的值的均值。
[0030] 可选的,所述将所述小区的话务量填充到栅格化后的所述栅格矩阵上,包括:计算 每个单元格四个顶点的值;将每个单元格划分为四个三角形,根据所述每个单元格四个顶 点的值计算每个三角形顶点的话务量值;
[0031 ] 所述遍历所述瓦片图片中的像素点,确定每个像素点的话务量值,包括:遍历所述 瓦片图片中的像素点,确定每个像素点所属的三角形;利用所述三角形的面公式计算计算 每个像素点的话务量值。
[0032] 第二方面提供了一种小区话务量的密度图即时渲染装置,所述装置包括:
[0033] 接收单元,用于接收浏览器发送的获取地图瓦块图片的请求,所述请求包括当前 瓦块的信息,所述瓦块的信息为所述浏览器在接收到用户的查询请求时,获取的地图显示 区域的变化信息;
[0034] 生成单元,用于根据所述请求生成所述瓦块对应的栅格矩阵;
[0035] 获取单元,用于获取所述瓦块对应范围内的小区,小区扇形覆盖图形以及小区的 话务量;
[0036] 栅格化单元,用于将所述小区,小区扇形覆盖图形栅格化到所述栅格矩阵上;
[0037] 填充单元,用于将所述小区的话务量填充到栅格化后的所述栅格矩阵上;
[0038] 渲染单元,用于将填充话务量的所述栅格矩阵渲染为瓦块图片;
[0039] 像素点遍历单元,用于遍历所述瓦片图片中的像素点;
[0040] 话务量确定单元,用于确定所述像素点遍历单元遍历得到的每个像素点的话务量 值;
[0041] 颜色确定单元,用于根据所述每个像素点的话务量值确定所述每个像素点的颜 色,得到地图瓦片图片;
[0042] 发送单元,用于将所述地图瓦块图片反馈给所述浏览器,以使所述浏览器将所述 地图瓦块图片显示给所述用户。
[0043] 可选的,所述接收单元接收到的所述当前瓦块的信息包括:所述瓦块在整个地图 中所处的行号和列号,地图层级,地图分辨率以及瓦块像素大小;
[0044] 所述生成单元包括:
[0045] 第一计算单元,用于根据所述请求计算所述瓦块左上角的经炜度位置信息;
[0046] 转换单元,用于将所述经炜度位置信息转换为墨卡托坐标信息;
[0047] 创建单元,用于根据所述请求创建行号和列号均为预定值的栅格矩阵;
[0048] 标记单元,用于在所述创建单元创建的所述栅格矩阵的左上角上标记所述墨卡托 坐标以及所述栅格矩阵的宽高;
[0049] 初始化单元,用于初始化标记后的所述栅格矩阵。
[0050] 可选的,所述栅格化单元包括:
[0051] 小区遍历单元,用于遍历所述瓦块对应范围内的小区,得到对应的小区扇形覆盖 图形;
[0052] 坐标确定单元,用于确定所述小区扇形覆盖图形的每一条边经过的单元格坐标 占 .
[0053] 分组单元,用于按照所述坐标中的纵坐标对所述横坐标进行分组,得到多个单元 格组;
[0054] 累加单元,用于将每个单元格组中的纵坐标作为行号,从最小的横坐标为起始列 号,到最大的横坐标作为终止列号,从左到右累加填充单元格的值。
[0055] 可选的,所述栅格化单元还包括:
[0056] 放大单元,用于放大所述累加单元累加填充值后的单元格;
[0057] 第二计算单元,用于计算放大后单元格的值为原单元格的值的均值。
[0058] 可选的,所述填充单元包括:
[0059] 第三计算单元,用于计算每个单元格四个顶点的值;
[0060] 划分单元,用于将每个单元格划分为四个三角形,根据所述每个单元格四个顶点 的值计算每个三角形顶点的话务量值;
[0061] 所述话务量确定单元包括:
[0062] 三角形确定单元,用于确定每个像素点所属的三角形;
[0063] 第四计算单元,用于利用所述三角形的面公式计算计算每个像素点的话务量值。
[0064] 由上述技术方案可知,本发明实施例中,先生成栅格矩阵,然后将获取的小区,将 小区扇形覆盖图形及小区话务量快速栅格化到栅格矩阵上,并将栅格化的矩阵渲染为瓦块 图片,然后确定该瓦块图片上的话务量,以及根据话务量确定每个像素点的颜色,从而得到 地图瓦片图片,实现了根据请求对小区话务量进行实时渲染,缩小了渲染周期,提高了用户 满意度。
【附图说明】
[0065] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所 需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施 例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获 得其他的附图。
[0066] 图1为本发明实施例提供的一种小区话务量的密度图即时渲染方法的流程图;
[0067] 图2为本发明实施例提供的瓦块在整个地图中所处的行号和列号的示意图;
[0068] 图3为本发明实施例提供的一种将栅格矩阵中的单元格初始化后的示意图;
[0069] 图4A为本发明实施例提供的将一个小区的小区扇形覆盖图形栅格化到所述栅格 矩阵上的示意图;
[0070] 图4B为本发明实施例提供的将多个小区的小区扇形覆盖图形栅格化到所述栅格 矩阵上的示意图;
[0071] 图5为本发明实施例提供的一种单元格放大后取均值的示意图;
[0072] 图6为本发明实施例提供的一种单元格三角面化的示意图;
[0073] 图7为本发明实施例提供的一种地图瓦块图片的示意图;
[0074] 图8为本发明实施例提供的一种小区话务量的密度图即时渲染装置的结构示意 图;
[0075] 图9为本发明实施例提供的一种服务端的结构示意图。
【具体实施方式】
[0076] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整的描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。
[0077] 在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制 本发明。在本发明实施例和所附权利要求书中所使用的单数形式的"一种"、"所述"和"该" 也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语 "和/或"是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
[0078] 应当理解,尽管在本发明实施例中可能采用术语第一、第二、第三等来描述各种信 息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如, 在不脱离本发明实施例范围的情况下,第一信息也可以被称为第二信息,不一定要求或者 暗示这些实体或操作之间存在任何这种实际的关系或者顺序。类似地,第二信息也可以被 称为第一信息。取决于语境,如在此所使用的词语"如果"可以被解释成为"在……时"或 "当……时"或"响应于确定"。而且,术语"包括"、"包含"或者其任何其他变体意在涵盖非 排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素, 而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固 有的要素。
[0079] 请参阅图1,图1为本发明实施例提供的一种小区话务量的密度图即时渲染方法 的流程图,所述方法包括:
[0080] 步骤101 :接收浏览器发送的获取地图瓦块图片的请求,所述请求包括当前瓦块 的信息,所述瓦块的信息为所述浏览器在接收到用户的查询请求时,获取的地图显示区域 的变化信息;
[0081] 该步骤中,用户可以通过浏览器或客户端发起查询请求,所述查询请求包括:时 间,网络制式和指标等;而浏览器或客户端在接收到该查询请求后,获取地图显示区域的变 化信息,通过地图瓦块图片的请求把该地图显示区域的变化信息发送给服务端,其中,地图 显示区域的变化信息又称为当前瓦块的信息,其中,当前瓦块的信息包括但不限于下述四 种参数:
[0082] 1)瓦块在整个地图中所处的行号、列号,比如(231,123)。如图2所示,图2为本 发明实施例提供的瓦块在整个地图中所处的行号和列号的示意图;
[0083] 2)地图层级,比如:3 ;
[0084] 3)地图分辨率,比如:0· 123411234 ;4)瓦块像素大小,比如:256*256。
[0085] 步骤102 :根据所述请求生成所述瓦块对应的栅格矩阵;
[0086] 该步骤中,服务端根据所述请求生成所述瓦块对应的栅格矩阵的过程包括:
[0087] 1)服务端按照该请求中包含的瓦块在整个地图中所处的行号和列号计算所述瓦 块左上角的经炜度位置信息;其计算的过程对于本领域技术人员已是已知技术,在此不再 赘述。
[0088] 2)将所述经炜度位置信息转换为墨卡托坐标信息;
[0089] 该步骤中,服务端通过下述公式将经炜度位置信息转换为墨卡托坐标信息:
[0090]
[0091]
[0092] 3)根据所述请求创建行号和列号均为预定值的栅格矩阵,并在创建的所述栅格矩 阵的左上角上标记所述墨卡托坐标以及所述栅格矩阵的宽高;
[0093] 该步骤中,可以根据瓦块像素的大小来创建栅格矩阵,如果瓦块像素的大小 256*256,则创建行列数均为256的栅格矩阵,并在该栅格矩阵的左上角上标记墨卡托坐标 以及栅格矩阵的宽高。
[0094] 4)初始化标记后的所述栅格矩阵。
[0095] 即将栅格矩阵中的单元格初始化为0,具体如图3所示,图3为本发明实施例提供 的一种将栅格矩阵中的单元格初始化后的示意图。
[0096] 步骤103 :获取所述瓦块对应范围内的小区,小区扇形覆盖图形以及小区的话务 量;
[0097] 在该步骤中,如果是服务端第一次接收到浏览器或客户端发送的请求,则获取所 有小区及每个小区的话务量,并缓存所述小区及每个小区的话务量。如果不是第一次接收 到该请求,则只获取该瓦块对应范围内的小区,以及该范围内的小区的话务量,从而提高了 效率。
[0098] 步骤104 :将所述小区,小区扇形覆盖图形栅格化到所述栅格矩阵上;
[0099] 该步骤中,服务端将所述小区,小区扇形覆盖图形栅格化到所述栅格矩阵上的过 程,包括:
[0100] 1)服务端遍历所述瓦块对应范围内的小区,确定所述小区扇形覆盖图形的每一条 边经过的单元格的坐标;
[0101] 该步骤中,服务端依次遍历所述瓦块对应范围内的每个小区,然后,确定每个小区 扇形覆盖图形的每一条边经过的单元格的坐标。
[0102] 可以利用伯明翰(Bresenham)算法计算将组成小区扇形覆盖图形的每一条边经 过的单元格坐标点,即{(xl, yl)......(xn,yn)};
[0103] 2)按照所述坐标点中的纵坐标对所述横坐标进行分组,得到多个单元格组;
[0104] 比如,按y 1至yn进行分组,得到多个单元格组,即{(yl, xmin, xmax)...... (yn, xmin, xmax)};
[0105] 3)将每个单元格组中的纵坐标作为行号,从最小的横坐标为起始列号,到最大的 横坐标作为终止列号,从左到右累加填充单元格的值。
[0106] 如图4A和图4B所示,图4A为本发明实施例提供的将一个小区的小区扇形覆盖图 形栅格化到所述栅格矩阵上的示意图;图4B为本发明实施例提供的将多个小区的小区扇 形覆盖图形栅格化到所述栅格矩阵上的示意图。
[0107] 进一步,为了提高运算速度,服务端将所述小区的话务量填充到栅格化后的所述 栅格矩阵上的过程还可以包括:在填充单元格的值后,放大所述栅格矩阵中累加值后的单 元格;放大后单元格的值为原单元格的值的均值。
[0108] 也就是说,为了提高运算速度,服务端按设定倍数扩大添加值后栅格矩阵的单元 格。比如,将栅格矩阵中的单元格扩大N倍,总单元格数据降为原有单元格的1/N 2。放大后 单元格的值可由原单元格的值取均值来确定,即合并后的单元格的值=(左上+右上+左 下+右下)/4。如图5所示,图5为本发明实施例提供的一种单元格放大后取均值的示意 图。
[0109] 其中,图5是对图4B进行放大后取均值的示意图,该实施例中,是以将4个单元格 合并成一个单元格为例,而在实际应用中,并不限于此。这样除了的目的可以减少后续的三 角面计算,从而提高了计算速度和性能。
[0110] 步骤105 :将所述小区的话务量填充到栅格化后的所述栅格矩阵上;
[0111] 该步骤中,服务端将所述小区的话务量填充到栅格化后的所述栅格矩阵上的过程 包括:
[0112] 1)服务端计算每个单元格四个顶点的值;
[0113] 该步骤中,每个单元格的顶点的值等于与该顶点相邻的4个单元格的值的平均 值。
[0114] 2)将每个单元格划分为四个三角形,根据所述每个单元格四个顶点的值计算每个 三角形顶点的话务量值。具体如图6所示,图6为本发明实施例提供的一种单元格三角面 化的示意图。
[0115] 如图6所示,该实施例中,以将单元格划分为四个直角三角形为例,并计算每个直 角三角形顶点的话务量值。
[0116] 其中,直角三角形两个底角的值等于直角所在的单元格的顶点值,直角的值等于 直角三角形所在单元格四个顶点的均值。
[0117] 步骤106 :将填充话务量的所述栅格矩阵渲染为瓦块图片;
[0118] 该步骤中,渲染为瓦块图片的大小为栅格矩阵行数或列数的N倍,瓦块图片数据 映射为字节数组的长度为瓦块图片宽X瓦块图片高X4。每4个字节作为一个像素点的数 据存储,每个字节依次代表B(蓝)、G(绿)、R(红)、A(透明度)。由于瓦块图片的宽高是 栅格矩阵行列的N倍,因此,将像素点映射到栅格矩阵时需按N倍进行缩放。
[0119] 步骤107 :遍历所述瓦片图片中的像素点,确定每个像素点的话务量值;
[0120] 该步骤中,服务端遍历所述瓦片图片中的像素点,确定每个像素点所属的三角形; 然后利用所述三角形的面公式计算计算每个像素点的话务量值。
[0121] 也就是说,在像素点映射到栅格矩阵的单元格上后,服务端需要进一步判定像素 点落在哪一个三角形上,包括:落在三角形的内部或边上。
[0122] 步骤108 :根据所述每个像素点的话务量值确定所述每个像素点的颜色,得到地 图瓦片图片;
[0123] 该步骤中,利用三角形代表的面公式Ax+By+Cz+D = 0,可计算出该像素的话务量 z。其中,A、B、C分别为三角形面公式的系数,X为像素点在单元格内X坐标,y为像素点在 单元格内y坐标。
[0124] 再后,将计算出的话务量z带入颜色渐变公式进行计算,得到该像素点的颜色。
[0125] 其中,颜色渐变公式为X' = X+(Xs-Xe)*(V-VsV(Ve-Vs)其中,X代表rgb颜色中 的r (红)、g (绿)、b (蓝)分量,X'代表渐变后的分量,Xs、Xe代表渐变起止分量,V代表 当前话务量,Vs、Ve代表渐变起止话务量。
[0126] 通过以上步骤,可生成图片所需的完整的字节数组,将字节数组保存为地图瓦块 图片输出,具体如图7所示,图7为本发明实施例提供的一种地图瓦块图片的示意图。
[0127] 步骤109 :将所述地图瓦块图片反馈给所述浏览器,以使所述浏览器将所述地图 瓦块图片显示给所述用户。
[0128] 该步骤中,服务端将得到的地图瓦块图片发送给浏览器或客户端,以便于浏览器 或客户端在接收到该地图瓦块图片时,将该地图瓦块图片呈现给用户。
[0129] 本发明实施例中,服务端根据接收获取地图瓦块图片的请求生成瓦块对应的栅格 矩阵,并将获取的小区,小区扇形覆盖图形栅格化到该栅格矩阵上,并将获取到的小区话务 量填充到栅格化的栅格矩阵上,然后将填充话务量的所述栅格矩阵渲染为瓦块图片,确定 瓦块图片中每个像素点的话务量值,根据像素点的话务量值确定每个像素点的颜色,从而 得到地图瓦片图片。也就是说,本发明实施例中,先生成栅格矩阵,然后将获取的小区,将小 区扇形覆盖图形及小区话务量快速栅格化到栅格矩阵上,并将栅格化的矩阵渲染为瓦块图 片,然后确定该瓦块图片上的话务量,以及根据话务量确定每个像素点的颜色,从而得到地 图瓦片图片,实现了根据请求对小区话务量进行实时渲染,缩小了渲染周期,提高了用户满 意度。
[0130] 进一步,由于小区数据较多,本实施例可以快速将小区多边形进行栅格化,并提高 了栅格化的速度。
[0131] 另外,通过放大栅格矩阵单元格,相应的减少栅格矩阵中的三角形数量。三角形面 公式涉及大量浮点运算,非常耗时,在不影响呈现效果的情况下,将栅格单元扩大化处理以 减少三角形数量。提高了运算效率。
[0132] 本发明实施例中,采取指针扫描的方式将像素值映射到图像中,而相比现有技术 汇总,通过设置图像的像素值的方式,大大的提升了效率。
[0133] 进一步,本发明实施例中,为了保证渲染图的浏览时的流畅性,每张瓦块图片的生 成耗时需控制在预设时间内(比如控制在100毫秒内,但并不限于此),因此在填充栅格、三 角化单元格、生成图像等都采用了快速的生成算法以及并行处理,虽短渲染周期,提高了渲 染效率。
[0134] 基于上述方法的实现过程,本发明实施例还提供一种小区话务量的密度图即时渲 染装置,其结构示意图如图8所示,所述装置包括:接收单元81,生成单元82,获取单元83, 栅格化单元84,填充单元85,植染单元86,像素点遍历单元87,话务量确定单元88,颜色确 定单元89和发送单元90,其中,
[0135] 所述接收单元81,用于接收浏览器发送的获取地图瓦块图片的请求,所述请求包 括当前瓦块的信息,所述瓦块的信息为所述浏览器在接收到用户的查询请求时,获取的地 图显示区域的变化信息;
[0136] 所述生成单元82,用于根据所述请求生成所述瓦块对应的栅格矩阵;
[0137] 所述获取单元83,用于获取所述瓦块对应范围内的小区,小区扇形覆盖图形以及 小区的话务量;
[0138] 所述栅格化单元84,用于将所述小区,小区扇形覆盖图形栅格化到所述栅格矩阵 上;
[0139] 所述填充单元85,用于将所述小区的话务量填充到栅格化后的所述栅格矩阵上;
[0140] 所述渲染单元86,用于将填充话务量的所述栅格矩阵渲染为瓦块图片;
[0141] 所述像素点遍历单元87,用于遍历所述瓦片图片中的像素点;
[0142] 所述话务量确定单元88,用于确定所述像素点遍历单元遍历得到的每个像素点的 话务量值;
[0143] 所述颜色确定单元89,用于根据所述每个像素点的话务量值确定所述每个像素点 的颜色,得到地图瓦片图片;
[0144] 所述发送单元90,用于将所述地图瓦块图片反馈给所述浏览器,以使所述浏览器 将所述地图瓦块图片显示给所述用户。
[0145] 可选的,在另一实施例中,该实施例在上述实施例的基础上,所述接收单元81接 收到的所述当前瓦块的信息包括:所述瓦块在整个地图中所处的行号和列号,地图层级,地 图分辨率以及瓦块像素大小;
[0146] 所述生成单元82包括:第一计算单元,转换单元,创建单元,标记单元和初始化单 元(图中未示),其中,
[0147] 所述第一计算单元,用于根据所述请求计算所述瓦块左上角的经炜度位置信息;
[0148] 所述转换单元,用于将所述经炜度位置信息转换为墨卡托坐标信息;
[0149] 所述创建单元,用于根据所述请求创建行号和列号均为预定值的栅格矩阵;
[0150] 所述标记单元,用于在所述创建单元创建的所述栅格矩阵的左上角上标记所述墨 卡托坐标以及所述栅格矩阵的宽高;
[0151] 所述初始化单元,用于初始化标记后的所述栅格矩阵。
[0152] 在另一实施例中,该实施例在上述实施例的基础上,所述栅格化单元84包括:小 区遍历单元,坐标确定单元,分组单元和累加单元(图中未示),其中,
[0153] 所述小区遍历单元,用于遍历所述瓦块对应范围内的小区,得到对应的小区扇形 覆盖图形;
[0154] 所述坐标确定单元,用于确定所述小区扇形覆盖图形的每一条边经过的单元格坐 标点;
[0155] 所述分组单元,用于按照所述坐标中的纵坐标对所述横坐标进行分组,得到多个 单元格组;
[0156] 所述累加单元,用于将每个单元格组中的纵坐标作为行号,从最小的横坐标为起 始列号,到最大的横坐标作为终止列号,从左到右累加填充单元格的值。
[0157] 在另一实施例中,该实施例在上述实施例的基础上,所述栅格化单元84还包括: 放大单元和第二计算单元(图中未示),其中,
[0158] 所述放大单元,用于放大所述累加单元累加填充值后的单元格;
[0159] 第二计算单元,用于计算放大后单元格的值为原单元格的值的均值。
[0160] 在另一实施例中,该实施例在上述实施例的基础上,所述填充单元85包括:第三 计算单元和划分单元(图中未示),
[0161] 所述第三计算单元,用于计算每个单元格四个顶点的值;
[0162] 所述划分单元,用于将每个单元格划分为四个三角形,根据所述每个单元格四个 顶点的值计算每个三角形顶点的话务量值。
[0163] 在另一实施例中,该实施例在上述实施例的基础上,所述话务量确定单元88包 括:三角形确定单元和第四计算单元(图中未示),其中,
[0164] 所述三角形确定单元,用于确定每个像素点所属的三角形;
[0165] 所述第四计算单元,用于利用所述三角形的面公式计算计算每个像素点的话务量 值。
[0166] 本发明实施例中,所述装置先生成栅格矩阵,然后将获取的小区,将小区扇形覆盖 图形及小区话务量快速栅格化到栅格矩阵上,并将栅格化的矩阵渲染为瓦块图片,然后确 定该瓦块图片上的话务量,以及根据话务量确定每个像素点的颜色,从而得到地图瓦片图 片,实现了根据请求对小区话务量进行实时渲染,缩小了渲染周期,提高了用户满意度。
[0167] 本发明实施例中的渲染方法,主要特点是灵活、反应快,而传统的分析方法难以达 到效果。而本发明实施例中,可以在运用时,动态更换矩阵栅格的数据源,无需提前准备生 成栅格空间数据、无需提前生成栅格图片。本实施例所述的渲染方法中,是根据每次请求的 瓦块图片进行生成,无需生成无请求的瓦块图片,所以单词渲染的量大大减小。
[0168] 还请参阅图9,图9为本发明实施例提供的一种服务端的结构示意图,该服务端 900包括:处理器910、存储器920、收发器930和总线940 ;
[0169] 处理器910、存储器920、收发器930通过总线940相互连接;总线940可以是ISA 总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便 于表示,图9中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0170] 存储器920,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括 计算机操作指令。存储器920可能包含高速RAM存储器,也可能还包括非易失性存储器 (non-volatile memory),例如至少一个磁盘存储器。
[0171] 所述收发器930用于连接其他设备,并与其他设备进行通信。具体的,所述收发器 930可以用于:接收浏览器发送的获取地图瓦块图片的请求,所述请求包括当前瓦块的信 息,所述瓦块的信息为所述浏览器在接收到用户的查询请求时,获取的地图显示区域的变 化信息;
[0172] 所述处理器910执行存储器920中存储的所述程序代码,用于根据所述请求生成 所述瓦块对应的栅格矩阵;
[0173] 所述收发器930,还用于获取所述瓦块对应范围内的小区,小区扇形覆盖图形以及 小区的话务量;
[0174] 所述处理器910,还用于将所述小区,小区扇形覆盖图形栅格化到所述栅格矩阵 上;将所述小区的话务量填充到栅格化后的所述栅格矩阵上;将填充话务量的所述栅格矩 阵渲染为瓦块图片;遍历所述瓦片图片中的像素点,确定每个像素点的话务量值;根据所 述每个像素点的话务量值确定所述每个像素点的颜色,得到地图瓦片图片;
[0175] 所述收发器930,还用于将所述地图瓦块图片反馈给所述浏览器,以使所述浏览器 将所述地图瓦块图片显示给所述用户。
[0176] 可选地,所述当前瓦块的信息包括:所述瓦块在整个地图中所处的行号和列号,地 图层级,地图分辨率以及瓦块像素大小;
[0177] 所述处理器910根据所述请求生成所述瓦块对应的栅格矩阵,包括:根据所述请 求计算所述瓦块左上角的经炜度位置信息;将所述经炜度位置信息转换为墨卡托坐标信 息;根据所述请求创建行号和列号均为预定值的栅格矩阵,并在创建的所述栅格矩阵的左 上角上标记所述墨卡托坐标以及所述栅格矩阵的宽高;初始化标记后的所述栅格矩阵。
[0178] 可选地,所述处理器910将所述小区,小区扇形覆盖图形栅格化到所述栅格矩阵 上,包括:遍历所述瓦块对应范围内的小区,得到对应小区扇形覆盖图形;确定所述小区扇 形覆盖图形的每一条边经过的单元格坐标点;按照所述坐标点中的纵坐标对所述横坐标进 行分组,得到多个单元格组;将每个单元格组中的纵坐标作为行号,从最小的横坐标为起始 列号,到最大的横坐标作为终止列号,从左到右累加填充单元格的值。
[0179] 可选地,所述处理器910将所述小区,小区扇形覆盖图形栅格化到所述栅格矩阵 上,还包括:放大所述栅格矩阵中累加值后的单元格;放大后单元格的值为原单元格的值 的均值。
[0180] 可选地,所述处理器910将所述小区的话务量填充到栅格化后的所述栅格矩阵 上,包括:计算每个单元格四个顶点的值;将每个单元格划分为四个三角形,根据所述每个 单元格四个顶点的值计算每个三角形顶点的话务量值。
[0181] 可选地,所述处理器910遍历所述瓦片图片中的像素点,确定每个像素点的话务 量值,包括:遍历所述瓦片图片中的像素点,确定每个像素点所属的三角形;利用所述三角 形的面公式计算计算每个像素点的话务量值。
[0182] 本发明实施例中,处理器先生成栅格矩阵,然后将获取的小区,将小区扇形覆盖图 形及小区话务量快速栅格化到栅格矩阵上,并将栅格化的矩阵渲染为瓦块图片,然后确定 该瓦块图片上的话务量,以及根据话务量确定每个像素点的颜色,从而得到地图瓦片图片, 实现了根据请求对小区话务量进行实时渲染,缩小了渲染周期,提高了用户满意度。
[0183] 本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需 的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者 说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存 储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以 是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分 所述的方法。
[0184] 本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部 分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实 施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例 的部分说明即可。
[0185] 以上所述的本发明实施方式,并不构成对本发明保护范围的限定。任何在本发明 的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明的保护范围之内。
【主权项】
1. 一种小区话务量的密度图即时渲染方法,其特征在于,包括: 接收浏览器发送的获取地图瓦块图片的请求,所述请求包括当前瓦块的信息,所述瓦 块的信息为所述浏览器在接收到用户的查询请求时,获取的地图显示区域的变化信息; 根据所述请求生成所述瓦块对应的栅格矩阵; 获取所述瓦块对应范围内的小区,小区扇形覆盖图形以及小区的话务量; 将所述小区,小区扇形覆盖图形栅格化到所述栅格矩阵上; 将所述小区的话务量填充到栅格化后的所述栅格矩阵上; 将填充话务量的所述栅格矩阵渲染为瓦块图片; 遍历所述瓦片图片中的像素点,确定每个像素点的话务量值; 根据所述每个像素点的话务量值确定所述每个像素点的颜色,得到地图瓦片图片; 将所述地图瓦块图片反馈给所述浏览器,以使所述浏览器将所述地图瓦块图片显示给 所述用户。2. 根据权利要求1所述的方法,其特征在于,所述当前瓦块的信息包括:所述瓦块在整 个地图中所处的行号和列号,地图层级,地图分辨率以及瓦块像素大小; 所述根据所述请求生成所述瓦块对应的栅格矩阵,包括: 根据所述请求计算所述瓦块左上角的经炜度位置信息; 将所述经炜度位置信息转换为墨卡托坐标信息; 根据所述请求创建行号和列号均为预定值的栅格矩阵,并在创建的所述栅格矩阵的左 上角上标记所述墨卡托坐标以及所述栅格矩阵的宽高; 初始化标记后的所述栅格矩阵。3. 根据权利要求2所述的方法,其特征在于, 所述将所述小区,小区扇形覆盖图形栅格化到所述栅格矩阵上,包括: 遍历所述瓦块对应范围内的小区,得到对应小区扇形覆盖图形; 确定所述小区扇形覆盖图形的每一条边经过的单元格坐标点; 按照所述坐标点中的纵坐标对所述横坐标进行分组,得到多个单元格组; 将每个单元格组中的纵坐标作为行号,从最小的横坐标为起始列号,到最大的横坐标 作为终止列号,从左到右累加填充单元格的值。4. 根据权利要求3所述的方法,其特征在于,所述将所述小区,小区扇形覆盖图形栅格 化到所述栅格矩阵上,还包括: 放大所述栅格矩阵中累加值后的单元格; 放大后单元格的值为原单元格的值的均值。5. 根据权利要求1至4任一项所述的方法,其特征在于, 所述将所述小区的话务量填充到栅格化后的所述栅格矩阵上,包括:计算每个单元格 四个顶点的值;将每个单元格划分为四个三角形,根据所述每个单元格四个顶点的值计算 每个三角形顶点的话务量值; 所述遍历所述瓦片图片中的像素点,确定每个像素点的话务量值,包括:遍历所述瓦片 图片中的像素点,确定每个像素点所属的三角形;利用所述三角形的面公式计算计算每个 像素点的话务量值。6. -种小区话务量的密度图即时渲染装置,其特征在于,包括: 接收单元,用于接收浏览器发送的获取地图瓦块图片的请求,所述请求包括当前瓦块 的信息,所述瓦块的信息为所述浏览器在接收到用户的查询请求时,获取的地图显示区域 的变化信息; 生成单元,用于根据所述请求生成所述瓦块对应的栅格矩阵; 获取单元,用于获取所述瓦块对应范围内的小区,小区扇形覆盖图形以及小区的话务 量; 栅格化单元,用于将所述小区,小区扇形覆盖图形栅格化到所述栅格矩阵上; 填充单元,用于将所述小区的话务量填充到栅格化后的所述栅格矩阵上; 渲染单元,用于将填充话务量的所述栅格矩阵渲染为瓦块图片; 像素点遍历单元,用于遍历所述瓦片图片中的像素点; 话务量确定单元,用于确定所述像素点遍历单元遍历得到的每个像素点的话务量值; 颜色确定单元,用于根据所述每个像素点的话务量值确定所述每个像素点的颜色,得 到地图瓦片图片; 发送单元,用于将所述地图瓦块图片反馈给所述浏览器,以使所述浏览器将所述地图 瓦块图片显示给所述用户。7. 根据权利要求6所述的装置,其特征在于,所述接收单元接收到的所述当前瓦块的 信息包括:所述瓦块在整个地图中所处的行号和列号,地图层级,地图分辨率以及瓦块像素 大小; 所述生成单元包括: 第一计算单元,用于根据所述请求计算所述瓦块左上角的经炜度位置信息; 转换单元,用于将所述经炜度位置信息转换为墨卡托坐标信息; 创建单元,用于根据所述请求创建行号和列号均为预定值的栅格矩阵; 标记单元,用于在所述创建单元创建的所述栅格矩阵的左上角上标记所述墨卡托坐标 以及所述栅格矩阵的宽高; 初始化单元,用于初始化标记后的所述栅格矩阵。8. 根据权利要求7所述的装置,其特征在于,所述栅格化单元包括: 小区遍历单元,用于遍历所述瓦块对应范围内的小区,得到对应的小区扇形覆盖图 形; 坐标确定单元,用于确定所述小区扇形覆盖图形的每一条边经过的单元格坐标点; 分组单元,用于按照所述坐标中的纵坐标对所述横坐标进行分组,得到多个单元格 组; 累加单元,用于将每个单元格组中的纵坐标作为行号,从最小的横坐标为起始列号,到 最大的横坐标作为终止列号,从左到右累加填充单元格的值。9. 根据权利要求8所述的装置,其特征在于,所述栅格化单元还包括: 放大单元,用于放大所述累加单元累加填充值后的单元格; 第二计算单元,用于计算放大后单元格的值为原单元格的值的均值。10. 根据权利要求6至9任一项所述的装置,其特征在于, 所述填充单元包括: 第三计算单元,用于计算每个单元格四个顶点的值; 划分单元,用于将每个单元格划分为四个三角形,根据所述每个单元格四个顶点的值 计算每个三角形顶点的话务量值; 所述话务量确定单元包括: 三角形确定单元,用于确定每个像素点所属的三角形; 第四计算单元,用于利用所述三角形的面公式计算计算每个像素点的话务量值。
【文档编号】G06F17/30GK106033451SQ201510116469
【公开日】2016年10月19日
【申请日】2015年3月17日
【发明人】李成中, 王庆磊
【申请人】北京神州泰岳软件股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1