一种海量遥感矢量数据的可视化方法及装置与流程

    专利2022-07-08  107


    本发明涉及地图可视化领域,尤其涉及一种海量遥感矢量数据的可视化方法及装置。



    背景技术:

    可视化的基本含义是将科学计算中产生的大量非直观的、抽象的或者不可见的数据,借助计算机图形学和图像处理等技术,以图形图像信息的形式,直观、形象地表达出来,并进行交互处理。

    随着遥感、航测等诸多遥测手段的大规模应用,世界各国各行业获取的多源遥感影像数据量呈几何式激增,人类业已迈入海量大数据时代,对于矢量数据,百万要素已是很常见。

    因此,对于地理信息装置而言,如何快速地可视化这些数据是地理信息领域的一大问题。目前已有的地理信息装置软件大都是采用桌面软件形式,整个软件装置安装在个人电脑上,数据存放在本地磁盘,计算、绘制均由单机完成。对于大规模数据,这些桌面软件就没有能力进行可视化,或者没能力快速地进行可视化。

    针对时空数据密集型数据的可视化问题,近年来国际上展开了在高性能计算环境下地理可视化装置和框架的研究,以扩展地理可视化装置对复杂地理过程建模的能力。这些地理计算装置和框架为地理现象分析与过程模拟提供了一个建模和运行的环境。通过使用统一的数据接口、模型标准和通用工具,提高了模型的开发效率、模型间的互操作性、模型的可移植性以及模型的性能。

    当前国际国内典型的高性能地理计算装置主要有:

    1)giscloud

    giscloud是2010年正式推出的一个完全基于网络,依靠云计算的gis装置,通过浏览器就可以实现gis应用,使用简单、直观。giscloud的目的是通过saas(softwareasaservice软件即服务),paas(platformasaservice平台即服务)的模式逐步取代传统的gis软件。giscloud不仅补充了传统的gis解决方案,还依靠互联网的潜力来不断提升自己的能力。giscloud架构在amazonwebservices提供的云上,实现了地图显示与编辑,空间分析,数据管理与收集等功能,尤其在地图和数据可视化方面表现突出。

    giscloud依靠html5建立了矢量可视化引擎,不仅实现了矢量数据的实时渲染,也提高了全图的交互性,大大降低了缓存地图瓦片数据时,大数据量造成的巨大时耗。采用html5技术,giscloud解决了处理大数据时的困难,使用户即使处理拥有上百万要素信息的地图数据,也可以得到快速地响应。

    此外,giscloud实现了与外部的postgresql数据库的连接,允许用户直接在giscloud使用已连接的数据库中的数据,而不需要上传或导入数据到giscloud中。

    2)超图的supermapgis6r(2012)

    supermapgis6r(2012)是超图软件公司于2011年推出的支持云计算的产品,属于supermapgis6r系列。该系列产品从服务定制、个性化服务集成、多源服务无缝聚合、分布式集群、服务扩展、服务配置、部署与管理、多种客户端sdk等方面提供了完整的一体化解决方案。supermapgis6r(2012)主要在开放的云服务支持、强大的二三维一体化功能以及高效快捷的应用集成与服务聚合能力等方面实现了重大突破,为用户迈入云gis时代提供了更多的支持和选择。

    科技的发展促使对大规模矢量数据的计算及可视化需求越来越高,现有的地理信息装置中可视化框架已不能适应现在的时代需求及潮流。当前网络的广泛普及,服务器集群价格越来越低,促使基于服务器的空间数据快速可视化成为可能。当前已有的地理信息装置主要是数据存于本地或者虽然数据存于服务器,但是绘制时将数据传回到本地然后再在本地进行绘制,其可视化流程如图1和图2所示。从图1和图2可以看出,用户要可视化数据时,如数据存放于本地磁盘,则软件直接从本地加载数据到内存,如果数据存于服务器,则软件从服务器中先读取数据到本地内存中。读完数据之后再对数据样式进行解析、开始绘制,在绘制时,这些软件都是将整个数据进行绘制,绘制完后再进行显示。如果绘制过程中或者绘制结束之后,用户进行了交互操作如放大、缩小、平移、修改样式等,那么软件回重新绘制整个数据。现有技术的上述方案存在如下缺陷:

    1、数据存储于本地时会受到本地存储容量的限制;

    2、数据存储于服务器时,在绘制时将数据传回本地需要较长时间;

    3、交互操作尤其是平移时需要重新绘制;

    4、本地计算能力有限,对于大数据绘制时间较长;

    5、本地计算机扩展能力不足。



    技术实现要素:

    基于现有技术的上述情况,本发明针对复杂地理计算环境下地理数据可视化问题,基于服务器多核技术,通过客户端划分地图瓦片,nginx tomcat进行网络服务器负载均衡将绘制任务分摊到绘制服务器的多个核上绘制,实现一次较高效的绘制加速,同时采用服务器瓦片缓存策略,使得在二次请求瓦片时能够迅速响应,而不需要重新绘制。

    为达到上述目的,根据本发明的第一个方面,提供了一种一种海量遥感矢量数据的可视化方法,包括步骤:

    客户端接收前端用户的操作请求,将当前可视范围内的地图进行瓦片分割,并向网络服务器请求所述瓦片;

    所述网络服务器在可视化服务器中查找是否所述请求的瓦片已经绘制完成并缓存于可视化服务器的缓存文件中,若是,则直接跳转至最后一步;若否,则继续执行下一步;

    所述网络服务器向瓦片服务器发出瓦片请求;

    所述瓦片服务器将所述瓦片请求中的各个瓦片绘制任务分配到所述绘制服务器的各个节点,由所述各个节点上的绘制引擎采用多节点多gpu并行绘制的方式完成绘制;

    所述网络服务器将绘制好的瓦片文件回传至客户端,并由客户端进行显示。

    进一步的,所述前端用户的操作请求包括加载图层数据、对地图进行样式修改、以及放大、缩小和平移操作中的一种或多种。

    根据本发明的第二个方面,提供一种海量遥感矢量数据的可视化方法,包括步骤:

    网络服务器接收客户端发出的瓦片请求;

    所述网络服务器在可视化服务器中查找是否所述请求的瓦片已经绘制完成并缓存于所述可视化服务器的缓存文件中,若是,则将所述缓存的瓦片文件回传至所述客户端;若否,则继续执行下一步;

    所述网络服务器向瓦片服务器发出瓦片请求,并通过瓦片服务器将绘制完成的数据回传至客户端。

    根据本发明的第三个方面,提供一种海量遥感矢量数据的可视化方法,包括步骤:

    瓦片服务器接收网络服务器传送的由客户端发出的瓦片请求;

    所述瓦片服务器根据绘制服务器各节点的任务负载情况,采用负载均衡策略均衡地将所述瓦片请求中的各个瓦片绘制任务分配到所述绘制服务器的各个节点;

    所述瓦片服务器接收由绘制服务器中各个绘制节点上的绘制引擎绘制完成的瓦片文件;

    所述瓦片服务器将该瓦片文件其回传至所述客户端,同时将其异步存储到缓存文件中。

    进一步的,各个绘制节点上的绘制引擎采用多节点多gpu并行绘制的方式完成绘制。

    根据本发明的第四个方面,提供一种实现海量遥感矢量数据的可视化方法的客户端,包括:

    接收模块,接收前端用户的操作请求;

    瓦片分割模块,将当前可视范围内的地图进行瓦片分割;

    请求模块,向网络服务器请求所述瓦片;

    显示模块,接收所述网络服务器回传的绘制完成的瓦片文件,并对所述瓦片文件进行显示。

    进一步的,所述前端用户的操作请求包括加载图层数据、对地图进行样式修改、以及放大、缩小和平移操作中的一种或多种。

    进一步的,所述网络服务器回传的绘制完成的瓦片文件包括:可视化服务器中缓存的已经绘制完成的瓦片文件,和/或绘制服务器根据接收的瓦片请求信息绘制完成的瓦片文件。

    根据本发明的第五个方面,提供一种实现海量遥感矢量数据的可视化方法的网络服务器,包括:

    接收模块,接收客户端发出的瓦片请求;

    处理模块,在可视化服务器中查找是否所述请求的瓦片已经绘制完成并缓存于所述可视化服务器的缓存文件中,若是,则将所述缓存的瓦片文件回传至所述客户端;若否,则向瓦片服务器发出瓦片请求,并通过瓦片服务器将绘制完成的数据回传至客户端。

    根据本发明的第六个方面,提供一种实现海量遥感矢量数据的可视化方法的瓦片服务器,包括:

    接收模块,接收网络服务器传送的由客户端发出的瓦片请求;

    分配模块,根据绘制服务器各节点的任务负载情况,采用负载均衡策略均衡地将所述瓦片请求中的各个瓦片绘制任务分配到所述绘制服务器的各个节点;

    处理模块,所述瓦片服务器接收由绘制服务器中各个绘制节点上的绘制引擎绘制完成的瓦片文件,并将该瓦片文件其回传至所述客户端,同时将其异步存储到缓存文件中。

    进一步的,各个绘制节点上的绘制引擎采用多节点多gpu并行绘制的方式完成绘制。

    综上所述,本发明提供了海量遥感矢量数据的可视化方法及装置,本发明针对复杂地理计算环境下地理数据可视化问题,基于服务器多核技术,通过客户端划分地图瓦片,nginx tomcat进行网络服务器负载均衡将绘制任务分摊到绘制服务器的多个核上绘制,实现一次较高效的绘制加速,同时采用服务器瓦片缓存策略,使得在二次请求瓦片时能够迅速响应,而不需要重新绘制。本发明的技术方案具有如下技术效果:

    1、客户端采用web页面,具有b/s框架的优势,如可跨平台特性。

    2、数据存储于服务器,减轻本地存储压力,随时随地使用,方便与人共享。

    3、显示界面采用划分瓦片机制,服务器绘制时可以只绘制当前可视区内的瓦片,可以多节点并行绘制。

    4、采用服务器瓦片缓存机制,对绘制好的瓦片进行文件缓存,实现二次请求加速且节省服务器资源。

    5、采用服务器存储、计算,具有较好的扩展性。

    6、在服务器对瓦片进行绘制时可以进行并行加速。

    附图说明

    图1是现有技术中读取本地数据可视化方法的流程图;

    图2是现有技术中读取服务器矢量数据可视化方法的流程图;

    图3是本发明实现可视化方法的装置框架整体结构图;

    图4是本发明可视化方法的整体流程图;

    图5是本发明第一实施例提供的实现海量遥感矢量数据的可视化方法流程图;

    图6是本发明第二实施例提供的实现海量遥感矢量数据的可视化方法流程图;

    图7是本发明第三实施例提供的实现海量遥感矢量数据的可视化方法流程图。

    具体实施方式

    为使本发明的目的、技术方案和优点更加清楚明了,下面结合具体实施方式并参照附图,对本发明进一步详细说明。应该理解,这些描述只是示例性的,而并非要限制本发明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。

    术语解释:

    gpu:图形处理器(英语:graphicsprocessingunit,缩写:gpu),又称显示核心、视觉处理器、显示芯片,是一种专门在个人电脑、工作站、游戏机和一些移动设备(如平板电脑、智能手机等)上做图像和图形相关运算工作的微处理器。gpu使显卡减少了对cpu的依赖,并进行部分原本cpu的工作,尤其是在3d图形处理时gpu所采用的核心技术有硬件t&l(几何转换和光照处理)、立方环境材质贴图和顶点混合、纹理压缩和凹凸映射贴图、双重纹理四像素256位渲染引擎等,而硬件t&l技术可以说是gpu的标志。

    nginx:nginx是一款轻量级的web服务器/反向代理服务器及电子邮件(imap/pop3)代理服务器,在bsd-like协议下发行。其特点是占有内存少,并发能力强。

    tomcat:tomcat服务器是一个免费的开放源代码的web应用服务器,属于轻量级应用服务器。

    瓦片:瓦片是指将一定范围内的地图按照一定的尺寸和格式,按缩放级别或者比例尺,切成若干行和列的正方形栅格图片,对切片后的正方形栅格图片被形象的称为瓦片。

    矢量数据:矢量数据一般通过记录坐标的方式来尽可能将地理实体的空间位置表现的准确无误,显示的图形一般分为矢量图和位图。

    下面对结合附图对本发明的技术方案进行详细说明。本发明实现海量遥感矢量数据的可视化方法构建于基于服务器的地理矢量数据可视化框架,该可视化框架的整体结构图如图3所示,整个可视化框架包括前端用户工作站、管理网络、数据可视化集群、管理节点、空间数据管理集群、管理网络、共享磁盘等部分。在这个可视化框架中,前端用户工作站用于地图显示及操作,是整个可视化框架的基础;管理网络是连接前端和整个服务器集群的桥梁;地理数据可视化集群用于绘制地理数据,是整个框架的核心;管理节点用于管理整个服务器集群;空间数据库节点用于管理存储空间数据库;计算网络用于实现整个服务器集群内部各个集群的高速互联;共享磁盘用于存储共用数据。

    整个可视化框架的可视化方法整体流程如图4所示,在前端用户通过应用客户端(浏览器)进行操作,如加载图层数据或者对地图进行样式修改,或放大、缩小、平移等操作,客户端接收这些操作后立即将当前可视范围内的地图进行瓦片分割,然后向可视化服务器请求这些瓦片。在网络服务器中,首先瓦片缓存管理根据客户端的瓦片请求在服务器的文件缓存中查找是否该瓦片已经绘制好缓存在缓存文件中,如果已经缓存在缓存文件中,那么不再向瓦片服务器请求,而是直接将缓存中的文件返回到客户端,如果服务器缓存文件中没有需要的瓦片文件,则瓦片缓存管理将向瓦片服务器请求,瓦片服务器根据服务器各节点的任务负载情况,采用负载均衡策略均衡地将各个瓦片绘制任务分配到绘制服务器的各个节点。绘制服务器中的各个绘制节点上的绘制引擎根据请求的瓦片的信息向数据库或者文件装置请求数据进行绘制,然后将绘制好的瓦片文件返回给瓦片服务器,瓦片服务器再将瓦片返回到客户端进行显示,同时异步存储到缓存文件中。

    下面结合附图,对本发明的实施例进行进一步描述。图5是本发明第一实施例提供的实现海量遥感矢量数据的可视化方法流程图,如图5所示,该方法包括如下步骤:

    s11、客户端接收前端用户的操作请求,将当前可视范围内的地图进行瓦片分割,并向网络服务器请求所述瓦片。具体地,该操作请求可以包括加载图层数据、对地图进行样式修改、以及放大、缩小和平移操作等操作。

    s12、所述网络服务器在可视化服务器中查找是否所述请求的瓦片已经绘制完成并缓存于可视化服务器的缓存文件中,若是,则直接跳转至最后一步;若否,则继续执行下一步。

    s13、所述网络服务器向瓦片服务器发出瓦片请求。

    s14、所述瓦片服务器将所述瓦片请求中的各个瓦片绘制任务分配到所述绘制服务器的各个节点,由所述各个节点上的绘制引擎采用多节点多gpu并行绘制的方式完成绘制。

    s15、所述网络服务器将绘制好的瓦片文件回传至客户端,并由客户端进行显示。

    图6是本发明第二实施例提供的实现海量遥感矢量数据的可视化方法流程图,如图6所示,该方法包括如下步骤:

    s21、网络服务器接收客户端发出的瓦片请求。其中,该客户端发出的瓦片请求来自于前端用户通过应用客户端进行操作,从而由客户端对地图进行瓦片分割后发出的瓦片请求。

    s22、所述网络服务器在可视化服务器中查找是否所述请求的瓦片已经绘制完成并缓存于所述可视化服务器的缓存文件中,若是,则将所述缓存的瓦片文件回传至所述客户端;若否,则继续执行下一步;

    s23、所述网络服务器向瓦片服务器发出瓦片请求,并通过瓦片服务器将绘制完成的数据回传至客户端。具体来说,当可视化服务器的缓存文件中不存在需要的瓦片请求时,向瓦片服务器发出瓦片请求,由瓦片服务器向绘制服务器的各个节点分配绘制任务,绘制服务器中的各个绘制节点上的绘制引擎根据请求的瓦片的信息向数据库或者文件装置请求数据进行绘制,然后将绘制好的瓦片文件返回给瓦片服务器,瓦片服务器再将瓦片返回到客户端进行显示。

    图7是本发明第三实施例提供的实现海量遥感矢量数据的可视化方法流程图,如图7所示,该方法包括如下步骤:

    s31、瓦片服务器接收网络服务器传送的由客户端发出的瓦片请求。

    s32、所述瓦片服务器根据绘制服务器各节点的任务负载情况,采用负载均衡策略均衡地将所述瓦片请求中的各个瓦片绘制任务分配到所述绘制服务器的各个节点。其中,绘制服务器中的各个绘制节点上的绘制引擎根据请求的瓦片的信息向数据库或者文件装置请求数据进行绘制,各个绘制节点上的绘制引擎采用多节点多gpu并行绘制的方式完成绘制。在该实施例中,基于多gpu并行绘制矢量数据。由于目前大多数技术为基于cpu进行并行绘制,而gpu的计算能力高出cpu一个数量级,从而使用gpu进行矢量数据的绘制将会更加迅速和高效。

    s33、所述瓦片服务器接收由绘制服务器中各个绘制节点上的绘制引擎绘制完成的瓦片文件。

    s34、所述瓦片服务器将该瓦片文件其回传至所述客户端,同时将其异步存储到缓存文件中。由于采用服务器瓦片缓存机制,对绘制好的瓦片进行文件缓存,实现二次请求加速且节省了服务器资源。

    基于同一发明构思,作为对上述方法的实现,本发明第四至第六实施例提供了实现海量遥感矢量数据的可视化方法的装置,包括客户端、网络服务器以及瓦片服务器,该第四至第六实施例与前述方法第一至第三实施例对应,为便于阅读,本装置实施例不再对前述方法实施例中的细节内容进行逐一赘述,但应当明确,本实施例中的装置能够对应实现前述方法实施例中的全部内容。

    综上所述,本发明涉及一种海量遥感矢量数据的可视化方法及装置,针对复杂地理计算环境下地理数据可视化问题,基于服务器多核技术,通过客户端划分地图瓦片,nginx tomcat进行网络服务器负载均衡将绘制任务分摊到绘制服务器的多个核上绘制,实现一次较高效的绘制加速,同时采用服务器瓦片缓存策略,使得在二次请求瓦片时能够迅速响应,而不需要重新绘制。采用基于多gpu并行绘制矢量数据的方式,由于gpu的计算能力高出cpu一个数量级,从而使用gpu进行矢量数据的绘制将会更加迅速和高效。

    应当理解的是,本发明的上述具体实施方式仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。


    技术特征:

    1.一种海量遥感矢量数据的可视化方法,其特征在于,包括步骤:

    客户端接收前端用户的操作请求,将当前可视范围内的地图进行瓦片分割,并向网络服务器请求所述瓦片;

    所述网络服务器在可视化服务器中查找是否所述请求的瓦片已经绘制完成并缓存于可视化服务器的缓存文件中,若是,则直接跳转至最后一步;若否,则继续执行下一步;

    所述网络服务器向瓦片服务器发出瓦片请求;

    所述瓦片服务器将所述瓦片请求中的各个瓦片绘制任务分配到所述绘制服务器的各个节点,由所述各个节点上的绘制引擎采用多节点多gpu并行绘制的方式完成绘制;

    所述网络服务器将绘制好的瓦片文件回传至客户端,并由客户端进行显示。

    2.根据权利要求1所述的方法,其特征在于,所述前端用户的操作请求包括加载图层数据、对地图进行样式修改、以及放大、缩小和平移操作中的一种或多种。

    3.一种海量遥感矢量数据的可视化方法,其特征在于,包括步骤:

    网络服务器接收客户端发出的瓦片请求;

    所述网络服务器在可视化服务器中查找是否所述请求的瓦片已经绘制完成并缓存于所述可视化服务器的缓存文件中,若是,则将所述缓存的瓦片文件回传至所述客户端;若否,则继续执行下一步;

    所述网络服务器向瓦片服务器发出瓦片请求,并通过瓦片服务器将绘制完成的数据回传至客户端。

    4.一种海量遥感矢量数据的可视化方法,其特征在于,包括步骤:

    瓦片服务器接收网络服务器传送的由客户端发出的瓦片请求;

    所述瓦片服务器根据绘制服务器各节点的任务负载情况,采用负载均衡策略均衡地将所述瓦片请求中的各个瓦片绘制任务分配到所述绘制服务器的各个节点;

    所述瓦片服务器接收由绘制服务器中各个绘制节点上的绘制引擎绘制完成的瓦片文件;

    所述瓦片服务器将该瓦片文件其回传至所述客户端,同时将其异步存储到缓存文件中。

    5.根据权利要求4所述的方法,其特征在于,各个绘制节点上的绘制引擎采用多节点多gpu并行绘制的方式完成绘制。

    6.一种实现海量遥感矢量数据的可视化方法的客户端,其特征在于,包括:

    接收模块,接收前端用户的操作请求;

    瓦片分割模块,将当前可视范围内的地图进行瓦片分割;

    请求模块,向网络服务器请求所述瓦片;

    显示模块,接收所述网络服务器回传的绘制完成的瓦片文件,并对所述瓦片文件进行显示。

    7.根据权利要求6所述的客户端,其特征在于,所述前端用户的操作请求包括加载图层数据、对地图进行样式修改、以及放大、缩小和平移操作中的一种或多种。

    8.根据权利要求7所述的客户端,其特征在于,所述网络服务器回传的绘制完成的瓦片文件包括:可视化服务器中缓存的已经绘制完成的瓦片文件,和/或绘制服务器根据接收的瓦片请求信息绘制完成的瓦片文件。

    9.一种实现海量遥感矢量数据的可视化方法的网络服务器,其特征在于,包括:

    接收模块,接收客户端发出的瓦片请求;

    处理模块,在可视化服务器中查找是否所述请求的瓦片已经绘制完成并缓存于所述可视化服务器的缓存文件中,若是,则将所述缓存的瓦片文件回传至所述客户端;若否,则向瓦片服务器发出瓦片请求,并通过瓦片服务器将绘制完成的数据回传至客户端。

    10.一种实现海量遥感矢量数据的可视化方法的瓦片服务器,其特征在于,包括:

    接收模块,接收网络服务器传送的由客户端发出的瓦片请求;

    分配模块,根据绘制服务器各节点的任务负载情况,采用负载均衡策略均衡地将所述瓦片请求中的各个瓦片绘制任务分配到所述绘制服务器的各个节点;

    处理模块,所述瓦片服务器接收由绘制服务器中各个绘制节点上的绘制引擎绘制完成的瓦片文件,并将该瓦片文件其回传至所述客户端,同时将其异步存储到缓存文件中;

    其中,所述各个绘制节点上的绘制引擎采用多节点多gpu并行绘制的方式完成绘制。

    技术总结
    本发明涉及一种海量遥感矢量数据的可视化方法及装置,针对复杂地理计算环境下地理数据可视化问题,基于服务器多核技术,通过客户端划分地图瓦片,Nginx Tomcat进行网络服务器负载均衡将绘制任务分摊到绘制服务器的多个核上绘制,实现一次较高效的绘制加速,同时采用服务器瓦片缓存策略,使得在二次请求瓦片时能够迅速响应,而不需要重新绘制。采用基于多GPU并行绘制矢量数据的方式,由于GPU的计算能力高出CPU一个数量级,从而使用GPU进行矢量数据的绘制将会更加迅速和高效。

    技术研发人员:王栋;孟逸博;臧文乾;黄祥志;王更科
    受保护的技术使用者:中科星通(廊坊)信息技术有限公司
    技术研发日:2020.12.14
    技术公布日:2021.03.12

    转载请注明原文地址:https://wp.8miu.com/read-21783.html

    最新回复(0)