欢迎来到天天文库
浏览记录
ID:8927946
大小:2.16 MB
页数:9页
时间:2018-04-12
《osgearth加载谷歌卫星地图的源码案例》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、osgEarth加载谷歌卫星地图的源码案例2014-12-2411:51242人阅读评论(0)收藏举报osgEarth谷歌卫星地图一、准备工作安装水经注万能地图下载器,如果没有安装本软件,可以百度“水经注软件”到官方网站下载。编译OSG、OSGEarth和第三方插件等,这里有一个已经编译好的vs2010+osgearth,下载地址“http://pan.baidu.com/share/link?shareid=107009&uk=2801833827”。二、下载地图首先需要把谷歌卫星地图下载下来,这里以“郫县”为例。启动水经注万能地图下载器,点击“框选下载区域”,双击下载区域,选
2、择级数,如下图。image001.jpg (269.3KB,下载次数:0)下载附件 保存到相册2014-12-2316:01上传在级别列表中,你可以选择任何级别,但一般来讲城区选择19级,郊区选择16级比理想,但选择级别之前,最好在在线地图浏览中先查看所想要下载的级别是否有数据,这里我们以10级为例。选择好级别后,点击确定开始下载。下载完成后会弹出对话框询问是否要立即导出,选择“是”,然后显示“导出图片数据”对话框,如下图所示。 在该对话框中,不需要作任何设置,点击“输出”按钮以默认参数导出数据即可。默认导出路径为“D:SGDownloadtt1_拼接[默认]L10”。三
3、、VS2010创建应用程序解压编译包后还不能直接使用,需要设置环境变量:OSG_ROOT X:OSGOSG_FILE_PATH %OSG_ROOT%dataOSG_WINDOW 60015800800Path %OSG_ROOT%bin;设置文件目录属性Osgearth的一个主要目标是易于应用集成,实际上有2种方式去整合osgearth.第一种方式你可以建立一个earthfile,然后在你的应用程序中加载它.第二种使用osgearthAPI的时候以编程方式动态建立一个地图。这里我们使用第一种,使用OpenSceneGraph现
4、有的插件来读写数据,不需要osgEarth的lib和头文件,但是需要把dll拷贝到osg的bin目录下面1、新建一项目,我命名为test3。2、首先配置相应的包含文件和库文件目录,添加相应的链接器3、附加依赖项01.OpenThreadsd.lib 02.osgd.lib 03.osgDBd.lib 04.osgFXd.lib 05.osgGAd.lib 06.osgManipulatord.lib 07.osgParticled.lib 08.osgShadowd.lib 09.osgSimd.lib 10.osgTerraind.lib 11.osgTex
5、td.lib 12.osgUtild.lib 13.osgViewerd.lib4、编写代码#include"stdafx.h"#include#include#include#include#include#include#include int_tmain(intargc,_TCHAR*argv[]) { osg::ref_ptr6、ewer>viewer=newosgViewer::Viewer(); osg::ref_ptrroot=newosg::Group(); osg::ref_ptrnode=osgDB::readNodeFile("mymap.earth"); root->addChild(node.get()); osgUtil::Optimizeroptimizer; optimizer.optimize(root.get()); viewer->setSceneData(root.ge7、t()); viewer->realize(); viewer->run(); return0; }mymap.earth是一个earth文件,earth其实是文本格式的文件内容如下world.tif其中world.tif使用的是相对路径
6、ewer>viewer=newosgViewer::Viewer(); osg::ref_ptrroot=newosg::Group(); osg::ref_ptrnode=osgDB::readNodeFile("mymap.earth"); root->addChild(node.get()); osgUtil::Optimizeroptimizer; optimizer.optimize(root.get()); viewer->setSceneData(root.ge
7、t()); viewer->realize(); viewer->run(); return0; }mymap.earth是一个earth文件,earth其实是文本格式的文件内容如下world.tif其中world.tif使用的是相对路径
此文档下载收益归作者所有