zoukankan      html  css  js  c++  java
  • VPB和OSGGIS安装

    VPB和OSGGIS安装

    转自:http://blog.sina.com.cn/s/blog_668aae780101k6pr.html

    第一部分VPB安装

    VirtualPlanetBuilder是一种地形数据库创造工具,是能够阅读各种地理图像和高程数据并建立小面积地形数据库,乃至大规模如整个地球的庞大数据库。这些数据库可以上传到互联网,并能够提供像在线googleEarth一样的风格漫游整个地球的数据库,或保持对本地磁盘高速接入等所需的专业飞行模拟器。前面所讲的VirtualPlanetBuilder建立的数据库,如果要运行该数据库产生一个可视化场景,那么你将需要一个基于OSG的应用程序。其实VPB本身是一个基于OSG实时图形工具箱,它可以创建基于OSG的二进制的最高效率的数据库。

    1.准备工作

    l  Vpb获取

    不同版本vpb与osg对应关系

      

    最新版:

    Svn: checkout http://www.openscenegraph.org/svn/VirtualPlanetBuilder/trunk VirtualPlanetBuilder

    Vpb-0.9.11:

    osg安装版本是osg 2.9.5所以我们去下载Vpb-0.9.11:

    Svn:http://www.openscenegraph.org/svn/VirtualPlanetBuilder/tags/VirtualPlanetBuilder-0.9.11/ VirtualPlanetBuilder

    l  Vpb安装需要插件下载

    GDAL和Libsquish:

    http://www.openscenegraph.org/projects/VirtualPlanetBuilder/wiki/Dependencies

     

    2.vpb编译

    GDAL编译由于在安装osgearth时已经说明,不再累赘,网上也有编译好的gdal包供下载。

    Libsquish编译也是很简单的,直接编译就可以了。

    Vpb编译:

    假设前提OSG的路径是D:/OSG/OpenSceneGrap

    VirtualPlanetBuilder-0.9.11中的CMakeLists.txt拖动到Cmake上,进行如下配置:

      

      

    点击 configue 配置后,再生成即可。

    vs2008打开VIRTUALPLANETBUILDER.sln直接编译。

    编译完成后将D:OSGVirtualPlanetBuilder-0.9.11libRelease里的文件拷贝到

    D:OSGVirtualPlanetBuilder-0.9.11inRelease下。

    D:OSGVirtualPlanetBuilder-0.9.11in环境变量中,整个过程完成。

    编译教训:版本一定要匹配。

      

    3.测试

     1.Osgdem运行例子所需数据下载地址:

     http://www.cc.gatech.edu/projects/large_models/ps.html

    Download Elevation Map: 16385 × 16385 PNG: 188MB 
    Download Texture Map: 16384 × 16384 PNG: 268MB

    2.GDAL对高程数据和影像数据格式化处理:

    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

    3.使用osgdem命令生成模型文件

    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
    

    参考网站:

    http://www.openscenegraph.org/projects/osg/wiki/Support/UserGuides/osgdem

      

    第二部分 OSGGIS安装

    OSGGIS是OSG的一个分支,专注于GIS的应用。目前虽然还比较简单,但已经将很多基础的GIS理论与OSG进行的比较好的结合

     

    官网:http://wush.net/trac/osggis/wiki

     

    OSGGIS的项目目的是:使在OSG中更容易的访问、显示、查询GIS矢量数据。
    OSGGIS的实现目标:是为了减少将GIS集成在OSG中所遇到的各类主要问题的复杂度。

    1.   读取各类GIS数据

    2.   处理地图投影

    3.   访问GIS数据属性

    4.   在地形模型上显示矢量数据

    5.   管理大规模地物的几何体

    安装

    1.通过svn获取OSGGIS

    https://wush.net/svn/osggis/trunk

    2. 下载所依赖的第三方库gdal,lua,tolua,expat

    下载链接:http://wush.net/trac/osggis/wiki/Downloads

    a)         GDAL可选择gdal-1.8.0

    b)         Lua编译:最新版是lua-5.2(beta),我们选择稳定的lua-5.1.4

    lua的项目默认是用在linux上用bjam编译的。如果要在windows上编译, 
    vs的命令行进入lua根目录,执行“etcluavs.bat”即可,执行成功后会在src目录下生成以下四个文件:
    lua.exeluac.exe、lua51.lib、lua51.dll

    把头文件都放到include文件夹下,把lib文件都放到lib文件夹下。

    c)     Tolua编译

    vs建立一个不带编译头的win32的项目,把tolua源码文件夹下的srclib的所有.c和.h添加到项目中来。(其原因可以参考tolua源码文件夹下的INSTALL文件,该文件可用写字板打开)。最后生成lib文件。tolua源码文件夹下的srcin下的.c和.h编译生成exe文件。

    d)    Expat下载链接:http://sourceforge.net/projects/expat/

    e)    官网提供一个预编译的第三方库:

    http://osggis.org/downloads/osggis_3rdparty_win32_vs8.zip

    还推荐了一个包好多个插件的工具FWTools:

    包含的子包有OpenEV、MapServer、GDAL/OGR、PROJ.4、OGDI、Python

    下载链接:http://fwtools.maptools.org/

    f)     OSGGIS数据示例:
    美国波士顿地区地形数据:http://osggis.org/downloads/boston-sample.zip
    (需要使用OSGDEM生成)

     

    安装:

    D:OSGOSGGIS下的CMakeLists.txt拖动到Cmake上,添加:

    OSG_DIR        (PATH)         D:/OSG/OpenSceneGraph

    configure一次,进行相应配置如下:

     

     

    配置完成后生成项目解决方案,用VS打开编译即可(Debug和Release两个版本)。

    运行D:OSGOSGGISin下的exe文件,缺什么.dll和.lib到D:OSGOSGGIS下搜索拷贝到bin文件夹下即可(gdal18.dll在GDAL编译包里有)。

     

     

    注:(vs2010出现link2005处理办法:在项目属性链接器上加上:/FORCE:MULTIPLE即可)

     

  • 相关阅读:
    Java实现 LeetCode 735 行星碰撞(栈)
    Java实现 LeetCode 735 行星碰撞(栈)
    Java实现 LeetCode 887 鸡蛋掉落(动态规划,谷歌面试题,蓝桥杯真题)
    Java实现 LeetCode 887 鸡蛋掉落(动态规划,谷歌面试题,蓝桥杯真题)
    Java实现 LeetCode 887 鸡蛋掉落(动态规划,谷歌面试题,蓝桥杯真题)
    Java实现 蓝桥杯算法提高 求最大值
    Java实现 蓝桥杯算法提高 求最大值
    Java实现 蓝桥杯算法提高 求最大值
    Python eval() 函数
    Python repr() 函数
  • 原文地址:https://www.cnblogs.com/flylong0204/p/4700990.html
Copyright © 2011-2022 走看看