osgEarth如何加载离线谷歌卫星地图瓦片的源码教程.docx

上传人:b****0 文档编号:8999373 上传时间:2023-05-16 格式:DOCX 页数:15 大小:6.22MB
下载 相关 举报
osgEarth如何加载离线谷歌卫星地图瓦片的源码教程.docx_第1页
第1页 / 共15页
osgEarth如何加载离线谷歌卫星地图瓦片的源码教程.docx_第2页
第2页 / 共15页
osgEarth如何加载离线谷歌卫星地图瓦片的源码教程.docx_第3页
第3页 / 共15页
osgEarth如何加载离线谷歌卫星地图瓦片的源码教程.docx_第4页
第4页 / 共15页
osgEarth如何加载离线谷歌卫星地图瓦片的源码教程.docx_第5页
第5页 / 共15页
osgEarth如何加载离线谷歌卫星地图瓦片的源码教程.docx_第6页
第6页 / 共15页
osgEarth如何加载离线谷歌卫星地图瓦片的源码教程.docx_第7页
第7页 / 共15页
osgEarth如何加载离线谷歌卫星地图瓦片的源码教程.docx_第8页
第8页 / 共15页
osgEarth如何加载离线谷歌卫星地图瓦片的源码教程.docx_第9页
第9页 / 共15页
osgEarth如何加载离线谷歌卫星地图瓦片的源码教程.docx_第10页
第10页 / 共15页
osgEarth如何加载离线谷歌卫星地图瓦片的源码教程.docx_第11页
第11页 / 共15页
osgEarth如何加载离线谷歌卫星地图瓦片的源码教程.docx_第12页
第12页 / 共15页
osgEarth如何加载离线谷歌卫星地图瓦片的源码教程.docx_第13页
第13页 / 共15页
osgEarth如何加载离线谷歌卫星地图瓦片的源码教程.docx_第14页
第14页 / 共15页
osgEarth如何加载离线谷歌卫星地图瓦片的源码教程.docx_第15页
第15页 / 共15页
亲,该文档总共15页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

osgEarth如何加载离线谷歌卫星地图瓦片的源码教程.docx

《osgEarth如何加载离线谷歌卫星地图瓦片的源码教程.docx》由会员分享,可在线阅读,更多相关《osgEarth如何加载离线谷歌卫星地图瓦片的源码教程.docx(15页珍藏版)》请在冰点文库上搜索。

osgEarth如何加载离线谷歌卫星地图瓦片的源码教程.docx

osgEarth如何加载离线谷歌卫星地图瓦片的源码教程

osgEarth如何加载离线谷歌卫星地图瓦片的源码教程

说明

本实例演示重新编译bing驱动直接加载本地离线影像瓦片地图。

本实例使用软件版本:

和VC10编译环境(参考osgearth加载谷歌卫星地图的源码案例),vs2010,水经注万能地图下载器。

影像瓦片来源“水经注万能地图下载器”。

如果没有安装本软件,可以XX“水经注软件”到官方网站下载。

一、下载瓦片数据

启动水经注万能地图下载器,点击“我的下载”,选择“新建任务”,弹出“选择地图类型”对话框,选择相应的地图类型,点击“确认”,如下图。

弹出“新建任务”对话框

输入全球坐标,由于我们需要导出瓦片数据,为了增加缩放效果,这里我们从1级到8级都勾选上。

选择好级别后,点击开始下载。

下载完成后会弹出对话框询问是否要立即导出,选择“是”,然后显示“导出图片数据”对话框,如下图所示。

在该对话框中,选择导出“瓦片:

BingMap”,导出级别“1-8”,选择保存路径,点击“输出”按钮导出数据即可。

二、重新编译Bing驱动

新建“osgdb_osgearth_bingd”动态库项目,如下图所示。

 

点击“确定”,弹出“应用程序向导”,如下图所示。

点击下一步

选择程序类型“DLL”,点击“完成”。

添加“包含目录”和“库目录”

包含目录设置为“D:

\OSG\include”

库目录设置为“D:

\OSG\lib“

以上目录路径根据OSG文件位置设定。

 

附加依赖项

 

点击“确定“。

根据D:

\OSG\src\\osgearth_gitgui\src\osgEarthDrivers\bing路径找到Bing驱动源代码,如下图所示。

中的代码复制粘贴到,刚刚新建的中

如下图所示。

下一步改写代码

#include"BingOptions"改成#include"osgEarthDrivers/bing/BingOptions"

_debugDirect(false)默认为false改成_debugDirect(true)

找到getDirectURI()将内容替换成:

returnstringify()<<"D:

/Test/tt3Bing"<

新建

td:

:

stringgetLodKey(constTileKey&key)

{

unsignedintlod=()+2;

std:

:

stringstreamsLod;

if(lod<10)

sLod<<"/L0"<

if(lod>=10)

sLod<<"/L"<

目Debug中查看到

文件。

拷贝到OSG的bin目录下,替换掉之前的dll文件。

三、新建osgearth应用程序

新建步奏跟新建动态库类似,只是不再选择“DLL“,选择“控制台应用程序“

设置“包含目录“,”库目录“,”依赖项“跟DLL设置一样。

这里新建了一个名为“osgearthAPI“的控制台应用程序。

代码如下

#include""

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

int_tmain(intargc,_TCHAR*argv[])

{

osgEarth:

:

Map*map=newosgEarth:

:

Map();

osg:

:

ref_ptr

:

Viewer>viewer=newosgViewer:

:

Viewer();

osg:

:

Group*root=newosg:

:

Group;

osg:

:

Node*tankNode=NULL;

osg:

:

Vec3tankPosit;

//osgEarth:

:

Drivers:

:

GDALOptionsgdal;

osgEarth:

:

Drivers:

:

BingOptionsbing;

//()="D:

/Documents/VisualStudio2010/Projects/test3/test3/data/";

//map->addImageLayer(newosgEarth:

:

ImageLayer("xx",gdal));

map->addImageLayer(newosgEarth:

:

ImageLayer("xx",bing));

osgEarth:

:

MapNode*mapNode=newosgEarth:

:

MapNode(map);

viewer->setSceneData(mapNode);

viewer->realize();

returnviewer->run();

}

启动程序,运行效果如下图所示。

 

至此,Osgearth加载本地离线影像瓦片地图案例完成。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2