Exemple #1
0
 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();
             }
         }
     }
 }
Exemple #2
0
        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);
        }
Exemple #3
0
 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);
 }
Exemple #4
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();
                    }
                }
            }
        }
Exemple #5
0
        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;
            }
        }
Exemple #6
0
        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);
            }
        }