/// <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(UrlType urlType, DateTime datetime, RealTimeImgType realTimeShindoType = RealTimeImgType.Shindo, bool isBerehole = false) { switch (urlType) { case UrlType.RealTimeImg: return(string.Format(RealTimeBase, realTimeShindoType.ToUrlString(), isBerehole ? "b" : "s", datetime.ToString("yyyyMMdd"), datetime.ToString("yyyyMMddHHmmss"))); case UrlType.RestShindo: return(string.Format(EstShindoBase, datetime.ToString("yyyyMMdd"), datetime.ToString("yyyyMMddHHmmss"))); case UrlType.PSWave: return(string.Format(PsWaveBase, datetime.ToString("yyyyMMdd"), datetime.ToString("yyyyMMddHHmmss"))); case UrlType.EewJson: return(string.Format(JsonEewBase, datetime.ToString("yyyyMMddHHmmss"))); } return(null); }
/// <summary> /// URLに使用する文字列に変換する /// </summary> /// <param name="type">変換するRealTimeImgTypy</param> /// <returns>変換された文字列</returns> public static string ToUrlString(this RealTimeImgType type) { switch (type) { case RealTimeImgType.Shindo: return("jma"); case RealTimeImgType.Pga: return("acmap"); case RealTimeImgType.Pgv: return("vcmap"); case RealTimeImgType.Pgd: return("dcmap"); case RealTimeImgType.Response_0_125Hz: return("rsp0125"); case RealTimeImgType.Response_0_25Hz: return("rsp0250"); case RealTimeImgType.Response_0_5Hz: return("rsp0500"); case RealTimeImgType.Response_1Hz: return("rsp1000"); case RealTimeImgType.Response_2Hz: return("rsp2000"); case RealTimeImgType.Response_4Hz: return("rsp4000"); } return(null); }