加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

[翻译]osgdem傻瓜指南

(2013-03-26 17:07:50)
标签:

osg

osgdem

vpb

大地形制作

it

osgDem 

By FreeSouth 

osgDem是一个实用程序,它可以使OSG实时的渲染卫星图像、数字高程图且产生高压缩比的数据资料文件。下面将来讲解如何使用这一应用程序,列出一系列可供选择的操作: 

傻瓜入门指南 
下面的步骤包含如何获得并且编译过osgTerrain/osgdem和一个使用其处理图像和DEM去产生一个数据页的例子: 
1.下载,编译&安装GDAL(http://www.gdal.org/
set GDAL_INSTALL = true 
export OSG_DEPENDENCIES=/home/billgates/my_osg_dependencies 


2.作为UNIX用户,首先把Make/dependencies拷一份并且改变GDAL_INSTALL值为真: 

set GDAL_INSTALL = true 
随后通过改变OSG_DEPENDENCIES其值为你文件夹的绝对路径告诉构建者使用你自己定义的依赖: 
export OSG_DEPENDENCIES=/home/billgates/my_osg_dependencies 

3.重建OSG&安装(如果你还没有的话) 

4.确保你有至少两个G的硬盘空间,因为后面你将需要它。 

5.下载一些数据,在这个例子中我们使用Puget Sound data,在: 

http://www.cc.gatech.edu/projects/large_models/ps.html 
Download Elevation Map: 16385 × 16385 PNG: 188MB 
Download Texture Map: 16384 × 16384 PNG: 268MB 
(真要人的命:译者注) 


为了避免在处理数据时数据混淆,我使用GDAL应用程序去产生视图(基本上解析的图文件都是.tiff格式)通过: 

gdal_translate ps_height_16k.png ps_height_16k.tif 
gdaladdo -r average ps_height_16k.tif 2 4 8 16 32 

gdal_translate ps_texture_16k.png ps_texture_16k.tif 
gdaladdo -r average ps_texture_16k.tif 2 4 8 16 32 


7.现在是时间来产生你的PagedLOD数据页了,分的级数越多将会越耗费时间(指数级的),osgdem恰恰在前后都使用了osgTerrain:http://club.lon3d.com/static/image/smiley/default/biggrin.gifataSet,这是实打实的硬活。命令行如下: 
osgdem --xx 10 --yy 10 -t ps_texture_16k.tif \ 
--xx 10 --yy 10 -d ps_height_16k.tif \ 
-l 8 -v 0.1 -o puget.ive -a pegout.osga 
然后出去吃罢中午饭,下午饭最好再来杯咖啡(译者注:在编译OSG源文件时仅仅建议我们去喝杯咖啡,可见此活需要时间之长,任务量之大)因为这个将会占用一点点的时间,或许你正后悔时间流逝,于是乎可以使用-l操作来设置一个低点的级别,比如3 
上面所用到的命令行操作意思是: 
前面的一行--xx和—yy是指明每个象素所包含的图形大小,单位是米,因为这些png/tif不包含任何的地理空间数据(geospatial data),如果你有地理空间数据的文件,则不需要此步骤。 


第二部分 –t是指明使用的纹理图,你可以根据自己的爱好使用很多次,osgTerrain:http://club.lon3d.com/static/image/smiley/default/biggrin.gifataSet将会把其解析成一个数据页。 



第三部分-d 是指明要会用的数字高程图,同样可以根据心情来使用任意的次数。 


-l操作指明产生数据页的最大级数,如果你使用一个比数据页产生的更大的级别的话,产生时其将会核对源文件是否与产生数据页相符,数据页产生器将会因地制宜。 

The -v option specifies the scaling factor which the height is multiplied by. 
-v操作指明比例因子,计算高度时会需要的。 
-o指明所产生的数据页输出路径名,这将会是你打开文件的第一个,相当于启动文件,后缀名可以是.ive或是.osg,.ive会更快且内嵌很多文件。 


最后使用-a告诉osgdem把所有这些文件都写入到一个档案文件中,由于这是一个OSG的档案格式文件(译者注:osg archive),故而使用.osga做为其扩展名。使用一个档案文件的好处是易于管理,这将会节省大量的时间,看之美观,用之易用。 

8.关键时间。现在来在程序中来取数据页了,如果你使用基于osgViewer::Viewer或是CompositeViewer的OSG程序,做这件事简直如拾草芥,所有的数据页支持都已经在内部做好,可以通过下面这条貌似不起眼的命令来Hi一下: 
osgviewer pegout.osga 

9.如果说你的图像或是DEM文件有高程数据与之关联,那么就用不着先前说的那个--x,--y -v操作了,简单的说,只需要通过类似于-t image.tif和-d terran.dt0的操作就可以了,也不用怎么设置坐标系。 

10.osgdem可以自己控制动态过渡(译者注:往往看着貌似有马赛克样的效果),这些可以通过下面的操作来指定: -t 和 -d 或者 -t 和 -d 
  
osgdem 操作 
下面是osgdem的所有操作,可以通过下面的命令来查看: 
osgdem --help 

你将会看到: 

osgdem --help 
Usage: osgdem [options] filename ... 
Options: 
--HEIGHT_FIELD 创建高程数据 
--LOD 创建LOD数据 
--POLYGONAL 创建高程数据field database 
--PagedLOD 创建LOD数据页 
--RGB-16 16位图像 
--RGB-24 24位图像 
--comment 往顶部点炮的文件加一个注释描述什么的 
--compressed 使用OpenGL压缩图像 
--cs 设置坐标系统(译者注:关于坐标系统,最后有述),字串必须格式正确(GDAL/OGR forms, complete WKT, PROJ.4,EPS) 

--max-anisotropy 定义纹理显示级别,默认为1.0 
--max-visible-distance-of-top-level 设置最大视距 
--mip-mapping-hardware 使用mipmaps,保证有相应数据在指定位置上。 
--mip-mapping-imagery 使用mipmaps,且在图像中产生mipmaps . 
--no-mip-mapping 不对纹理使用mipmaps. 
--radius-to-max-visible-distance-ratio 设置最大的可视距离比率。 
--skirt-ratio 设置边缘比率 
--tile-image-size 设置单片图片大小 
--tile-terrain-size 设置单片地形大小 
--wkt 为图或是dem设置坐标的系统(in WellKownText form.) 
--wkt-file 用文件来完成上面的操作 
-d 指明要处理的高程图 
-e 产生的模型尺寸范围 
-h or --help 演示帮助信息 
-l 设置LOD等级 
-m 设置要处理的模型文件 
-o 设置输出的模型文件 
-t 指明要处理的纹理文件 
-v 设置垂直增率 
  
坐标系统说明: 

WKT的坐标系统不是十分的难理解,但是也并不是十分的人性化。Osgdem使用GDAL中常用的PROJ4格式来指明—cs的参数,这个东西的格式还差强人意: 
例子: 
? 经度+纬度+高度的坐标系统单位度量为:osgdem ... --cs "+proj=latlong +datum=WGS84" -o ... 
? UTM坐标系统 在本例中参考值为47米: osgdem ... --cs "+proj=utm +zone=47" -o ... 
? 地心坐标系统, 起点是地心: osgdem ... --geocentric -o ... 

原文地址: 
http://www.openscenegraph.org/pr ... t/UserGuides/osgdem 

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有