資源描述:
《osgearth加載谷歌衛(wèi)星地圖的源碼案例》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、osgEarth加載谷歌衛(wèi)星地圖的源碼案例2014-12-2411:51242人閱讀評(píng)論(0)收藏舉報(bào)osgEarth谷歌衛(wèi)星地圖一、準(zhǔn)備工作安裝水經(jīng)注萬能地圖下載器,如果沒有安裝本軟件,可以百度“水經(jīng)注軟件”到官方網(wǎng)站下載。編譯OSG、OSGEarth和第三方插件等,這里有一個(gè)已經(jīng)編譯好的vs2010+osgearth,下載地址“http://pan.baidu.com/share/link?shareid=107009&uk=2801833827”。二、下載地圖首先需要把谷歌衛(wèi)星地圖下載下來,這里以“郫縣”為例。啟動(dòng)水經(jīng)注萬能地圖下載器,
2、點(diǎn)擊“框選下載區(qū)域”,雙擊下載區(qū)域,選擇級(jí)數(shù),如下圖。image001.jpg?(269.3KB,下載次數(shù):0)下載附件??保存到相冊(cè)2014-12-2316:01上傳在級(jí)別列表中,你可以選擇任何級(jí)別,但一般來講城區(qū)選擇19級(jí),郊區(qū)選擇16級(jí)比理想,但選擇級(jí)別之前,最好在在線地圖瀏覽中先查看所想要下載的級(jí)別是否有數(shù)據(jù),這里我們以10級(jí)為例。選擇好級(jí)別后,點(diǎn)擊確定開始下載。下載完成后會(huì)彈出對(duì)話框詢問是否要立即導(dǎo)出,選擇“是”,然后顯示“導(dǎo)出圖片數(shù)據(jù)”對(duì)話框,如下圖所示。?在該對(duì)話框中,不需要作任何設(shè)置,點(diǎn)擊“輸出”按鈕以默認(rèn)參數(shù)導(dǎo)出數(shù)據(jù)即可。默
3、認(rèn)導(dǎo)出路徑為“D:SGDownloadtt1_拼接[默認(rèn)]L10”。三、VS2010創(chuàng)建應(yīng)用程序解壓編譯包后還不能直接使用,需要設(shè)置環(huán)境變量:OSG_ROOT??????X:OSGOSG_FILE_PATH??????%OSG_ROOT%dataOSG_WINDOW??????60015800800Path??????????%OSG_ROOT%bin;設(shè)置文件目錄屬性O(shè)sgearth的一個(gè)主要目標(biāo)是易于應(yīng)用集成,實(shí)際上有2種方式去整合osgearth.第一種方式你可以建立一個(gè)earthfile,然后在你的應(yīng)用程序中加載它.第二種
4、使用osgearthAPI的時(shí)候以編程方式動(dòng)態(tài)建立一個(gè)地圖。這里我們使用第一種,使用OpenSceneGraph現(xiàn)有的插件來讀寫數(shù)據(jù),不需要osgEarth的lib和頭文件,但是需要把dll拷貝到osg的bin目錄下面1、新建一項(xiàng)目,我命名為test3。2、首先配置相應(yīng)的包含文件和庫文件目錄,添加相應(yīng)的鏈接器3、附加依賴項(xiàng)01.OpenThreadsd.lib??02.osgd.lib??03.osgDBd.lib??04.osgFXd.lib??05.osgGAd.lib??06.osgManipulatord.lib??07.osgPar
5、ticled.lib??08.osgShadowd.lib??09.osgSimd.lib??10.osgTerraind.lib??11.osgTextd.lib??12.osgUtild.lib??13.osgViewerd.lib4、編寫代碼#include"stdafx.h"#include#include#include#include#include#include#
6、include??int_tmain(intargc,_TCHAR*argv[])??{??????osg::ref_ptrviewer=newosgViewer::Viewer();??????osg::ref_ptrroot=newosg::Group();??????osg::ref_ptrnode=osgDB::readNodeFile("mymap.earth");??????root->addChild(nod
7、e.get());??????osgUtil::Optimizeroptimizer;??????optimizer.optimize(root.get());??????viewer->setSceneData(root.get());??????viewer->realize();??????viewer->run();??????return0;??}mymap.earth是一個(gè)earth文件,earth其實(shí)是文本格式的文件內(nèi)容如下8、me="bluemarble"driver="gdal">world.tif其中world.tif使用的是相對(duì)路徑