[发明专利]一种基于OsgEarth的S57海图数据的加载方法在审
申请号: | 201910945102.3 | 申请日: | 2019-09-30 |
公开(公告)号: | CN110717004A | 公开(公告)日: | 2020-01-21 |
发明(设计)人: | 何泉;杨石兴;李鹏飞;刘雨;郭靖;刘洋;王石;宋鹏飞 | 申请(专利权)人: | 西安恒歌数码科技有限责任公司 |
主分类号: | G06F16/29 | 分类号: | G06F16/29 |
代理公司: | 61200 西安通大专利代理有限责任公司 | 代理人: | 贺小停 |
地址: | 710000 陕西省西安市雁*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 海图数据 瓦片 加载 预处理 瓦片金字塔 范围信息 数据配置 影像图层 初始化 数据集 插件 切片 图层 解析 绘制 迁移 保存 返回 | ||
一种基于OsgEarth的S57海图数据的加载方法,包括以下步骤:步骤1,将S57数据配置为OsgEarth的影像图层;步骤2,初始化S57插件,解析S57数据,并保存为点,线,面三个图层的数据集;步骤3,根据请求瓦片的范围信息,绘制相应的海图数据,并返回给瓦片。本发明直接加载原始海图数据,无需预处理,预切片;避免繁琐操作,避免生成大量的瓦片金字塔数据,不便迁移。
技术领域
本发明属于计算机图形技术领域,特别涉及一种基于OsgEarth的S57海图数据的加载方法。
背景技术
电子海图是为适用航海需要而绘制的包含海域地理信息和航海信息的一种数字化的专题地图,符合国际标准的电子海图数据统称为S57电子海图。传统的S57电子海图都是通过二维的方式来显示,但随着三维可视化技术的发展,三维电子海图的需求越来越大。目前市面上能够加载三维电子海图的厂家数量很少,仅有的几家都采用的是将预先生成好的海图数据通过切片的方式加载到三维地球上,这种方法的弊端有两点,首先是每一份海图数据在加载显示之前都需要做数据的预处理,不仅繁琐,而且生成的瓦片金字塔数据量大,文件迁移也十分不便。其次生成好的数据也不具有灵活性,无法动态显隐指定图层。
发明内容
本发明的目的在于提供一种基于OsgEarth的S57海图数据的加载方法,以解决上述问题。
为实现上述目的,本发明采用以下技术方案:
一种基于OsgEarth的S57海图数据的加载方法,包括以下步骤:
步骤1,将S57数据配置为OsgEarth的影像图层;
步骤2,初始化S57插件,解析S57数据,并保存为点,线,面三个图层的数据集;
步骤3,根据请求瓦片的范围信息,绘制相应的海图数据,并返回给瓦片。
进一步的,步骤1中具体包括:创建影像图层,设置图层的数据源路径为.000格式的S57海图数据,指定该图层的解析插件为自定义的S57插件。
进一步的,步骤2中具体包括初始化S57插件和初始化S52显示标准库,其中初始化S57插件具体包括:
1)初始化S57插件,首先读取并解析.000文件,获取该海图的通用信息;
2)然后读取矢量信息,包括点、线、面三个图层,并存储为相应的数据集;
3)将上一步骤生成的点线面数据集序列化为本地海图格式,这里命名为.S57,当程序加载.000格式时,首先查找同名的.S57数据,如果有直接加载该数据,如果没有则创建。
进一步的,初始化S52显示标准库具体为:加载S52标准符号库,以及提供根据范围参数获取具体符号的接口;解析S52的绘制指令,将字符串的内容转换为一系列的标准绘图指令。
进一步的,步骤3具体为:当接到上层的瓦片请求时,根据该请求的范围遍历数据集中的可见元素,并将原始的地理坐标转换为目标图片的局部二维坐标,再通过调用S52显示库来进行渲染绘制,并将完成的图片返回给瓦片。
与现有技术相比,本发明有以下技术效果:
本发明直接加载原始海图数据,无需预处理,预切片;避免繁琐操作,避免生成大量的瓦片金字塔数据,不便迁移。
本发明海图数据都是实时绘制的,因此可以动态修改海图属性,显隐指定图层。
附图说明
图1为本发明流程图。
具体实施方式
以下结合附图对本发明进一步说明:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安恒歌数码科技有限责任公司,未经西安恒歌数码科技有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910945102.3/2.html,转载请声明来源钻瓜专利网。