一种提高浏览器端GIS点数据渲染效率的方法和装置制造方法及图纸

技术编号:20448763 阅读:41 留言:0更新日期:2019-02-27 02:53
本申请提供了一种提高浏览器端GIS点数据渲染效率的方法和装置,其特征在于,包括:存储GIS点数据,所述GIS点数据包括标识ID和空间地理坐标;将所述GIS点数据和对应的图形文件封装成浏览器端画布对象;对所述浏览器端画布对象进行批量渲染。本申请支持常用SQL Server、Oracle、达梦、金仓等数据库,GeoPackage和UDB数据库文件,以及Excel和CSV等文件存储的GIS点数据,同时可实现大量GIS点数据在浏览器端的实时渲染。

A Method and Device for Improving Data Rendering Efficiency of GIS Points on Browser Side

This application provides a method and device to improve the rendering efficiency of browser-side GIS point data, which is characterized by: storing GIS point data, including identification ID and spatial geographic coordinates; encapsulating the GIS point data and corresponding graphic files into browser-side canvas objects; and rendering the browser-side canvas objects in batches. This application supports common database such as SQL Server, Oracle, Dameng, Golden Warehouse, GeoPackage and UDB database files, as well as Excel and CSV files to store GIS point data. At the same time, it can realize a large number of real-time rendering of GIS point data in the browser side.

【技术实现步骤摘要】
一种提高浏览器端GIS点数据渲染效率的方法和装置
本申请涉及GIS点数据渲染
,特别地,涉及一种提高浏览器端GIS点数据渲染效率的方法和装置。
技术介绍
地理信息系统(GeographicInformationSystem,GIS)是一种采集、存储、管理、处理、分析、显示和应用地理数据的计算机系统。浏览器端画布对象是一种通过脚本计算机语言绘制图形的Html5元素,通常被称为画布对象,用于在浏览器端渲染图形。点数据是由一对或多对(X,Y)坐标组成、带有地理坐标信息的离散空间点集合。现有的浏览器端GIS点数据渲染如采用OpenLayers的技术方案:(1)按照数据组织方式录入具备坐标信息的GIS点数据;(2)通过浏览器接口获取所有数据的坐标信息并保存到数据集合;(3)通过浏览器端口获取图形并设置样式,之后将图形和样式封装为画布对象待用;(4)依次为数据集合中的GIS点对象指定渲染时使用的画布对象;(5)调用渲染器,批量在目标位置绘制画布对象,直到完成所有GIS点对象的渲染。但是,现有的技术方案中需要使用特有的空间数据库技术存储数据,难以迁移,且不支持Excel、CSV和GeoJSON等其他点数据格式。现有的技术方案在浏览器端渲染大量GIS点数据时效率低,计算机性能严重下降,操作地图时出现明显卡顿。
技术实现思路
本申请提供一种提高浏览器端GIS点数据渲染效率的方法和装置,用于解决现有技术中需使用特有的空间数据库存储数据、难以迁移且不支持其他点数据格式和浏览器端渲染大量GIS点数据时效率低的问题。本申请公开的一种提高浏览器端GIS点数据渲染效率的方法,其特征在于,包括:存储GIS点数据,所述GIS点数据包括标识ID和空间地理坐标;将所述GIS点数据和对应的图形文件封装成浏览器端画布对象;对所述浏览器端画布对象进行批量渲染。优选地,所述将所述GIS点数据和对应的图形文件封装成浏览器端画布对象,具体包括:获取所述GIS点数据,对所述GIS点数据排序并建立索引,暂存到浏览器内存中;调用浏览器图形接口从服务器计算机磁盘中读取图形文件,对所述图形文件的格式和大小进行筛选,将筛选出的图形文件创建为图形文件对象,将所述图形文件对象暂存到浏览器内存中;调用浏览器特定接口,将暂存到浏览器内存中的GIS点数据和图形文件对象封装成浏览器端画布对象并暂存到浏览器内存中,其中,所述特定接口为Html5画布对象接口。优选地,所述对所述浏览器端画布对象进行批量渲染,具体包括:确定待渲染对象步骤:获取即将渲染的浏览器端画布对象中的GIS点数据的空间地理坐标,判断所述坐标是否位于当前屏幕锁表示的地理坐标范围内,位于当前屏幕范围外的点数据不进行渲染;对在当前屏幕范围内的画布对象进行批量渲染。优选地,所述确定待渲染对象步骤具体包括:接收到渲染指令后,计算当前屏幕所表示的地理坐标范围;获取即将渲染的浏览器端画布对象中的GIS点数据的空间地理坐标;调用浏览器端地理位置筛选接口,判断所述坐标是否位于当前屏幕所表示的地理坐标范围内,筛选出位于当前屏幕地理坐标范围内的所有画布对象,将筛选出的画布对象设定为待渲染对象。优选地,所述对在当前屏幕范围内的画布对象进行批量渲染,具体包括:通过渲染器渲染第一个画布对象,将完成的第一次渲染的画布对象保存在浏览器内存中;在新的位置复用所述第一次渲染的画布对象,批量执行剩余待渲染对象的GIS点数据渲染。本申请公开的一种提高浏览器端GIS点数据渲染效率的装置,其特征在于,包括:数据存储模块,用于存储GIS点数据,所述GIS点数据包括标识ID和空间地理坐标;数据封装模块,用于将所述GIS点数据和对应的图形文件封装成浏览器端画布对象;数据渲染模块,用于对所述画布对象进行批量渲染。优选的,所述数据封装模块,具体包括:数据准备单元,用于从数据存储模块获取所述GIS点数据,对所述GIS点数据排序并建立索引,暂存到浏览器内存中;图形准备单元,用于调用浏览器图形接口从服务器计算机磁盘中读取图形文件,对所述图形文件的格式和大小进行筛选以满足数据渲染模块的要求,将筛选出的图形文件创建为图形文件对象,将所述图形文件对象暂存到浏览器内存中;渲染准备单元,用于调用浏览器特定接口,将暂存到浏览器内存中的GIS点数据和图形文件对象封装成浏览器端画布对象并暂存到浏览器内存中,其中,所述特定接口为Html5画布对象接口。优选的,所述数据渲染模块,具体包括:判断子模块,用于获取即将渲染的浏览器端画布对象中的GIS点数据的空间地理坐标,判断所述坐标是否位于当前屏幕所表示的地理坐标范围内,位于当前屏幕范围外的点数据不参与渲染;批量渲染子模块,用于对在当前屏幕范围内的画布对象进行批量渲染。优选的,所述判断子模块,具体包括:计算单元,用于接收到渲染指令后,计算当前屏幕所表示的地理坐标范围;获取单元,用于获取即将渲染的浏览器端画布对象中的GIS点数据的空间地理坐标;判断筛选单元,用于调用地理位置筛选接口,判断所述坐标是否位于当前屏幕所表示的地理坐标范围内,筛选出位于当前屏幕地理坐标范围内的所有画布对象,将筛选出的画布对象设定为待渲染对象。优选的,所述批量渲染子模块,具体包括:首次渲染单元,用于通过渲染器渲染第一个画布对象,将完成的第一次渲染的画布对象保存在浏览器内存中;批量渲染单元,用于在新的位置复用所述第一次渲染的画布对象,批量执行剩余待渲染对象的GIS点数据渲染。与现有技术相比,本申请具有以下优点:支持常用SQLServer、Oracle、达梦、金仓等数据库,GeoPackage和UDB数据库文件,以及Excel和CSV等文件存储的GIS点数据,同时可实现大量GIS点数据在浏览器端的实时渲染。附图说明附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:图1为本申请实施例一种提高浏览器端GIS点数据渲染效率的方法流程图;图2为本申请实施例一种提高浏览器端GIS点数据渲染效率装置的结构示意图;图3为本申请实施例GIS点数据存储方式示意图;图4为本申请实施例GIS点数据存储方式示意图;图5为本申请实施例画布对象封装示意图;图6为画布对象渲染示意图;图7为画布对象GIS点数据渲染必要性判断示意图;图8为画布对象批量渲染示意图。具体实施方式为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。在本申请的描述中,需要理解的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。“多个”的含义是两个或两个以上,除非另有明确具体的限定。术语“包括”、“包含”及类似术语应该被理解为是开放性的术语,即“包括/包含但不限于”。术语“基于”是“至少部分地基于”。术语“一实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”。其他术语的相关定义将在下文描述中给出。参照图1,示出了本申请实施例一种提高浏览器端GIS点数据渲染效率的方法流程图,本优选方法实施例包括以下步骤:步骤S101:存储GIS点数据本文档来自技高网...

【技术保护点】
1.一种提高浏览器端GIS点数据渲染效率的方法,其特征在于,包括:存储GIS点数据,所述GIS点数据包括标识ID和空间地理坐标;将所述GIS点数据和对应的图形文件封装成浏览器端画布对象;对所述浏览器端画布对象进行批量渲染。

【技术特征摘要】
1.一种提高浏览器端GIS点数据渲染效率的方法,其特征在于,包括:存储GIS点数据,所述GIS点数据包括标识ID和空间地理坐标;将所述GIS点数据和对应的图形文件封装成浏览器端画布对象;对所述浏览器端画布对象进行批量渲染。2.根据权利要求1所述的方法,其特征在于,所述将所述GIS点数据和对应的图形文件封装成浏览器端画布对象,具体包括:获取所述GIS点数据,对所述GIS点数据排序并建立索引,暂存到浏览器内存中;调用浏览器图形接口从服务器计算机磁盘中读取图形文件,对所述图形文件的格式和大小进行筛选,将筛选出的图形文件创建为图形文件对象,将所述图形文件对象暂存到浏览器内存中;调用浏览器特定接口,将暂存到浏览器内存中的GIS点数据和图形文件对象封装成浏览器端画布对象并暂存到浏览器内存中,其中,所述特定接口为Html5画布对象接口。3.根据权利要求1所述的方法,其特征在于,所述对所述浏览器端画布对象进行批量渲染,具体包括:确定待渲染对象步骤:获取即将渲染的浏览器端画布对象中的GIS点数据的空间地理坐标,判断所述坐标是否位于当前屏幕锁表示的地理坐标范围内,位于当前屏幕范围外的点数据不进行渲染;对在当前屏幕范围内的画布对象进行批量渲染。4.根据权利要求3所述的方法,其特征在于,所述确定待渲染对象步骤具体包括:接收到渲染指令后,计算当前屏幕所表示的地理坐标范围;获取即将渲染的浏览器端画布对象中的GIS点数据的空间地理坐标;调用浏览器端地理位置筛选接口,判断所述坐标是否位于当前屏幕所表示的地理坐标范围内,筛选出位于当前屏幕地理坐标范围内的所有画布对象,将筛选出的画布对象设定为待渲染对象。5.根据权利要求4所述的方法,其特征在于,所述对在当前屏幕范围内的画布对象进行批量渲染,具体包括:通过渲染器渲染第一个画布对象,将完成的第一次渲染的画布对象保存在浏览器内存中;在新的位置复用所述第一次渲染的画布对象,批量执行剩余待渲染对象的GIS点数据渲染。6.一种提高浏览器端GIS点数据渲染效率的装置,其特征在于,...

【专利技术属性】
技术研发人员:钟耳顺胡中南饶庆云周旭金建波苏乐乐周强张超王孟毅严结耀余志尧
申请(专利权)人:北京超图软件股份有限公司
类型:发明
国别省市:北京,11

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

1