999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

面向iOS的移動端全景地圖構建方法

2016-05-25 00:37:04程,胡武,劉雄,姚
地理與地理信息科學 2016年1期
關鍵詞:服務模型

趙 鵬 程,胡 慶 武,劉 仙 雄,姚 遠

(武漢大學遙感信息工程學院, 湖北 武漢 430079)

面向iOS的移動端全景地圖構建方法

趙 鵬 程,胡 慶 武,劉 仙 雄,姚 遠

(武漢大學遙感信息工程學院, 湖北 武漢 430079)

隨著移動互聯網和街景地圖的發展,基于360°全景影像的街景地圖服務將成為移動互聯網時代位置服務的主流趨勢。該文提出了一種面向iOS移動端的全景地圖應用構建方法。首先,提出基于球面模型的移動端全景場景構建、紋理貼圖和渲染優化的技術方法;其次,針對移動終端應用模式,設計了面向移動終端的全景地圖數據服務的技術框架;最后,采用移動端全景地圖模型和數據服務框架,實現了iOS下移動端全景地圖的開發。實驗結果表明移動端全景瀏覽流暢,可以廣泛應用在增強現實位置服務,具有很好的應用前景。

全景地圖;移動端;球面模型;數據服務框架;iOS

0 引言

近年來互聯網地圖市場發展迅速,各大IT商家都爭相進入互聯網地圖市場,百度地圖、高德地圖和SOSO地圖等紛紛加大了對互聯網地圖市場的拓展[1],目前提供的地圖服務類型有平面地圖、影像地圖、三維地圖和全景地圖等。全景地圖使用新的地圖技術,營造新的產品體驗,真正實現了“人視角”的地圖瀏覽體驗,為用戶提供更加真實準確、更富畫面細節的地圖服務[2]。近年來街景技術發展迅速,通過街景,只要坐在屏幕前就可以真實地看到街道上的高清景象,是前所未有的以人類生活中心(街道)為視角的三維世界描述,是旅游、開車的好工具[3]。此外,街景地圖在其他專業領域內也有應用,如使用街景地圖對建筑環境進行審核等[4]。

隨著移動互聯網大規模進入3G、4G時代,手機CPU、RAM和圖形渲染能力快速提高,移動地圖服務漸漸深入到人們的日常生活中。根據“2014年中國移動地圖用戶行為研究報告”,用戶經常使用移動地圖來查找出行路線、路線導航、搜索未知地點。這三項功能的用戶占比均過半,它們也是移動地圖最實用的、與出行相關的功能[5]。其中在對未知地點的查詢和瀏覽的功能上,全景地圖服務具有其他類型地圖服務不可比擬的優勢。雖然已有部分廠家提供了移動端的全景地圖服務,但是當前全景地圖服務主要方式仍是B/S(瀏覽器/服務器)模式,移動全景地圖服務技術還不夠成熟。

針對移動互聯網全景地圖服務與應用,本文提出了一種面向iOS移動端的全景地圖服務模型與數據發布方法。針對移動終端應用模式,設計了移動終端全景地圖數據服務的技術框架,提出了基于球面模型的移動端全景場景構建、紋理貼圖和渲染優化方法,實現了基于iOS的移動端全景地圖服務,可以廣泛應用在增強現實位置服務。

1 移動端全景地圖的場景模型

移動端全景地圖場景模型主要涉及全景場景的構建和優化渲染,需在六面體模型和球面模型的基礎上根據全景數據特點進行紋理映射,并對整個渲染過程進行有效優化,保證模型的高精度和高效率。

1.1 全景場景構建

場景瀏覽是目前應用廣泛的一種計算機虛擬現實方法,在游戲、仿真等領域起重要作用,當前主流的底層三維圖像渲染庫有OpenGL、DirectX等,由于OpenGL的跨平臺性使其使用范圍更廣。OpenGL ES是為滿足嵌入式系統及移動平臺的低功耗要求,在OpenGL的基礎上進行裁剪而形成的三維圖形API的子集,它經過專門設計,與硬件的加速能力結合最為緊密,性能最好,所以非常適用于編寫游戲和其他圖形密集的、復雜的程序。目前主流手機操作系統如Android、iOS、WP都提供了相應的OpenGL ES開發工具包。本文基于iOS系統進行移動端全景服務開發,街景客戶端在OpenGL ES圖像處理平臺之上,同時借助iPhone手機強大的圖像硬件加速功能實現場景對畫面效果及性能的要求[6]。

當前主流使用的街景站點渲染方式有六面體場景和球面場景[7]。六面體場景實現簡單且渲染速度快,但其變形較大,球面場景大大地改善了變形問題,但渲染比較復雜。六面體場景的構建方式是把同一地點朝上下左右前后六個方向上同時曝光所獲的六幅圖片分別貼于六面體模型的對應面上形成全景場景。六面體場景原理如圖1所示。球面場景的構建方式是把某一時刻該站點的一幅360°全景圖片適應性地貼于球體模型表面形成全景場景。球面場景原理如圖2所示。

圖1 六面體場景原理

Fig.1 The principle of hexahedral scene

圖2 球面場景原理

Fig.2 The principle of spherical scene

由于球面場景過渡自然、順暢、無痕跡,不會出現類似六面體場景中的拼接折線,并且隨著手機硬件功能的不斷升級,大多數手機能夠滿足球面場景的計算和渲染。在手機硬件較差的條件下可以考慮用較粗格網點建立球面模型,或采用六面體模型。

1.2 球面場景紋理映射

使用OpenGL ES進行二維紋理貼圖時需要先創建一個存儲模型點的三維數組,然后創建一個紋理對象和一個存儲紋理數據的二維數組,最后使用繪制三角形的方法繪制出模型點和對應生成面的紋理。在OpenGL中對于任何紋理,無論紋理的真正大小如何,其左上角的紋理坐標恒為(0,0),右下角的紋理坐標恒為(1,1)。

根據全景圖片生產原理,1∶2的全景圖片長寬正好可以線性等差地映射到經度(-180°,180°)、緯度(-90°,90°)的球面上。所以單幅全景紋理的貼圖實現較為簡單,只需簡單地把單幅紋理線性等差地映射到整個球面模型上。全景場景的構建往往需要多幅紋理組合渲染生成精細的場景,相應的多幅紋理由全景影像金字塔中某一層圖片組成,由于影像切片之間依次排列,尺寸相等,沒有重疊和空隙,所以針對全景場景的多切片貼圖有兩種方案:1)將所有切片拼接成一副完整紋理,使用單幅紋理貼圖方法進行場景貼圖。2)計算不同切片的左上角和右下角對應球面模型的坐標,從而將該切片映射到模型的某一區域。在場景渲染時,使用OpenGL的glBind函數實時的更換紋理圖像,完成全場景的貼圖渲染。

由于同一級別的切片可能達到數十數百幅,拼接圖像需要大量內存,而且大幅面的紋理繪制會消耗大量CPU資源,渲染速率低下,所以在實踐中方案一不具有可行性,方案二具有較好的靈活性。

1.3 球面場景多級貼圖

使用上節提到的方案二的貼圖方法,針對多等級切片的全景瀏覽需求,本文提供如下方法完成多級切片貼圖。

(1)在程序初始化時生成不同等級的模型坐標數據和紋理坐標數據:1)根據切片級別和場景精度要求,對切片進行0到1的等距分割,并記錄為該等級的紋理坐標數據。2)對該級別所有圖片,根據切片下標,計算切片左上角和右下角分別對應球面模型的經緯度坐標,并計算該切片所有紋理坐標對應的球面模型的經緯度坐標。3)將球面經緯度坐標轉換為三維坐標,并按照繪制三角形條帶所要求的點位順序重新排列紋理坐標和每組模型點坐標。

(2)在程序工作過程中:每次對全景站點的加載繪制只需加載必要的切片,生成對應紋理對象,并根據當前切片的等級找到對應的紋理坐標數組,根據當前切片的等級和下標找到對應的模型點坐標數組進行繪制。以2級切片為例,在程序初始化時生成圖3右側的坐標數組,每次加載圖片時只需根據圖片的級別和下標找到對應的數據進行繪制即可。

圖3 2級全景切片球面貼圖

Fig.3 Spherical mapping of the second level panoramic slice

以上的設計方法可以實現在程序初始化時通過一次計算,生成所有可能的紋理坐標,在程序工作時重復選擇使用對應坐標數據,可大大減少紋理坐標計算所帶來的計算量。

1.4 球面場景渲染優化

針對有限的硬件資源、網絡質量和復雜的場景模型,本文考慮采用一些場景渲染優化策略。在數據組織上采用LOD(多細節層次)方法[8],為使場景能夠快速切換且不出現空白,需要使用場景縮略圖;標準級別的切片采用異步加載的方式,按照先加載離視點近的切片的順序,提供標準清晰度的街景瀏覽;只有在需要對局部進行放大查看的情況下,才會加載相應位置的各精細級別切片。在渲染上采用視景體裁剪的思想[6],對精細級別切片的加載保持“可視域內加載繪制”的原則,不僅減小數據下載量也減輕了圖片渲染的復雜度。同時在OpenGL中對場景繪制時采用單面繪制方式可減少一半的渲染工作量。在模型精度上,球面模型的格網點密度直接影響著繪制場景的精度和效率,格網點密,場景精致,效率較低。所以在軟件開發時要對場景渲染效果和渲染速率進行權衡。

如圖4展示,左圖為球面模型采用20×40分割精度下的場景,街景中樓房出現明顯的扭曲;右圖為球面模型采用60×120分割精度下的場景,街景中樓房沒有可視的變形。經實驗發現當球面模型的分割精度達到35×70時可以滿足視覺上沒有變形,球面模型的分割精度達到160×320時,使用iPhone5手機渲染該場景會出現明顯的卡頓。

圖4 模型精度效果

Fig.4 Effect of model accuracy

2 移動全景地圖的數據服務

移動全景地圖服務采用C/S(客戶端/服務器)模式,在服務器上提供站點信息查詢、全景圖片獲取等服務接口,在客戶端實現全景站點信息的獲取和顯示等功能。

2.1 移動全景地圖C/S服務模式分工

由于手機處理能力和移動互聯網速度的限制,對于C/S的任務分配變得十分重要,只有合理的任務分配才能保障流暢的服務體驗[9]。本文提出的移動全景地圖C/S服務模式分工如圖5。C/S模式下,移動全景地圖服務的主要數據任務有各全景站點的全景圖片數據和采集時刻的時空軌跡數據。所以服務器負責站點全景圖片數據處理、存儲及獲取接口提供,同時負責站點時空采集信息數據的編輯、存儲及獲取接口提供等工作。客戶端主要負責站點全景圖片的加載顯示和交互的站點選擇等工作。

圖5 全景系統框架

Fig.5 The framework of panorama system

2.2 移動全景地圖數據服務接口

為了提供基本的全景地圖服務,服務器必須至少提供站點信息查詢接口和全景切片獲取接口。本文設計的移動全景地圖服務接口如圖6。在服務器提供了通過全景圖片ID獲取全景圖片的接口以及通過站點ID、站點坐標及站點經緯度等多種方式的站點信息查詢接口。客戶端使用上述服務接口可以靈活地獲取站點信息并進行功能拓展。此外,為了確保客戶端工作的流暢性,服務器必須滿足相應的請求反應速度,即所提供的接口速度足夠快,對應數據庫索引效率足夠高。一般情況須滿足:服務各接口的響應時間小于1 s且支持多用戶的并發訪問[10]。

圖6 全景服務接口

Fig.6 The interface of panoramic image service

3 iOS移動全景地圖的設計與實現

3.1 開發環境與實驗數據

本文的全景地圖客戶端在裝有OS X 10.10操作系統的Mac電腦上使用Xcode6工具進行編譯開發,能夠適用于iPhone5、iPad2等iOS設備。

本文的實驗數據來自一體化三維激光全景掃描移動測量系統獲取的昆明市五華區連續的全景數據。每個站點的原始全景圖像為一幅8 192×4 096像素大小的360°全景影像,首先生成一幅256×512像素大小的站點縮略圖,然后生成2(n-1)×2n幅512×512像素大小的第n級切片,其中n可為1、2、3、4。本系統服務器端使用特定軟件編輯生成的全景站點信息數據,包括當前站點的經緯度、大地坐標、相機外方位元素、當前站點全景影像編號以及相鄰站點的站點編號等信息。所有數據都以表格形式統一存放于服務器的SQL Server數據庫中,由全景服務程序統一提供訪問接口以供移動端程序使用。

3.2 iOS移動全景地圖的核心流程

iOS移動端進行全景站點數據加載和顯示的主要工作流程如圖7。首先,根據站點ID、大地坐標XYZ或經緯度BL向服務器發送獲取站點信息的請求,通過解析返回的JSON數據獲得當前站點信息,由當前站點信息中獲得對應全景圖片ID。然后,通過獲得的全景圖片ID獲取該全景站點的縮略圖,并加載顯示。隨后,根據站點信息中的鄰接站點信息,得到當前站點內可跳轉的下一站的方位信息,在所有可跳轉的位置上繪制對應跳轉箭頭。最后,異步有序地加載其他等級切片。

圖7 軟件技術流程

Fig.7 The technology process of panoramic application

3.3 iOS移動全景地圖的功能設計

在地圖服務形式方面,移動全景地圖提供了兩種地圖服務模式,即在線瀏覽模式和離線瀏覽模式。網絡在線地圖可以實時動態加載相關數據,同時允許終端用戶定制使用其他可視化的LBS(基于位置的服務)。為了增強在線全景服務的可用性,本應用為在線瀏覽過程添加數據緩存功能,保證在線全景瀏覽更快速、更節約流量。離線地圖可以為用戶提供在不使用移動數據流量的情況下瀏覽地圖信息的功能。針對全景地圖服務,本系統在服務器上設計提供了包含全景圖片數據和全景站點信息數據的SQLite數據庫文件,移動端應用可通過下載離線數據包實現離線街景瀏覽[11]。在用戶交互方面,本文移動全景地圖應用提供了多樣的場景瀏覽方式、自動或手動的站點切換功能、2D地圖與全景地圖交互切換功能以及自主的服務配置和自定義設置等功能,以滿足用戶方便快捷的交互。在單個場景中使用陀螺儀、指南針等技術實現了基于手機姿勢和地理位置的場景瀏覽。此外,iOS客戶端還提供了全景服務配置功能、瀏覽歷史記錄功能,能對全景顯示進行自定義設置。本文系統的主要功能設計如圖8所示。

圖8 軟件功能設計

Fig.8 The function design of the application

3.4 原型系統開發與總結

本文客戶端使用球面模型,并以較細的格網生成全景場景,實現了上述功能設計中提及的功能。原型系統工作界面如圖9。在iOS移動端程序設計的過程中需要注意以下問題:1)由于網絡數據請求采用異步網絡傳輸方式會產生多個線程,而客戶端的程序界面不適合使用多線程并發操作,所以要留心因使用多線程渲染場景而產生的程序異常。2)由于全景數據的數據量較大,且Objective-C語言不支持自動內存管理,所以在iOS全景程序設計的過程中一定要遵守Objective-C語言內存管理法則,并及時清理內存中的冗余數據和歷史數據。3)使用僅在場景發生變化時刷新場景的方法相對定時刷新場景的方法刷新次數較少,能在一定程度上減輕CPU的壓力[12]。

4 結論

隨著各種全景地圖的發展,移動端的全景地圖服務將成為移動互聯網時代位置服務的主流趨勢,未來街景地圖將成為地圖標配,引領整個行業的發展,它的普及將改變人們看地圖的方式,甚至影響人們的生活方式。本文設計了移動全景地圖服務框架,提出了移動端全景地圖服務模型,實現了基于iOS的移動端全景地圖,并結合基于iOS移動端所具有的特性提出一些優化方法和注意事項,全面闡述了移動街景服務生產的全過程。在未來的工作中,將逐步研究如何加入標注、POI(興趣點)、熱點鏈接等功能,進一步拓寬移動街景地圖的應用面,使移動街景地圖成為人們日常生活的得力助手。

圖9 iOS全景地圖應用

Fig.9 The panoramic map application on iOS

[1] 街景地圖掀開地理信息服務新時代[N].經濟日報,2013-06-05.

[2] 街景地圖.http://baike.baidu.com/view/2423560.htm.2014-12-31.

[3] 艾瑞咨詢集團.2014年中國移動地圖用戶行為研究報告[R].2014.1-15.

[4] ANGUELOV D,DULONG C,FILIP D,et al.Google street view:Capturing the world at street level[J].Computer,2010(6):32-38.

[5] KELLY C M,WILSON J S,BAKER E A,et al.Using Google Street View to audit the built environment:Inter-rater reliability results[J].Annals of Behavioral Medicine,2013,45(1):108-112.

[6] 丁晶,秦亮軍.移動環境下三維場景的實時渲染技術研究[J].城市勘測,2011,12(6):1-3.

[7] 鄒鶴敏.基于OpenGL ES的3D游戲技術的研究與實現[D].成都:西南交通大學,2014.1-4.

[8] 高劍,龔斌,孟祥旭,等.基于圖像映射的全景室內瀏覽算法[J].系統仿真學報,2001(13):1-3.

[9] 張志勛,王娟.基于Android的校園移動信息平臺設計[J].自動化與儀器儀表,2013(4):1-3.

[10] 白軼多,于江佩,鄭運松.移動柵格地圖查閱系統研究與實現[J].測繪通報,2014(11):2-3.

[11] 王柯,張文詩,馬宏斌.基于Android平臺的移動地圖服務模式研究[J].地理信息世界,2014,10:1-2.

[12] BUCK E M.OpenGL ES應用開發實踐指南:iOS卷[M].北京:機械工業出版社,2013.178-192.

Research on Panorama Image Map Service on iOS Mobile Device

ZHAO Peng-cheng,HU Qing-wu,LIU Xian-xiong,YAO Yuan

(School of Remote Sensing and Information Engineering,Wuhan University,Wuhan 430079,China)

With the development of mobile Internet and Street View technology,it′s highly possible that Street View Service based on 360° panorama image becomes the main stream of Location Based Service.In this paper,a construction method of iOS-oriented panorama image map service is presented.Firstly,panorama image scene construction,texturing mapping and rendering optimization based on spherical panorama model in mobile device is presented.Secondly,a data service technology framework of panorama image map is designed.Finally,an iOS based panorama image map application prototype is implemented using the spherical panorama model and the aforementioned data service.The experiment result shows that the panorama image can be viewed fluently which can guarantee a promising prospect in enhanced reality LBS(Location Based Service).

panorama image map;mobile device;spherical model;data service framework;iOS

2015-08-29;

2015-10-13

趙鵬程(1993-),男,碩士研究生,從事地理信息系統、3S集成等方面的研究工作。E-mail:pengcheng.zhao@qq.com

10.3969/j.issn.1672-0504.2016.01.018

P208

A

1672-0504(2016)01-0095-05

猜你喜歡
服務模型
一半模型
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
服務在身邊 健康每一天
今日農業(2019年12期)2019-08-15 00:56:32
服務在身邊 健康每一天
今日農業(2019年10期)2019-01-04 04:28:15
服務在身邊 健康每一天
今日農業(2019年16期)2019-01-03 11:39:20
招行30年:從“滿意服務”到“感動服務”
商周刊(2017年9期)2017-08-22 02:57:56
3D打印中的模型分割與打包
主站蜘蛛池模板: 日韩天堂在线观看| 九九九国产| 9久久伊人精品综合| 伊人久久精品亚洲午夜| 蜜桃视频一区| 国产91无码福利在线| hezyo加勒比一区二区三区| 一级毛片在线播放免费观看 | 青青青国产免费线在| 一本视频精品中文字幕| 国产精品亚洲一区二区在线观看| 欧美精品黑人粗大| 91国内在线观看| 欧美日本不卡| 国产情侣一区| 欧美午夜在线播放| 国产极品美女在线| 色综合天天综合中文网| 99一级毛片| 最近最新中文字幕在线第一页 | 免费毛片a| 五月婷婷综合网| 女同久久精品国产99国| 亚洲视频免| 中文字幕免费播放| 一本大道香蕉高清久久| 一本一道波多野结衣一区二区| 全部无卡免费的毛片在线看| 国产jizz| 在线亚洲小视频| 国产国模一区二区三区四区| 亚洲精品欧美重口| 久久综合九色综合97网| 免费一级毛片| 成人永久免费A∨一级在线播放| 2018日日摸夜夜添狠狠躁| 欧美a在线看| 中文字幕亚洲综久久2021| 亚洲一区二区三区香蕉| 亚洲不卡网| 国产AV无码专区亚洲A∨毛片| 91久久国产成人免费观看| 在线观看国产精美视频| 2022国产91精品久久久久久| 亚洲第一网站男人都懂| 国产精品美女在线| 亚洲男人的天堂在线观看| 日韩精品久久无码中文字幕色欲| 国产精品开放后亚洲| 国产激情影院| 国产在线精品香蕉麻豆| 欧美第二区| 中文字幕人成乱码熟女免费| 亚洲日韩精品无码专区97| 色婷婷亚洲十月十月色天| 久青草国产高清在线视频| 在线看片免费人成视久网下载| 国产伦片中文免费观看| 性激烈欧美三级在线播放| 亚洲精品无码久久毛片波多野吉| 九九九精品成人免费视频7| 国产va免费精品| 污网站免费在线观看| 无码aaa视频| 免费无码网站| 国产精品短篇二区| 最新国产精品第1页| 青青热久免费精品视频6| 2021国产精品自拍| 亚洲视频三级| 亚洲无码37.| 狠狠色综合网| 久久中文电影| 欧美激情视频一区二区三区免费| 素人激情视频福利| 爆乳熟妇一区二区三区| 国模视频一区二区| 免费看的一级毛片| 亚洲无码免费黄色网址| 亚洲日韩欧美在线观看| 久久免费视频6| 国产色爱av资源综合区|