Exemple #1
0
        }//これは表示種類と地中か地表かをURLにすぐに出してくれる関数

        static bool IsEEW(KyoshinType type)
        {
            if (type == KyoshinType.EEW_EST || type == KyoshinType.EEW_Circle)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
Exemple #2
0
 async Task <Image> GetKyoshinImage(DateTime time, KyoshinType type, bool isbool)
 {
     try
     {
         Net.GetJsonFile Network = new Net.GetJsonFile();
         return(byteArrayToImage(Network.GetData("http://www.kmoni.bosai.go.jp/data/map_img/" + GetTypeToLURL(type, isbool) + "/" + time.ToString("yyyyMMdd") + "/" + time.ToString("yyyyMMddHHmmss") + "." + GetTypeToURL(type, isbool) + ".gif")));
     }
     catch (Exception e)
     {
         Console.WriteLine($"強震モニタのデータをダウンロードする際に例外エラー\n理由 : {e.Message}");
     }
     return(null);
 }
Exemple #3
0
        private static string GetTypeToURL(KyoshinType type, bool IsBour)
        {
            string TypeName = "";

            switch (type)
            {
            case KyoshinType.RealTime_Shindo:
                TypeName = "jma";
                break;

            case KyoshinType.PGA:
                TypeName = "acmap";
                break;

            case KyoshinType.PGV:
                TypeName = "vcmap";
                break;

            case KyoshinType.PGD:
                TypeName = "dcmap";
                break;

            case KyoshinType.Response_0125:
                TypeName = "rsp0125";
                break;

            case KyoshinType.Response_0250:
                TypeName = "rsp0250";
                break;

            case KyoshinType.Response_0500:
                TypeName = "rsp0500";
                break;

            case KyoshinType.Response_1000:
                TypeName = "rsp1000";
                break;

            case KyoshinType.Response_2000:
                TypeName = "rsp2000";
                break;

            case KyoshinType.Response_4000:
                TypeName = "rsp4000";
                break;

            case KyoshinType.EEW_EST:
                TypeName = "eew";
                break;

            case KyoshinType.EEW_Circle:
                TypeName = "eew";
                break;

            default:
                TypeName = "";
                break;
            }

            if (TypeName != "" && TypeName != "eew")
            {
                if (IsBour)
                {
                    TypeName += "_b";
                }
                else
                {
                    TypeName += "_s";
                }
            }
            return(TypeName);
        }//これは表示種類と地中か地表かをURLにすぐに出してくれる関数
Exemple #4
0
        public Image GetFastImage(DateTime time, KyoshinType type, bool IsBour, bool IsESTShindo, bool IsPSV, bool NoneBG = false)//直接データが欲しい場合 (時間,表示タイプ,地中フラグ,予測震度表示,予測円表示)
        {
            try
            {
                Net.GetJsonFile Network  = new Net.GetJsonFile();
                string          TypeName = GetTypeToURL(type, IsBour);

                //ImageオブジェクトのGraphicsオブジェクトを作成する

                Image    BG = new Bitmap(352, 400);
                Graphics graphics;
                graphics = Graphics.FromImage(BG);
                Task <Image> ESTImg      = null;
                Task <Image> RealTimeImg = null;
                Task <Image> CircleImg   = null;



                if (IsESTShindo)
                {
                    ESTImg = Task.Run <Image>(() => { return(GetKyoshinImage(time, KyoshinType.EEW_EST)); });
                }
                RealTimeImg = Task.Run <Image>(() => { return(GetKyoshinImage(time, type, IsBour)); });
                if (IsPSV)
                {
                    CircleImg = Task.Run <Image>(() => { return(GetKyoshinImage(time, KyoshinType.EEW_Circle)); });
                }



                if (!NoneBG)
                {
                    graphics.DrawImage(Properties.Resources.Kyoshin_Basemap, new Point(0, 0));
                }
                else
                {
                    graphics.Clear(Color.FromArgb(0, 0, 0, 0));
                }
                Image KImage = null;
                if (IsESTShindo)
                {
                    ESTImg.Wait();
                    KImage = ESTImg.Result;

                    if (KImage != null)
                    {
                        EEWShindo = (Image)KImage.Clone();
                    }
                    else
                    {
                        EEWShindo = null;
                    }

                    if (KImage != null)
                    {
                        graphics.DrawImage(KImage, new Point(0, 0));
                        KImage.Dispose();
                    }
                }
                KImage = null;
                if (TypeName != "")
                {
                    RealTimeImg.Wait();
                    KImage = RealTimeImg.Result;
                    //KImage = byteArrayToImage(Network.GetData("http://www.kmoni.bosai.go.jp/data/map_img/RealTimeImg/" + TypeName + "/" + time.ToString("yyyyMMdd") + "/" + time.ToString("yyyyMMddHHmmss") + "." + TypeName + ".gif"));

                    if (KImage != null)
                    {
                        graphics.DrawImage(KImage, new Point(0, 0));
                        KImage.Dispose();
                    }
                }
                KImage = null;
                if (IsPSV)
                {
                    CircleImg.Wait();
                    KImage = CircleImg.Result;
                    //KImage = byteArrayToImage(Network.GetData("http://www.kmoni.bosai.go.jp/data/map_img/PSWaveImg/eew/" + time.ToString("yyyyMMdd") + "/" + time.ToString("yyyyMMddHHmmss") + ".eew.gif"));
                    EEWCircle = KImage;
                    if (KImage != null)
                    {
                        graphics.DrawImage(KImage, new Point(0, 0));
                        KImage.Dispose();
                    }
                }
                KImage = null;
                graphics.Dispose();
                graphics    = null;
                IsLastError = false;
                return(BG);
            }
            catch
            {
                IsLastError     = true;
                LastErrorStatus = "デバッグ操作中にエラー";
                return(null);
            }
        }