public JMAQuake(int observationPointDefaultCapacity) { issueOf = ""; issueTime = DateTime.MinValue; issueType = IssueType.Unknown; correctType = CorrectType.Unknown; occuredTime = DateTime.MinValue; occuredPlace = ""; occuredLatitude = -200; occuredLongitude = -200; occuredDepth = -1; occuredMagnitude = -1; occuredScale = -1; domesticTsunamiType = DomesticTsunamiType.Unknown; foreignTsunamiType = ForeignTsunamiType.Unknown; if (observationPointDefaultCapacity >= 0) { observationPoints = new List <ObservationPoint>(observationPointDefaultCapacity); } else { observationPoints = new List <ObservationPoint>(); } }
private DomesticTsunamiType getDomesticTsunamiType() { string html = getHtml(true, true, true, true); DomesticTsunamiType type = DomesticTsunamiType.Unknown; IssueType issueType = getIssueType(); Dictionary <string, DomesticTsunamiType> searchTable = new Dictionary <string, DomesticTsunamiType>(); if (issueType == IssueType.Foreign) { searchTable.Add(@"津波(警報|予報).{1,15}発表(中|しています)", DomesticTsunamiType.Warning); searchTable.Add(@"津波注意報.{1,15}発表(中|しています)", DomesticTsunamiType.Watch); searchTable.Add(@"若干の海面変動がある", DomesticTsunamiType.NonEffective); searchTable.Add(@"日本への津波.{3,12}調査中", DomesticTsunamiType.Checking); searchTable.Add(@"日本への津波の(心配|影響)はありません", DomesticTsunamiType.None); searchTable.Add(@"津波の心配はありません", DomesticTsunamiType.None); } else { searchTable.Add(@"津波(警報|予報).{1,15}発表(中|しています)", DomesticTsunamiType.Warning); searchTable.Add(@"津波注意報.{1,15}発表(中|しています)", DomesticTsunamiType.Watch); searchTable.Add(@"多少の海面変動が(ある|続く|続き)", DomesticTsunamiType.NonEffective); searchTable.Add(@"若干の海面変動がある", DomesticTsunamiType.NonEffective); searchTable.Add(@"今後の情報に注意", DomesticTsunamiType.Checking); searchTable.Add(@"津波の心配はありません", DomesticTsunamiType.None); } foreach (string key in searchTable.Keys) { if (Regex.IsMatch(html, key)) { type = searchTable[key]; break; } } return(type); }