查看: 4287|回复: 2

osgearth中tif

[复制链接]

该用户从未签到

发表于 2010-11-26 17:44:36 | 显示全部楼层 |阅读模式
问的属于入门的问题~请不吝指教
请教下编辑mymap.earth文件

  1. <map name="MyMap" type="geocentric" version="2">
  2.     <image name="bluemarble" driver="gdal">
  3.         <url>d:/world.tif</url>
  4.     </image>
  5. </map>
复制代码

直接在程序中读取(或者用osgviewer运行)怎么只有空白的球~~

按照自带的例子运行
  1. // Start by creating the map:
  2. Map* map = new Map();

  3. // Start with a basemap imagery layer; we'll be using the GDAL driver
  4. // to load a local GeoTIFF file:
  5. GDALOptions basemapOpt;
  6. //basemapOpt.url() = "d:/earthdata/data/world.tif";
  7. basemapOpt.url() = "d:/world.tif";
  8. //map->addImageLayer( new ImageLayer( ImageLayerOptions("basemap", basemapOpt) ) );
  9. map->addImageLayer( new ImageLayer( "basemap", basemapOpt) );

  10. // Next we add a feature layer. First configure a feature driver to
  11. // load the vectors from a shapefile:
  12. OGRFeatureOptions featureOpt;
  13. featureOpt.url() = "d:/earthdata/data/world.shp";
  14. //featureOpt.da

  15. // Define a style for the feature data. Since we are going to render the
  16. // vectors as lines, configure the line symbolizer:
  17. Style* style = new Style;

  18. LineSymbol* ls = new LineSymbol;
  19. ls->stroke()->color() = osg::Vec4f( 1,1,0,1 );
  20. ls->stroke()->width() = 1.5f;
  21. style->addSymbol(ls);

  22. // Now we'll choose the AGG-Lite driver to render the features. By the way, the
  23. // feature data is actually polygons, so we override that to treat it as lines.
  24. // We apply the feature driver and set the style as well.
  25. AGGLiteOptions worldOpt;
  26. worldOpt.featureOptions() = featureOpt;
  27. worldOpt.geometryTypeOverride() = Geometry::TYPE_LINESTRING;
  28. worldOpt.styles()->addStyle( style );
  29. map->addImageLayer( new ImageLayer( ImageLayerOptions("world", worldOpt) ) );


  30. // That's it, the map is ready; now create a MapNode to render the Map:
  31. MapNode* mapNode = new MapNode( map );

  32. viewer.setSceneData( mapNode );
复制代码

可以显示world.tif的贴图,但不能显示shp文件,请问是什么原因~
另外
如果只显示tif贴图
如下这样为什么不行啊~~用的是osgearth2.0~
  1. Map* map = new Map();

  2. // Start with a basemap imagery layer; we'll be using the GDAL driver
  3. // to load a local GeoTIFF file:
  4. GDALOptions basemapOpt;
  5. //basemapOpt.url() = "d:/earthdata/data/world.tif";
  6. basemapOpt.url() = "d:/world.tif";
  7. //map->addImageLayer( new ImageLayer( ImageLayerOptions("basemap", basemapOpt) ) );
  8. map->addImageLayer( new ImageLayer( "basemap", basemapOpt) );
  9. MapNode* mapNode = new MapNode( map );

  10. viewer.setSceneData( mapNode );
复制代码

该用户从未签到

发表于 2011-1-19 11:24:23 | 显示全部楼层
我也有这个问题。但我仿照clouds.earth的写法,前面加了一些选项,就可以了。clouds.earth是在原地球上面建了一个稍大一点的椭球体。

具体为什么是这样,还没有仔细研究。

该用户从未签到

发表于 2011-1-19 11:24:47 | 显示全部楼层
我也有这个问题。但我仿照clouds.earth的写法,前面加了一些选项,就可以了。clouds.earth是在原地球上面建了一个稍大一点的椭球体。

具体为什么是这样,还没有仔细研究。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

OSG中国官方论坛-有您OSG在中国才更好

网站简介:osgChina是国内首个三维相关技术开源社区,旨在为国内更多的技术开发人员提供最前沿的技术资讯,为更多的三维从业者提供一个学习、交流的技术平台。

联系我们

  • 工作时间:09:00--18:00
  • 反馈邮箱:1315785073@qq.com
快速回复 返回顶部 返回列表