您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ CPLFormFilename函数代码示例

51自学网 2021-06-01 20:04:33
  C++
这篇教程C++ CPLFormFilename函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中CPLFormFilename函数的典型用法代码示例。如果您正苦于以下问题:C++ CPLFormFilename函数的具体用法?C++ CPLFormFilename怎么用?C++ CPLFormFilename使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了CPLFormFilename函数的26个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: FindBoostDataBaseFile

std::string FindBoostDataBaseFile(){    const char* pszBase = "date_time_zonespec";    const char* pszExt = "csv";    const char* pszFilename;    const char* pszNinjaPath;    const char* pszNinjaSharePath;    char pszFilePath[MAX_PATH];    CPLGetExecPath(pszFilePath, MAX_PATH);    pszNinjaPath = CPLGetPath(pszFilePath);    pszNinjaSharePath = CPLProjectRelativeFilename(pszNinjaPath,         "../share/windninja");    pszFilename = CPLFormFilename(CPLGetCurrentDir(), pszBase, pszExt);    if(CPLCheckForFile((char*)pszFilename, NULL)) {        return std::string((char*)pszFilename);    }    pszFilename = CPLFormFilename(pszNinjaPath, pszBase, pszExt);    if(CPLCheckForFile((char*)pszFilename, NULL)) {        return std::string((char*)pszFilename);    }    pszFilename = CPLFormFilename(pszNinjaSharePath, pszBase, pszExt);    if(CPLCheckForFile((char*)pszFilename, NULL)) {        return std::string((char*)pszFilename);    }    return std::string();}
开发者ID:psuliuxf,项目名称:windninja,代码行数:31,


示例2: GDALMDReaderBase

/** * GDALMDReaderOrbView() */GDALMDReaderOrbView::GDALMDReaderOrbView(const char *pszPath,        char **papszSiblingFiles) : GDALMDReaderBase(pszPath, papszSiblingFiles){    m_osIMDSourceFilename = GDALFindAssociatedFile( pszPath, "PVL",                                                    papszSiblingFiles, 0 );    const char* pszBaseName = CPLGetBasename(pszPath);    const char* pszDirName = CPLGetDirname(pszPath);    const char* pszRPBSourceFilename = CPLFormFilename( pszDirName,                                                        CPLSPrintf("%s_rpc",                                                        pszBaseName),                                                        "txt" );    if (CPLCheckForFile((char*)pszRPBSourceFilename, papszSiblingFiles))    {        m_osRPBSourceFilename = pszRPBSourceFilename;    }    else    {        pszRPBSourceFilename = CPLFormFilename( pszDirName, CPLSPrintf("%s_RPC",                                                pszBaseName), "TXT" );        if (CPLCheckForFile((char*)pszRPBSourceFilename, papszSiblingFiles))        {            m_osRPBSourceFilename = pszRPBSourceFilename;        }    }    if( m_osIMDSourceFilename.size() )        CPLDebug( "MDReaderOrbView", "IMD Filename: %s",                  m_osIMDSourceFilename.c_str() );    if( m_osRPBSourceFilename.size() )        CPLDebug( "MDReaderOrbView", "RPB Filename: %s",                  m_osRPBSourceFilename.c_str() );}
开发者ID:AbdelghaniDr,项目名称:mirror,代码行数:37,


示例3: GDALMDReaderBase

/** * GDALMDReaderRapidEye() */GDALMDReaderRapidEye::GDALMDReaderRapidEye(const char *pszPath,        char **papszSiblingFiles) : GDALMDReaderBase(pszPath, papszSiblingFiles){    const char* pszDirName = CPLGetDirname(pszPath);    const char* pszBaseName = CPLGetBasename(pszPath);    const char* pszIMDSourceFilename = CPLFormFilename( pszDirName,                                                        CPLSPrintf("%s_metadata",                                                        pszBaseName), "xml" );    if (CPLCheckForFile((char*)pszIMDSourceFilename, papszSiblingFiles))    {        m_osXMLSourceFilename = pszIMDSourceFilename;    }    else    {        pszIMDSourceFilename = CPLFormFilename( pszDirName,                                                CPLSPrintf("%s_METADATA",                                                pszBaseName), "XML" );        if (CPLCheckForFile((char*)pszIMDSourceFilename, papszSiblingFiles))        {            m_osXMLSourceFilename = pszIMDSourceFilename;        }    }    if(m_osXMLSourceFilename.size())        CPLDebug( "MDReaderRapidEye", "XML Filename: %s",              m_osXMLSourceFilename.c_str() );}
开发者ID:drownedout,项目名称:datamap,代码行数:31,


示例4: CPLGetConfigOption

CPLString GMLASConfiguration::GetBaseCacheDirectory(){#ifdef WIN32    const char* pszHome = CPLGetConfigOption("USERPROFILE", NULL);#else    const char* pszHome = CPLGetConfigOption("HOME", NULL);#endif    if( pszHome != NULL )    {        return CPLFormFilename( pszHome, ".gdal", NULL) ;    }    else    {        const char *pszDir = CPLGetConfigOption( "CPL_TMPDIR", NULL );        if( pszDir == NULL )            pszDir = CPLGetConfigOption( "TMPDIR", NULL );        if( pszDir == NULL )            pszDir = CPLGetConfigOption( "TEMP", NULL );        const char* pszUsername = CPLGetConfigOption("USERNAME", NULL);        if( pszUsername == NULL )            pszUsername = CPLGetConfigOption("USER", NULL);        if( pszDir != NULL && pszUsername != NULL )        {            return CPLFormFilename( pszDir,                    CPLSPrintf(".gdal_%s", pszUsername), NULL) ;        }    }    return CPLString();}
开发者ID:ryandavid,项目名称:rotobox,代码行数:33,


示例5: GDALMDReaderPleiades

/** * GDALMDReaderSpot() */GDALMDReaderSpot::GDALMDReaderSpot(const char *pszPath,        char **papszSiblingFiles) : GDALMDReaderPleiades(pszPath, papszSiblingFiles){    const char* pszIMDSourceFilename;    const char* pszDirName = CPLGetDirname(pszPath);    if(m_osIMDSourceFilename.empty())    {        pszIMDSourceFilename = CPLFormFilename( pszDirName, "METADATA.DIM", NULL );        if (CPLCheckForFile((char*)pszIMDSourceFilename, papszSiblingFiles))        {            m_osIMDSourceFilename = pszIMDSourceFilename;        }        else        {            pszIMDSourceFilename = CPLFormFilename( pszDirName, "metadata.dim", NULL );            if (CPLCheckForFile((char*)pszIMDSourceFilename, papszSiblingFiles))            {                m_osIMDSourceFilename = pszIMDSourceFilename;            }        }    }    // if the file name ended on METADATA.DIM    // Linux specific    // example: R2_CAT_091028105025131_1/METADATA.DIM    if(m_osIMDSourceFilename.empty())    {        if(EQUAL(CPLGetFilename(pszPath), "IMAGERY.TIF"))        {            pszIMDSourceFilename = CPLSPrintf( "%s//METADATA.DIM",                                                           CPLGetPath(pszPath));            if (CPLCheckForFile((char*)pszIMDSourceFilename, papszSiblingFiles))            {                m_osIMDSourceFilename = pszIMDSourceFilename;            }            else            {                pszIMDSourceFilename = CPLSPrintf( "%s//metadata.dim",                                                           CPLGetPath(pszPath));                if (CPLCheckForFile((char*)pszIMDSourceFilename, papszSiblingFiles))                {                    m_osIMDSourceFilename = pszIMDSourceFilename;                }            }        }    }    if(m_osIMDSourceFilename.size())        CPLDebug( "MDReaderSpot", "IMD Filename: %s",              m_osIMDSourceFilename.c_str() );}
开发者ID:Wedjaa,项目名称:node-gdal,代码行数:57,


示例6: CPLError

OGRErr OGRCSVDataSource::DeleteLayer( int iLayer ){/* -------------------------------------------------------------------- *//*      Verify we are in update mode.                                   *//* -------------------------------------------------------------------- */    if( !bUpdate )    {        CPLError( CE_Failure, CPLE_NoWriteAccess,                  "Data source %s opened read-only./n"                  "Layer %d cannot be deleted./n",                  pszName, iLayer );        return OGRERR_FAILURE;    }    if( iLayer < 0 || iLayer >= nLayers )    {        CPLError( CE_Failure, CPLE_AppDefined,                  "Layer %d not in legal range of 0 to %d.",                  iLayer, nLayers-1 );        return OGRERR_FAILURE;    }    char *pszFilename =        CPLStrdup(            CPLFormFilename( pszName,                             papoLayers[iLayer]->GetLayerDefn()->GetName(),                             "csv" ) );    char *pszFilenameCSVT =        CPLStrdup(            CPLFormFilename( pszName,                             papoLayers[iLayer]->GetLayerDefn()->GetName(),                             "csvt" ) );    delete papoLayers[iLayer];    while( iLayer < nLayers - 1 )    {        papoLayers[iLayer] = papoLayers[iLayer+1];        iLayer++;    }    nLayers--;    VSIUnlink( pszFilename );    CPLFree( pszFilename );    VSIUnlink( pszFilenameCSVT );    CPLFree( pszFilenameCSVT );    return OGRERR_NONE;}
开发者ID:Mavrx-inc,项目名称:gdal,代码行数:52,


示例7: TEST

TEST(MapTests, TestCreate) {    char** options = nullptr;    options = ngsListAddNameValue(options, "DEBUG_MODE", "ON");    options = ngsListAddNameValue(options, "SETTINGS_DIR",                              ngsFormFileName(ngsGetCurrentDirectory(), "tmp",                                              nullptr));    EXPECT_EQ(ngsInit(options), COD_SUCCESS);    ngsListFree(options);    ngs::MapStore mapStore;    char mapId = mapStore.createMap(DEFAULT_MAP_NAME, "unit test",                                             DEFAULT_EPSG, ngs::DEFAULT_BOUNDS);    EXPECT_GE(mapId, 0);    ngs::MapViewPtr defMap = mapStore.getMap(mapId);    ASSERT_NE(defMap, nullptr);    ngsRGBA color = defMap->backgroundColor();    EXPECT_EQ(color.R, DEFAULT_MAP_BK.R);    EXPECT_EQ(color.G, DEFAULT_MAP_BK.G);    EXPECT_EQ(color.B, DEFAULT_MAP_BK.B);    // ngmd - NextGIS map document    ngs::CatalogPtr catalog = ngs::Catalog::instance();    CPLString tmpDir = CPLFormFilename(CPLGetCurrentDir(), "tmp", nullptr);    ngs::Folder::mkDir(tmpDir);    ngs::ObjectPtr tmpDirObj = catalog->getObjectBySystemPath(tmpDir);    ASSERT_NE(tmpDirObj, nullptr);    ngs::ObjectContainer* tmpDirContainer =            ngsDynamicCast(ngs::ObjectContainer, tmpDirObj);    CPLString mapPath = CPLFormFilename(tmpDirObj->path().c_str(), "default", "ngmd");    CPLString iconsPath = CPLFormFilename(CPLGetCurrentDir(), "data", nullptr);    CPLString iconSet = CPLFormFilename(iconsPath, "tex", "png");    defMap->addIconSet("simple", iconSet, true);    ngs::MapFile mapFile(tmpDirContainer, "default.ngmd", mapPath);    EXPECT_EQ(defMap->save(&mapFile), true);    mapId = mapStore.openMap(&mapFile);    defMap = mapStore.getMap(mapId);    defMap->setBackgroundColor({1,2,3,4});    EXPECT_EQ(defMap->save(&mapFile), true);    ngs::Catalog::setInstance(nullptr);    ngsUnInit();}
开发者ID:nextgis,项目名称:nextgis_datastore,代码行数:48,


示例8: CheckLayerDriver

CPLErr GNMFileNetwork::CreateFeaturesLayerFromFile( const char* pszFilename, char** papszOptions ){    CPLErr eResult = CheckLayerDriver(GNM_MD_DEFAULT_FILE_FORMAT, papszOptions);    if(CE_None != eResult)        return eResult;    eResult = FormPath(pszFilename, papszOptions);    if(CE_None != eResult)        return eResult;    const char* pszExt = m_poLayerDriver->GetMetadataItem(GDAL_DMD_EXTENSION);    CPLString osDSFileName = CPLFormFilename(m_soNetworkFullName,                                                GNM_SYSLAYER_FEATURES, pszExt);    m_pFeaturesDS = m_poLayerDriver->Create(osDSFileName, 0, 0, 0, GDT_Unknown,                                            NULL );    if( m_pFeaturesDS == NULL )    {        CPLError( CE_Failure, CPLE_AppDefined, "Creation of '%s' file failed",                  osDSFileName.c_str() );        return CE_Failure;    }    return GNMGenericNetwork::CreateFeaturesLayer(m_pFeaturesDS);}
开发者ID:garnertb,项目名称:gdal,代码行数:26,


示例9: CPLGetConfigOption

const char *CPLGenerateTempFilename( const char *pszStem ){    const char *pszDir = CPLGetConfigOption( "CPL_TMPDIR", NULL );    static volatile int nTempFileCounter = 0;    if( pszDir == NULL )        pszDir = CPLGetConfigOption( "TMPDIR", NULL );    if( pszDir == NULL )        pszDir = CPLGetConfigOption( "TEMP", NULL );    if( pszDir == NULL )        pszDir = ".";    CPLString osFilename;    if( pszStem == NULL )        pszStem = "";    osFilename.Printf( "%s%u_%d", pszStem,                        (int) CPLGetPID(), nTempFileCounter++ );    return CPLFormFilename( pszDir, osFilename, NULL );}
开发者ID:ViacheslavN,项目名称:GIS,代码行数:25,


示例10: CPLFormFilename

OGRLayer* OGROpenFileGDBDataSource::GetLayerByName( const char* pszName ){    OGRLayer* poLayer;    poLayer = OGRDataSource::GetLayerByName(pszName);    if( poLayer != NULL )        return poLayer;    for(size_t i=0;i<m_apoHiddenLayers.size();i++)    {        if( EQUAL(m_apoHiddenLayers[i]->GetName(), pszName) )            return m_apoHiddenLayers[i];    }    std::map<std::string, int>::const_iterator oIter = m_osMapNameToIdx.find(pszName);    if( oIter != m_osMapNameToIdx.end() )    {        int idx = oIter->second;        const char* pszFilename = CPLFormFilename(                            m_osDirName, CPLSPrintf("a%08x", idx), "gdbtable");        if( FileExists(pszFilename) )        {            poLayer = new OGROpenFileGDBLayer(                                    pszFilename, pszName, "", "");            m_apoHiddenLayers.push_back(poLayer);            return poLayer;        }    }    return NULL;}
开发者ID:garnertb,项目名称:gdal,代码行数:30,


示例11: GetKeyword

int PDSDataset::ParseCompressedImage(){    CPLString osFileName = GetKeyword( "COMPRESSED_FILE.FILE_NAME", "" );    CleanString( osFileName );    CPLString osPath = CPLGetPath(GetDescription());    CPLString osFullFileName = CPLFormFilename( osPath, osFileName, NULL );    int iBand;    poCompressedDS = (GDALDataset*) GDALOpen( osFullFileName, GA_ReadOnly );        if( poCompressedDS == NULL )        return FALSE;    nRasterXSize = poCompressedDS->GetRasterXSize();    nRasterYSize = poCompressedDS->GetRasterYSize();    for( iBand = 0; iBand < poCompressedDS->GetRasterCount(); iBand++ )    {        SetBand( iBand+1, new PDSWrapperRasterBand( poCompressedDS->GetRasterBand( iBand+1 ) ) );    }        return TRUE;}
开发者ID:TUW-GEO,项目名称:OGRSpatialRef3D,代码行数:25,


示例12: BuildFullName

static const char* BuildFullName(const char* pszTOCFilename,                                 const char* pszFramePath,                                 const char* pszFrameName){    char* pszPath;    if (pszFramePath[0] == '.' &&        (pszFramePath[1] == '/' ||pszFramePath[1] == '//'))        pszPath = CPLStrdup(pszFramePath + 2);    else        pszPath = CPLStrdup(pszFramePath);    for(int i=0;pszPath[i] != '/0';i++)    {        if (pszPath[i] == '//')            pszPath[i] = '/';    }    const char* pszName = CPLFormFilename(pszPath, pszFrameName, NULL);    CPLFree(pszPath);    pszPath = NULL;    const char* pszTOCPath = CPLGetDirname(pszTOCFilename);    const char* pszFirstSlashInName = strchr(pszName, '/');    if (pszFirstSlashInName != NULL)    {        int nFirstDirLen = pszFirstSlashInName - pszName;        if ((int)strlen(pszTOCPath) >= nFirstDirLen + 1 &&            (pszTOCPath[strlen(pszTOCPath) - (nFirstDirLen + 1)] == '/' ||                pszTOCPath[strlen(pszTOCPath) - (nFirstDirLen + 1)] == '//') &&            strncmp(pszTOCPath + strlen(pszTOCPath) - nFirstDirLen, pszName, nFirstDirLen) == 0)        {            pszTOCPath = CPLGetDirname(pszTOCPath);        }    }    return CPLProjectRelativeFilename(pszTOCPath, pszName);}
开发者ID:drownedout,项目名称:datamap,代码行数:33,


示例13: FindDataPath

/** * /brief Find a file or folder in the WindNinja data path * * XXX: Refactored by Kyle 20130117 * * For example the date_time_zonespec.csv file is location in data.  If * WINDNINJA_DATA is *not* defined, try to find the file relative to the bin * path, ie ../share/data, otherwise return WINDNINJA_DATA + filename. * * /param file file or folder to look for. * /return a full path to file */std::string FindDataPath(std::string file){    const char* pszFilename;    const char* pszNinjaPath;    const char* pszNinjaDataPath;    const char* pszCurDir;    char pszExePath[MAX_PATH];    /* Check WINDNINJA_DATA */    VSIStatBufL sStat;    pszNinjaDataPath = CPLGetConfigOption( "WINDNINJA_DATA", NULL );    if( pszNinjaDataPath != NULL )    {        pszFilename = CPLFormFilename( pszNinjaDataPath, file.c_str(), NULL );        VSIStatL( pszFilename, &sStat );        if( VSI_ISREG( sStat.st_mode ) || VSI_ISDIR( sStat.st_mode ) )        {            return std::string( pszFilename );        }    }    /* Check 'normal' installation location */    CPLGetExecPath( pszExePath, MAX_PATH );    pszNinjaPath = CPLGetPath( pszExePath );    pszNinjaDataPath = CPLProjectRelativeFilename(pszNinjaPath,                                                    "../share/windninja");    pszFilename = CPLFormFilename( pszNinjaDataPath, file.c_str(), NULL );    VSIStatL( pszFilename, &sStat );    if( VSI_ISREG( sStat.st_mode ) || VSI_ISDIR( sStat.st_mode ) )    {        return std::string( pszFilename );    }    /* Check the current directory */    pszCurDir = CPLGetCurrentDir();    pszFilename = CPLFormFilename( pszCurDir, file.c_str(), NULL );    CPLFree( (void*)pszCurDir );    if( CPLCheckForFile( (char*)pszFilename, NULL ))    {        return std::string( pszFilename );    }    return std::string();}
开发者ID:psuliuxf,项目名称:windninja,代码行数:58,


示例14: CPLGetXMLValue

bool GMLRegistryFeatureType::Parse(const char *pszRegistryFilename,                                   CPLXMLNode *psNode){    const char *pszElementName = CPLGetXMLValue(psNode, "elementName", NULL);    const char *pszSchemaLocation =        CPLGetXMLValue(psNode, "schemaLocation", NULL);    const char *pszGFSSchemaLocation =        CPLGetXMLValue(psNode, "gfsSchemaLocation", NULL);    if( pszElementName == NULL ||        (pszSchemaLocation == NULL && pszGFSSchemaLocation == NULL) )        return false;    const char *pszElementValue = CPLGetXMLValue(psNode, "elementValue", NULL);    osElementName = pszElementName;    if( pszSchemaLocation != NULL )    {        if( !STARTS_WITH(pszSchemaLocation, "http://") &&            !STARTS_WITH(pszSchemaLocation, "https://") &&            CPLIsFilenameRelative(pszSchemaLocation) )        {            pszSchemaLocation = CPLFormFilename(                CPLGetPath(pszRegistryFilename), pszSchemaLocation, NULL );        }        osSchemaLocation = pszSchemaLocation;    }    else if( pszGFSSchemaLocation != NULL )    {        if( !STARTS_WITH(pszGFSSchemaLocation, "http://") &&            !STARTS_WITH(pszGFSSchemaLocation, "https://") &&            CPLIsFilenameRelative(pszGFSSchemaLocation) )        {            pszGFSSchemaLocation = CPLFormFilename(                CPLGetPath(pszRegistryFilename), pszGFSSchemaLocation, NULL);        }        osGFSSchemaLocation = pszGFSSchemaLocation;    }    if ( pszElementValue != NULL )    {        osElementValue = pszElementValue;    }    return true;}
开发者ID:Mavrx-inc,项目名称:gdal,代码行数:45,


示例15: GdalTestData

 GdalTestData() {     GDALAllRegister();     OGRRegisterAll();     fetch = NULL;     poDS  = NULL;     pszFilename =         CPLFormFilename( NULL, CPLGenerateTempFilename( "GDAL_TEST" ), ".tif" ); }
开发者ID:psuliuxf,项目名称:windninja,代码行数:9,


示例16: GDALMDReaderBase

/** * GDALMDReaderLandsat() */GDALMDReaderLandsat::GDALMDReaderLandsat(const char *pszPath,        char **papszSiblingFiles) : GDALMDReaderBase(pszPath, papszSiblingFiles){    const char* pszBaseName = CPLGetBasename(pszPath);    const char* pszDirName = CPLGetDirname(pszPath);    size_t nBaseNameLen = strlen(pszBaseName);    if( nBaseNameLen > 511 )        return;    // split file name by _B or _b    char szMetadataName[512] = {0};    size_t i;    for(i = 0; i < nBaseNameLen; i++)    {        szMetadataName[i] = pszBaseName[i];        if(STARTS_WITH_CI(pszBaseName + i, "_B") || STARTS_WITH_CI(pszBaseName + i, "_b"))        {            break;        }    }    // form metadata file name    CPLStrlcpy(szMetadataName + i, "_MTL.txt", 9);    const char* pszIMDSourceFilename = CPLFormFilename( pszDirName,                                                        szMetadataName, NULL );    if (CPLCheckForFile((char*)pszIMDSourceFilename, papszSiblingFiles))    {        m_osIMDSourceFilename = pszIMDSourceFilename;    }    else    {        CPLStrlcpy(szMetadataName + i, "_MTL.TXT", 9);        pszIMDSourceFilename = CPLFormFilename( pszDirName, szMetadataName, NULL );        if (CPLCheckForFile((char*)pszIMDSourceFilename, papszSiblingFiles))        {            m_osIMDSourceFilename = pszIMDSourceFilename;        }    }    if( !m_osIMDSourceFilename.empty() )        CPLDebug( "MDReaderLandsat", "IMD Filename: %s",                  m_osIMDSourceFilename.c_str() );}
开发者ID:Mavrx-inc,项目名称:gdal,代码行数:47,


示例17: CPLError

OGRErr OGRGeoconceptDriver::DeleteDataSource( const char *pszDataSource ){    int iExt;    VSIStatBuf sStatBuf;    static const char *apszExtensions[] =         { "gxt", "txt", "gct", "gcm", "gcr", NULL };    if( VSIStat( pszDataSource, &sStatBuf ) != 0 )    {        CPLError( CE_Failure, CPLE_AppDefined,                  "%s does not appear to be a file or directory.",                  pszDataSource );        return OGRERR_FAILURE;    }    if( VSI_ISREG(sStatBuf.st_mode)         && (            EQUAL(CPLGetExtension(pszDataSource),"gxt") ||            EQUAL(CPLGetExtension(pszDataSource),"txt")           ) )    {        for( iExt=0; apszExtensions[iExt] != NULL; iExt++ )        {            const char *pszFile = CPLResetExtension(pszDataSource,                                                    apszExtensions[iExt] );            if( VSIStat( pszFile, &sStatBuf ) == 0 )                VSIUnlink( pszFile );        }    }    else if( VSI_ISDIR(sStatBuf.st_mode) )    {        char **papszDirEntries = CPLReadDir( pszDataSource );        int  iFile;        for( iFile = 0;              papszDirEntries != NULL && papszDirEntries[iFile] != NULL;             iFile++ )        {            if( CSLFindString( (char **) apszExtensions,                                CPLGetExtension(papszDirEntries[iFile])) != -1)            {                VSIUnlink( CPLFormFilename( pszDataSource,                                             papszDirEntries[iFile],                                             NULL ) );            }        }        CSLDestroy( papszDirEntries );        VSIRmdir( pszDataSource );    }    return OGRERR_NONE;}
开发者ID:samalone,项目名称:gdal-ios,代码行数:56,


示例18: locker

bool wxGISDataset::Rename(const wxString &sNewName, ITrackCancel* const pTrackCancel){	wxCriticalSectionLocker locker(m_CritSect);    Close();    CPLString szDirPath = CPLGetPath(m_sPath);    CPLString szName = CPLGetBasename(m_sPath);	CPLString szNewName(ClearExt(sNewName).mb_str(wxConvUTF8));    char** papszFileList = GetFileList();    papszFileList = CSLAddString( papszFileList, m_sPath );    if(!papszFileList)        {        if(pTrackCancel)            pTrackCancel->PutMessage(_("No files to rename"), wxNOT_FOUND, enumGISMessageErr);        return false;    }    char **papszNewFileList = NULL;    for(int i = 0; papszFileList[i] != NULL; ++i )    {        CPLString szNewPath(CPLFormFilename(szDirPath, szNewName, GetExtension(papszFileList[i], szName)));        papszNewFileList = CSLAddString(papszNewFileList, szNewPath);        if(!RenameFile(papszFileList[i], papszNewFileList[i], pTrackCancel))        {            // Try to put the ones we moved back.            for( --i; i >= 0; i-- )                RenameFile( papszNewFileList[i], papszFileList[i]); 			CSLDestroy( papszFileList );			CSLDestroy( papszNewFileList );            return false;        }    }	m_sPath = CPLString(CPLFormFilename(szDirPath, szNewName, CPLGetExtension(m_sPath)));	CSLDestroy( papszFileList );	CSLDestroy( papszNewFileList );	return true;}
开发者ID:Mileslee,项目名称:wxgis,代码行数:43,


示例19: CPLFormFilename

CPLErr GNMFileNetwork::DeleteMetadataLayer(){    if(NULL != m_pMetadataDS)    {        const char* pszSrsFileName = CPLFormFilename(m_soNetworkFullName,                                                     GNM_SRSFILENAME, NULL);        VSIUnlink(pszSrsFileName); // just try to delete as file may not be existed        return m_pMetadataDS->DeleteLayer(0) == OGRERR_NONE ? CE_None : CE_Failure;    }    return CE_Failure;}
开发者ID:garnertb,项目名称:gdal,代码行数:11,


示例20: CPLGetXMLValue

/* GetFilePath: return a relative path to a file within an XML node. * Returns Null on failure */static const char *GetFilePath(CPLXMLNode *psXMLNode, const char **pszNodeType) {    const char *pszDirectory = CPLGetXMLValue( psXMLNode, "file.location.path", "" );    const char *pszFilename = CPLGetXMLValue( psXMLNode, "file.location.filename", "" );    *pszNodeType = CPLGetXMLValue (psXMLNode, "type", " " );    if (pszDirectory == NULL || pszFilename == NULL) {        return NULL;    }    return CPLFormFilename( pszDirectory, pszFilename, "" );}
开发者ID:Wedjaa,项目名称:node-gdal,代码行数:14,


示例21: CPLGetXMLValue

int GMLRegistryFeatureType::Parse(const char* pszRegistryFilename, CPLXMLNode* psNode){    const char* pszElementName = CPLGetXMLValue(psNode, "elementName", NULL);    const char* pszElementValue = CPLGetXMLValue(psNode, "elementValue", NULL);    const char* pszSchemaLocation = CPLGetXMLValue(psNode, "schemaLocation", NULL);    const char* pszGFSSchemaLocation = CPLGetXMLValue(psNode, "gfsSchemaLocation", NULL);    if( pszElementName == NULL || (pszSchemaLocation == NULL && pszGFSSchemaLocation == NULL) )        return FALSE;    osElementName = pszElementName;    if( pszSchemaLocation != NULL )    {        if( strncmp(pszSchemaLocation, "http://", 7) != 0 &&            strncmp(pszSchemaLocation, "https://", 8) != 0 &&            CPLIsFilenameRelative(pszSchemaLocation ) )        {            pszSchemaLocation = CPLFormFilename(                CPLGetPath(pszRegistryFilename), pszSchemaLocation, NULL );        }        osSchemaLocation = pszSchemaLocation;    }    else if( pszGFSSchemaLocation != NULL )    {        if( strncmp(pszGFSSchemaLocation, "http://", 7) != 0 &&            strncmp(pszGFSSchemaLocation, "https://", 8) != 0 &&            CPLIsFilenameRelative(pszGFSSchemaLocation ) )        {            pszGFSSchemaLocation = CPLFormFilename(                CPLGetPath(pszRegistryFilename), pszGFSSchemaLocation, NULL );        }        osGFSSchemaLocation = pszGFSSchemaLocation;    }    if ( pszElementValue != NULL )    {        osElementValue = pszElementValue;     }    return TRUE;}
开发者ID:AbdelghaniDr,项目名称:mirror,代码行数:40,


示例22: GetDatasetFast

void wxGxOpenFileGDB::FillMetadata(bool bForce){    if (m_bIsMetadataFilled && !bForce)        return;    m_bIsMetadataFilled = true;    wxGISDataset* pDSet = GetDatasetFast();    if (NULL == pDSet)    {        return;    }    VSIStatBufL BufL;    wxULongLong nSize(0);    wxDateTime dt(1,wxDateTime::Jan, 1900);    int ret = VSIStatL(m_sPath, &BufL);    if (ret == 0)    {        //nSize += BufL.st_size;        //dt = wxDateTime(BufL.st_mtime);        if (VSI_ISDIR(BufL.st_mode))        {            char **papszItems = CPLReadDir(wxGxObjectContainer::GetPath());            if (papszItems && CSLCount(papszItems) > 0)            {                for (int i = 0; papszItems[i] != NULL; ++i)                {                    if (wxGISEQUAL(papszItems[i], ".") || wxGISEQUAL(papszItems[i], ".."))                        continue;                    CPLString szFullPathFrom = CPLFormFilename(wxGxObjectContainer::GetPath(), papszItems[i], NULL);                    ret = VSIStatL(szFullPathFrom, &BufL);                    if (ret == 0)                    {                        nSize += BufL.st_size;                        wxDateTime dtt(BufL.st_mtime);                        if (dtt > dt)                            dt = dtt;                    }                }            }            CSLDestroy(papszItems);        }    }    m_nSize = nSize;    m_dtMod = dt;    wsDELETE(pDSet);}
开发者ID:GimpoByte,项目名称:nextgismanager,代码行数:52,


示例23: getRscFilename

static CPLString getRscFilename( GDALOpenInfo *poOpenInfo ){    CPLString osRscFilename;    char **papszSiblingFiles = poOpenInfo->GetSiblingFiles();    if ( papszSiblingFiles == NULL )    {        osRscFilename = CPLFormFilename( NULL, poOpenInfo->pszFilename,                                        "rsc" );        VSIStatBufL psRscStatBuf;        if ( VSIStatL( osRscFilename, &psRscStatBuf ) != 0 )        {            osRscFilename = "";        }    }    else    {        /* ------------------------------------------------------------ */        /*      We need to tear apart the filename to form a .rsc       */        /*      filename.                                               */        /* ------------------------------------------------------------ */        CPLString osPath = CPLGetPath( poOpenInfo->pszFilename );        CPLString osName = CPLGetFilename( poOpenInfo->pszFilename );        int iFile = CSLFindString( papszSiblingFiles,                                   CPLFormFilename( NULL, osName, "rsc" ) );        if( iFile >= 0 )        {            osRscFilename = CPLFormFilename( osPath,                                             papszSiblingFiles[iFile],                                             NULL );        }    }    return osRscFilename;}
开发者ID:nextgis-borsch,项目名称:lib_gdal,代码行数:36,


示例24: CSLFetchNameValue

CPLErr GNMFileNetwork::FormPath(const char *pszFilename, char **papszOptions){    if(m_soNetworkFullName.empty())    {        const char* pszNetworkName = CSLFetchNameValue(papszOptions, GNM_MD_NAME);        if(NULL == pszNetworkName)        {            CPLError( CE_Failure, CPLE_IllegalArg,                      "The network name should be present" );            return CE_Failure;        }        m_soNetworkFullName = CPLFormFilename(pszFilename, pszNetworkName, NULL);        CPLDebug( "GNM", "Network name: %s", m_soNetworkFullName.c_str() );    }    return CE_None;}
开发者ID:garnertb,项目名称:gdal,代码行数:17,


示例25: GetBaseCacheDirectory

void GMLASConfiguration::Finalize(){    if( m_bAllowXSDCache && m_osXSDCacheDirectory.empty() )    {        m_osXSDCacheDirectory = GetBaseCacheDirectory();        if( m_osXSDCacheDirectory.empty() )        {            CPLError(CE_Warning, CPLE_AppDefined,                    "Could not determine a directory for GMLAS XSD cache");        }        else        {            m_osXSDCacheDirectory = CPLFormFilename( m_osXSDCacheDirectory,                                                  "gmlas_xsd_cache", NULL) ;            CPLDebug("GMLAS", "XSD cache directory: %s",                     m_osXSDCacheDirectory.c_str());        }    }}
开发者ID:ryandavid,项目名称:rotobox,代码行数:19,


示例26: CPLFindFile

int S57ClassRegistrar::FindFile( const char *pszTarget,                                 const char *pszDirectory,                                 int bReportErr,                                 VSILFILE **pfp ){    const char *pszFilename;    if( pszDirectory == NULL )    {        pszFilename = CPLFindFile( "s57", pszTarget );        if( pszFilename == NULL )            pszFilename = pszTarget;    }    else    {        pszFilename = CPLFormFilename( pszDirectory, pszTarget, NULL );    }    *pfp = VSIFOpenL( pszFilename, "rb" );#ifdef S57_BUILTIN_CLASSES    if( *pfp == NULL )    {        if( EQUAL(pszTarget, "s57objectclasses.csv") )            papszNextLine = gpapszS57Classes;        else            papszNextLine = gpapszS57attributes;    }#else    if( *pfp == NULL )    {        if( bReportErr )            CPLError( CE_Failure, CPLE_OpenFailed,                      "Failed to open %s./n",                      pszFilename );        return FALSE;    }#endif    return TRUE;}
开发者ID:bbradbury,项目名称:lib_gdal,代码行数:42,



注:本文中的CPLFormFilename函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ CPLFree函数代码示例
C++ CPLErrorReset函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。