System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 基于CesiumJS引擎加载矢量切片图层的方法及系统技术方案_技高网

基于CesiumJS引擎加载矢量切片图层的方法及系统技术方案

技术编号:40442349 阅读:5 留言:0更新日期:2024-02-22 23:04
本发明专利技术公开一种基于CesiumJS引擎加载矢量切片图层的方法及系统,该方法通过瓦片地图资产管理器判断是否存在缓存数据,如果有缓存数据,则通过缓存管理器读取缓存实例,进行瓦片数据渲染;如果没有缓存数据,则创建瓦片几何实例,并进行瓦片数据渲染。本发明专利技术提供的基于CesiumJS引擎加载矢量切片图层的方法及系统,该方法真正实现CesiumJS引擎加载TMS矢量切片服务的能力,并进一步增强前端缓存机制,采用IndexDB作为矢量切片数据的缓存介质,相比较于常用的Cookie和LocalStorage、Session等浏览器端缓存方案,IndexDB具有存储量更大,可建立索引,提供本地查找接口等功能。

【技术实现步骤摘要】

本专利技术涉及地图引擎,特别是一种基于cesiumjs引擎加载矢量切片图层的方法及系统。


技术介绍

1、对于包含大量矢量数据的地图,用户在使用的过程中,频繁的地图交互操作,会触发大量的网络资源请求,而cesiumjs引擎中,对于矢量地图数据的渲染,仅仅支持了静态资源格式,如:geojson、topojson、kml等,这会使得服务器的io操作、cpu负载加大,增加网络传输耗时。

2、osgeo组织推出的切片地图服务(tile map service,tms)则可以很大程度上,解决这些问题。目前,业界虽然也有一些方案实现了cesiumjs渲染矢量瓦片的功能,但都是将矢量切片数据,在cesiumjs中渲染为纹理图片,最终以贴图贴到四边形上。该方式虽然实现了矢量切片数据的渲染,但本质上是栅格数据切片,丢失了矢量切片数据应该具备的样式自定义、自带属性数据、平滑lod等功能。


技术实现思路

1、有鉴于此,本专利技术的目的在于提供一种基于cesiumjs引擎加载矢量切片图层的方法,该方法利用cesiumjs引擎加载切片图层增强了前端缓存机制。

2、为达到上述目的,本专利技术提供如下技术方案:

3、本专利技术提供的基于cesiumjs引擎加载矢量切片图层的方法,包括以下步骤:

4、通过瓦片地图资产管理器判断是否存在缓存数据,如果有缓存数据,则通过缓存管理器读取缓存实例,进行瓦片数据渲染;如果没有缓存数据,则创建瓦片几何实例,并进行瓦片数据渲染。p>

5、进一步,通过事件监听器获取瓦片地图图层事件消息,并根据事件监听器获得的事件消息查询引擎资产管理器,所述引擎资产管理器和瓦片地图资产管理器连接。

6、进一步,在创建瓦片几何实例后通过引擎网络请求管理器,请求瓦片数据,当瓦片数据请求状态识别后,通过日志管理器保存相关信息。

7、进一步,所述缓存数据通过indexdb存储。

8、进一步,所述瓦片地图资产管理器采用cesiumjs引擎加载tms服务。

9、进一步,所述引擎资产管理器设置有网络请求管理器,所述网络请求管理器按照一下步骤进行:

10、由引擎发出的网络请求,网络请求管理器进行优先级排序,然后,分批次发送一定数量的请求。

11、进一步,所述瓦片几何实例按照以下方式进行:

12、判断瓦片数据的类型,如果为面类型的矢量数据,则需要对其进行三角化处理;然后,根据业务需求,绑定图元数据,创建瓦片几何实例。

13、进一步,所述cesiumjs引擎使用wgs84坐标系,根据该坐标系的参数,按照以下公式计算瓦片图层的网格编号:

14、

15、

16、公式中,各个变量的含义如下:

17、(1)tilesize:当前请求瓦片的尺寸,一般为256pixel或512pixel大小;

18、(2)z:为当前地图的层级,由引擎初始化和地图缩放事件产生,x和y为对应的横纵坐标;

19、(3)θ:当前瓦片中心点的纬度。

20、本专利技术提供的基于cesiumjs引擎加载矢量切片图层的系统,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方法。

21、本专利技术的有益效果在于:

22、本专利技术提供的基于cesiumjs引擎加载矢量切片图层的方法及系统,该方法真正实现cesiumjs引擎加载tms矢量切片服务的能力,并进一步增强前端缓存机制,采用indexdb作为矢量切片数据的缓存介质,相比较于常用的cookie和localstorage、session等浏览器端缓存方案,indexdb具有存储量更大,可建立索引,提供本地查找接口等功能。

23、本专利技术的其他优点、目标和特征在某种程度上将在随后的说明书中进行阐述,并且在某种程度上,基于对下文的考察研究对本领域技术人员而言将是显而易见的,或者可以从本专利技术的实践中得到教导。本专利技术的目标和其他优点可以通过下面的说明书来实现和获得。

本文档来自技高网...

【技术保护点】

1.基于CesiumJS引擎加载矢量切片图层的方法,其特征在于:包括以下步骤:

2.如权利要求1所述的基于CesiumJS引擎加载矢量切片图层的方法,其特征在于:通过事件监听器获取瓦片地图图层事件消息,并根据事件监听器获得的事件消息查询引擎资产管理器,所述引擎资产管理器和瓦片地图资产管理器连接。

3.如权利要求1所述的基于CesiumJS引擎加载矢量切片图层的方法,其特征在于:在创建瓦片几何实例后通过引擎网络请求管理器,请求瓦片数据,当瓦片数据请求状态识别后,通过日志管理器保存相关信息。

4.如权利要求1所述的基于CesiumJS引擎加载矢量切片图层的方法,其特征在于:所述缓存数据通过IndexDB存储。

5.如权利要求1所述的基于CesiumJS引擎加载矢量切片图层的方法,其特征在于:所述瓦片地图资产管理器采用CesiumJS引擎加载TMS服务。

6.如权利要求2所述的基于CesiumJS引擎加载矢量切片图层的方法,其特征在于:所述引擎资产管理器设置有网络请求管理器,所述网络请求管理器按照一下步骤进行:

7.如权利要求1所述的基于CesiumJS引擎加载矢量切片图层的方法,其特征在于:所述瓦片几何实例按照以下方式进行:

8.如权利要求7所述的基于CesiumJS引擎加载矢量切片图层的方法,其特征在于:所述三角化处理按照以下步骤进行:

9.如权利要求7所述的基于CesiumJS引擎加载矢量切片图层的方法,其特征在于:所述CesiumJS引擎使用WGS84坐标系,根据该坐标系的参数,按照以下公式计算瓦片图层的网格编号:

10.基于CesiumJS引擎加载矢量切片图层的系统,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现上述权利要求1至9任一项所述的方法。

...

【技术特征摘要】

1.基于cesiumjs引擎加载矢量切片图层的方法,其特征在于:包括以下步骤:

2.如权利要求1所述的基于cesiumjs引擎加载矢量切片图层的方法,其特征在于:通过事件监听器获取瓦片地图图层事件消息,并根据事件监听器获得的事件消息查询引擎资产管理器,所述引擎资产管理器和瓦片地图资产管理器连接。

3.如权利要求1所述的基于cesiumjs引擎加载矢量切片图层的方法,其特征在于:在创建瓦片几何实例后通过引擎网络请求管理器,请求瓦片数据,当瓦片数据请求状态识别后,通过日志管理器保存相关信息。

4.如权利要求1所述的基于cesiumjs引擎加载矢量切片图层的方法,其特征在于:所述缓存数据通过indexdb存储。

5.如权利要求1所述的基于cesiumjs引擎加载矢量切片图层的方法,其特征在于:所述瓦片地图资产管理器采用cesiumjs引擎加载tms服务。

6...

【专利技术属性】
技术研发人员:邢瑞谭小龙冷江林盛朗王淮黄士用周静陈苹陈立梅陈国锐
申请(专利权)人:睿宇时空科技重庆股份有限公司
类型:发明
国别省市:

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

1