收藏 分销(赏)

osgEarth加载谷歌卫星地图的源码案例.doc

上传人:s4****5z 文档编号:8730405 上传时间:2025-02-28 格式:DOC 页数:9 大小:2.16MB
下载 相关 举报
osgEarth加载谷歌卫星地图的源码案例.doc_第1页
第1页 / 共9页
osgEarth加载谷歌卫星地图的源码案例.doc_第2页
第2页 / 共9页
点击查看更多>>
资源描述
osgEarth加载谷歌卫星地图的源码案例 2014-12-24 11:51 242人阅读 评论(0) 收藏 举报 osgEarth谷歌卫星地图 一、准备工作 安装水经注万能地图下载器,如果没有安装本软件,可以百度“水经注软件”到官方网站下载。 编译OSG、OSGEarth和第三方插件等,这里有一个已经编译好的vs2010+osgearth,下载地址“ uk=2801833827”。 二、下载地图 首先需要把谷歌卫星地图下载下来,这里以“郫县”为例。 启动水经注万能地图下载器,点击“框选下载区域”,双击下载区域,选择级数,如下图。 image001.jpg (269.3 KB, 下载次数: 0) 下载附件  保存到相册 2014-12-23 16:01 上传 在级别列表中,你可以选择任何级别,但一般来讲城区选择19级,郊区选择16级比理想,但选择级别之前,最好在在线地图浏览中先查看所想要下载的级别是否有数据,这里我们以10级为例。选择好级别后,点击确定开始下载。 下载完成后会弹出对话框询问是否要立即导出,选择“是”,然后显示“导出图片数据”对话框,如下图所示。  在该对话框中,不需要作任何设置,点击“输出”按钮以默认参数导出数据即可。 默认导出路径为“D:\SGDownload\tt1_拼接[默认]\L10”。 三、VS2010创建应用程序 解压编译包后还不能直接使用,需要设置环境变量: OSG_ROOT        X:\OSG OSG_FILE_PATH        %OSG_ROOT%\data OSG_WINDOW        600 15 800 800 Path                %OSG_ROOT%\bin; 设置文件目录属性 Osgearth的一个主要目标是易于应用集成,实际上有2种方式去整合osgearth. 第一种方式你可以建立一个earth file,然后在你的应用程序中加载它. 第二种使用osgearth API的时候以编程方式动态建立一个地图。 这里我们使用第一种,使用OpenSceneGraph现有的插件来读写数据,不需要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.osgTextd.lib    12.osgUtild.lib    13.osgViewerd.lib 4、编写代码 #include "stdafx.h" #include <osgViewer/viewer> #include <osg/Node> #include <osg/geode> #include <osg\group> #include <osgDB/readfile> #include <osgDB/writefile> #include <osgUtil\optimizer>     int _tmain(int argc, _TCHAR* argv[])     {         osg::ref_ptr<osgViewer::Viewer> viewer=new osgViewer::Viewer();         osg::ref_ptr<osg::Group> root=new osg::Group();         osg::ref_ptr<osg::Node> node=osgDB::readNodeFile("mymap.earth");         root->addChild(node.get());         osgUtil::Optimizer optimizer;         optimizer.optimize(root.get());         viewer->setSceneData(root.get());         viewer->realize();         viewer->run();         return 0;     } mymap.earth是一个earth 文件,earth其实是文本格式的文件 内容如下 <map name="MyMap" type="geocentric" version="2"> <image name="bluemarble" driver="gdal"> <url>world.tif</url> </image> </map> 其中world.tif使用的是相对路径,也就是当前目录, 运行结果如下 在MyMap.earth中叠加我们想要的地方的高精度影像数据,代码如下 <map name="MyMap" type="geocentric" version="2">         <image name="t1" driver="gdal">                 <url>data/world.tif</url>         </image>   <image name="t2" driver="gdal">                     <url>data/tt2.tif</url>           </image> </map> 运行结果如下 放大到最大级别,如下图 至此在osgearth加载谷歌卫星地图完成。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 百科休闲 > 社会民生

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服