private void GetFileAttrInfos(FileListItem fli) { if (HDF4Helper.IsHdf4(fli.FileName)) { Hdf4Operator oper = new Hdf4Operator(fli.FileName); try { Dictionary <string, string> fileAtrr = null; if (oper != null) { fileAtrr = oper.GetAttributes(); if (fileAtrr != null) { InitFileAttr(fileAtrr); } else { ClearFileAtrr(); } InitDataset(oper.GetDatasetNames, oper); } } catch (Exception ex) { AddLog(fli.FileName + "文件读取失败:" + ex.Message); } finally { if (oper != null) { oper.Dispose(); } } } }
private void AddToFileListItem(FileListItem fli) { ListViewItem lvi = new ListViewItem(Path.GetFileName(fli.FileName)); lvi.SubItems.Add(fli.Rid.OrbitDateTime.ToString("yyyy-MM-dd")); lvi.Tag = fli; lstFileInfoList.Items.Add(lvi); }
public static int CompareSortByFilenameInfos(FileListItem pro, FileListItem next) { if (pro.Rid.OrbitDateTime < next.Rid.OrbitDateTime) { return(-1); } if (pro.Rid.OrbitDateTime > next.Rid.OrbitDateTime) { return(1); } return(0); }
private void lstDataSets_SelectedIndexChanged(object sender, EventArgs e) { ClearDataSetCombox(); if (lstDataSets.SelectedItems.Count == 0 || lstDataSets.SelectedItems[0].Tag == null || lstFileInfoList.SelectedItems.Count == 0 || (lstFileInfoList.SelectedItems[0]).Tag == null) { return; } FileListItem fli = (lstFileInfoList.SelectedItems[0]).Tag as FileListItem; DataSetMosaicInfo dsi = lstDataSets.SelectedItems[0].Tag as DataSetMosaicInfo; if (fli == null) { return; } if (HDF4Helper.IsHdf4(fli.FileName)) { Hdf4Operator oper = new Hdf4Operator(fli.FileName); try { Dictionary <string, string> datasetAtrr = new Dictionary <string, string>(); if (oper != null) { datasetAtrr = oper.GetAttributes(dsi.DataSetName); if (datasetAtrr != null) { InitDataSetAttr(datasetAtrr, ref dsi); } Size size = Size.Empty; int bandCount = 0; Type datatype; int datatypeSize = 0; HDF4Helper.DataTypeDefinitions hdf4DataType = HDF4Helper.DataTypeDefinitions.DFNT_NUINT16; if (GetDataSetSize(dsi.DataSetName, oper, out size, out bandCount, out hdf4DataType, out datatype, out datatypeSize)) { InitHeigthWidth(size.Width, size.Height, bandCount, ref dsi); if (dsi != null) { dsi.HDF4DataType = hdf4DataType; } } } } finally { if (oper != null) { oper.Dispose(); } } } }
private void UpdateFileItemsAddToList(string[] files, bool checkTime, DateTime beginTime, DateTime endTime) { lstFileInfoList.Items.Clear(); RasterIdentify rid = null; FileListItem fli = null; if (checkTime) { foreach (string file in files) { DataIdentify di = DataIdentifyMatcher.Match(Path.GetFileName(file)); rid = new RasterIdentify(); rid.OriFileName = new string[] { file }; rid.Satellite = di.Satellite; rid.Sensor = di.Sensor; rid.OrbitDateTime = di.OrbitDateTime; FillRid(ref rid); if (rid.OrbitDateTime == DateTime.MinValue || rid.OrbitDateTime > Convert.ToDateTime(endTime.ToString("MM-dd-yyyy") + " 23:59:59") || rid.OrbitDateTime < Convert.ToDateTime(beginTime.ToString("MM-dd-yyyy") + " 00:00:00")) { continue; } fli = new FileListItem(file, rid); AddToFileListItem(fli); } } else { foreach (string file in files) { DataIdentify di = DataIdentifyMatcher.Match(Path.GetFileName(file)); rid = new RasterIdentify(); rid.OriFileName = new string[] { file }; rid.Satellite = di.Satellite; rid.Sensor = di.Sensor; rid.OrbitDateTime = di.OrbitDateTime; FillRid(ref rid); fli = new FileListItem(file, rid); AddToFileListItem(fli); } } if (lstFileInfoList.Items.Count != 0) { lstFileInfoList.Items[0].Selected = true; } }
private void lstFileInfoList_SelectedIndexChanged(object sender, EventArgs e) { if (lstFileInfoList.SelectedItems.Count == 0) { return; } FileListItem fli = lstFileInfoList.SelectedItems[0].Tag as FileListItem; if (Path.GetExtension(fli.FileName).ToUpper() == ".HDF") { SetAttrInfosEnable(true); GetFileAttrInfos(fli); } else { SetAttrInfosEnable(false); } }