电子地图上二维空间标量场的动态分层渲染表达方法

文档序号:2625276阅读:215来源:国知局
专利名称:电子地图上二维空间标量场的动态分层渲染表达方法
技术领域
本发明涉及电子地图上二维空间标量场的动态分层渲染表达方法,属于地图制图、地理信息工程技术领域。
背景技术
在电子地图、大气/水文等过程模拟时,常需对实时计算的场数据(栅格数据)进行表达;目前,主要的表达方式是采用基于二维空间标量场的分层显示手段。即将场数据依据不同的值区间划分为多个区域,以不同的色彩渲染出来。
然而,在电子地图或Web GIS中,对网格数据渲染存在一些技术难点a.数据量大,转换、传输、渲染慢,难以满足实时性要求;b.网格边界效果不好;c.如果要与其他地层进行叠置显示,则很难使用“透明”或“半透明”效果。发明内容
本发明要解决技术问题是克服现有技术的上述不足,提供一种电子地图上二维空间标量场的动态分层渲染表达方法,其能够以较快的速度动态、实时对场数据(栅格数据)进行渲染,且能得到较好的表达效果。
为了解决以上技术问题,本发明提供的一种电子地图上二维空间标量场的动态分层渲染表达方法,包括以下步骤步骤I、电子地图后台程序周期性的接收有关于大气或水文的场数据,所述场数据为格式统一的栅格数据;步骤2、针对场数据中栅格的属性值预先设置有若干属性值区间,电子地图的后台程序依次根据各属性值区间从场数据中提取相应的区域边界,并将每个属性值区间所对应的区域边界转换为相应属性值区间的矢量面集合,与同一属性值区间对应的矢量面赋予同一属性值;步骤3、电子地图的后台程序将所有属性值区间对应的矢量面集合传回给电子地图的前台程序;步骤4、电子地图的前台程序根据矢量面数据的属性值,对矢量面一一进行渲染,相同属性值的矢量面渲染相同颜色,不同属性值的矢量面渲染不同的颜色。
进一步的所述步骤2中,获得与属性值区间对应的矢量面集合的方法如下步骤a、对整个场数据进行二值化,若栅格的属性值在该属性值区间内,则将该栅格的属性值赋予1,否则赋予O ;步骤b、对整个场数据的1、0交接处进行边界追踪,得到该属性值区间在场数据中的所有区域边界;步骤C、采用内插法对得到的区域边界形做平滑处理,消除区域边界的锯齿;步骤d、将区域边界组成边界多边形集合,在边界多边形集合中,区域边界根据面积的从小到大排序;步骤e、对边界多边形集合中面积最小的区域边界进行判断,如果包含它的区域边界是偶数个,则该区域边界是一个单独的实心面,把该区域边界转化为面数据添加至矢量面集合中,并将该区域边界从边界多边形集合中删去;如果包含它的区域边界数目是奇数个,则与包含它的面积最小的区域边界组成一个环形矢量面,将该环形矢量面添加至矢量面集合中,并将构成该环形矢量面的两个区域边界一并从边界多边形集合中删去;步骤f、重复步骤e,直到边界多边形集合为空,此时已获得与该属性值区间对应的矢量面集合。
本发明将栅格数据根据其属性值进行划分,并对属于同一区域的栅格进行边界追踪,获得有关于该区域的若干个边界,由于边界只是线数据,因此要将其转化为面数据。本步骤利用多边形嵌套原理进行面数据的转化,该方法构思巧妙,简单易行,处理效率高。
有时传来的场数据中,目标区域的栅格顶在场数据的边缘,从而导致经步骤C平滑处理后,场数据的边缘信息会有一定的损失,因此为了更好地还原数据真实性,取得更好的直观性,本发明执行步骤a之前,首先对场数据外扩5*5个栅格作为该场数据的外边界, 并对外扩的栅格赋予不属于任一预设属性值区间的值。这样一来,数据场边缘进行了一定程度的外扩,使目标能更准确清晰的体现。
有时传来的场数据数据格式不同一,那么就需要有个中转站对数据进行规范化; 于是本发明设计了一个与电子地图后台程序进行数据传输的数据转化单元,所述数据转化单元读取有关于大气或水文的原始数据,并将该原始数据转化为能够被电子地图后台程序读取的场数据。该数据化单元良好的解决了该问题。
本发明针对存在复杂的空间嵌套关系的边界多边形集合,利用空心环是由双边界组成的思想,提出根据包含多边形的奇偶性判断嵌套关系,提取矢量面的方法。该方法能够一次性的,以较快的速度完成场数据(栅格数据)的分层矢量面的提取。与同传统方法相比,该方法计算速度较快,可以一次性提取出场数据中不同区间的所有矢量面,解决了传统电子地图或Web GIS中对网格数据的渲染因数据量大、分层转换慢而造成的实时性、动态性差的问题。在与其他地层进行叠置显示时,能够较好地展现“透明”或“半透明”设色效果。


下面结合附图对本发明作进一步的说明。
图I是一幅简单的栅格数据的局部区域。
图2是以区间(O. 5,I. 5)对该区域栅格数据进行二值化。
图3是根据二值化结果进行边界追踪。
图4是对图3得到的边界多边形做平滑处理。
图5是图I在区间(O. 5,I. 5)下得到的渲染结果。
具体实施方式
下面根据附图详细说明本发明,本发明的目的和效果将变得更加明显。
电子地图上二维空间标量场的动态分层渲染表达方法,包括以下步骤步骤I、电子地图后台程序周期性的接收有关于大气或水文的场数据,所述场数据为格式统一的栅格数据;本步中,电子地图后台程序对传来的场数据判断是否满足格式要求,是否为有效数据。 如果格式不符合要求,则由数据转化单元将其转化为能够被电子地图后台程序读取的场数据。然后,给出执行命令和区间集合,令后台对场数据(栅格数据)开始计算处理。
步骤2、针对场数据中栅格的属性值预先设置有若干属性值区间,电子地图的后台程序依次根据各属性值区间从场数据中提取相应的区域边界,并将每个属性值区间所对应的区域边界转换为相应属性值区间的矢量面集合,与同一属性值区间对应的矢量面赋予同一属性值。具体步骤如下首先对场数据(栅格数据)向外扩5*5个栅格,并赋予不属于区间集合内任何区间的值 (比如很大的值9999),作为该场数据(栅格数据)的外边界。如图I所示,为场数据(栅格数据)中某一区域的栅格值,为了说明方便,这里使用较简单的数字表示该区域内的栅格值。
对整个场数据进行二值化,若栅格的属性值在该属性值区间内,则将该栅格的属性值赋予1,否则赋予O ;本例中,以(O. 5,I. 5)区间进行二值化为例,图2是对图I 二值化后的结果。
对整个场数据的1、0交接处进行边界追踪,得到该属性值区间在场数据中的所有区域边界;图3是边界追踪的结果,从图中可以看出,共追踪出3条闭合的区域边界线。由于场数据(栅格数据)存在外边界,所以最终得到的所有区域边界都是闭合的多边形。
采用内插法对得到的区域边界形做平滑处理,消除区域边界的锯齿;处理结果见图4。
将区域边界组成边界多边形集合,在边界多边形集合中,区域边界根据面积的从小到大排序;由上述几幅图可以看出,该区域在区间(O. 5,I. 5)上得到的实际矢量面包括一个空心环和一个实心面,目前得到的是一个存在层层嵌套关系的三个边界多边形的集合(见图4, 从外向内依次是0-1交接线、1-0交接线、0-1交接线)。
因此接下来需要对这三个边界多边形做嵌套处理,方法如下如图4,先从内部最小的多边形开始,因为包含它的多边形有两个,说明它是一个单独的实心面,将其移出边界多边形集合,移入矢量面集合,然后判断面积次小的多边形,即中间那个多边形,因为包含它的多边形只有一个,说明它与这个多边形会组成一个空心环,将这两个多边形做个拓扑嵌套,移入矢量面集合,此时边界多边形集合为空,证明所有边界多边形都已处理,判断结束。
当所有边界多边形判断结束后,最终得到的矢量面集合即为该区间在场数据(栅格数据)下的所有矢量面,将每个矢量面赋予该区间的相应属性值,如图4中各矢量面可以赋予属性值I (O. 5与I. 5的中间值)。
步骤3、电子地图的后台程序将所有属性值区间对应的矢量面集合传回给电子地图的前台程序;并以WKT文的格式将矢量面集合返回给电子地图。
步骤4、电子地图的前台程序根据矢量面数据的属性值,对矢量面一一进行渲染, 相同属性值的矢量面渲染相同颜色,不同属性值的矢量面渲染不同的颜色。图5是对区间 (O. 5,I. 5)得到的矢量面渲染后的结果。
除上述实施例外,本发明还可以有其他实施方式。凡采用等同替换或等效变换形成的技术方案,均落在本发明要求的保护范围。
权利要求
1.电子地图上二维空间标量场的动态分层渲染表达方法,包括以下步骤步骤I、电子地图后台程序周期性的接收有关于大气或水文的场数据,所述场数据为格式统一的栅格数据;步骤2、针对场数据中栅格的属性值预先设置有若干属性值区间,电子地图的后台程序依次根据各属性值区间从场数据中提取相应的区域边界,并将每个属性值区间所对应的区域边界转换为相应属性值区间的矢量面集合,与同一属性值区间对应的矢量面赋予同一属性值;步骤3、电子地图的后台程序将所有属性值区间对应的矢量面集合传回给电子地图的前台程序;步骤4、电子地图的前台程序根据矢量面数据的属性值,对矢量面一一进行渲染,相同属性值的矢量面渲染相同颜色,不同属性值的矢量面渲染不同的颜色。
2.根据权利要求I所述的电子地图上二维空间标量场的动态分层渲染表达方法,其特征在于所述步骤2中,获得与属性值区间对应的矢量面集合的方法如下步骤a、对整个场数据进行二值化,若栅格的属性值在该属性值区间内,则将该栅格的属性值赋予1,否则赋予O ;步骤b、对整个场数据的1、0交接处进行边界追踪,得到该属性值区间在场数据中的所有区域边界;步骤C、采用内插法对得到的区域边界形做平滑处理,消除区域边界的锯齿;步骤d、将区域边界组成边界多边形集合,在边界多边形集合中,区域边界根据面积的从小到大排序;步骤e、对边界多边形集合中面积最小的区域边界进行判断,如果包含它的区域边界是偶数个,则该区域边界是一个单独的实心面,把该区域边界转化为面数据添加至矢量面集合中,并将该区域边界从边界多边形集合中删去;如果包含它的区域边界数目是奇数个,则与包含它的面积最小的区域边界组成一个环形矢量面,将该环形矢量面添加至矢量面集合中,并将构成该环形矢量面的两个区域边界一并从边界多边形集合中删去;步骤f、重复步骤e,直到边界多边形集合为空,此时已获得与该属性值区间对应的矢量面集合。
3.根据权利要求3所述的电子地图上二维空间标量场的动态分层渲染表达方法,其特征在于执行步骤a之前,首先对场数据外扩5*5个栅格作为该场数据的外边界,并对外扩的栅格赋予不属于任一预设属性值区间的值。
4.根据权利要求3所述的电子地图上二维空间标量场的动态分层渲染表达方法,其特征在于具有一个与电子地图后台程序进行数据传输的数据转化单元,所述数据转化单元读取有关于大气或水文的原始数据,并将该原始数据转化为能够被电子地图后台程序读取的场数据。
全文摘要
本发明涉及电子地图上二维空间标量场的动态分层渲染表达方法,其针对存在复杂的空间嵌套关系的边界多边形集合,利用空心环是由双边界组成的思想,提出根据包含多边形的奇偶性判断嵌套关系,提取矢量面的方法。该方法能够一次性的,以较快的速度完成场数据(栅格数据)的分层矢量面的提取,并返回给电子地图前台程序,进行不同区域面状图层的渲染。与传统方法相比,该方法计算速度较快,可以一次性提取出场数据中不同区间的所有矢量面,解决了传统电子地图或WebGIS中对网格数据的渲染因数据量大、分层转换慢而造成的实时性、动态性差的问题。在与其他地层进行叠置显示时,能够较好地展现“透明”或“半透明”设色效果。
文档编号G09B29/00GK102938230SQ20121046047
公开日2013年2月20日 申请日期2012年11月15日 优先权日2012年11月15日
发明者王结臣, 周生路, 程亮, 胡玮, 杨柳 申请人:南京大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1