The invention discloses a method for accessing and rendering vector data of a data, including data access method and data rendering method, the data access method for data acquisition elements for each element of the current viewport, data rendering method for data elements according to the elements of data access method to obtain the corresponding elements in the viewport of rendering; data access method also comprises the following steps: the scope of the search for the current viewport; according to the scope of the search to find the elements that meet the conditions and factors of outsourcing, ID elements in the index file; the conditions for the elements of outsourcing and the scope of the search elements intersect or outsourcing is contained in the search range; the rectangle coordinates for the largest elements of outsourcing each of the elements and the minimum coordinate component; according to the corresponding ID elements for each element in the data file. Find the corresponding element data. The invention also discloses an electronic device and a computer readable storage medium. The invention has the characteristics of fast data access, fast rendering and good security.
【技术实现步骤摘要】
一种海量的矢量数据的访问和渲染方法、电子设备及存储介质
本专利技术涉及一种地理信息系统,尤其涉及一种在地理信息系统中海量的数据的访问方法、电子设备及存储介质。
技术介绍
地理信息系统是一种特定的十分重要的空间信息系统。它是计算机硬、软件系统支持下,对整个或部分地球表层(包括大气层)空间中的有关地理分布数据进行采集、存储、管理、运算、分析、显示和描述的技术系统。但是,基于要素的数字化矢量地图已经完全成为了主流。随着行业技术的向前发展,我们对矢量数据的数据量和访问效率都提出了越来越高的要求。比如,ESRI就先后推出了Shape数据格式、PDB数据格式到FGDB数据格式,将数据访问能力不断提升,虽然已在数据访问能力方面有了质的提升,但面对合库与海量数据编辑方面仍显不足。比如ArcGIS是ESRI公司产品,也是行业GIS平台的标杆。在数据存储上,ArcGIS在不同应用中使用不同的第三方数据库格式进行存储,将自己定义的数据格式存储在第三方数据库中。数据的读写、历史管理、均由第三方由于有专业数据库支持,其数据存储量,历史管理方式以及部分的渲染效率,均由第三方数据库决定。ArcGIS利用空间索引进行数据查询,为数据库中的每个数据表建立空间索引表或索引字段,方便搜索查询、能进行无极缩放。在渲染时,Arcgis根据显示区域范围对数据对在第三方数据库中的空间索引进行查询,将查询结果进行渲染。但是,对于大数据,ArcGIS一次渲染结束前会影响缩放,不能方便地中断,持续缩放体验不佳。也即是,现有的数据访问方面存在以下缺点:1)索引文件展开需要消耗大量的时间,在每次使用时,都需要在 ...
【技术保护点】
一种海量的矢量数据的访问和渲染方法,其特征在于包括:数据访问方法和数据渲染方法,其中数据访问方法用于获取当前视口中每个要素的要素数据,数据渲染方法用于根据数据访问方法获取的要素对应的要素数据在当前视口内对要素进行绘制;数据访问方法和数据渲染方法分别由不同的线程来处理,所述数据访问方法还具体包括以下步骤:要素获取步骤:获取当前视口的搜索范围;要素查找步骤:根据搜索范围在索引文件中查找符合条件的要素以及要素外包、要素ID;所述条件为要素外包与搜索范围相交或要素外包被搜索范围所包含;所述要素外包为每个要素的最大坐标和最小坐标所组成的矩形区域;要素数据获取步骤:根据每个要素对应的要素ID在数据文件中查找对应的要素数据。
【技术特征摘要】
1.一种海量的矢量数据的访问和渲染方法,其特征在于包括:数据访问方法和数据渲染方法,其中数据访问方法用于获取当前视口中每个要素的要素数据,数据渲染方法用于根据数据访问方法获取的要素对应的要素数据在当前视口内对要素进行绘制;数据访问方法和数据渲染方法分别由不同的线程来处理,所述数据访问方法还具体包括以下步骤:要素获取步骤:获取当前视口的搜索范围;要素查找步骤:根据搜索范围在索引文件中查找符合条件的要素以及要素外包、要素ID;所述条件为要素外包与搜索范围相交或要素外包被搜索范围所包含;所述要素外包为每个要素的最大坐标和最小坐标所组成的矩形区域;要素数据获取步骤:根据每个要素对应的要素ID在数据文件中查找对应的要素数据。2.如权利要求1所述的海量的矢量数据的访问和渲染方法,其特征在于:所述数据渲染方法包括自上而下的渲染方法、渐进刷新的渲染方法、渲染中断方法、画面平移的局部刷新渲染方法、要素符号化的渲染方法的一种或多种的组合。3.如权利要求2所述的海量的矢量数据的访问和渲染方法,其特征在于:所述自上而下的渲染方法包括以下步骤:首先将当前视口的画布中需要绘制的所有图层的读取和绘制顺序设置为从上到下,并且使用布尔值来记录当前视口的画布中每个像素点是否已被绘制;所述图层为当前视口内同一类型的要素的集合;所述像素点为当前视口的画布中的一个最小绘制单位;当绘制开始前,将当前视口的画布中每个像素点的布尔值均初始化为假;当开始绘制某一像素点的颜色时,判断该像素点对应的布尔值是否为假,若是,则将绘制颜色赋予该像素点,同时将该像素点对应的布尔值设置为真;若否,则跳过该像素点的颜色绘制。4.如权利要求2所述的海量的矢量数据的访问和渲染方法,其特征在于:所述渐进刷新渲染方法包括以下步骤:在数据渲染时,将通过要素数据绘制要素的过程由子线程来完成,将更新当前视口图片由UI线程来完成;将每个要素根据要素的绘制时间进行权重划分,并且要素的绘制时间短的其要素的权重低、要素的绘制时间长的其要素的权重高;子线程在开始绘制时,首先记录计算机的当前时刻,然后开始依次绘制要素并累加每个要素的权重;当权重累加达到设定的权重阈值时,将当前的计算机时刻与记录的计算机当前时刻进行差值运算得到差值;当差值大于设定的时间阈值时,将当前渲染的结果拷贝并通过UI线程更新当前视口图片并显示给用户,同时将权重累加值清零,子线程重新记录计算机时间;当差值小于设定的时间阈值时,将权重累加值清零。5.如权利要求2所述的海量的矢量数据的访问和渲染方法,其特征在于:所述渲染中断方法包括以下步骤:系统中设置一渲染序号并且渲染序号由UI线程管理,初始值为0;当系统每次触发新的渲染请求时,UI线程中的渲染序号自动加1;当子线程开始执行渲染请求时,记录当前时刻下的UI线程中的渲染序号;当时间达到一定值时判断子线程所记录的渲染序号是否等于UI线程当前的渲染序号,若是,则继续...
【专利技术属性】
技术研发人员:吴龙祥,李祥,袁琪,倪晓东,邹磊,赖荣贵,何星龙,上官斌,梁哲恒,
申请(专利权)人:广东南方数码科技股份有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。