void DownloadHimawari8Image(Himawari8.Area area, Himawari8.ImageType type) { DateTime timeTag = DateTime.Now; //update picHimawari8.Image showHimawari8Message("Download Himawari8 Image"); this.Invoke(new downloadHimawari8Handler(satHimawari8.DownloadHimawari8Image), area, type, timeTag); if (satHimawari8.sourceImage != null) { picHimawari8.Image = satHimawari8.sourceImage; } showHimawari8Message(satHimawari8.status); }
String saveHimawari8SourceImage(Himawari8.Area area, Himawari8.ImageType type, DateTime pictureTime) { if (satHimawari8.sourceImage == null) //no image { return(null); } DateTime fileTag = new DateTime(pictureTime.Year, pictureTime.Month, pictureTime.Day, pictureTime.Hour, (pictureTime.Minute / 10) * 10, 0); showHimawari8Message("save CWB Image"); String subPath = String.Format("CWB\\{0}\\{1}", Himawari8.ImageAreaName[(int)area], Himawari8.ImageTypeName[(int)type]); String FilePath = rmtCore.fileRoot.CreateSubPath(subPath, FileRoot.Type.Daily); String FileName = String.Format("{0}_{1}_{2}_{3}.png", (type == Himawari8.ImageType.RadarCompositeReflect) ? "Radar" : "Himawari8", fileTag.ToString("yyyy-MM-dd_HH-mm-ss"), Himawari8.ImageAreaName[(int)area], Himawari8.ImageTypeName[(int)type]); String BmpFileName = satHimawari8.SaveSourceImage(FilePath, FileName); showHimawari8Message(""); return(BmpFileName); }
private void autoAnalysis() { DateTime time1 = timeTag; DateTime time2; switch (cbTimeInterval.Text) { case "10 Minutes": time2 = time1.AddMinutes(10); time2 = new DateTime(time2.Year, time2.Month, time2.Day, time2.Hour, (time2.Minute / 10) * 10, 0); //aligned to 10 minutes break; case "15 Minutes": time2 = time1.AddMinutes(15); time2 = new DateTime(time2.Year, time2.Month, time2.Day, time2.Hour, (time2.Minute / 15) * 15, 0); //aligned to 15 minutes break; case "20 Minutes": time2 = time1.AddMinutes(20); time2 = new DateTime(time2.Year, time2.Month, time2.Day, time2.Hour, (time2.Minute / 20) * 20, 0); //aligned to 20 minutes break; case "30 Minutes": time2 = time1.AddMinutes(30); time2 = new DateTime(time2.Year, time2.Month, time2.Day, time2.Hour, (time2.Minute / 30) * 30, 0); //aligned to 30 minutes break; case "1 Hour": time2 = time1.AddHours(1); time2 = new DateTime(time2.Year, time2.Month, time2.Day, (time2.Hour / 1) * 1, 0, 0); //aligned to 1 hour break; case "2 Hours": time2 = time1.AddHours(2); time2 = new DateTime(time2.Year, time2.Month, time2.Day, (time2.Hour / 2) * 2, 0, 0); //aligned to 2 hour break; default: MessageBox.Show("Invalid Time Interval", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } int year = timeTag.Year; int month = timeTag.Month; int day1 = time1.Day; int hour1 = time1.Hour; int min1 = time1.Minute; int day2 = time2.Day; int hour2 = time2.Hour; int min2 = time2.Minute; int mr = Convert.ToInt32(tbMr.Text); float mw = (float)Convert.ToDouble(tbMw.Text);; int warn = Convert.ToInt32(tbWarning.Text); switch (cbAnalysisItem.Text) { case "Mr最大強度圖": webAnalysis("map_mr.php", year, month, day1, hour1, min1, day2, hour2, min2, mr, mw, warn); statusMessage.Text = "分析:Mr最大強度圖"; break; case "Mw最大強度圖": webAnalysis("map_mw.php", year, month, day1, hour1, min1, day2, hour2, min2, mr, mw, warn); statusMessage.Text = "分析:Mw最大強度圖"; break; case "林志勇猜想分布圖": webAnalysis("map_warning.php", year, month, day1, hour1, min1, day2, hour2, min2, mr, mw, warn); statusMessage.Text = "分析:林志勇猜想分布圖"; break; //case "樣本熱區圖": webAnalysis_mr("map_hot.php", year, month, day1, hour1, min1, day2, hour2, min2, mr, mw); break; //case "Mw*Mr累積強度圖": webAnalysis_mr("map_mwmr-sum.php", year, month, day1, hour1, min1, day2, hour2, min2, mr, mw); break; //case "Mw累積強度圖": webAnalysis_mr("map_mw-sum.php", year, month, day1, hour1, min1, day2, hour2, min2, mr, mw); break; default: MessageBox.Show("Invalid Analysis Item", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } DateTime picTime = new DateTime(year, month, day1, hour1, min1, 0); Himawari8.ImageType cloudType = Himawari8.ImageType.InfraridColor; switch (cbCloudTyoe.Text) { case "可見光": cloudType = Himawari8.ImageType.Visible; break; case "紅外線彩色": cloudType = Himawari8.ImageType.InfraridColor; break; case "紅外線黑白": cloudType = Himawari8.ImageType.InfraridMono; break; case "色調強化": cloudType = Himawari8.ImageType.InfraridEnhence; break; case "真實色彩": cloudType = Himawari8.ImageType.TrueColor; break; case "雷達回波": cloudType = Himawari8.ImageType.RadarCompositeReflect; break; } this.Invoke(new downloadHimawari8Handler(satHimawari8.DownloadHimawari8Image), Himawari8.Area.Taiwan, cloudType, picTime); picCloud.Image = satHimawari8.sourceImage; }