一种基于Openlayers快速加载不同数量级数据的处理方法技术

技术编号:21033418 阅读:53 留言:0更新日期:2019-05-04 05:08
本发明专利技术涉及一种基于Openlayers快速加载不同数量级数据的处理方法,包括:根据Openlayers加载不同数量级数据的流畅度,将数据分为轻量级、中量级和重量级,当数据为轻量级时,直接使用Openlayers一次性将数据加载和聚合,所有对数据的操作都在前台进去处理;当数据为中量级时,每次只让Openlayers加载当前视窗的数据,地图在进行移动时进行数据的重新加载,一部分的数据操作在前台处理,一部分数据操作在后台处理,当数据为重量级时,将数据导入到空间数据库中,使用地图服务发布引擎发布成瓦片进行调用,当需要对数据进行操作时,对数据进行操作时完全由后台与前台进行互动才能完成。本发明专利技术使浏览器终端流畅的加载数据而不卡顿。

【技术实现步骤摘要】
一种基于Openlayers快速加载不同数量级数据的处理方法
本专利技术属于数据处理
,尤其涉及一种基于Openlayers快速加载不同数量级数据的处理方法。
技术介绍
随着硬件的发展和IT技术的不断进步,GIS(GeographicInformationSystem,地理信息系统)这门综合技术系统通过WEB功能得到扩展,让GIS真正的服务于大众,而WEBGIS作为Internet和GIS结合的产物,也促进了GIS的发展。WEBGIS现在包含有GIS软件大部分的功能,而且利用其B/S模式的优势,即用户不需要在自己的终端计算机上安装客户端,利用浏览器终端就可以自如的运用各种GIS功能和数据。WEBGIS通过互联网对地理空间数据进行发布和应用,以此来实现数据的共享,其特点是采用多主机多数据库进行分布式部署,因此WebGIS具有良好的可扩展性和跨平台性。然而目前,技术人员在直接使用Openlayers3(专为WebGIS客户端开发提供的Javascript类库)和其他WEBGIS框架进行GIS功能开发时,根据不同级别的项目需求,有可能有的项目中1000+级别的数据,有的项目重视1W+级别的数据,有的项目中有10W+级别的数据。而Openlayers3加载数据是开发人员给予多少数据就加载多少数据,而不是自动批量加载。所以这个时候就需要在保持Openlayers3加载数据流畅度的情况下做出不同方式的处理,因为只有针对不同量级的数据有不同的处理方式,才能减少开发人员的开发量和维护量,进而控制项目成本。
技术实现思路
本专利技术的目的在于克服现有技术之缺陷,提供了一种基于Openlayers快速加载不同数量级数据的处理方法,目的是为在不同级别的项目中面对不同级别的数据量时,Openlayers能够流畅的加载数据而不卡顿,且达到减少开发人员在经历不同项目时的开发量和后期的代码维护量,进而降低项目成本。本专利技术是这样实现的:本专利技术提供一种基于Openlayers快速加载不同数量级数据的处理方法,包括如下步骤:1)根据Openlayers加载不同数量级数据的流畅度和后台获取数据的流畅度,预先将数据数量级别分为轻量级、中量级、重量级;2)当数据的数量级为轻量级时,采用如下处理方法,其步骤包括:后台将所有的数据都返回给前台,前台将数据加载并保存;在前台进行数据的操作;3)当数据的数量级为中量级时,采用如下处理方法,其步骤包括:后台将用户终端当前视窗范围的数据返回给前台,前台将数据加载并保存;对当前视窗数据进行操作时,则由前台单独处理,否则,由前台和后台一起配合处理;4)当数据的数量级为重量级时,采用如下处理方法,其步骤包括:将数据放入空间数据库进行存储并使用支持该空间数据库的地图发布引擎进行地图瓦片服务的发布;使用Openlayersapi加载该地图服务进行展示;对数据进行操作时需要后台与前台进行互动才能完成。进一步地,步骤2)中使用后台接口一次性获取所有数据到前台;使用Openlayers加载后台接口传递给前台的数据。进一步地,步骤3)使用Openlayersapi获取当前视窗范围通过后台接口传递给后台,并获取后台接口返回给前台的当前视窗范围的数据,使用Openlayers加载后台接口返回给前台的数据;每次地图移动时重复上述步骤。进一步地,步骤3)空间查询数据时在前台进行交互,属性查询时需要与后台进行数据交互。进一步地,步骤4)中每次地图移动时,前台重新请求地图的瓦片。进一步地,将中量级预先分为第一中量级和第二中量级,当数据的级别位于第一中量级时,后台将用户终端当前视窗范围的数据返回给前台,前台将数据进行聚合、加载、缓存以用作包括查询在内的其他处理;当数据的级别位于第二中量级即靠近重量级时,后台将用户终端当前视窗范围的数据在后台进行聚合后返回给前台,前台将数据进行加载、缓存以用作包括查询在内的其他处理。当地图zoom级别比较小时采用聚合便于展示。进一步地:聚合的算法采用取坐标平均值。与现有技术相比,本专利技术具有以下有益效果:本专利技术根据Openlayers加载不同数量级数据的流畅度,将数据数量级别分为轻量级、中量级和重量级,同此解决方案也划分为轻量级、中量级和重量级;轻量级解决方案包括以下步骤:使用后台接口获取所有数据;使用Openlayers加载后台接口传递给前台的数据;在前台进行数据的操作(比如空间查询、属性展示等)。中量级解决方案包括以下步骤:使用Openlayersapi获取当前视窗范围传递给后台接口并获取当前视窗范围的数据,当级别的数据靠近重量级时可以考虑在后台进行聚合;使用Openlayers加载后台接口传递给前台的数据;在前台进行视窗数据的操作(比如空间查询、属性展示),前台与后台配合进行对所有数据的操作(比如属性查询等)。重量级解决方案包括以下步骤:将数据导入到空间数据库并使用与该空间数据库匹配的地图发布引擎将数据发布成要素服务(WFS)并切成瓦片;使用Openlayers加载WFS地图服务,展示数据;前台与后台配合进行对数据的操作(比如判断某点是否存在设备,需要前台将该点的经纬度传递给后台进行查询,存在则返回true,前台鼠标样式改变;不存在则返回false,前台鼠标样式不改变)。由于本专利技术建立了上述针对不同数量级数据Openalyers能快速加载的解决方案,其能在不同的项目过程中,针对不同数量级的数据,给出相称的解决方案,避免在遇到轻量级数据时使用重量级的解决方式,不仅会增加项目实际成本,也增加开发人员的工作量和后期代码维护量,且在不同级别的项目中面对不同级别的数据量时,Openlayers能够流畅的加载数据而不卡顿。附图说明图1是本专利技术基于Openlayers加载不同数量级数据的轻量级解决方案过程图;图2是本专利技术基于Openlayers加载不同数量级数据的中量级解决方案过程图;图3是本专利技术基于Openlayers加载不同数量级数据的重量级解决方案过程图。具体实施方式下面对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本专利技术保护的范围。本专利技术提供一种基于Openlayers快速加载不同数量级数据的处理方法,包括如下步骤:1)根据Openlayers加载不同数量级数据的流畅度和后台获取数据的流畅度,预先将数据数量级别分为轻量级、中量级、重量级。如数据数量处于0-10000条时为轻量级,数据数量处于10000-50000条时为中量级,数据数量处于50000条以上时为重量级。根据Openlayers加载不同数量级数据的流畅度,在尽量减少前后台交互次数的前提下,后台取数据的方式和前台加载的方式也不一样。2)当数据的数量级为轻量级时,采用如下处理方法,其步骤包括:后台将所有的数据都返回给前台,前台将数据加载并保存;在前台进行数据的操作。当数据为轻量级时,将所有数据全部给Openlayers加载显示,前台存储数据,所有对数据的操作都在前台进去处理(比如查询等);这样做的好处是做搜索时不需要和后台进行交互,避免查询时受网络影响,而且地图平移时非常顺畅,地图本文档来自技高网...

【技术保护点】
1.一种基于Openlayers快速加载不同数量级数据的处理方法,其特征在于,包括如下步骤:1)根据Openlayers加载不同数量级数据的流畅度和后台获取数据的流畅度,预先将数据数量级别分为轻量级、中量级、重量级;2)当数据的数量级为轻量级时,采用如下处理方法,其步骤包括:后台将所有的数据都返回给前台,前台将数据加载并保存;在前台进行数据的操作;3)当数据的数量级为中量级时,采用如下处理方法,其步骤包括:后台将用户终端当前视窗范围的数据返回给前台,前台将数据加载并保存;对当前视窗数据进行操作时,则由前台单独处理,否则,由前台和后台一起配合处理;4)当数据的数量级为重量级时,采用如下处理方法,其步骤包括:将数据放入空间数据库进行存储并使用支持该空间数据库的地图发布引擎进行地图瓦片服务的发布;使用Openlayers api加载该地图服务进行展示;对数据进行操作时需要后台与前台进行互动才能完成。

【技术特征摘要】
1.一种基于Openlayers快速加载不同数量级数据的处理方法,其特征在于,包括如下步骤:1)根据Openlayers加载不同数量级数据的流畅度和后台获取数据的流畅度,预先将数据数量级别分为轻量级、中量级、重量级;2)当数据的数量级为轻量级时,采用如下处理方法,其步骤包括:后台将所有的数据都返回给前台,前台将数据加载并保存;在前台进行数据的操作;3)当数据的数量级为中量级时,采用如下处理方法,其步骤包括:后台将用户终端当前视窗范围的数据返回给前台,前台将数据加载并保存;对当前视窗数据进行操作时,则由前台单独处理,否则,由前台和后台一起配合处理;4)当数据的数量级为重量级时,采用如下处理方法,其步骤包括:将数据放入空间数据库进行存储并使用支持该空间数据库的地图发布引擎进行地图瓦片服务的发布;使用Openlayersapi加载该地图服务进行展示;对数据进行操作时需要后台与前台进行互动才能完成。2.根据权利要求1所述的方法,其特征在于:步骤2)中使用后台接口一次性获取所有数据到前台;使用Openlayers加载...

【专利技术属性】
技术研发人员:李祥发
申请(专利权)人:武汉烽火众智智慧之星科技有限公司
类型:发明
国别省市:湖北,42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1