[发明专利]一种基于WebAssembly的矢量空间数据解析方法在审
| 申请号: | 202110986717.8 | 申请日: | 2021-08-26 |
| 公开(公告)号: | CN113779168A | 公开(公告)日: | 2021-12-10 |
| 发明(设计)人: | 黄剑华;刘辉;赵瑞祥;梁生红 | 申请(专利权)人: | 广州和辰信息科技有限公司 |
| 主分类号: | G06F16/29 | 分类号: | G06F16/29 |
| 代理公司: | 广州名扬高玥专利代理事务所(普通合伙) 44738 | 代理人: | 郭琳 |
| 地址: | 510000 广东省广州市番禺区沙*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 webassembly 矢量 空间 数据 解析 方法 | ||
本发明公开了一种基于WebAssembly的矢量空间数据解析方法,获取待解析的C/C++源代码,通过WebAssembly开源编译器工具把所述待解析的C/C++源代码编译成wasm程序文件;通过浏览器的WebAssembly模块加载wasm程序,并暴露wasm程序的接口给浏览器端,所述浏览器端通过JavaScript调用wasm接口;浏览器端JavaScript调取矢量空间数据文件到浏览器端以二进制方式存储,浏览器端JavaScript通过调用所述WebAssembly开源编译器工具的malloc函数分配内存,将二进制文件存放至WebAssembly共享内存;所述浏览器端调用wasm程序的接口解析矢量数据,所述wasm程序通过操作WebAssembly内存来读取解析二进制文件数据;对所述解析的二进制文件数据进行格式转换,再通过主流Web地图引擎进行可视化展示。
技术领域
本发明涉及矢量数据解析技术领域,用于解决在Web浏览器上解析矢量数据的问题,尤其涉及一种基于WebAssembly的矢量空间数据解析方法。
背景技术
矢量空间数据在Web浏览器上展示,通常做法是通过前端JavaScript或后端C/C++/Java等语言进行解析,转换成前端JavaScript可以识别的JSON格式或图片格式,以便矢量数据可以在Web端进行地图可视化展示。
现有技术例如中国专利CN201710174898.8主要是提供一种矢量数据读取方法及一种矢量数据快速可视化方法,其矢量数据读取方法以及矢量数据可视化方法通过对数据过滤以有效减少数据读取量,达到快速可视化的目的,实现方式在计算机本地或服务器端。
常见的矢量空间数据格式有dwg、dxf、shp、gdb、mdb等,其中dxf是文本数据,dwg、shp、gdb、mdb等是复杂的字节文件。文本数据可以在浏览器端通过JavaScript直接解析,如数据量过大,则解析效率会慢。而dwg、gdb、mdb等字节文件结构较为复杂,以浏览器JavaScript的方式几乎无法有效或高效从内部结构解析。现在常见技术主要两种:(1)采用前端JavaScript方式解析;(2)采用上传文件到后端(服务器端)利用C/C++的方式进行解析。第一种方式缺点在于前端JavaScript方式进行矢量解析具有局限性,一般可以解析纯文本数据,因为JavaScript是解析性语言,执行速度相比C/C++等语言要慢,且对于字节文件解析能力有限(受限于浏览器以及JavaScript读取文件的限制),比如shp.js是一个开源js库,shp是一种公开的格式(《ESRI Shapefile Technical Description》ESRI白皮书1998年公开的格式),shp.js通过JavaScript的方式实现shp的加载,但实现并不完整,从源码上分析,对于PolylineZ、PolygonZ、PolylineM、PolygonM、MultiPointM、MultiPatch等并不支持。第二种方式采用上传至后端的方式进行解析,这种解析完整解析矢量数据,但需要通过网络传输,如果文件过大,上传需要占用大量传输时间,解析出结果后返回浏览器前端还需要传输时间,适合相对较小的文件。
WebAssembly是由主流浏览器厂商组成的W3C社区团体制定的一个新的规范,是一种能浏览器端运行C/C++、比JavaScript运行效率更快的一种技术。WebAssembly起源于Mozilla发起的Asm.js项目,其本地解码速度比JavaScript解析快得多,让高性能的Web应用在浏览器上运行成为可能,目前各大主流浏览器都支持WebAssembly二进制格式wasm。
因此,本发明提出一种基于WebAssembly的矢量空间数据解析方法,旨在实现在浏览器端进行高效解析矢量空间数据。
发明内容
而本发明提供的一种在Web浏览器上直接读取矢量数据的方法。本发明旨在至少解决现有技术中存在的技术问题之一。为此,本发明公开了一种基于WebAssembly的矢量空间数据解析方法,包括如下步骤:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州和辰信息科技有限公司,未经广州和辰信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110986717.8/2.html,转载请声明来源钻瓜专利网。





