本文整理汇总了C++中HFAEntry::GetDoubleField方法的典型用法代码示例。如果您正苦于以下问题:C++ HFAEntry::GetDoubleField方法的具体用法?C++ HFAEntry::GetDoubleField怎么用?C++ HFAEntry::GetDoubleField使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类HFAEntry
的用法示例。
在下文中一共展示了HFAEntry::GetDoubleField方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: return
const Eprj_ProParameters *HFAGetProParameters( HFAHandle hHFA )
{
HFAEntry *poMIEntry;
Eprj_ProParameters *psProParms;
int i;
if( hHFA->nBands < 1 )
return NULL;
/* -------------------------------------------------------------------- */
/* Do we already have it? */
/* -------------------------------------------------------------------- */
if( hHFA->pProParameters != NULL )
return( (Eprj_ProParameters *) hHFA->pProParameters );
/* -------------------------------------------------------------------- */
/* Get the HFA node. */
/* -------------------------------------------------------------------- */
poMIEntry = hHFA->papoBand[0]->poNode->GetNamedChild( "Projection" );
if( poMIEntry == NULL )
return NULL;
/* -------------------------------------------------------------------- */
/* Allocate the structure. */
/* -------------------------------------------------------------------- */
psProParms = (Eprj_ProParameters *)CPLCalloc(sizeof(Eprj_ProParameters),1);
/* -------------------------------------------------------------------- */
/* Fetch the fields. */
/* -------------------------------------------------------------------- */
psProParms->proType = (Eprj_ProType) poMIEntry->GetIntField("proType");
psProParms->proNumber = poMIEntry->GetIntField("proNumber");
psProParms->proExeName =CPLStrdup(poMIEntry->GetStringField("proExeName"));
psProParms->proName = CPLStrdup(poMIEntry->GetStringField("proName"));
psProParms->proZone = poMIEntry->GetIntField("proZone");
for( i = 0; i < 15; i++ )
{
char szFieldName[30];
sprintf( szFieldName, "proParams[%d]", i );
psProParms->proParams[i] = poMIEntry->GetDoubleField(szFieldName);
}
psProParms->proSpheroid.sphereName =
CPLStrdup(poMIEntry->GetStringField("proSpheroid.sphereName"));
psProParms->proSpheroid.a = poMIEntry->GetDoubleField("proSpheroid.a");
psProParms->proSpheroid.b = poMIEntry->GetDoubleField("proSpheroid.b");
psProParms->proSpheroid.eSquared =
poMIEntry->GetDoubleField("proSpheroid.eSquared");
psProParms->proSpheroid.radius =
poMIEntry->GetDoubleField("proSpheroid.radius");
hHFA->pProParameters = (void *) psProParms;
return psProParms;
}
示例2: main
//.........这里部分代码省略.........
/* -------------------------------------------------------------------- */
/* Dump indirectly collected data about bands. */
/* -------------------------------------------------------------------- */
HFAGetRasterInfo( hHFA, &nXSize, &nYSize, &nBands );
if( nRastReport )
{
printf( "Raster Size = %d x %d\n", nXSize, nYSize );
for( i = 1; i <= nBands; i++ )
{
int nDataType, nColors, nOverviews, iOverview;
double *padfRed, *padfGreen, *padfBlue, *padfAlpha, *padfBins;
int nBlockXSize, nBlockYSize, nCompressionType;
HFAGetBandInfo( hHFA, i, &nDataType, &nBlockXSize, &nBlockYSize,
&nCompressionType );
nOverviews = HFAGetOverviewCount( hHFA, i );
printf( "Band %d: %dx%d tiles, type = %d\n",
i, nBlockXSize, nBlockYSize, nDataType );
for( iOverview=0; iOverview < nOverviews; iOverview++ )
{
HFAGetOverviewInfo( hHFA, i, iOverview,
&nXSize, &nYSize,
&nBlockXSize, &nBlockYSize, NULL );
printf( " Overview: %dx%d (blocksize %dx%d)\n",
nXSize, nYSize, nBlockXSize, nBlockYSize );
}
if( HFAGetPCT( hHFA, i, &nColors, &padfRed, &padfGreen,
&padfBlue, &padfAlpha, &padfBins )
== CE_None )
{
int j;
for( j = 0; j < nColors; j++ )
{
printf( "PCT[%d] = %f,%f,%f %f\n",
(padfBins != NULL) ? (int) padfBins[j] : j,
padfRed[j], padfGreen[j],
padfBlue[j], padfAlpha[j]);
}
}
/* -------------------------------------------------------------------- */
/* Report statistics. We need to dig directly into the C++ API. */
/* -------------------------------------------------------------------- */
HFABand *poBand = hHFA->papoBand[i-1];
HFAEntry *poStats = poBand->poNode->GetNamedChild( "Statistics" );
if( poStats != NULL )
{
printf( " Min: %g Max: %g Mean: %g\n",
poStats->GetDoubleField( "minimum" ),
poStats->GetDoubleField( "maximum" ),
poStats->GetDoubleField( "mean" ) );
printf( " Median: %g Mode: %g Stddev: %g\n",
poStats->GetDoubleField( "median" ),
poStats->GetDoubleField( "mode" ),
poStats->GetDoubleField( "stddev" ) );
}
else
printf( " No Statistics found.\n" );
}
/* -------------------------------------------------------------------- */
/* Dump the map info structure. */
/* -------------------------------------------------------------------- */
psMapInfo = HFAGetMapInfo( hHFA );
if( psMapInfo != NULL )
{
printf( "MapInfo.proName = %s\n", psMapInfo->proName );
printf( "MapInfo.upperLeftCenter.x = %.2f\n",
psMapInfo->upperLeftCenter.x );
printf( "MapInfo.upperLeftCenter.y = %.2f\n",
psMapInfo->upperLeftCenter.y );
}
else
{
printf( "No Map Info found\n" );
}
}
psProParameters = HFAGetProParameters( hHFA );
psDatum = HFAGetDatum( hHFA );
HFAClose( hHFA );
#ifdef DBMALLOC
malloc_dump(1);
#endif
exit( 0 );
}