GIS內核-影像數據創建金字塔示例

void CPyramidThread(const char* strFile)
{

      GsFileGeoDatabaseFactoryPtr fcsFac = new GsFileGeoDatabaseFactory();
      GsGeoDatabaseFactoryPtr fac = fcsFac;
      GsConnectProperty cp;
      cp.DataSourceType = GsDataSourceType::eFile;

      GsString str = strFile;
      GsFile vmpFile(str.c_str());
      GsDir  dir=vmpFile.Parent();
      cp.Server = dir.FullPath();
      if(vmpFile.Exists())
      {
        GsGeoDatabasePtr db = fac->Open(cp);
        GsRasterClassPtr pRaster = db->OpenRasterClass(vmpFile.Name().c_str());
        pRaster->OnProgress.Add(this,&CPyramidThread::OnProgress);
        pRaster->CreatePyramid(eNearestNeighbour,4);
      }

  }

}


bool OnProgress(const char *str, double dblProgress)
{
    double iprogress=dblProgress*100;
    const char* caption=str;
    qDebug("***********start********************");
    qDebug("current progress is :%f",iprogress);
    qDebug("current caption is :%s",caption);
    return true;
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章