logo资料库

osgEarth入门教程.pdf

第1页 / 共59页
第2页 / 共59页
第3页 / 共59页
第4页 / 共59页
第5页 / 共59页
第6页 / 共59页
第7页 / 共59页
第8页 / 共59页
资料共59页,剩余部分请下载后查看
1、OSGEARTH 安装
1.1、获取源码
1.2、准备工作
1.3、编译osgEarth
1.4、测试
2、建立地图
2.1地图文件元素索引
2.1.1.简单图像文件
2.1.2.多重图像层
2.2高程数据
3、.Earth文件索引
4、Driver
4.1图像/高程图层驱动器
4.2模型驱动Model Drivers
4.2.1.Feature Geometry model driver
4.2.2.Feature Stencil model driver特征模板模型驱动
4.2.3 Simple 模型驱动
4.3特征驱动Feature Drivers
4.4缓存驱动Cache Drivers
4.4.1 TMS
4.4.2 sqlite3
4.5地形引擎驱动Terrain Engine Drivers
5、处理数据源
5.1 Build tile imagery建立平铺图像
5.2生成平铺化的数据集
6、Caching
6.1一般注意事项
7、Osgearth开发指南(版本2.x)
7.1地图
7.1.2加载一张地图
7.1.3编程方式创建地图
7.2公共库
7.3 Shader Composition
8、Geospatial Data Sources地理空间数据源
8.1 Imagery
8.2 高程数据Elevation data
1、OSGEARTH 安装 OsgEarth 是一个跨平台的库,可以使用版本号为 2.6.2 或更新版本的 Cmake 对其进行编译。 1.1、获取源码 三个方法可以获取 osgearth 源码: Option1:使用 GIT osgEarth 源码托管于 GitHub,所以我们需要一个 Git 客户端。Windows 下推 荐 TortoiseGit,SVN 小乌龟的 Git 版本。 评价:该有的功能基本都有了,还是不错的。 备注: GitHub 是一个为那些使用 Git 版本控制系统的项目提供基于互联网的存取服 务的 Git 存取站点。它是由 GItHub 公司(先前被称作用 Logical Awesome)的开 发者 Chris Wanstrath, PJ Hyett, 和 Tom Preston-Werner 使用 Ruby on Rails 写成的。 最新版本是 Version 2.0,osgearth_2.0_T2011-02-24。 Option2: 下载 tarball 1
tarball 是 linux 下最方便的 打包工具,是以 tar 这个指令来 打包与压缩 的档案。 下载页面: http://github.com/gwaldron/osgearth/downloads Option3:使用版本控制 SVN 在您的 SVN 客户端上键入:http://svn.github.com/gwaldron/osgearth.git 1.2、准备工作 osgEarth 需要第三方支持库才能编译。 所需的依赖服务如下:  OpenSceneGraph 2.8 或更新的  GDAL 1.6 或更新的,Geospatial Data Abstraction Layer 的缩写。是一个 在 X/MIT 许可协议下的开源栅格空间数据转换库  CURL- HTTP transfer library,是一个利 用 URL 语法在 命令行方式下工 作的文件传输 工具。 可选依赖如下 (没有他们, osgEarth 可以运 行,但将会失去一些功能 ):  GEOS3.2.0 或 更高版本-C++拓 展库, 这个库是用来 osgEarthFeatures 模 块执行各种几何处理操作,如缓冲和交集 。如果您计划显示矢量/功能 osgEarth 数据,就需要这个依赖。  SQLite3.6 或更高版本-嵌入式关系数据库引擎。是一款轻型的数据库,遵 守 ACID 的关联式数据库管理系统。  LibZIP-读取,创建和修改 ZIP 的 C 库。OsgEarth 有一个实验性的压缩文 件需要用到这个库。 2
1.3、编译 osgEarth OsgEarth 使用 Cmake 生成系统,版本可以 说 2.6.2 或更新的。 备注:  对于可选依赖 (像 GEOS),您可以 舍弃或者不选。  只要输 入 OSG_DIR 值,在 Cmake 中生成,Cmake 将会自动找到其他 OSG 的文件夹。  保 证“DYNAMIC_OSGEARTH”标识是“ON”的,建立 osgEarth 这种静态库还 没有在所有平台上都能顺利完成的。  有时 Cmake 可能无法运行 osgversion,在大多数情况下,您可以放心的忽略 这个问题。 3
1.4、测试 在命令行输入:osgviewer sample.earth 进行简单测试 Sample.earth 基本故障:  最普遍的问题是共享库的路径配置问题 路径应包括: OSG 和 osgEarth 库 其他 osgEarth 所依赖的工具 OSG 的第三方支持(特别是 zlib 和 libpng)  如果提示丢失 CURL plugin: 由于在 OSGCMake 配置管理时,CURL 是可选的。确定你启用并已经生成 了 CURL。  GDAL 驱动无法正常工作 确定你的 PATH 包含了 GDAL 共享库 设置环境变量 GDAL_DATA 指向包含了 GDAL’s.csv 文件的文件夹 4
2、建立地图 (即:如何用以.earth 为后缀的 XML 文件定义自己的地图) osgEarth 使用一个基于 XML 的文件格式,被称为 Earth File 的文件来说 明数据是怎样加载进 OSG 的。当您创建一个 Earth File 时,对可用的功能想详 细了解,请参阅“Earth File 元素索引”。 Earth File 的核心作用是指明以下 3 点:  你创建的地图类型(geocentric 或 projected)  可使用的图像、三面图 elevation、矢量和模型数据  你的数据缓存在哪里 这是 Earth File 文件库,包含大量 Earth files 并告诉你如何使用它们: https://github.com/gwaldron/osgearth/tree/master/tests/ 5
2.1 地图文件元素索引 2.1.1.简单图像文件 这是一个很简单的例子,从 WMS 服务器读取数据,并渲染在一个圆形地球 的三维模型上。 /data/world.tif 这个文件建立了一个地图“MyMap”,geocentric 类型,GeoTIFF 图片源 名称是“bluemarble”(GeoTiff 是包含地理信息的一种 Tiff 格式的文件)。驱 动 driver 属性告诉 osgearth 哪个驱动去加载这些图片,所有子元素针对特定 的驱动。 2.1.2.多重图像层 osgEarth 支持有多个图像源的地图。这允许你创建的地图时,在基础层上 覆盖高分辨率的插图,当然了基础图层是一个较低分辨率的底图。要添加多个图 像到 Earth File,只需添加多个“image”元素到你的 Earth file。 6
c:/data/bluemarble.tif c:/data/dc_high_res.tif 上述地图使用本地数据源(使用 GDAL 插件)提供的两个图像。osgEarth 使用各种方法来渲染图像层,所以可以渲染多少图像层的限制取决于您的硬件。 顺序是很重要的,定义多个图像源时,它们在该 earth 文件中指定的顺序是从 在底部到顶部的。 7
2.2 高程数据 添加高程数据到地球的文件与添加图像非常相似。高程数据可以通过将高程 元素加入到 XML 从而添加到地球文件中去。 c:/data/bluemarble.tif c:/data/SRTM.tif 这个 earth file 有基础层 image:bluemarble,以及一个从本地加载 的 GEOTIFF 文件作为高程网格。Earth 文件可以添加任意的高程数据,他们将通 过 osgEarth 结合在一起 。图像,顺序是很重要的高程数据以及的 。例如,如 果你有一个基地海拔的数据源,低分辨率覆盖整个世界和一个高分辨率的科罗拉 多州丹佛市的插图,您将指定的基础数据的第一, 高分辨率数据。 多数驱动在 osgEarth 支持阅读 heightfields 以及图像。但是,重要的是 要注意,只有 16 位和 32 位数据源可以作为 heightfield 数据源使用。 8
分享到:
收藏