osgearth如何加载离线谷歌卫星地图瓦片的源码教程_第1页
osgearth如何加载离线谷歌卫星地图瓦片的源码教程_第2页
osgearth如何加载离线谷歌卫星地图瓦片的源码教程_第3页
osgearth如何加载离线谷歌卫星地图瓦片的源码教程_第4页
osgearth如何加载离线谷歌卫星地图瓦片的源码教程_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、osgEarth如何加载离线谷歌卫星地图瓦片的源码教程说明本实例演示重新编译bing驱动直接加载本地离线影像瓦片地图。本实例使用软件版本:osg3.3.1和osgEarth2.5 VC10编译环境(参考osgearth加载谷歌卫星地图的源码案例),vs2010,水经注万能地图下载器。影像瓦片来源“水经注万能地图下载器”。如果没有安装本软件,可以百度“水经注软件”到官方网站下载。一、下载瓦片数据启动水经注万能地图下载器,点击“我的下载”,选择“新建任务”,弹出“选择地图类型” 对话框,选择相应的地图类型,点击“确认”,如下图。弹出“新建任务”对话框输入全球坐标,由于我们需要导出瓦片数据,为了增加

2、缩放效果,这里我们从1级到8级都勾选上。选择好级别后,点击开始下载。下载完成后会弹出对话框询问是否要立即导出,选择“是”,然后显示“导出图片数据”对话框,如下图所示。在该对话框中,选择导出“瓦片:Bing Map”,导出级别“1-8”,选择保存路径,点击“输出”按钮导出数据即可。二、重新编译Bing驱动新建“osgdb_osgearth_bingd” 动态库项目,如下图所示。点击“确定”,弹出“应用程序向导”,如下图所示。点击下一步选择程序类型“DLL”,点击“完成”。添加“包含目录”和“库目录”包含目录设置为“D:OSGinclude”库目录设置为“D:OSGlib“以上目录路径根据OSG文

3、件位置设定。附加依赖项OpenThreads.libosgd.libosgAnimationd.libosgDBd.libosgdb_osgearth_feature_ogrd.libosgdb_osgearth_feature_tfsd.libosgdb_osgearth_feature_wfsd.libosgEarthd.libosgEarthAnnotationd.libosgEarthFeaturesd.libosgEarthSymbologyd.libosgEarthUtild.libosgFXd.libosgGAd.libosgManipulatord.libosgParticle

4、d.libosgPresentationd.libosgShadowd.libosgSimd.libosgTerraind.libosgTextd.libosgUtild.libosgViewerd.libosgVolumed.libosgWidgetd.lib点击“确定“。根据D:OSGsrcosgearth_2.5osgearth_gitguisrcosgEarthDriversbing路径找到Bing驱动源代码,如下图所示。BingTileSource.cpp中的代码复制粘贴到,刚刚新建的osgdb_osgearth_bingd.cpp中如下图所示。下一步改写代码#include Bin

5、gOptions 改成 #include osgEarthDrivers/bing/BingOptions_debugDirect ( false) 默认为false 改成_debugDirect ( true )找到getDirectURI()将内容替换成:return stringify()D:/Test/tt3BinggetLodKey(key)/getQuadKey(key).jpg;新建td:string getLodKey(const TileKey& key)unsigned int lod = key.getLevelOfDetail()+2;std:stringstream

6、sLod;if(lod10)sLod/L0=10)sLod/Llod;/OE_WARN LC sLod: sLod.str() std:endl;return sLod.str();注意:其中“D:/Test/tt3Bing“为下载的瓦片存放路径。重新生成。生成成功后可以在osgdb_osgearth_bingd.项目Debug中查看到文件。将拷贝到OSG的bin目录下,替换掉之前的dll文件。三、新建osgearth应用程序新建步奏跟新建动态库类似,只是不再选择“DLL“,选择“控制台应用程序“设置“包含目录“,”库目录“,”依赖项“跟DLL设置一样。这里新建了一个名为“osgearthAP

7、I“的控制台应用程序。代码如下#include stdafx.h#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include int _tmain(int argc, _TCHAR* argv)osgEarth:Map* map = new osgEarth:Map

8、();osg:ref_ptr viewer=new osgViewer:Viewer();osg:Group* root = new osg:Group;osg:Node* tankNode = NULL;osg:Vec3 tankPosit;/osgEarth:Drivers:GDALOptions gdal;osgEarth:Drivers:BingOptions bing;/gdal.url()=D:/Documents/Visual Studio 2010/Projects/test3/test3/data/world.tif;/map-addImageLayer(new osgEarth:ImageLayer(xx,gdal);map-addImageLayer(new osgEarth:ImageLayer(xx,bing);osgEarth:MapNode* mapNode = new os

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论