查看: 2750|回复: 4

请教一个osgEearh中的问题,谢谢指点!!

[复制链接]

该用户从未签到

发表于 2010-11-10 21:53:49 | 显示全部楼层 |阅读模式
本帖最后由 warding 于 2010-11-11 09:22 编辑

可能是小问题,但对我来说是大问题。。。尴尬
我编译osgEarth完成,没有提示错误
运行自带的例子
其中osgearth_features.exe运行只有蓝色背景
控制台提示错误(部分):
/////////////////////////////////////////////////////////////////////////////
ERROR 4: `..\data\world.tif' does not exist in the file system,
and is not recognised as a supported dataset name.
[osgEarth]* GDAL: Failed to open dataset ..\data\world.tif
[osgEarth]  Could not initialize TileSource for layer basemap
ERROR 4: `..\data\world.tif' does not exist in the file system,
and is not recognised as a supported dataset name.
[osgEarth]* GDAL: Failed to open dataset ..\data\world.tif
[osgEarth]  Could not initialize TileSource for layer basemap
[osgEarth]* Could not get a valid profile for Layer basemap
[osgEarth]* OGR: failed to open dataset at ../data/world.shp
[osgEarth]  [osgEarth::MapEngine] Could not create any imagery or heightfields f
or 1_0_0.  Not building tile
ERROR 4: `..\data\world.tif' does not exist in the file system,
and is not recognised as a supported dataset name.
////////////////////////////////////////////////////////////////////////////////////////

我以为是路径问题,把例子单独跟踪运行了一下
其中

  1. #include <osgEarthDrivers/gdal/GDALOptions>
  2. #include <osgEarthDrivers/feature_ogr/OGRFeatureOptions>
  3. #include <osgEarthDrivers/agglite/AGGLiteOptions>
  4. using namespace osgEarth;
  5. using namespace osgEarth::Features;
  6. using namespace osgEarth:rivers;
  7. using namespace osgEarth::Symbology;
  8. using namespace osgEarthUtil;
  9. //
  10. // NOTE: run this sample from the repo/tests directory.
  11. //
  12. int main(int argc, char** argv)
  13. {
  14.     osg::ArgumentParser arguments(&argc,argv);
  15.     osgViewer::Viewer viewer(arguments);
  16.     // Start by creating the map:
  17.     Map* map = new Map();
  18.     // Start with a basemap imagery layer; we'll be using the GDAL driver
  19.     // to load a local GeoTIFF file:
  20.     GDALOptions* basemapOpt = new GDALOptions();
  21.     basemapOpt->url() = "../data/world.tif";
  22.     map->addMapLayer( new ImageMapLayer( "basemap", basemapOpt ) );
  23.     // Next we add a feature layer. First configure a feature driver to
  24.     // load the vectors from a shapefile:
  25.     OGRFeatureOptions* featureOpt = new OGRFeatureOptions();
  26.     featureOpt->url() = "../data/world.shp";
  27. .................
  28. }

复制代码
跟踪到GDALOptions* basemapOpt = new GDALOptions();出问题

  1.         GDALOptions( const PluginOptions* opt =0L ) : TileSourceOptions( opt ),
  2.             _interpolation( INTERP_AVERAGE )
  3.         {
  4.             driver() = "gdal";
  5.             config().getIfSet( "url", _url );
  6.             config().getIfSet( "extensions", _extensions );
  7.             std::string in = config().value( "interpolation" );
  8.             if ( in == "nearest" ) _interpolation = osgEarth::INTERP_NEAREST;
  9.             else if ( in == "average" ) _interpolation = osgEarth::INTERP_AVERAGE;
  10.             else if ( in == "bilinear" ) _interpolation = osgEarth::INTERP_BILINEAR;
  11.             config().getIfSet( "max_data_level", _maxDataLevel);
  12.         }
复制代码
第一句driver() = "gdal";就出错~~
不管怎么解决,感谢您看完了。。见笑

该用户从未签到

发表于 2010-11-11 08:29:32 | 显示全部楼层
ERROR 4: `..\data\world.tif' does not exist in the file system
从第一行看来,很明显就是路径错误

该用户从未签到

 楼主| 发表于 2010-11-11 09:27:14 | 显示全部楼层
2# array
感谢array的回复
出错的代码位置在设置路径的语句之前。
可能确实也存在路径不对的问题,但我修改过路径,仍然出同样的错!
跟踪运行到

LeadUp1:
        and     edx,ecx         ;U - trailing byte count
        mov     al,[esi]        ;V - get first byte from source
        mov     [edi],al        ;U - write second byte to destination
        mov     al,[esi+1]      ;V - get second byte from source
        mov     [edi+1],al      ;U - write second byte to destination
        mov     al,[esi+2]      ;V - get third byte from source

弹出
Unhandled exception at 0x0049edac (msvcr90d.dll) in earth.exe: 0xC0000005: Access violation writing location 0xcdcdcdcd.
信息框

该用户从未签到

发表于 2010-11-11 11:58:28 | 显示全部楼层
我认为您在跟踪代码之前,应该首先解决找不到tif文件这个问题

该用户从未签到

 楼主| 发表于 2010-11-11 12:52:18 | 显示全部楼层
谢谢array
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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