本发明涉及矢量数据渲染显示,尤其涉及一种地图矢量数据快速渲染方法及设备。
背景技术:
1、目前,随着大数据的到来,硬件设备的不断升级,目前历史地图数据越来越庞大,随之应用行业也越来越广泛,因此矢量数据符号化显示的效率也必须随之进行提升。
2、而现有的矢量符号化大概分两种:一种纹理化符号,能快速渲染但是失真,不能进行高质量数据的显示和打印;另外一种真矢量符号化,能进行高质量渲染和打印,但是显示效率不高;而且自定义符号化样式存在局限性,因此对于快速进行海量矢量数据符号化渲染没有一个很好的解决方案。
3、随着计算机图形处理系统的高速发展,诸如gpu并行技术的快速图形处理方法应运而生。申请号为2019107521568的中国专利,公开了一种面向较大矢量数据的高性能快速渲染方法,其通过确定待渲染的目标矢量图层数,根据待渲染的目标矢量图层数建立多个线程,进行gpu并行渲染,以此提高渲染效率。
技术实现思路
1、本发明的目的在于克服现有矢量符号化渲染方法不够高效、显示效率不高的问题,提供一种地图矢量数据快速渲染方法及设备,本方法通过内存映射方式快速读取符号化数据,在不占用内存的前提下实现数据的快速读取,对矢量数据根据实时比例尺进行动态符号化渲染;并且通过gpu加速,可进一步提升海量数据符号化渲染速度,从而提高点云显示和捕捉的效率。
2、为了实现上述发明目的,本发明提供了以下技术方案:
3、一种地图矢量数据快速渲染方法,包括:
4、采用内存映射的方式获取矢量数据;
5、检索得到需要显示的多个目标矢量数据,根据视口像素范围与视口显示的地理范围的比值,动态调整符号化显示方式:
6、采用gpu加速技术根据动态调整得到的符号化显示方式,遍历多个所述目标矢量数据,并根据每个所述目标矢量数据的类型进行动态符号化渲染显示。
7、根据一种具体的实施方式,上述地图矢量数据快速渲染方法中,通过窗口范围在矢量数据空间索引检索得到需要显示的多个目标矢量数据。
8、根据一种具体的实施方式,上述地图矢量数据快速渲染方法中,所述动态调整符号化显示效果,包括:
9、根据协议里面的节点,边界,填充分别进行简化渲染。
10、根据一种具体的实施方式,上述地图矢量数据快速渲染方法中,所述根据协议里面的节点进行简化渲染,包括:
11、确定节点的精细化符号,建立包围盒形状矩形,通过点到空间索引局部抽稀。
12、根据一种具体的实施方式,上述地图矢量数据快速渲染方法中,所述根据协议里面的边界进行简化渲染,包括:
13、确定边界的精细化符号,计算带线宽实线,进而计算零线宽实线,通过空间索引进行局部抽稀。
14、根据一种具体的实施方式,上述地图矢量数据快速渲染方法中,所述根据协议里面的填充进行简化渲染,包括:确定填充的精细化符号,包括:点填充、全色填充、包围盒填充。
15、根据一种具体的实施方式,上述地图矢量数据快速渲染方法中,所述采用gpu加速技术根据动态调整得到的符号化显示方式,包括:
16、通过对节点,边界和填充的渲染方式,使用opengl着色语言(glsl)进行gpu加速渲染。
17、本发明的另一方面,提供一种电子设备,包括:包括处理器、网络接口和存储器,所述处理器、所述网络接口和所述存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行上述地图矢量数据快速渲染方法。
18、与现有技术相比,本发明的有益效果:
19、本发明实施例所提供的方法,利用内存映射方式快速读取符号化数据,在不占用内存的前提下实现对矢量数据的快速读取,根据实时比例尺对矢量数据进行动态符号化渲染;并且通过gpu加速,可进一步提升海量数据符号化渲染速度,从而提高点云显示和捕捉的效率。
1.一种地图矢量数据快速渲染方法,其特征在于,包括:
2.如权利要求1所述的地图矢量数据快速渲染方法,其特征在于,通过窗口范围在矢量数据空间索引检索得到需要显示的多个目标矢量数据。
3.如权利要求1所述的地图矢量数据快速渲染方法,其特征在于,所述动态调整符号化显示效果,包括:
4.如权利要求3所述的地图矢量数据快速渲染方法,其特征在于,所述根据协议里面的节点进行简化渲染,包括:
5.如权利要求3所述的地图矢量数据快速渲染方法,其特征在于,所述根据协议里面的边界进行简化渲染,包括:
6.如权利要求3所述的地图矢量数据快速渲染方法,其特征在于,所述根据协议里面的填充进行简化渲染,包括:确定填充的精细化符号,包括:点填充、全色填充、包围盒填充。
7.如权利要求3所述的地图矢量数据快速渲染方法,其特征在于,所述采用gpu加速技术根据动态调整得到的符号化显示方式,包括:
8.一种电子设备,其特征在于,包括:包括处理器、网络接口和存储器,所述处理器、所述网络接口和所述存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行如权利要求1~7任一项所述的地图矢量数据快速渲染方法。