/// <summary>
        /// 与えられた値を使用してURLを生成します。
        /// </summary>
        /// <param name="urlType">生成するURLのタイプ</param>
        /// <param name="datetime">生成するURLの時間</param>
        /// <param name="realTimeShindoType">(UrlType=RealTimeDataの際に使用)取得するリアルタイム情報の種類</param>
        /// <param name="isBerehole">(UrlType=RealTimeDataの際に使用)地中の情報を取得するかどうか</param>
        /// <returns></returns>
        public static string Generate(AppApiUrlType urlType, DateTime datetime, RealTimeDataType realTimeShindoType = RealTimeDataType.Shindo, bool isBerehole = false)
        {
            switch (urlType)
            {
            case AppApiUrlType.RealTimeData:
                return(string.Format(RealTimeDataBase, realTimeShindoType.ToUrlString(), isBerehole ? "b" : "s", datetime.ToString("yyyyMMdd"), datetime.ToString("yyyyMMddHHmmss")));

            case AppApiUrlType.EstShindoJson:
                return(string.Format(EewJsonBase, "EstShindoJsonV2", datetime.ToString("yyyyMMdd"), datetime.ToString("yyyyMMddHHmmss"), "est"));

            case AppApiUrlType.PSWaveJson:
                return(string.Format(EewJsonBase, "PSWaveJsonV2", datetime.ToString("yyyyMMdd"), datetime.ToString("yyyyMMddHHmmss"), "psw"));

            case AppApiUrlType.HypoInfoJson:
                return(string.Format(EewJsonBase, "HypoInfoJsonV2", datetime.ToString("yyyyMMdd"), datetime.ToString("yyyyMMddHHmmss"), "hypo"));
            }
            return(null);
        }
        /// <summary>
        /// 与えられた値を使用してURLを生成します。
        /// </summary>
        /// <param name="urlType">生成するURLのタイプ</param>
        /// <param name="datetime">生成するURLの時間</param>
        /// <param name="realTimeShindoType">(UrlType=RealTimeImgの際に使用)取得するリアルタイム情報の種類</param>
        /// <param name="isBerehole">(UrlType=RealTimeImgの際に使用)地中の情報を取得するかどうか</param>
        /// <returns></returns>
        public static string Generate(WebApiUrlType urlType, DateTime datetime, RealTimeDataType realTimeShindoType = RealTimeDataType.Shindo, bool isBerehole = false)
        {
            switch (urlType)
            {
            case WebApiUrlType.RealTimeImg:
                return(string.Format(RealTimeBase, realTimeShindoType.ToUrlString(), isBerehole ? "b" : "s", datetime.ToString("yyyyMMdd"), datetime.ToString("yyyyMMddHHmmss")));

            case WebApiUrlType.EstShindo:
                return(string.Format(EstShindoBase, datetime.ToString("yyyyMMdd"), datetime.ToString("yyyyMMddHHmmss")));

            case WebApiUrlType.PSWave:
                return(string.Format(PsWaveBase, datetime.ToString("yyyyMMdd"), datetime.ToString("yyyyMMddHHmmss")));

            case WebApiUrlType.EewJson:
                return(string.Format(JsonEewBase, datetime.ToString("yyyyMMddHHmmss")));
            }
            return(null);
        }
Example #3
0
        /// <summary>
        /// URLに使用する文字列に変換する
        /// </summary>
        /// <param name="type">変換するRealTimeImgTypy</param>
        /// <returns>変換された文字列</returns>
        public static string ToUrlString(this RealTimeDataType type)
        {
            switch (type)
            {
            case RealTimeDataType.Shindo:
                return("jma");

            case RealTimeDataType.Pga:
                return("acmap");

            case RealTimeDataType.Pgv:
                return("vcmap");

            case RealTimeDataType.Pgd:
                return("dcmap");

            case RealTimeDataType.Response_0_125Hz:
                return("rsp0125");

            case RealTimeDataType.Response_0_25Hz:
                return("rsp0250");

            case RealTimeDataType.Response_0_5Hz:
                return("rsp0500");

            case RealTimeDataType.Response_1Hz:
                return("rsp1000");

            case RealTimeDataType.Response_2Hz:
                return("rsp2000");

            case RealTimeDataType.Response_4Hz:
                return("rsp4000");
            }
            return(null);
        }
Example #4
0
 public Task <byte[]> GetRealtimeImageData(DateTime time, RealTimeDataType dataType, bool isBehore = false)
 => GetBytes(WebApiUrlGenerator.Generate(WebApiUrlType.RealTimeImg, time, dataType, isBehore));
Example #5
0
 public override Task <RealTimeData> GetRealTimeData(DateTime time, RealTimeDataType dataType, bool isBehore = false)
 => Task.FromResult(JsonSerializer.Deserialize <RealTimeData>(
                        File.ReadAllText(AppApiUrlGenerator.Generate(AppApiUrlType.RealTimeData, time, dataType, isBehore).Replace("http://ts.qtmoni.bosai.go.jp/qt/tsapp/kyoshin_monitor/static/sip_data/", BasePath))));