Exemplo n.º 1
0
        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>();
            }
        }
Exemplo n.º 2
0
        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);
        }