[发明专利]将GeoJSON数据格式转换为三维GLB格式的方法、装置和设备有效
申请号: | 202111645821.7 | 申请日: | 2021-12-30 |
公开(公告)号: | CN114445574B | 公开(公告)日: | 2023-02-03 |
发明(设计)人: | 刘路;陈傲寒;魏新征;胡阳;柴浩然 | 申请(专利权)人: | 北京优锘科技有限公司 |
主分类号: | G06T17/05 | 分类号: | G06T17/05;G06F16/29 |
代理公司: | 北京安度修典专利代理有限公司 11424 | 代理人: | 杨方成;马欢萍 |
地址: | 100102 北京市朝*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | geojson 数据格式 转换 三维 glb 格式 方法 装置 设备 | ||
本发明涉及一种将GeoJSON数据格式转换为三维GLB格式的方法,包括加载配置文件;加载待转换GeoJSON数据,将所述待转换GeoJSON数据根据所述配置文件进行转换,生成中间数据,所述中间数据包括对所述待转换GeoJSON数据的区域分类数据和每一区域的高度数据;将所述中间数据利用三角剖分算法,得到三维GLB格式文件。本发明实现了将描述二维地形或者建筑区域的GeoJSON文件转换为三维地形或者建筑的GLB文件,提高了地理数据在ThingJS中的渲染速度。本发明还涉及一种将GeoJSON数据格式转换为三维GLB格式的装置和设备。
技术领域
本发明涉及计算机技术领域,尤其涉及将GeoJSON数据格式转换为三维GLB格式的方法、装置和设备。
背景技术
GeoJSON是一种对各种地理数据结构进行编码的格式,基于Javascript对象表示法的地理空间信息数据交换格式。GeoJSON对象可以表示几何、特征或者特征集合。GeoJSON支持下面几何类型:点、线、面、多点、多线、多面和几何集合。GeoJSON里的特征包含一个几何对象和其他属性,特征集合表示一系列特征。GeoJSON适应前端开发,方便传输。但是却不是一个很好的渲染格式。GLB是GlTF的二进制格式,具有传输方便,适应前端开发,渲染快速的优点。当前ThingJS前端对大型地形以及楼体数据的渲染需求,如何将GeoJSON转换成GLB以提高渲染性能是目前亟需解决的技术问题。
发明内容
本发明所要解决的技术问题是针对现有技术的不足,提供将GeoJSON数据格式转换为三维GLB格式的方法、装置和设备。
本发明解决上述技术问题的技术方案如下:
一种将GeoJSON数据格式转换为三维GLB格式的方法,所述方法包括:
加载配置文件;
加载待转换GeoJSON数据,将所述待转换GeoJSON数据根据所述配置文件进行转换,生成中间数据,所述中间数据包括对所述待转换GeoJSON数据的区域分类数据和每一区域的高度数据;
将所述中间数据利用三角剖分算法,得到三维GLB格式文件。
在上述技术方案的基础上,本发明还可以做如下改进。
进一步地,所述配置文件包括待转换文件路径、输出文件路径、楼层高度属性名、楼层单位高度以及楼层高度分类,所述楼层高度属性名用于识别区域楼层高度的属性名称,所述楼层单位高度用于对区域楼层高度进行倍数增加,所述楼层高度分类用于对不同高度的楼层进行分类。
进一步地,所述将所述待转换GeoJSON数据根据所述配置文件进行转换,生成中间数据,具体包括:
在所述待转换GeoJSON数据中进行检索后,得到所述待转换GeoJSON数据中的所述楼层高度属性名,并利用所述楼层高度属性名对所述待转换GeoJSON数据进行区域划分,得到多个区域数据;
按照所述楼层高度分类对所述区域数据进行分类,得到所有区域数据所属所述楼层高度分类。
进一步地,所述将所述中间数据利用三角剖分算法,得到三维GLB格式文件,具体包括:
对每一个区域数据中的多边形数据进行三角剖分计算后,得到三角面组合,所述三角面组合包括底面和顶面,其中所述底面是高度为零的面,所述顶面为所述区域数据的楼层高度;
根据所述区域数据中的多边形数据中的各点位信息,得到所述区域数据的侧面;
分别对所述底面、顶面和侧面生成坐标,并进行贴图后,得到所述三维GLB格式文件。
进一步地,所述根据所述区域数据中的多边形数据中的各点位信息,得到所述区域数据的侧面,具体包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京优锘科技有限公司,未经北京优锘科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111645821.7/2.html,转载请声明来源钻瓜专利网。