private void TestGDALRead() { string dsFile = ""; dsFile = "HDF4_SDS:UNKNOWN:\"D:\\masData\\MODIS\\TERRA_2010_03_25_03_09_GZ.MOD03.hdf\":23"; dsFile = "D:\\masData\\MODIS\\TERRA_2010_03_25_03_09_GZ.MOD021KM.hdf"; IRasterDataProvider srcRaster = GeoDataDriver.Open(dsFile) as IRasterDataProvider; IBandProvider srcbandpro = srcRaster.BandProvider; IDictionary <string, string> dsAtts = srcbandpro.GetDatasetAttributes("EV_1KM_RefSB");//reflectance_scales dsAtts = srcbandpro.GetAttributes(); }
private float[] ReadDataSetAttrToFloat(IBandProvider srcbandpro, string dataSetName, string attrName, int length) { float[] value = new float[length]; IDictionary <string, string> dsAtts = srcbandpro.GetDatasetAttributes(dataSetName); string refSbCalStr = dsAtts[attrName]; string[] refSbCals = refSbCalStr.Split(','); if (refSbCals.Length >= length) { for (int i = 0; i < length; i++) { value[i] = float.Parse(refSbCals[i]); } return(value); } else { return(null); } }