[發明專利]一種基于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.szxzyx.cn/pat/books/201910945102.3/2.html,轉載請聲明來源鉆瓜專利網。





