首页> 中国专利> 一种基于WebGIS地图快速渲染地图的方法、装置及存储介质

一种基于WebGIS地图快速渲染地图的方法、装置及存储介质

摘要

本申请公开提供一种基于WebGIS地图快速渲染地图的方法、装置和存储介质,所述方法包括:在浏览器界面中响应用户登录;判断本地数据库中是否具有与所述用户对应的本地GeoJson数据,具有所述本地GeoJson数据时,直接获取本地GeoJson数据,不具有所述本地GeoJson数据时,生成所述本地GeoJson数据;获取所述本地GeoJson数据作为渲染数据,根据所述渲染数据渲染地图;在所述浏览器页面中显示渲染后的所述地图。本申请通过当存在渲染地图所需的GeoJson数据时,直接使用该数据进行渲染,极大地缩短渲染地图所需用时,快速呈现给用户,提升用户体验感。

著录项

  • 公开/公告号CN112231609A

    专利类型发明专利

  • 公开/公告日2021-01-15

    原文格式PDF

  • 申请/专利权人 深圳物讯科技有限公司;

    申请/专利号CN202011195564.7

  • 申请日2020-10-30

  • 分类号G06F16/957(20190101);G06F16/958(20190101);G06F16/9537(20190101);

  • 代理机构44331 深圳壹舟知识产权代理事务所(普通合伙);

  • 代理人寇闯

  • 地址 518000 广东省深圳市南山区粤海街道高新区社区科技南十二路007号九洲电器大厦901-1室

  • 入库时间 2023-06-19 09:35:27

说明书

技术领域

本发明涉及地理信息技术领域,尤其涉及一种基于WebGIS地图快速渲染地图的方法、装置及存储介质。

背景技术

WebGIS是利用Web技术来扩展和完善地理信息系统的一项技术。它是基于网络的客户机/服务器系统;利用因特网来进行客户端和服务器之间的信息交换;它是一个分布式系统,用户和服务器可以分布在不同的地点和不同的计算机平台上。WebGIS主要作用是进行空间数据发布、空间查询与检索、空间模型服务、Web资源的组织等。

而在利用WebGIS地图加载静态的KML文档数据时,每次都需重新获取数据渲染地图,过程很慢且耗时较长,导致用户体验很差。

发明内容

本发明实施例提供了一种基于WebGIS地图快速渲染地图的方法及相关产品,通过缩短WebGIS地图加载静态KML文档数据所需要的时间,快速完成地图渲染,提高用户的体验好感度。

第一方面,本发明实施例提供一种基于WebGIS地图快速渲染地图的方法,所述方法包括如下步骤:

在浏览器界面中响应用户登录;

判断本地数据库中是否具有与所述用户对应的本地GeoJson数据,具有所述本地GeoJson数据时,直接获取本地GeoJson数据,不具有所述本地GeoJson数据时,生成所述本地GeoJson数据;

获取所述本地GeoJson数据作为渲染数据,根据所述渲染数据渲染地图;在所述浏览器页面中显示渲染后的所述地图。

第二方面,提供一种电子设备,所述电子设备包括:

登录单元,用于在浏览器界面中响应用户登录;

获取单元,用于判断本地数据库中是否具有与所述用户对应的本地GeoJson数据,具有所述本地GeoJson数据时,直接获取本地GeoJson数据,不具有所述本地GeoJson数据时,生成所述本地GeoJson数据;

处理单元,用于获取所述本地GeoJson数据作为渲染数据,根据所述渲染数据渲染地图;在所述浏览器页面中显示渲染后的所述地图。

第三方面,本申请实施例提供了一种电子设备,包括处理器、存储器、通信接口以及一个或多个程序,其中,上述一个或多个程序被存储在上述存储器中,并且被配置由上述处理器执行,上述程序包括用于执行本申请实施例第一方面中所述的部分或全部步骤的指令。

第四方面,本申请实施例提供了一种计算机可读存储介质,其中,上述计算机可读存储介质存储用于电子数据交换的计算机程序,其中,上述计算机程序使得计算机执行如本申请实施例第一方面中所描述的部分或全部步骤。

第五方面,本申请实施例提供了一种计算机程序产品,其中,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如本申请实施例第一方面中所描述的部分或全部步骤。该计算机程序产品可以为一个软件安装包。

实施本发明实施例,具有如下有益效果:

可以看出,本申请实施例中所描述的基于WebGIS地图快速渲染地图,通过在进行渲染地图之前,首先进行判断本地数据库中是否具有当前用户对应的本地GeoJson数据,当存在渲染地图所需的GeoJson数据时,直接使用该数据进行渲染,极大地缩短渲染地图所需用时,快速呈现给用户,提升用户体验感;当本地数据库中不具有GeoJson数据时,生成并存储GeoJson数据,便于之后用户登录可直接使用,避免每次登录都进行GeoJson数据生成,耗费大量时间。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请实施例提供的一种基于WebGIS地图快速渲染地图的方法的流程示意图。

图2是本申请实施例提供的一种基于WebGIS地图快速渲染地图装置200的功能组成框图。

图3是本申请实施例中提供的一种电子设备结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。

在本文中提及“实施例”意味着,结合实施例描述的特定特征、结果或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。

本申请实施例所涉及到的电子设备可以是具备通信能力的电子设备,也可以是不具备通信能力的电子设备,该电子设备可以包括各种具有无线通信功能的手持设备、车载设备、可穿戴设备(智能眼镜、智能手环、智能手表等等)、计算设备或连接到无线调制解调器的其他处理设备,以及各种形式的用户设备(User Equipment,UE),移动台(MobileStation,MS),终端设备(terminal device)等等。

由于本申请实施例涉及基于WebGIS地图快速渲染地图的方法,为了便于理解,下面先对本申请实施例涉及的相关术语进行介绍。

1、WebGIS

WebGIS是指通过互联网对地理空间数据进行发布和应用,以实现空间数据的共享和互操作,如GIS信息的在线查询和业务处理等。WebGIS客户端采用Web浏览器,如IE,FireFox。WebGIS是利用Internet技术来扩展和完善GIS的一项新技术,其核心是在GIS中嵌入HTTP标准的应用体系,实现Internet环境下的空间信息管理和发布。WEBGIS可采用多主机、多数据库进行分布式部署,通过Internet/Intranet实现互联,是一种浏览器/服务器(B/S)结构,服务器端向客户端提供信息和服务,浏览器(客户端)具有获得各种空间信息和应用的功能。

WebGIS是Internet技术应用于GIS开发的产物。GIS通过Web功能得以扩展,真正成为一种大众使用的工具。从Web的任意一个节点,Internet用户可以浏览WebGIS站点中的空间数据、制作专题图,以及进行各种空间检索和空间分析,从而使GIS进入千家万户。

2、KML(Keyhole Markup Language,基于可拓展标记语言)文档

KML是语法标准的一种标记语言(Keyhole Markup Language),采用标记结构,含有嵌套的元素和属性,用来表达地理标记。根据KML语言编写的文件则为KML文件,格式同样采用的XML文件格式,应用于Google Earth(谷歌地球)、Google Map(谷歌地图)等相关软件中,用来表示地理数据(包括点、线、面、多边形、多面体以及模型等)。

KML在2008年4月14日被OGC(Open Geospatial Consortium,Inc,开放地理信息系统协会)宣布成为开放地理资讯编码。

3、GeoJson

GeoJson是用Json的语法表达和存储的地理数据,它将所有的要素分为点、多点、线段、多线段、多边形、多个多边形和几何集合,可直接用作于web页面。GeoJson对象可以表示几何、特征或者特征集合等。

参阅图1,图1提供了基于WebGIS地图快速渲染地图的方法,包括以下步骤:

步骤101、在浏览器界面中响应用户登录。

具体地,用户使用浏览器进入页面时,电子设备会响应用户的登录,获取当前用户的登录信息。

其中,利用浏览器作为客户端界面,接收用户登录以及向用户提供信息和服务,并将最后的效果、信息等通过浏览器界面展现给用户。

步骤102、判断本地数据库中是否具有与登录用户对应的本地GeoJson数据,获取本地GeoJson数据。

具体地,判断本地数据库中是否具有与所述用户对应的本地GeoJson数据,当本地数据库具有所述本地GeoJson数据时,直接获取本地GeoJson数据;当本地数据库不具有所述本地GeoJson数据时,生成所述本地GeoJson数据。

其中,判断本地数据库中是否具有与所述用户对应的本地GeoJson数据的主要步骤包括:

S11、查询浏览器本地的IndexeDB数据库,获取用户的访问记录;

S12、判断所述用户是否为新用户;

S13、当所述用户为新用户时,确定所述的本地数据库中没有所述本地GeoJson数据。

S14、当所述用户不为新用户时,确定所述的本地数据库中具有所述本地GeoJson数据。

通过上述设置的判断过程,电子设备在用户通过浏览器登录时,首先执行一个判断过程,先查询浏览器本地的IndexedDB数据库,看有没有储存对应的GeoJSON数据,如果有对应的GeoJSON数据,可以直接使用该数据进行地图渲染,大大地减少了用户等待时间;也能避免每次登录响应时都需生成GeoJSON数据,浪费不必要的存储空间。

其中,生成本地GeoJson数据的主要步骤包括:

S21、从后端服务器汇总获取请求KML文档;

S22、在前端将KML文档数据转化为可以供WebGIS地图渲染的GeoJSON数据。

完成上述的生成本地GeoJson数据步骤后,还包括:将生成的GeoJSON数据存储在浏览器本地的IndexedDB数据库中,在此之后用户再次通过浏览器访问应用时,可直接跳过生成本地GeoJson数据的步骤,直接从直接从浏览器本地的IndexedDB数据库获取GeoJSON数据。

在一个可能的实施例中,对于5MB左右大小的GeoJSON数据,直接通过获取GeoJSON数据进行地图渲染所花费的时间在10秒左右,每次通过生成GeoJSON数据而后再进行地图渲染的所花费的时间在1秒左右。并且,在具有数据量越大的GeoJSON数据两种情况下的花费时间差值越大。具体时间差异情况与网络状况和浏览器配置等也有关。

步骤103、根据GeoJson数据渲染地图,并在浏览器页面中显示结果。

具体地,获取所述本地GeoJson数据作为渲染数据,根据所述渲染数据渲染地图;在所述浏览器页面中显示渲染后的所述地图。

参阅图2,图2是本申请实施例中所涉及基于WebGIS地图快速渲染地图装置200的功能组成框图,所述装置200包括:登录单元201、获取单元202、处理单元203,其中,

所述登录单元201,用于在浏览器界面中响应用户登录;

所述判断单元202,用于判断本地数据库中是否具有与所述用户对应的本地GeoJson数据,具有所述本地GeoJson数据时,直接获取本地GeoJson数据,不具有所述本地GeoJson数据时,生成所述本地GeoJson数据;

所述处理单元203,用于获取所述本地GeoJson数据作为渲染数据,根据所述渲染数据渲染地图;在所述浏览器页面中显示渲染后的所述地图。

可以看出,本申请实施例中所描述的基于WebGIS地图快速渲染地图的装置,通过在进行渲染地图之前,首先进行判断本地数据库中是否具有当前用户对应的本地GeoJson数据,当存在渲染地图所需的GeoJson数据时,直接使用该数据进行渲染,极大地缩短渲染地图所需用时,快速呈现给用户,提升用户体验感;当本地数据库中不具有GeoJson数据时,生成并存储GeoJson数据,便于之后用户登录可直接使用,避免每次登录都进行GeoJson数据生成,耗费大量时间。

可选地,在所述判断本地数据库中是否具有与所述用户对应的本地GeoJson数据方面,所述获取单元202具体用于:

查询所述浏览器本地的IndexeDB数据库,获取所述用户的访问记录;

根据所述访问记录判断用户是否为新用户;

当所述用户为新用户时,所述本地数据库没有所述本地GeoJson数据;

当所述用户不为新用户时,所述本地数据库具有所述本地GeoJson数据。

可选地,在所述根据所述访问记录判断用户是否为新用户方面,所述获取单元202具体还用于:

当所述访问记录为0时,确定所述用户为新用户;

当所述访问记录不为0时,确定所述用户不为新用户。

可选地,在所述具有所述本地GeoJson数据时,生成所述本地GeoJson数据方面,所述处理单元203具体用于:

从后端服务器中获取KML文档数据,将所述KML文档数据转化为GeoJson数据,将转化后的所述GeoJson数据作为所述渲染数据。

可选地,在所述不具有所述本地GeoJson数据时,生成所述本地GeoJson数据方面,所述处理单元具体还用于:

将生成的所述本地GeoJson数据存储于所述浏览器本地的IndexeDB数据库,并将所述本地GeoJson数据与当前所述用户绑定。

参阅图3,图3是本申请实施例中提供的一种电子设备结构示意图,如图所示,该电子设备包括处理器、存储器、通信接口以及一个或多个程序,上述一个或多个程序被存储在上述存储器中,并且被配置由上述处理器执行,本申请实施例中,上述程序包括用于执行以下步骤的指令:

在浏览器界面中响应用户登录;

判断本地数据库中是否具有与所述用户对应的本地GeoJson数据,具有所述本地GeoJson数据时,直接获取本地GeoJson数据,不具有所述本地GeoJson数据时,生成所述本地GeoJson数据;

获取所述本地GeoJson数据作为渲染数据,根据所述渲染数据渲染地图;在所述浏览器页面中显示渲染后的所述地图。

可以看出,本申请实施例中所描述的电子设备,通过在进行渲染地图之前,首先进行判断本地数据库中是否具有当前用户对应的本地GeoJson数据,当存在渲染地图所需的GeoJson数据时,直接使用该数据进行渲染,极大地缩短渲染地图所需用时,快速呈现给用户,提升用户体验感;当本地数据库中不具有GeoJson数据时,生成并存储GeoJson数据,便于之后用户登录可直接使用,避免每次登录都进行GeoJson数据生成,耗费大量时间。

可选地,在所述判断本地数据库中是否具有与所述用户对应的本地GeoJson数据方面,上述程序用于执行以下步骤指令:

查询所述浏览器本地的IndexeDB数据库,获取所述用户的访问记录;

根据所述访问记录判断用户是否为新用户;

当所述用户为新用户时,所述本地数据库没有所述本地GeoJson数据;

当所述用户不为新用户时,所述本地数据库具有所述本地GeoJson数据。

可选地,在所述根据所述访问记录判断用户是否为新用户方面,上述程序用于执行以下步骤指令:

当所述访问记录为0时,确定所述用户为新用户;

当所述访问记录不为0时,确定所述用户不为新用户。

可选地,在所述具有所述本地GeoJson数据时,生成所述本地GeoJson数据方面,上述程序用于执行以下步骤指令:

从后端服务器中获取KML文档数据,将所述KML文档数据转化为GeoJson数据,将转化后的所述GeoJson数据作为所述渲染数据。

可选地,在所述不具有所述本地GeoJson数据时,生成所述本地GeoJson数据之后,上述程序用于执行以下步骤指令:

将生成的所述本地GeoJson数据存储于所述浏览器本地的IndexeDB数据库,并将所述本地GeoJson数据与当前所述用户绑定。

上述主要从方法侧执行过程的角度对本申请实施例的方案进行了介绍。可以理解的是,电子设备为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所提供的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

本发明实施例还提供一种计算机存储介质,其中,该计算机存储介质存储用于电子数据交换的计算机程序,该计算机程序使得计算机执行如上述方法实施例中记载的任何一种方法的部分或全部步骤。

本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,所述计算机程序可操作来使计算机执行如上述方法实施例中记载的任何一种方法的部分或全部步骤。

需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本发明所必须的。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件程序模块的形式实现。

所述集成的单元如果以软件程序模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取器(英文:Random Access Memory,简称:RAM)、磁盘或光盘等。

以上对本发明实施例进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号