<P>Hi, I'm not quite sure about what you need to analyze the problem. But I will write down all details which I consider helpful.</P>
<P>I build all dlls (gdal_HDF5.dll, gdal_HDF5Image.dll), add C:\gdal\gdal162\bld\bin as system variable.</P>
<P>Then I reset VS2008 as VC++ with default settings, add C:\gdal\gdal162\bld\include and C:\gdal\gdal162\bld\lib to the project.</P>
<P>The sample datas are supplied as part of software package. Theit file structures are below read out by The HDF hdfview 2.5.</P>
<P>-----------Structure of sample data from hdfview 2.5----------------<BR>C:\Program Files\thg\hdfview 2.5\samples\hdf5_test.h5<BR>+hdf5_test.h5<BR>&nbsp;&nbsp; +A note<BR>&nbsp;&nbsp; +arrays<BR>&nbsp;&nbsp;&nbsp;&nbsp; -1D String<BR>&nbsp;&nbsp;&nbsp;&nbsp; -2D float array<BR>&nbsp;&nbsp;&nbsp;&nbsp; -2D int array<BR>&nbsp;&nbsp;&nbsp;&nbsp; -3D int array<BR>&nbsp;&nbsp;&nbsp;&nbsp; -ArrayOfStructures<BR>&nbsp;&nbsp;&nbsp;&nbsp; -Vdata with mixed types<BR>&nbsp;&nbsp; +datatypes<BR>&nbsp;&nbsp;&nbsp;&nbsp; -H5_NATIVE_INT<BR>&nbsp;&nbsp; +images<BR>&nbsp;&nbsp;&nbsp;&nbsp; -3D THG<BR>&nbsp;&nbsp;&nbsp;&nbsp; -Iceberg<BR>&nbsp;&nbsp;&nbsp;&nbsp; -hst_lagoon_detail.jpg<BR>&nbsp;&nbsp;&nbsp;&nbsp; -ice interlace<BR>&nbsp;&nbsp;&nbsp;&nbsp; -pixel interlace<BR>&nbsp;&nbsp;&nbsp;&nbsp; -plane interlace</P>
<P><BR>-----------Structure of sample data from Envi 4.3----------------<BR>D:\RSI\IDL63\examples\data\hdf5_test.h5<BR>+hdf5_test.h5<BR>&nbsp;&nbsp;&nbsp; -2D int array<BR>&nbsp;&nbsp;&nbsp; -A note<BR>&nbsp;&nbsp;&nbsp; -SL to 3D int array<BR>&nbsp;&nbsp;&nbsp; +arrays<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -2D float array<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -2D int array<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -3D int array<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -Vdata with mixed types<BR>&nbsp;&nbsp;&nbsp; +datatypes<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -A Native float datatype<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -A String datatype<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -Air pressure<BR>&nbsp;&nbsp;&nbsp; +images<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -Eskimo<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -Eskimo_palette<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -Iceberg<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -Iceberg_palette<BR>&nbsp;&nbsp;&nbsp; +links<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; +hard links<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -Eskimo<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -RGB values<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -loop back to links<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; +soft links<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -2D float array</P>
<P><BR>-------------------------the code that I write in VS2008 ------------------------<BR>#include &lt;iostream&gt;<BR>#include &lt;stdio.h&gt;</P>
<P>#include "gdal_priv.h"<BR>#pragma comment(lib,"gdal_i.lib")</P>
<P>using std::cout;<BR>using std::endl;</P>
<P>int main()<BR>{<BR>&nbsp;GDALAllRegister();</P>
<P>&nbsp;const char* filename="D:\\RSI\\IDL63\\examples\\data\\hdf5_test.h5";<BR>&nbsp;//const char* filename="C:\\Program Files\\thg\\hdfview 2.5\\samples\\hdf5_test.h5";</P>
<P>&nbsp;const char* pszFormat="HDF5";<BR>&nbsp;GDALDriver *poDriver = GetGDALDriverManager()-&gt;GetDriverByName(pszFormat);<BR>&nbsp;<BR>&nbsp;if( poDriver != NULL )<BR>&nbsp;{<BR>&nbsp;&nbsp;cout&lt;&lt;pszFormat&lt;&lt;" format is supported!"&lt;&lt;endl;<BR>&nbsp;}<BR>&nbsp;else<BR>&nbsp;{<BR>&nbsp;&nbsp;cout&lt;&lt;"Gdal do not support "&lt;&lt;pszFormat&lt;&lt;"."&lt;&lt;endl;<BR>&nbsp;}</P>
<P>&nbsp;GDALDataset *poDataset;&nbsp;<BR>&nbsp;poDataset= (GDALDataset *) GDALOpen( filename, GA_ReadOnly);<BR>&nbsp;<BR>&nbsp;if(poDataset == NULL)<BR>&nbsp;{<BR>&nbsp;&nbsp;cout&lt;&lt;"error!";<BR>&nbsp;&nbsp;return 0;<BR>&nbsp;}<BR>&nbsp;&nbsp;else<BR>&nbsp;{<BR>&nbsp;&nbsp;//***************************************************************//<BR>&nbsp;&nbsp;double&nbsp;&nbsp; adfGeoTransform[6];<BR>&nbsp;&nbsp;<BR>&nbsp;&nbsp;printf( "Driver: %s/%s\n",<BR>&nbsp;&nbsp;&nbsp;poDataset-&gt;GetDriver()-&gt;GetDescription(), <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; poDataset-&gt;GetDriver()-&gt;GetMetadataItem( GDAL_DMD_LONGNAME ) );<BR>&nbsp;&nbsp;<BR>&nbsp;&nbsp;printf( "Size is %dx%dx%d\n", <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; poDataset-&gt;GetRasterXSize(), poDataset-&gt;GetRasterYSize(),<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; poDataset-&gt;GetRasterCount() );<BR>&nbsp;&nbsp;<BR>&nbsp;&nbsp;if( poDataset-&gt;GetProjectionRef()&nbsp; != NULL )<BR>&nbsp;&nbsp;&nbsp;printf( "Projection is '%s'\n", poDataset-&gt;GetProjectionRef() );<BR>&nbsp;&nbsp;<BR>&nbsp;&nbsp;if( poDataset-&gt;GetGeoTransform( adfGeoTransform ) == CE_None )<BR>&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;printf( "Origin = (%.6f,%.6f)\n",<BR>&nbsp;&nbsp;&nbsp;&nbsp;adfGeoTransform[0], adfGeoTransform[3] );<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;printf( "Pixel Size = (%.6f,%.6f)\n",<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; adfGeoTransform[1], adfGeoTransform[5] );<BR>&nbsp;&nbsp;}<BR>&nbsp;}<BR>&nbsp;<BR>&nbsp;GDALClose(poDataset);<BR>&nbsp;return 0;<BR>}</P><br><br><span title="neteasefooter"/><hr/>
<a href="http://www.yeah.net/?from=footer">没有广告的终身免费邮箱,www.yeah.net</a>
</span>