本文整理汇总了C++中CPLString函数的典型用法代码示例。如果您正苦于以下问题:C++ CPLString函数的具体用法?C++ CPLString怎么用?C++ CPLString使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了CPLString函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: FlushCache
EIRDataset::~EIRDataset()
{
FlushCache();
if( nBands > 0 && GetAccess() == GA_Update )
{
int bNoDataSet;
double dfNoData;
RawRasterBand *poBand = (RawRasterBand *) GetRasterBand( 1 );
dfNoData = poBand->GetNoDataValue(&bNoDataSet);
if( bNoDataSet )
{
ResetKeyValue( "NODATA",
CPLString().Printf( "%.8g", dfNoData ) );
}
}
if( fpImage != NULL )
VSIFCloseL( fpImage );
CSLDestroy( papszHDR );
CSLDestroy( papszExtraFiles );
}
开发者ID:actian-geospatial,项目名称:ogr-ingres,代码行数:25,代码来源:eirdataset.cpp
示例2: 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,代码来源:ogrgmlasconf.cpp
示例3: ReadGroup
int CPLKeywordParser::ReadGroup( const char *pszPathPrefix )
{
CPLString osName, osValue;
for( ; TRUE; )
{
if( !ReadPair( osName, osValue ) )
return FALSE;
if( EQUAL(osName,"BEGIN_GROUP") || EQUAL(osName,"GROUP") )
{
if( !ReadGroup( (CPLString(pszPathPrefix) + osValue + ".").c_str() ) )
return FALSE;
}
else if( EQUALN(osName,"END",3) )
{
return TRUE;
}
else
{
osName = pszPathPrefix + osName;
papszKeywordList = CSLSetNameValue( papszKeywordList,
osName, osValue );
}
}
}
开发者ID:AbdelghaniDr,项目名称:mirror,代码行数:27,代码来源:cplkeywordparser.cpp
示例4: CPLWriteFct
static size_t
CPLWriteFct(void *buffer, size_t size, size_t nmemb, void *reqInfo)
{
CPLHTTPResult *psResult = (CPLHTTPResult *) reqInfo;
int nNewSize;
nNewSize = psResult->nDataLen + nmemb*size + 1;
if( nNewSize > psResult->nDataAlloc )
{
psResult->nDataAlloc = (int) (nNewSize * 1.25 + 100);
GByte* pabyNewData = (GByte *) VSIRealloc(psResult->pabyData,
psResult->nDataAlloc);
if( pabyNewData == NULL )
{
VSIFree(psResult->pabyData);
psResult->pabyData = NULL;
psResult->pszErrBuf = CPLStrdup(CPLString().Printf("Out of memory allocating %d bytes for HTTP data buffer.", psResult->nDataAlloc));
psResult->nDataAlloc = psResult->nDataLen = 0;
return 0;
}
psResult->pabyData = pabyNewData;
}
memcpy( psResult->pabyData + psResult->nDataLen, buffer,
nmemb * size );
psResult->nDataLen += nmemb * size;
psResult->pabyData[psResult->nDataLen] = 0;
return nmemb;
}
开发者ID:drownedout,项目名称:datamap,代码行数:33,代码来源:cpl_http.cpp
示例5: osErrMsg
void GDALGMLJP2Expr::ReportError( const char* pszOriStr,
const char* pszStr,
const char* pszIntroMessage )
{
size_t nDist = static_cast<size_t>(pszStr - pszOriStr);
if( nDist > 40 )
nDist = 40;
CPLString osErrMsg(pszIntroMessage);
CPLString osInvalidExpr = CPLString(pszStr - nDist).substr(0, nDist + 20);
for( int i = static_cast<int>(nDist) - 1; i >= 0; --i )
{
if( osInvalidExpr[i] == '\n' )
{
osInvalidExpr = osInvalidExpr.substr(i+1);
nDist -= i + 1;
break;
}
}
for( size_t i = nDist; i < osInvalidExpr.size(); ++i )
{
if( osInvalidExpr[i] == '\n' )
{
osInvalidExpr.resize(i);
break;
}
}
osErrMsg += osInvalidExpr;
osErrMsg += "\n";
for( size_t i = 0; i < nDist; ++i )
osErrMsg += " ";
osErrMsg += "^";
CPLError(CE_Failure, CPLE_AppDefined, "%s", osErrMsg.c_str());
}
开发者ID:rouault,项目名称:gdal,代码行数:33,代码来源:gdaljp2metadatagenerator.cpp
示例6: OGRFeatureDefn
OGRPGDumpLayer::OGRPGDumpLayer(OGRPGDumpDataSource* poDS,
const char* pszSchemaName,
const char* pszTableName,
const char* pszGeomColumn,
const char *pszFIDColumn,
int nCoordDimension,
int nSRSId,
int bWriteAsHexIn,
int bCreateTable)
{
this->poDS = poDS;
poFeatureDefn = new OGRFeatureDefn( pszTableName );
poFeatureDefn->Reference();
nFeatures = 0;
pszSqlTableName = CPLStrdup(CPLString().Printf("%s.%s",
OGRPGDumpEscapeColumnName(pszSchemaName).c_str(),
OGRPGDumpEscapeColumnName(pszTableName).c_str() ));
this->pszGeomColumn = (pszGeomColumn) ? CPLStrdup(pszGeomColumn) : NULL;
this->pszFIDColumn = CPLStrdup(pszFIDColumn);
this->nCoordDimension = nCoordDimension;
this->nSRSId = nSRSId;
this->bCreateTable = bCreateTable;
bLaunderColumnNames = TRUE;
bPreservePrecision = TRUE;
bUseCopy = USE_COPY_UNSET;
bWriteAsHex = bWriteAsHexIn;
bCopyActive = FALSE;
}
开发者ID:AsherBond,项目名称:MondocosmOS,代码行数:28,代码来源:ogrpgdumplayer.cpp
示例7: GDALMRFRasterBand
TIF_Band::TIF_Band(GDALMRFDataset *pDS, const ILImage &image, int b, int level):
GDALMRFRasterBand(pDS,image,b,int(level))
{
// Increase the page buffer by 1K in case Tiff expands data
pDS->SetPBuffer(image.pageSizeBytes + 1024);
// Static create options for TIFF tiles
papszOptions = CSLAddNameValue(NULL, "COMPRESS", "DEFLATE");
papszOptions = CSLAddNameValue(papszOptions, "TILED", "Yes");
papszOptions = CSLAddNameValue(papszOptions, "BLOCKXSIZE", CPLString().Printf("%d",img.pagesize.x));
papszOptions = CSLAddNameValue(papszOptions, "BLOCKYSIZE", CPLString().Printf("%d",img.pagesize.y));
int q = img.quality / 10;
// Move down so the default 85 maps to 6. This makes the maz ZLEVEL 8, which is OK
if (q >2) q-=2;
papszOptions = CSLAddNameValue(papszOptions, "ZLEVEL", CPLString().Printf("%d",q));
};
开发者ID:zjucsxxd,项目名称:mrf,代码行数:16,代码来源:Tif_band.cpp
示例8: OGRVRTGetSerializedGeometryType
CPLString OGRVRTGetSerializedGeometryType(OGRwkbGeometryType eGeomType)
{
for( const auto& entry: asGeomTypeNames )
{
if( entry.eType == wkbFlatten(eGeomType) )
{
CPLString osRet(entry.pszName);
if( entry.bIsoFlags || OGR_GT_HasM(eGeomType) )
{
if( OGR_GT_HasZ(eGeomType) )
{
osRet += "Z";
}
if( OGR_GT_HasM(eGeomType) )
{
osRet += "M";
}
}
else if(OGR_GT_HasZ(eGeomType) )
{
osRet += "25D";
}
return osRet;
}
}
return CPLString();
}
开发者ID:OSGeo,项目名称:gdal,代码行数:27,代码来源:ogrvrtdatasource.cpp
示例9: VALIDATE_POINTER1
CPLXMLNode *GDALSerializeTPSTransformer( void *pTransformArg )
{
VALIDATE_POINTER1( pTransformArg, "GDALSerializeTPSTransformer", NULL );
CPLXMLNode *psTree;
TPSTransformInfo *psInfo = static_cast<TPSTransformInfo *>(pTransformArg);
psTree = CPLCreateXMLNode( NULL, CXT_Element, "TPSTransformer" );
/* -------------------------------------------------------------------- */
/* Serialize bReversed. */
/* -------------------------------------------------------------------- */
CPLCreateXMLElementAndValue(
psTree, "Reversed",
CPLString().Printf( "%d", psInfo->bReversed ) );
/* -------------------------------------------------------------------- */
/* Attach GCP List. */
/* -------------------------------------------------------------------- */
if( psInfo->nGCPCount > 0 )
{
GDALSerializeGCPListToXML( psTree,
psInfo->pasGCPList,
psInfo->nGCPCount,
NULL );
}
return psTree;
}
开发者ID:StephenHolzman,项目名称:UVAmisc,代码行数:30,代码来源:gdal_tps.cpp
示例10: CPLString
std::map<CPLString, CPLString>
OGRDXFWriterLayer::PrepareTextStyleDefinition( OGRStyleLabel *poLabelTool )
{
GBool bDefault;
std::map<CPLString, CPLString> oTextStyleDef;
/* -------------------------------------------------------------------- */
/* Fetch the data for this text style. */
/* -------------------------------------------------------------------- */
const char *pszFontName = poLabelTool->FontName(bDefault);
if( !bDefault )
oTextStyleDef["Font"] = pszFontName;
const GBool bBold = poLabelTool->Bold(bDefault);
if( !bDefault )
oTextStyleDef["Bold"] = bBold ? "1" : "0";
const GBool bItalic = poLabelTool->Italic(bDefault);
if( !bDefault )
oTextStyleDef["Italic"] = bItalic ? "1" : "0";
const double dfStretch = poLabelTool->Stretch(bDefault);
if( !bDefault )
{
oTextStyleDef["Width"] = CPLString().Printf( "%f",
dfStretch / 100.0 );
}
return oTextStyleDef;
}
开发者ID:OSGeo,项目名称:gdal,代码行数:31,代码来源:ogrdxfwriterlayer.cpp
示例11: CPLHTTPWriteFunc
static size_t CPLHTTPWriteFunc(void *buffer, size_t count, size_t nmemb, void *req) {
CPLHTTPRequest *psRequest = reinterpret_cast<CPLHTTPRequest *>(req);
size_t size = count * nmemb;
if (size == 0) return 0;
const size_t required_size = psRequest->nDataLen + size + 1;
if (required_size > psRequest->nDataAlloc) {
size_t new_size = required_size * 2;
if (new_size < 512) new_size = 512;
psRequest->nDataAlloc = new_size;
GByte * pabyNewData = reinterpret_cast<GByte *>(VSIRealloc(psRequest->pabyData, new_size));
if (pabyNewData == NULL) {
VSIFree(psRequest->pabyData);
psRequest->pabyData = NULL;
psRequest->pszError = CPLStrdup(CPLString().Printf("Out of memory allocating %u bytes for HTTP data buffer.", static_cast<int>(new_size)));
psRequest->nDataAlloc = 0;
psRequest->nDataLen = 0;
return 0;
}
psRequest->pabyData = pabyNewData;
}
memcpy(psRequest->pabyData + psRequest->nDataLen, buffer, size);
psRequest->nDataLen += size;
psRequest->pabyData[psRequest->nDataLen] = 0;
return nmemb;
}
开发者ID:Wedjaa,项目名称:node-gdal,代码行数:27,代码来源:gdalhttp.cpp
示例12: ReadGroup
int NASAKeywordHandler::ReadGroup( const char *pszPathPrefix )
{
for( ; true; )
{
CPLString osName, osValue;
if( !ReadPair( osName, osValue ) )
return FALSE;
if( EQUAL(osName,"OBJECT") || EQUAL(osName,"GROUP") )
{
if( !ReadGroup( (CPLString(pszPathPrefix) + osValue + ".").c_str() ) )
return FALSE;
}
else if( EQUAL(osName,"END")
|| EQUAL(osName,"END_GROUP" )
|| EQUAL(osName,"END_OBJECT" ) )
{
return TRUE;
}
else
{
osName = pszPathPrefix + osName;
papszKeywordList = CSLSetNameValue( papszKeywordList,
osName, osValue );
}
}
}
开发者ID:Wedjaa,项目名称:node-gdal,代码行数:28,代码来源:nasakeywordhandler.cpp
示例13: CPLDebug
int ISIS2Dataset::WriteQUBE_Information(
VSILFILE *fpLabel, unsigned int iLevel, unsigned int & nWritingBytes,
unsigned int nXSize, unsigned int nYSize, unsigned int nBands,
GDALDataType eType, const char * pszInterleaving)
{
nWritingBytes += ISIS2Dataset::WriteFormatting( fpLabel, "");
nWritingBytes += ISIS2Dataset::WriteFormatting( fpLabel, "/* Qube structure */");
nWritingBytes += ISIS2Dataset::WriteKeyword( fpLabel, iLevel, "OBJECT", "QUBE");
iLevel++;
nWritingBytes += ISIS2Dataset::WriteKeyword( fpLabel, iLevel, "AXES", "3");
nWritingBytes += ISIS2Dataset::WriteKeyword( fpLabel, iLevel, "AXIS_NAME", pszInterleaving);
nWritingBytes += ISIS2Dataset::WriteFormatting( fpLabel, "/* Core description */");
CPLDebug("ISIS2","%d,%d,%d",nXSize,nYSize,nBands);
nWritingBytes += ISIS2Dataset::WriteKeyword( fpLabel, iLevel, "CORE_ITEMS",CPLString().Printf("(%d,%d,%d)",nXSize,nYSize,nBands));
nWritingBytes += ISIS2Dataset::WriteKeyword( fpLabel, iLevel, "CORE_NAME", "\"RAW DATA NUMBER\"");
nWritingBytes += ISIS2Dataset::WriteKeyword( fpLabel, iLevel, "CORE_UNIT", "\"N/A\"");
// TODO change for eType
if( eType == GDT_Byte )
{
nWritingBytes += ISIS2Dataset::WriteKeyword( fpLabel, iLevel, "CORE_ITEM_TYPE", "PC_UNSIGNED_INTEGER");
nWritingBytes += ISIS2Dataset::WriteKeyword( fpLabel, iLevel, "CORE_ITEM_BYTES", "1");
}
else if( eType == GDT_UInt16 )
{
nWritingBytes += ISIS2Dataset::WriteKeyword( fpLabel, iLevel, "CORE_ITEM_TYPE", "PC_UNSIGNED_INTEGER");
nWritingBytes += ISIS2Dataset::WriteKeyword( fpLabel, iLevel, "CORE_ITEM_BYTES", "2");
}
else if( eType == GDT_Int16 )
{
nWritingBytes += ISIS2Dataset::WriteKeyword( fpLabel, iLevel, "CORE_ITEM_TYPE", "PC_INTEGER");
nWritingBytes += ISIS2Dataset::WriteKeyword( fpLabel, iLevel, "CORE_ITEM_BYTES", "2");
}
else if( eType == GDT_Float32 )
{
nWritingBytes += ISIS2Dataset::WriteKeyword( fpLabel, iLevel, "CORE_ITEM_TYPE", "PC_REAL");
nWritingBytes += ISIS2Dataset::WriteKeyword( fpLabel, iLevel, "CORE_ITEM_BYTES", "4");
}
else if( eType == GDT_Float64 )
{
nWritingBytes += ISIS2Dataset::WriteKeyword( fpLabel, iLevel, "CORE_ITEM_TYPE", "PC_REAL");
nWritingBytes += ISIS2Dataset::WriteKeyword( fpLabel, iLevel, "CORE_ITEM_BYTES", "8");
}
// TODO add core null value
nWritingBytes += ISIS2Dataset::WriteKeyword( fpLabel, iLevel, "CORE_BASE", "0.0");
nWritingBytes += ISIS2Dataset::WriteKeyword( fpLabel, iLevel, "CORE_MULTIPLIER", "1.0");
nWritingBytes += ISIS2Dataset::WriteFormatting( fpLabel, "/* Suffix description */");
nWritingBytes += ISIS2Dataset::WriteKeyword( fpLabel, iLevel, "SUFFIX_BYTES", "4");
nWritingBytes += ISIS2Dataset::WriteKeyword( fpLabel, iLevel, "SUFFIX_ITEMS", "( 0, 0, 0)");
iLevel--;
nWritingBytes += ISIS2Dataset::WriteKeyword( fpLabel, iLevel, "END_OBJECT", "QUBE");
return TRUE;
}
开发者ID:codedis213,项目名称:elastic_search_practice,代码行数:59,代码来源:isis2dataset.cpp
示例14: GetLocation
CPLString wxGxObjectDialog::GetPath(void) const
{
wxGxObject* pObj = GetLocation();
if (NULL == pObj)
return CPLString();
return pObj->GetPath();
}
开发者ID:GimpoByte,项目名称:nextgismanager,代码行数:8,代码来源:gxobgdialog.cpp
示例15: BufferToVSIFile
CPLString BufferToVSIFile(GByte *buffer, size_t size) {
CPLString file_name;
file_name.Printf("/vsimem/wms/%p/wmsresult.dat", buffer);
VSILFILE *f = VSIFileFromMemBuffer(file_name.c_str(), buffer, size, false);
if (f == nullptr) return CPLString();
VSIFCloseL(f);
return file_name;
}
开发者ID:OSGeo,项目名称:gdal,代码行数:9,代码来源:wmsutils.cpp
示例16: EQUALN
int GDALWMSDataset::Identify(GDALOpenInfo *poOpenInfo)
{
const char* pszFilename = poOpenInfo->pszFilename;
const char* pabyHeader = (const char *) poOpenInfo->pabyHeader;
if (poOpenInfo->nHeaderBytes == 0 &&
EQUALN(pszFilename, "<GDAL_WMS>", 10))
{
return TRUE;
}
else if (poOpenInfo->nHeaderBytes >= 10 &&
EQUALN(pabyHeader, "<GDAL_WMS>", 10))
{
return TRUE;
}
else if (poOpenInfo->nHeaderBytes == 0 &&
(EQUALN(pszFilename, "WMS:", 4) ||
CPLString(pszFilename).ifind("SERVICE=WMS") != std::string::npos) )
{
return TRUE;
}
else if (poOpenInfo->nHeaderBytes != 0 &&
(strstr(pabyHeader, "<WMT_MS_Capabilities") != NULL ||
strstr(pabyHeader, "<WMS_Capabilities") != NULL ||
strstr(pabyHeader, "<!DOCTYPE WMT_MS_Capabilities") != NULL))
{
return TRUE;
}
else if (poOpenInfo->nHeaderBytes != 0 &&
strstr(pabyHeader, "<WMS_Tile_Service") != NULL)
{
return TRUE;
}
else if (poOpenInfo->nHeaderBytes != 0 &&
strstr(pabyHeader, "<TileMap version=\"1.0.0\"") != NULL)
{
return TRUE;
}
else if (poOpenInfo->nHeaderBytes != 0 &&
strstr(pabyHeader, "<Services") != NULL &&
strstr(pabyHeader, "<TileMapService version=\"1.0") != NULL)
{
return TRUE;
}
else if (poOpenInfo->nHeaderBytes != 0 &&
strstr(pabyHeader, "<TileMapService version=\"1.0.0\"") != NULL)
{
return TRUE;
}
else if (poOpenInfo->nHeaderBytes == 0 &&
EQUALN(pszFilename, "http", 4) &&
strstr(pszFilename, "/MapServer?f=json") != NULL)
{
return TRUE;
}
else
return FALSE;
}
开发者ID:imincik,项目名称:pkg-gdal,代码行数:57,代码来源:wmsdriver.cpp
示例17: CPLRecode
int OGRXLSDataSource::Open( const char * pszFilename, int bUpdateIn)
{
if (bUpdateIn)
{
return FALSE;
}
#ifdef _WIN32
if( CPLTestBool( CPLGetConfigOption( "GDAL_FILENAME_IS_UTF8", "YES" ) ) )
pszName = CPLRecode( pszFilename, CPL_ENC_UTF8, CPLString().Printf( "CP%d", GetACP() ) );
else
pszName = CPLStrdup( pszFilename );
#else
pszName = CPLStrdup( pszFilename );
#endif
// --------------------------------------------------------------------
// Does this appear to be a .xls file?
// --------------------------------------------------------------------
/* Open only for getting info. To get cell values, we have to use freexl_open */
if (freexl_open_info (pszName, &xlshandle) != FREEXL_OK)
return FALSE;
unsigned int nSheets = 0;
if (freexl_get_info (xlshandle, FREEXL_BIFF_SHEET_COUNT, &nSheets) != FREEXL_OK)
return FALSE;
for(unsigned short i=0; i<(unsigned short)nSheets; i++)
{
freexl_select_active_worksheet(xlshandle, i);
const char* pszSheetname = NULL;
if (freexl_get_worksheet_name(xlshandle, i, &pszSheetname) != FREEXL_OK)
return FALSE;
unsigned int nRows = 0;
unsigned short nCols = 0;
if (freexl_worksheet_dimensions(xlshandle, &nRows, &nCols) != FREEXL_OK)
return FALSE;
/* Skip empty sheets */
if (nRows == 0)
continue;
papoLayers = (OGRLayer**) CPLRealloc(papoLayers, (nLayers + 1) * sizeof(OGRLayer*));
papoLayers[nLayers ++] = new OGRXLSLayer(this, pszSheetname, i, (int)nRows, nCols);
}
freexl_close(xlshandle);
xlshandle = NULL;
return TRUE;
}
开发者ID:Wedjaa,项目名称:node-gdal,代码行数:55,代码来源:ogrxlsdatasource.cpp
示例18: STARTS_WITH
bool netCDFWriterConfiguration::Parse(const char *pszFilename)
{
CPLXMLNode *psRoot =
STARTS_WITH(pszFilename, "<Configuration")
? CPLParseXMLString(pszFilename)
: CPLParseXMLFile(pszFilename);
if( psRoot == NULL )
return false;
CPLXMLTreeCloser oCloser(psRoot);
for( CPLXMLNode *psIter = psRoot->psChild; psIter != NULL;
psIter = psIter->psNext )
{
if( psIter->eType != CXT_Element )
continue;
if( EQUAL(psIter->pszValue, "DatasetCreationOption") )
{
SetNameValue(psIter, m_oDatasetCreationOptions);
}
else if( EQUAL(psIter->pszValue, "LayerCreationOption") )
{
SetNameValue(psIter, m_oLayerCreationOptions);
}
else if( EQUAL(psIter->pszValue, "Attribute") )
{
netCDFWriterConfigAttribute oAtt;
if( oAtt.Parse(psIter) )
m_aoAttributes.push_back(oAtt);
}
else if( EQUAL(psIter->pszValue, "Field") )
{
netCDFWriterConfigField oField;
if( oField.Parse(psIter) )
m_oFields[!oField.m_osName.empty()
? oField.m_osName
: CPLString("__") + oField.m_osNetCDFName] =
oField;
}
else if( EQUAL(psIter->pszValue, "Layer") )
{
netCDFWriterConfigLayer oLayer;
if( oLayer.Parse(psIter) )
m_oLayers[oLayer.m_osName] = oLayer;
}
else
{
CPLDebug("GDAL_netCDF", "Ignoring %s", psIter->pszValue);
}
}
m_bIsValid = true;
return true;
}
开发者ID:Mavrx-inc,项目名称:gdal,代码行数:54,代码来源:netcdfwriterconfig.cpp
示例19: OpenGeodatabase
int FGdbDatabaseConnection::OpenGeodatabase(const char* pszFSName)
{
m_pGeodatabase = new Geodatabase;
long hr = ::OpenGeodatabase(StringToWString(CPLString(pszFSName)), *m_pGeodatabase);
if (FAILED(hr))
{
delete m_pGeodatabase;
m_pGeodatabase = NULL;
return FALSE;
}
return TRUE;
}
开发者ID:Wedjaa,项目名称:node-gdal,代码行数:12,代码来源:FGdbDriver.cpp
示例20: VALIDATE_POINTER1
CPLXMLNode *GDALSerializeTPSTransformer( void *pTransformArg )
{
VALIDATE_POINTER1( pTransformArg, "GDALSerializeTPSTransformer", NULL );
CPLXMLNode *psTree;
TPSTransformInfo *psInfo = static_cast<TPSTransformInfo *>(pTransformArg);
psTree = CPLCreateXMLNode( NULL, CXT_Element, "TPSTransformer" );
/* -------------------------------------------------------------------- */
/* Serialize bReversed. */
/* -------------------------------------------------------------------- */
CPLCreateXMLElementAndValue(
psTree, "Reversed",
CPLString().Printf( "%d", psInfo->bReversed ) );
/* -------------------------------------------------------------------- */
/* Attach GCP List. */
/* -------------------------------------------------------------------- */
if( psInfo->nGCPCount > 0 )
{
int iGCP;
CPLXMLNode *psGCPList = CPLCreateXMLNode( psTree, CXT_Element,
"GCPList" );
for( iGCP = 0; iGCP < psInfo->nGCPCount; iGCP++ )
{
CPLXMLNode *psXMLGCP;
GDAL_GCP *psGCP = psInfo->pasGCPList + iGCP;
psXMLGCP = CPLCreateXMLNode( psGCPList, CXT_Element, "GCP" );
CPLSetXMLValue( psXMLGCP, "#Id", psGCP->pszId );
if( psGCP->pszInfo != NULL && strlen(psGCP->pszInfo) > 0 )
CPLSetXMLValue( psXMLGCP, "Info", psGCP->pszInfo );
CPLSetXMLValue( psXMLGCP, "#Pixel",
CPLString().Printf( "%.4f", psGCP->dfGCPPixel ) );
CPLSetXMLValue( psXMLGCP, "#Line",
CPLString().Printf( "%.4f", psGCP->dfGCPLine ) );
CPLSetXMLValue( psXMLGCP, "#X",
CPLString().Printf( "%.12E", psGCP->dfGCPX ) );
CPLSetXMLValue( psXMLGCP, "#Y",
CPLString().Printf( "%.12E", psGCP->dfGCPY ) );
if( psGCP->dfGCPZ != 0.0 )
CPLSetXMLValue( psXMLGCP, "#GCPZ",
CPLString().Printf( "%.12E", psGCP->dfGCPZ ) );
}
}
return psTree;
}
开发者ID:AsherBond,项目名称:MondocosmOS,代码行数:58,代码来源:gdal_tps.cpp
注:本文中的CPLString函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论