这篇教程C++ CPLFormFilename函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中CPLFormFilename函数的典型用法代码示例。如果您正苦于以下问题:C++ CPLFormFilename函数的具体用法?C++ CPLFormFilename怎么用?C++ CPLFormFilename使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了CPLFormFilename函数的26个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: FindBoostDataBaseFilestd::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: CPLGetConfigOptionCPLString 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: CPLErrorOGRErr 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: TESTTEST(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: CheckLayerDriverCPLErr 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: CPLGetConfigOptionconst 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: CPLFormFilenameOGRLayer* 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: GetKeywordint 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: BuildFullNamestatic 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: CPLGetXMLValuebool 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: CPLErrorOGRErr 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: lockerbool 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: CPLFormFilenameCPLErr 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: CPLGetXMLValueint 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: GetDatasetFastvoid 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: getRscFilenamestatic 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: CSLFetchNameValueCPLErr 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: GetBaseCacheDirectoryvoid 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: CPLFindFileint 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函数代码示例 |