/// <summary> /// 地面图片 /// </summary> private void GroundImg(DateTime dt, string cate) { dt = dt.AddHours(-((dt.Hour - 8) % 12 + 12)); string webpath = "http://image.nmc.cn/product/" + dt.AddHours(8).Year + "/" + dt.AddHours(8).ToString("MM") + "/" + dt.AddHours(8).ToString("dd") + "/WESA/medium/SEVP_NMC_WESA_SFER_EGH_ACWP_L" + cate + "_P9_" + dt.AddHours(-8).ToString("yyyyMMddHH") + "0000000.bmp"; string fileName = dt.ToString("yyyyMMddHH") + ".JPG"; string locationUrl = ConfigurationManager.AppSettings["fullpath"] + "GroundImg\\" + cate + "\\" + fileName; //保存到本地路径 DateTime CurrTime = Convert.ToDateTime(dt.ToString("yyyy-MM-dd HH:mm")); //文件时间 string relativePath = "GroundImg\\" + cate + "\\" + fileName; //文件相对路径 T_Moni_ImgFiles img = new T_Moni_ImgFiles(); img.FileName = fileName; img.FullFileName = relativePath; img.FileDate = CurrTime; img.CreatedTime = DateTime.Now; switch (cate) { case "70": img.Cate = 5; break; case "50": img.Cate = 4; break; case "85": img.Cate = 6; break; case "00": img.Cate = 3; break; } ImgAcp(webpath, locationUrl, img); }
/// <summary> /// 图片采集 /// </summary> private void ImgAcp(string imgUrl, string localpath, T_Moni_ImgFiles imgfile) { if (GetUrlError(imgUrl) != 200) { writelog("图片未找到:" + imgUrl); return; } WebRequest request = WebRequest.Create(imgUrl); WebResponse response = null; try { response = request.GetResponse(); request.Timeout = 5 * 60 * 1000; ImageFormat f = ImageFormat.Gif; string fileext = imgUrl.Substring(imgUrl.LastIndexOf('.')); if (fileext.ToUpper() == ".JPG") { f = ImageFormat.Jpeg; } else if (fileext.ToUpper() == ".PNG") { f = f = ImageFormat.Png; } else if (fileext.ToUpper() == ".BMP") { f = ImageFormat.Bmp; } Stream resStream = response.GetResponseStream(); FileInfo fi = new FileInfo(localpath); //如果存在文件则先干掉 if (!fi.Exists) { System.Drawing.Image img; img = System.Drawing.Image.FromStream(resStream); img.Save(localpath, f); resStream.Close(); string ConnectionString = ConfigurationManager.ConnectionStrings["MapDB"].ConnectionString; SqlConnection conn = new SqlConnection(ConnectionString); conn.Open(); string sql = "insert into T_Mid_ImgFiles(FileName,Cate,FileDate,FullFileName,CreatedTime) values('" + imgfile.FileName + "'," + imgfile.Cate + ",'" + imgfile.FileDate + "','" + imgfile.FullFileName + "','" + imgfile.CreatedTime + "')"; SqlCommand cmd = new SqlCommand(sql, conn); cmd.ExecuteNonQuery(); conn.Close(); //EntityHelper.Add<T_Moni_ImgFiles>(imgfile); } writelog("图片同步成功:" + localpath); } catch (Exception ex) { writelog("图片同步出错:" + ex.Message.ToString() + ">>" + imgUrl); } finally { response.Close(); response.Dispose(); } }
/// <summary> /// 雷达图片 /// </summary> private void RadarImg(DateTime dt) { dt = dt.AddMinutes(-(dt.Minute % 5)).AddMinutes(-10);//图片延迟10分钟,显示图片频次是每5分钟一次 //网页路径 string webpath = "http://image.nmc.cn/product/" + dt.Year + "/" + dt.ToString("MM") + "/" + dt.ToString("dd") + "/RDCP/SEVP_AOC_RDCP_SLDAS_EBREF_AZ9352_L88_PI_" + dt.AddHours(-8).ToString("yyyyMMddHHmm") + "00000.GIF"; string fileName = dt.ToString("yyyyMMddHHmm") + ".GIF"; string locationUrl = ConfigurationManager.AppSettings["fullpath"] + "RadarImg\\" + fileName; //保存到本地路径 DateTime CurrTime = Convert.ToDateTime(dt.ToString("yyyy-MM-dd HH:mm")); //文件时间 string relativePath = "RadarImg\\" + fileName; //文件相对路径 T_Moni_ImgFiles img = new T_Moni_ImgFiles(); img.FileName = fileName; img.FullFileName = relativePath; img.Cate = 1; img.CreatedTime = DateTime.Now; img.FileDate = CurrTime; ImgAcp(webpath, locationUrl, img); }
/// <summary> /// 卫星云图 /// </summary> private void CloudImg(DateTime dt) { dt = dt.AddMinutes(-(dt.Minute % 30)).AddMinutes(-15);//图片延迟10分钟,显示图片频次是每5分钟一次 //网页路径 string webpath = "http://image.nmc.cn/product/" + dt.Year + "/" + dt.ToString("MM") + "/" + dt.ToString("dd") + "/WXCL/SEVP_NSMC_WXCL_ASC_E99_ACHN_LNO_PY_" + dt.AddHours(-8).ToString("yyyyMMddHHmm") + "00000.JPG"; string fileName = dt.ToString("yyyyMMddHHmm") + ".JPG"; string locationUrl = ConfigurationManager.AppSettings["fullpath"] + "CloudImg\\" + fileName; //保存到本地路径 DateTime CurrTime = Convert.ToDateTime(dt.ToString("yyyy-MM-dd HH:mm")); //文件时间 string relativePath = "CloudImg\\" + fileName; //文件相对路径 T_Moni_ImgFiles img = new T_Moni_ImgFiles(); img.FileName = fileName; img.FullFileName = relativePath; img.Cate = 2; img.FileDate = CurrTime; img.CreatedTime = DateTime.Now; ImgAcp(webpath, locationUrl, img); }