海量gis信息的超高分辨显示方法

文档序号:7804820阅读:202来源:国知局
海量gis信息的超高分辨显示方法
【专利摘要】本发明提供海量GIS信息的超高分辨显示方法,以计算机集群并行处理为基础,通过集群地图分块、WMS服务并行获取GIS地图信息,经过地图投影变换分布处理数据,由GPU并行纹理渲染显示的拼接显示方法。本发明通过计算机集群获取、处理和显示地图信息,能够有效地解决海量GIS地图处理与显示问题。其中,集群地图分块技术把高分辨地图按集群节点机进行分块处理,使显示地图的分辨率可以通过增加节点机数量来扩展显示分辨率,不受单个显示屏分辨率的限制,实现超高分辨GIS信息显示。
【专利说明】海量GIS信息的超局分辨显不方法
【技术领域】
[0001]本发明涉及GIS (Geographic Information System 或 Geo — Informationsystem,地理信息系)地图显示技术,具体涉及海量GIS信息的超高分辨显示方法。
【背景技术】
[0002]近年来,我国的GIS信息化建设飞速发展,在交通运输、军事公安、国土管理、城市管理、防灾减灾、资源调查、水利电力、农林牧业、生命线工程管理等领域取得了广泛应用。随着卫星技术的快速发展,基于特定系统、特定环境的GIS系统开发已成为业界的研究热点。GIS空间数据具有数据体量大、形式多样、结构复杂等特点,为了更好地发挥GIS信息的空间可视化优势,实现地图超高分辨全域显示,需要研究超高分辨海量GIS信息显示技术,以便从全局着眼,通过超高分辨空间思维分析相关地域空间信息关系、空间分布模式和空间发展趋势等,完成科学决策。
[0003]现有的拼接显示系统通过将GIS计算机显示输出的VGA/DVI电信号分配给图像拼接处理器,实现GIS信息在拼接屏幕上的图像像素放大显示。这种地图信息显示方式的图像分辨率受GIS计算机显示输出分辨率的限制,显示地图的范围、分辨率有限,地图放大时显示清晰度下降,没有发挥拼接屏幕显示分辨率高等优势,难以满足海量GIS信息的超高分辨显示的需求。此外,现有的这种地图信息显示方式基于非开放式平台,不能根据需求拓展增加系统的地图显示能力。

【发明内容】

[0004]为了解决现有技术中地图显示分辨率受计算机显卡限制的技术问题,提供海量GIS信息的超高分辨显示方法;本发明技术方案以计算机集群并行计算为基础,主要采用集群并行显示、WMS服务(Web Map Service,网络地图服务)、GIS渲染显示等技术手段,实现了地图信息的超高分辨显示。
[0005]本发明采用如下技术方案:海量GIS信息的超高分辨显示方法,所述超高分辨显示方法基于计算机集群平台,所述计算机集群平台包括主节点控制器及多个子节点控制器,主节点控制器通过计算机网络分别与多个子节点控制器相连接,每个子节点控制器还配置多个显示单元;所述超高分辨显示方法包括以下步骤:
[0006]S1、主节点控制器设置GIS服务器,把有效的GIS服务器的IP地址及端口通过计算机网络发送给所有子节点控制器,各子节点控制器收到后保存GIS服务器的IP地址和端Π ;
[0007]S2、主节点控制器连接步骤I中设置的GIS服务器,通过丽S服务的地图请求指令并行获取GIS服务器上地图的相关信息;
[0008]S3、主节点控制器从GIS服务器上地图的相关信息中确定地图的边界信息,然后按子节点控制器连接的显示单元数量对地图进行分块处理,各子节点控制器保存地图分块信息,同时反馈给主节点控制器准备就绪指令;[0009]S4、主节点控制器收到所有子节点控制器的准备就绪指令后,发送地图数据获取指令;各子节点控制器收到地图数据获取指令后,通过WMS服务并行获取所请求的地图图片数据;
[0010]S5、各子节点控制器接收完所请求的地图图片数据后,通过地图分块重组和地图投影变换算法,对每个地图分块区域所对应的地图图片数据进行坐标重组和地图投影变换,同时把变换后的数据标记为纹理数据,并把纹理数据缓存于图片处理缓冲区中;
[0011]S6、各子节点控制器从图片处理缓冲区中读取每个地图分块区域的纹理数据,进行渲染显示。
[0012]优选地,所述步骤S3对地图进行分块处理的步骤为:主节点控制器从GIS服务器上地图的相关信息中确定地图的边界信息,然后根据各子节点控制器显示区域的位置,把整个地图按子节点控制器连接的显示单元数量进行分块,计算出每个子节点控制器负责的地图分块区域,并给每个地图分块区域分配一个唯一的地图分块区域ID,最后通过计算机网络发送地图分块指令至所有子节点控制器;各子节点控制器收到地图分块指令后,保存地图分块信息,同时反馈给主节点控制器准备就绪指令。
[0013]优选地,所述步骤S4中各子节点控制器通过WMS服务并行获取所请求的地图图片数据的步骤为:各子节点控制器收到地图数据获取指令后获取其中的比例尺信息,再根据比例尺信息、GIS服务器IP地址及端口、地图分块区域生成每个地图分块区域的丽S地图请求URL,通过HTTP并行向GIS服务器发送丽S地图请求URL,由GIS服务器返回所请求的地图图片数据,各子节点控制器接收所请求的地图图片数据并缓存于原始图片缓冲区中。
[0014]优选地,所述步骤S6中渲染显示的步骤为:各子节点控制器把纹理数据分配给OpenGL着色器的纹理内存,最后由OpenGL着色器利用GPU并行渲染的方式,把所有地图分块区域的纹理数据进行渲染显示。
[0015]上述超高分辨显示方法还包括以下步骤:S7、主节点控制器收到需要地图放大或缩小的命令后,先记录放大或缩小后地图的比例尺信息,然后按照步骤S3对放大或缩小后需显示的地图区域进行重新分块处理,再发送地图分块指令给所有子节点控制器,各子节点控制器收到地图分块指令后,再按照步骤S4通过WMS服务并行获取所请求的地图图片数据;最后按照步骤S5及S6完成地图放大或缩小显示。
[0016]上述超高分辨显示方法还包括以下步骤:S8、主节点控制器收到需要地图进行移动的命令后,先记录移动后的地图显示区域边界信息,然后按照步骤S3对移动后需显示的地图区域进行重新分块处理,再发送地图分块指令给所有子节点控制器,各子节点控制器收到地图分块指令后,再按照步骤S4通过WMS服务并行获取所请求的地图图片数据,然后按照步骤S5及S6完成移动后的地图显示。
[0017]本发明原理如下:由于GIS系统平台的多样性,为了实现不同GIS平台的数据都能整合显示,发明了采用并行WMS服务获取GIS数据的方法。并在此基础上,设计了一套以计算机集群并行处理为基础,通过集群地图分块、WMS服务并行获取GIS地图信息,经过地图投影变换分布处理数据,由GPU并行纹理渲染显示的拼接显示方法。该方法通过计算机集群获取、处理和显示地图信息,能够有效地解决海量GIS地图处理与显示问题。其中,集群地图分块技术把高分辨地图按集群节点机进行分块处理,使显示地图的分辨率可以通过增加节点机数量来扩展显示分辨率,不受单个显示屏分辨率的限制,实现超高分辨GIS信息显不O
[0018]与现有技术相比,本发明具有如下优点及有益效果:
[0019]1、充分利用了计算机集群平台的集群并行处理优势,无需增加额外的硬件设备,主节点控制器、各子节点控制器仅通过网络就能够对GIS地图实现多屏显示与控制,系统具有较高的可扩展性与维护性。当处理海量GIS数据计算能力不足时,可以增加子节点控制器数量来提高系统的整体计算能力;当显示高分辨地图显示范围不足时,可以增加子节点控制器连接的显示单元数量来提高集群系统的整体分辨率,从而实现超高分率显示。
[0020]以1920X1080分辨率的显示屏为例,传统GIS显示方式,只能显示输出分辨率为1920X1080 = 2073600像素的地图。而通过本发明的系统,采用两台子节点控制器分别连接四块显示屏,系统可支持分辨率为1920X1080X4X2 = 16588800的地图显示,地图处理显示能力提升了 8倍;采用六台节点控制器,则地图分辨率提升到了 1920X1080X4X6 =49766400,提升了 24倍,极大地增强了 GIS信息的超高分辨显示能力。
[0021]2、相比于采用计算机显卡输出的GIS图像信息以VGA/DVI电信号的方式进行处理显示的现有显示GIS地图,本发明采用的是在集群平台下,利用其强大的计算处理能力,把地图按子节点控制器进行分块处理,各子节点控制器根据地图分块区域大小通过WMS服务并行获取GIS地图图片数据,再进行地图坐标重组和地图投影分布变换,然后由OpenGL着色器利用GPU进行并行纹理渲染显示。本发明采用地图分块平衡所有子节点控制器的负载,提高了系统处理海量数据的能力;利用并行丽S地图服务获取GIS数据,有效解决了不同GIS平台数据整合显示问题,使系统实现跨GIS平台显示的能力;利用子节点控制器连接显示屏、集群地图分块和GPU(Graphic Processing Unit,图像处理器)并行纹理显示,实现了 GIS地图的超高分辨率的显示,解决了海量GIS地图在拼接显示系统中遇到的分辨率显示不足,地图显示范围受限和无法处理海量数据等问题。
【专利附图】

【附图说明】
[0022]图1是本发明的方法流程图;
[0023]图2是本发明的系统总体结构图;
[0024]图3集群地图分块示意图;
[0025]图4是本发明的系统模块图。
【具体实施方式】
[0026]下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
[0027]本发明海量GIS信息的超高分辨显示方法基于计算机集群平台,所述计算机集群平台包括主节点控制器及多个子节点控制器,主节点控制器通过计算机网络分别与多个子节点控制器相连接,每个子节点控制器还配置多个显示单元。如图1所示,本发明显示方法包括以下步骤:
[0028]S1、主节点控制器设置GIS服务器:首先检查GIS服务器IP地址及端口的有效性,如果GIS服务器IP地址和端口是有效数据,则主节点控制器通过网络发送数据指令(所述数据指令中包含GIS服务器IP地址和端口等信息)给所有子节点控制器,各子节点控制器收到所述数据指令后将GIS服务器IP地址和端口保存于内存中。
[0029]S2、如图2所示,主节点控制器连接步骤I中设置的GIS服务器,通过丽S服务的GetCapabilities (地图请求指令)并行获取GIS服务器上地图的相关信息,所述地图的相关信息主要有丽S服务当前的版本号、地图的边界信息、地图的参考坐标系统和地图的图
层信息等。
[0030]S3、主节点控制器确定地图的边界信息后,根据计算机集群平台中各子节点控制器显示区域的位置,把整个地图按子节点控制器连接的显示单元数量进行分块,计算出每个子节点控制器负责的地图分块区域。如图3所示,用Map (X,y)(其中x,y表示分块坐标位置)表示显示单元对应的地图分块区域,由于每台子节点控制器连接四块显示单元,因此,子节点控制器I的地图分块区域为Map (O, O)、Map (O, I)、Map (I, O)和Map (I, I),子节点控制器2的地图分块区域为Map (O, 2)、Map (O, 3)、Map (I, 2)和Map (I, 3),以此类推。主节点控制器给每个地图分块区域分配一个唯一的标识ID (称为地图分块区域ID),最后通过网络发送地图分块指令(所述地图分块指令包括地图分块区域ID、地图分块区域的大小、地图分块区域左上角坐标和地图分块区域左上角坐标对应的地理坐标等地图分块信息)至所有子节点控制器;其中地图在显示屏上的初始位置在拼接显示屏的左上角,坐标设为(0,0)。各子节点控制器收到地图分块指令后,保存地图分块信息于内存中,同时反馈给主节点控制器准备就绪指令,完成集群地图分块。
[0031]S4、主节点控制器收到所有子节点控制器的准备就绪指令后,发送地图数据获取指令(所述地图数据获取指令包括地图当前的级别信息,即比例尺信息)。各子节点控制器收到地图数据获取指令后,根据比例尺信息、GIS服务器IP地址及端口、步骤S2计算的地图分块区域Map (X,y)生成每个地图分块区域的WMS地图请求URL(Uniform ResourceLocator,统一资源定位符),通过HTTP (HyperText Transfer Protocol,超文本转移协议)并行向GIS服务器发送丽S地图请求URL,由GIS服务器返回所请求的地图图片数据,各子节点控制器接收所请求的地图图片数据并缓存于原始图片缓冲区中,并把每个地图分块区域对应的地图图片数据标记为Image (X,y)。
[0032]S5、各子节点控制器接收完所请求的地图图片数据后,通过地图分块重组和地图投影变换算法,对每个地图分块区域所对应的地图图片数据Image (x,y)进行坐标重组和地图投影变换,同时把变换后的数据标记为纹理数据Texture (X,y),并把纹理数据Texture (x, y)缓存于图片处理缓冲区中。
[0033]S6、各子节点控制器从图片处理缓冲区中读取每个地图分块区域的纹理数据Texture (X,y),并把纹理数据Texture (x, y)分配给OpenGL着色器的纹理内存,最后由OpenGL着色器利用GPU并行渲染的方式,把所有地图分块区域的纹理数据Texture (X,y)进行渲染显示。
[0034]S7、主节点控制器收到需要地图放大或缩小的命令后,先记录放大或缩小后地图的级别信息(即比例尺信息),然后按照步骤S3对放大或缩小后需显示的地图区域进行重新分块处理,再发送地图分块指令给所有子节点控制器,各子节点控制器收到地图分块指令后,再按照步骤S4生成丽S地图请求URL,通过HTTP并行向GIS服务器发送丽S地图请求URL,由GIS服务器返回所请求的地图图片数据后,用GIS服务器返回的所请求的地图图片数据替换原始图片缓冲区中的数据。接下来按照步骤S5及S6完成地图放大或缩小显示。[0035]S8、主节点控制器收到需要地图进行移动的命令后,先记录移动后的地图显示区域边界信息,然后按照步骤S3对移动后需显示的地图区域进行重新分块处理,再发送地图分块指令给所有子节点控制器,各子节点控制器收到地图分块指令后,再按照步骤S4生成丽S地图请求URL,通过HTTP并行向GIS服务器发送丽S地图请求URL,由GIS服务器返回所请求的地图图片数据后,用GIS服务器返回的所请求的地图图片数据替换原始图片缓冲区中的数据。接下来按照步骤S5及S6完成移动后的地图显示。
[0036]本发明海量GIS信息的超高分辨显示系统为了更好的维护与开发,把系统进行模块划分,包括数据初始化模块、集群地图分块模块、WMS服务并行获取模块、地图投影变换分布处理模块及并行渲染显示模块,如图4所示。其中数据初始化模块完成上述步骤SI,集群地图分块模块执行上述步骤S2及S3,WMS服务并行获取模块执行上述步骤S4,地图投影变换分布处理模块执行上述步骤S5,并行渲染显示模块执行上述步骤S6、S7及S8。
[0037]综上可知,本发明海量GIS信息的超高分辨显示方法利用主、子节点控制器构成的并行集群处理平台,通过丽S服务并行地获取GIS地图信息,由OpenGL通过着色器进行GPU并行渲染显示,解决了海量GIS地图在拼接显示系统中遇到的分辨率显示不足,地图显示范围受限和无法处理海量数据等问题;而且采用Web服务的方式来获取地图信息,可有效解决不同GIS平台数据的融合显示问题。基于主、子节点控制器的分布式集群的平台,使整个系统的架构处于开放状态,当数据处理能力遇到不足时,只需要增加子节点控制器即可增强整个系统的计算处理能力,在增加子节点控制器的同时也提高了渲染显示GIS地图的分辨率。本发明由于利用丽S地图服务的跨平台特性,使系统支持整合显示来自SuperMap> ArcGIS>MapInfo等不同GIS平台的地图服务。
[0038]上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
【权利要求】
1.海量Gis信息的超高分辨显示方法,所述超高分辨显示方法基于计算机集群平台,所述计算机集群平台包括主节点控制器及多个子节点控制器,主节点控制器通过计算机网络分别与多个子节点控制器相连接,每个子节点控制器还配置多个显示单元,其特征在于所述超高分辨显示方法包括以下步骤: 51、主节点控制器设置GIS服务器,把有效的GIS服务器的IP地址及端口通过计算机网络发送给所有子节点控制器,各子节点控制器收到后保存GIS服务器的IP地址和端口 ; 52、主节点控制器连接步骤I中设置的GIS服务器,通过WMS服务的地图请求指令并行获取GIS服务器上地图的相关信息; 53、主节点控制器从GIS服务器上地图的相关信息中确定地图的边界信息,然后按子节点控制器连接的显示单元数量对地图进行分块处理,各子节点控制器保存地图分块信息,同时反馈给主节点控制器准备就绪指令; 54、主节点控制器收到所有子节点控制器的准备就绪指令后,发送地图数据获取指令;各子节点控制器收到地图数据获取指令后,通过丽S服务并行获取所请求的地图图片数据; 55、各子节点控制器接收完所请求的地图图片数据后,通过地图分块重组和地图投影变换算法,对每个地图分块区域所对应的地图图片数据进行坐标重组和地图投影变换,同时把变换后的数据标记为纹理数据,并把纹理数据缓存于图片处理缓冲区中; 56、各子节点控制器从图片处理缓冲区中读取每个地图分块区域的纹理数据,进行渲染显示。
2.根据权利要求1所述的超高分辨显示方法,其特征在于,所述步骤S3对地图进行分块处理的步骤为: 主节点控制器从GIS服务器上地图的相关信息中确定地图的边界信息,然后根据各子节点控制器显示区域的位置,把整个地图按子节点控制器连接的显示单元数量进行分块,计算出每个子节点控制器负责的地图分块区域,并给每个地图分块区域分配一个唯一的地图分块区域ID,最后通过计算机网络发送地图分块指令至所有子节点控制器;各子节点控制器收到地图分块指令后,保存地图分块信息,同时反馈给主节点控制器准备就绪指令。
3.根据权利要求2所述的超高分辨显示方法,其特征在于,步骤S3中所述地图分块指令包括以下地图分块信息:地图分块区域ID、地图分块区域的大小、地图分块区域左上角坐标和地图分块区域左上角坐标对应的地理坐标。
4.根据权利要求1所述的超高分辨显示方法,其特征在于,所述步骤S4中各子节点控制器通过WMS服务并行获取所请求的地图图片数据的步骤为: 各子节点控制器收到地图数据获取指令后获取其中的比例尺信息,再根据比例尺信息、GIS服务器IP地址及端口、地图分块区域生成每个地图分块区域的WMS地图请求URL,通过HTTP并行向GIS服务器发送丽S地图请求URL,由GIS服务器返回所请求的地图图片数据,各子节点控制器接收所请求的地图图片数据并缓存于原始图片缓冲区中。
5.根据权利要求1所述的超高分辨显示方法,其特征在于,所述步骤S2中所述地图的相关信息包括丽S服务当前的版本号、地图的边界信息、地图的参考坐标系统和地图的图层Ih息。
6.根据权利要求1所述的超高分辨显示方法,其特征在于,所述步骤S6中渲染显示的步骤为:各子节点控制器把纹理数据分配给OpenGL着色器的纹理内存,最后由OpenGL着色器利用GPU并行渲染的方式,把所有地图分块区域的纹理数据进行渲染显示。
7.根据权利要求1-6中任一项所述的超高分辨显示方法,其特征在于所述超高分辨显示方法还包括以下步骤: S7、主节点控制器收到需要地图放大或缩小的命令后,先记录放大或缩小后地图的比例尺信息,然后按照步骤S3对放大或缩小后需显示的地图区域进行重新分块处理,再发送地图分块指令给所有子节点控制器,各子节点控制器收到地图分块指令后,再按照步骤S4通过WMS服务并行获取所请求的地图图片数据;最后按照步骤S5及S6完成地图放大或缩小显示。
8.根据权利要求1-6中任一项所述的超高分辨显示方法,其特征在于所述超高分辨显示方法还包括以下步骤: S8、主节点控制器收到需要地图进行移动的命令后,先记录移动后的地图显示区域边界信息,然后按照步骤S3对移动后需显示的地图区域进行重新分块处理,再发送地图分块指令给所有子节点控制器,各子节点控制器收到地图分块指令后,再按照步骤S4通过WMS服务并行获取所请求的地图图片数据,然后按照步骤S5及S6完成移动后的地图显示。
【文档编号】H04L29/08GK103984513SQ201410228966
【公开日】2014年8月13日 申请日期:2014年5月27日 优先权日:2014年5月27日
【发明者】孙峻岭, 罗明宇, 刘其军, 归强, 徐 明 申请人:广东粤铁瀚阳科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1