eew_parser 0.0.0

Sign up to get free protection for your applications and to get access to all the features.
data/.document ADDED
@@ -0,0 +1,5 @@
1
+ lib/**/*.rb
2
+ bin/*
3
+ -
4
+ features/**/*.feature
5
+ LICENSE.txt
data/Gemfile ADDED
@@ -0,0 +1,13 @@
1
+ source "http://rubygems.org"
2
+ # Add dependencies required to use your gem here.
3
+ # Example:
4
+ # gem "activesupport", ">= 2.3.5"
5
+
6
+ # Add dependencies to develop your gem here.
7
+ # Include everything needed to run rake, tests, features, etc.
8
+ group :development do
9
+ gem "shoulda", ">= 0"
10
+ gem "bundler", "~> 1.0.0"
11
+ gem "jeweler", "~> 1.5.2"
12
+ gem "rcov", ">= 0"
13
+ end
data/LICENSE.txt ADDED
@@ -0,0 +1,15 @@
1
+ A. 本ソフトウェアは Everyone'sWare です。このソフトを手にした一人一人が、
2
+ ご自分の作ったものを扱うのと同じように、自由に利用することが出来ます。
3
+
4
+ A-1. フリーウェアです。作者からは使用料等を要求しません。
5
+ A-2. 有料無料や媒体の如何を問わず、自由に転載・再配布できます。
6
+ A-3. いかなる種類の 改変・他プログラムでの利用 を行っても構いません。
7
+ A-4. 変更したものや部分的に使用したものは、あなたのものになります。
8
+ 公開する場合は、あなたの名前の下で行って下さい。
9
+
10
+ B. このソフトを利用することによって生じた損害等について、作者は
11
+ 責任を負わないものとします。各自の責任においてご利用下さい。
12
+
13
+ C. 著作者人格権は Glass_saga に帰属します。著作権は放棄します。
14
+
15
+ D. 以上の3項は、ソース・実行バイナリの双方に適用されます。
data/README.rdoc ADDED
@@ -0,0 +1,11 @@
1
+ = eew_parser
2
+
3
+ 高度利用者向け緊急地震速報コード電文フォーマットを扱う為のライブラリです。
4
+ http://eew.mizar.jp/excodeformat を元に作成しました。
5
+ 詳しくは http://glasssaga.dip.jp/eew_parser_doc/EEWPaser.html を参照して下さい。
6
+
7
+ == Copyright
8
+
9
+ Copyright (c) 2011 Glass_saga. See LICENSE.txt for
10
+ further details.
11
+
data/Rakefile ADDED
@@ -0,0 +1,37 @@
1
+ require 'rubygems'
2
+ require 'bundler'
3
+ begin
4
+ Bundler.setup(:default, :development)
5
+ rescue Bundler::BundlerError => e
6
+ $stderr.puts e.message
7
+ $stderr.puts "Run `bundle install` to install missing gems"
8
+ exit e.status_code
9
+ end
10
+ require 'rake'
11
+
12
+ require 'jeweler'
13
+ Jeweler::Tasks.new do |gem|
14
+ # gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options
15
+ gem.name = "eew_parser"
16
+ gem.homepage = "http://github.com/Glasssaga/eew_parser"
17
+ gem.license = "NYSL Version 0.9982"
18
+ gem.summary = %Q{parser for Earthquake Early Warning}
19
+ gem.description = %Q{parser for Earthquake Early Warning}
20
+ gem.email = "glass.saga@gmail.com"
21
+ gem.authors = ["Glass_saga"]
22
+ # Include your dependencies below. Runtime dependencies are required when using your gem,
23
+ # and development dependencies are only needed for development (ie running rake tasks, tests, etc)
24
+ # gem.add_runtime_dependency 'jabber4r', '> 0.1'
25
+ # gem.add_development_dependency 'rspec', '> 1.2.3'
26
+ end
27
+ Jeweler::RubygemsDotOrgTasks.new
28
+
29
+ require 'rake/rdoctask'
30
+ Rake::RDocTask.new do |rdoc|
31
+ version = File.exist?('VERSION') ? File.read('VERSION') : ""
32
+
33
+ rdoc.rdoc_dir = 'rdoc'
34
+ rdoc.title = "eew_parser #{version}"
35
+ rdoc.rdoc_files.include('README*')
36
+ rdoc.rdoc_files.include('lib/**/*.rb')
37
+ end
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 0.0.0
@@ -0,0 +1,56 @@
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
+ # -*- encoding: utf-8 -*-
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = %q{eew_parser}
8
+ s.version = "0.0.0"
9
+
10
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
+ s.authors = ["Glass_saga"]
12
+ s.date = %q{2011-04-19}
13
+ s.description = %q{parser for Earthquake Early Warning}
14
+ s.email = %q{glass.saga@gmail.com}
15
+ s.extra_rdoc_files = [
16
+ "LICENSE.txt",
17
+ "README.rdoc"
18
+ ]
19
+ s.files = [
20
+ ".document",
21
+ "Gemfile",
22
+ "LICENSE.txt",
23
+ "README.rdoc",
24
+ "Rakefile",
25
+ "VERSION",
26
+ "eew_parser.gemspec",
27
+ "lib/eew_parser.rb"
28
+ ]
29
+ s.homepage = %q{http://github.com/Glasssaga/eew_parser}
30
+ s.licenses = ["NYSL Version 0.9982"]
31
+ s.require_paths = ["lib"]
32
+ s.rubygems_version = %q{1.6.2}
33
+ s.summary = %q{parser for Earthquake Early Warning}
34
+
35
+ if s.respond_to? :specification_version then
36
+ s.specification_version = 3
37
+
38
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
39
+ s.add_development_dependency(%q<shoulda>, [">= 0"])
40
+ s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
41
+ s.add_development_dependency(%q<jeweler>, ["~> 1.5.2"])
42
+ s.add_development_dependency(%q<rcov>, [">= 0"])
43
+ else
44
+ s.add_dependency(%q<shoulda>, [">= 0"])
45
+ s.add_dependency(%q<bundler>, ["~> 1.0.0"])
46
+ s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
47
+ s.add_dependency(%q<rcov>, [">= 0"])
48
+ end
49
+ else
50
+ s.add_dependency(%q<shoulda>, [">= 0"])
51
+ s.add_dependency(%q<bundler>, ["~> 1.0.0"])
52
+ s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
53
+ s.add_dependency(%q<rcov>, [">= 0"])
54
+ end
55
+ end
56
+
data/lib/eew_parser.rb ADDED
@@ -0,0 +1,1002 @@
1
+ #encoding: utf-8
2
+
3
+ # 緊急地震速報パーサ
4
+ # Author:: Glass_saga
5
+ # License:: NYSL Version 0.9982
6
+ #
7
+ # 高度利用者向け緊急地震速報コード電文フォーマットを扱う為のライブラリです。
8
+ # http://eew.mizar.jp/excodeformat を元に作成しました。
9
+ #
10
+ class EEWPaser
11
+ # 震央地名コードをkey,震央地名称をvalueとするHash
12
+ EpicenterCord = {
13
+ 0 => "不明",
14
+ 11 => "北海道地方",
15
+ 12 => "東北地方",
16
+ 13 => "北陸地方",
17
+ 14 => "関東甲信地方",
18
+ 15 => "小笠原地方",
19
+ 16 => "東海地方",
20
+ 17 => "近畿地方",
21
+ 18 => "中国地方",
22
+ 19 => "四国地方",
23
+ 20 => "九州地方",
24
+ 21 => "沖縄地方",
25
+ 100 => "石狩支庁北部",
26
+ 101 => "石狩支庁中部",
27
+ 102 => "石狩支庁南部",
28
+ 105 => "渡島支庁北部",
29
+ 106 => "渡島支庁東部",
30
+ 107 => "渡島支庁西部",
31
+ 110 => "檜山支庁",
32
+ 115 => "後志支庁北部",
33
+ 116 => "後志支庁東部",
34
+ 117 => "後志支庁西部",
35
+ 120 => "空知支庁北部",
36
+ 121 => "空知支庁中部",
37
+ 122 => "空知支庁南部",
38
+ 125 => "上川支庁北部",
39
+ 126 => "上川支庁中部",
40
+ 127 => "上川支庁南部",
41
+ 130 => "留萌支庁中北部",
42
+ 131 => "留萌支庁南部",
43
+ 135 => "宗谷支庁北部",
44
+ 136 => "宗谷支庁南部",
45
+ 140 => "網走支庁網走地方",
46
+ 141 => "網走支庁北見地方",
47
+ 142 => "網走支庁紋別地方",
48
+ 145 => "胆振支庁西部",
49
+ 146 => "胆振支庁中東部",
50
+ 150 => "日高支庁西部",
51
+ 151 => "日高支庁中部",
52
+ 152 => "日高支庁東部",
53
+ 155 => "十勝支庁北部",
54
+ 156 => "十勝支庁中部",
55
+ 157 => "十勝支庁南部",
56
+ 160 => "釧路支庁北部",
57
+ 161 => "釧路支庁中南部",
58
+ 165 => "根室支庁北部",
59
+ 166 => "根室支庁中部",
60
+ 167 => "根室支庁南部",
61
+ 180 => "北海道南西沖",
62
+ 181 => "北海道西方沖",
63
+ 182 => "石狩湾",
64
+ 183 => "北海道北西沖",
65
+ 184 => "宗谷海峡",
66
+ 185 => "北海道北東沖(廃止)",
67
+ 186 => "国後島付近",
68
+ 187 => "択捉島付近",
69
+ 188 => "北海道東方沖",
70
+ 189 => "根室半島南東沖",
71
+ 190 => "釧路沖",
72
+ 191 => "十勝沖",
73
+ 192 => "浦河沖",
74
+ 193 => "苫小牧沖",
75
+ 194 => "内浦湾",
76
+ 195 => "宗谷東方沖",
77
+ 196 => "網走沖",
78
+ 197 => "択捉島南東沖",
79
+ 200 => "青森県津軽北部",
80
+ 201 => "青森県津軽南部",
81
+ 202 => "青森県三八上北地方",
82
+ 203 => "青森県下北地方",
83
+ 210 => "岩手県沿岸北部",
84
+ 211 => "岩手県沿岸南部",
85
+ 212 => "岩手県内陸北部",
86
+ 213 => "岩手県内陸南部",
87
+ 220 => "宮城県北部",
88
+ 221 => "宮城県南部",
89
+ 222 => "宮城県中部",
90
+ 230 => "秋田県沿岸北部",
91
+ 231 => "秋田県沿岸南部",
92
+ 232 => "秋田県内陸北部",
93
+ 233 => "秋田県内陸南部",
94
+ 240 => "山形県庄内地方",
95
+ 241 => "山形県最上地方",
96
+ 242 => "山形県村山地方",
97
+ 243 => "山形県置賜地方",
98
+ 250 => "福島県中通り",
99
+ 251 => "福島県浜通り",
100
+ 252 => "福島県会津",
101
+ 280 => "津軽海峡",
102
+ 281 => "山形県沖",
103
+ 282 => "秋田県沖",
104
+ 283 => "青森県西方沖",
105
+ 284 => "陸奥湾",
106
+ 285 => "青森県東方沖",
107
+ 286 => "岩手県沖",
108
+ 287 => "宮城県沖",
109
+ 288 => "三陸沖",
110
+ 289 => "福島県沖",
111
+ 290 => "仙台湾(廃止)",
112
+ 300 => "茨城県北部",
113
+ 301 => "茨城県南部",
114
+ 309 => "千葉県南東沖",
115
+ 310 => "栃木県北部",
116
+ 311 => "栃木県南部",
117
+ 320 => "群馬県北部",
118
+ 321 => "群馬県南部",
119
+ 330 => "埼玉県北部",
120
+ 331 => "埼玉県南部",
121
+ 332 => "埼玉県秩父地方",
122
+ 340 => "千葉県北東部",
123
+ 341 => "千葉県北西部",
124
+ 342 => "千葉県南部",
125
+ 349 => "房総半島南方沖",
126
+ 350 => "東京都23区",
127
+ 351 => "東京都多摩東部",
128
+ 352 => "東京都多摩西部",
129
+ 360 => "神奈川県東部",
130
+ 361 => "神奈川県西部",
131
+ 370 => "新潟県上越地方",
132
+ 371 => "新潟県中越地方",
133
+ 372 => "新潟県下越地方",
134
+ 378 => "新潟県下越沖",
135
+ 379 => "新潟県上中越沖",
136
+ 380 => "富山県東部",
137
+ 381 => "富山県西部",
138
+ 390 => "石川県能登地方",
139
+ 391 => "石川県加賀地方",
140
+ 400 => "福井県嶺北",
141
+ 401 => "福井県嶺南",
142
+ 411 => "山梨県中・西部",
143
+ 412 => "山梨県東部・富士五湖",
144
+ 420 => "長野県北部",
145
+ 421 => "長野県中部",
146
+ 422 => "長野県南部",
147
+ 430 => "岐阜県飛騨地方",
148
+ 431 => "岐阜県美濃東部",
149
+ 432 => "岐阜県美濃中西部",
150
+ 440 => "静岡県伊豆地方",
151
+ 441 => "静岡県東部",
152
+ 442 => "静岡県中部",
153
+ 443 => "静岡県西部",
154
+ 450 => "愛知県東部",
155
+ 451 => "愛知県西部",
156
+ 460 => "三重県北部",
157
+ 461 => "三重県中部",
158
+ 462 => "三重県南部",
159
+ 469 => "三重県南東沖",
160
+ 470 => "鹿島灘(廃止)",
161
+ 471 => "茨城県沖",
162
+ 472 => "関東東方沖",
163
+ 473 => "千葉県東方沖",
164
+ 474 => "房総半島南東沖(廃止)",
165
+ 475 => "八丈島東方沖",
166
+ 476 => "八丈島近海",
167
+ 477 => "東京湾",
168
+ 478 => "相模湾",
169
+ 479 => "千葉県南方沖(廃止)",
170
+ 480 => "伊豆大島近海",
171
+ 481 => "伊豆半島東方沖",
172
+ 482 => "三宅島近海",
173
+ 483 => "新島・神津島近海",
174
+ 484 => "伊豆半島南方沖(廃止)",
175
+ 485 => "駿河湾",
176
+ 486 => "駿河湾南方沖",
177
+ 487 => "遠州灘",
178
+ 488 => "東海道沖(廃止)",
179
+ 489 => "三河湾",
180
+ 490 => "伊勢湾",
181
+ 491 => "熊野灘(廃止)",
182
+ 492 => "若狭湾",
183
+ 493 => "福井県沖",
184
+ 494 => "石川県西方沖",
185
+ 495 => "能登半島沖",
186
+ 496 => "新潟県沖(廃止)",
187
+ 497 => "富山湾",
188
+ 498 => "佐渡付近",
189
+ 499 => "東海道南方沖",
190
+ 500 => "滋賀県北部",
191
+ 501 => "滋賀県南部",
192
+ 510 => "京都府北部",
193
+ 511 => "京都府南部",
194
+ 520 => "大阪府北部",
195
+ 521 => "大阪府南部",
196
+ 530 => "兵庫県北部",
197
+ 531 => "兵庫県南東部",
198
+ 532 => "兵庫県南西部",
199
+ 540 => "奈良県",
200
+ 550 => "和歌山県北部",
201
+ 551 => "和歌山県南部",
202
+ 560 => "鳥取県東部",
203
+ 562 => "鳥取県中部",
204
+ 563 => "鳥取県西部",
205
+ 570 => "島根県東部",
206
+ 571 => "島根県西部",
207
+ 580 => "岡山県北部",
208
+ 581 => "岡山県南部",
209
+ 590 => "広島県北部",
210
+ 591 => "広島県南東部",
211
+ 592 => "広島県南西部",
212
+ 600 => "徳島県北部",
213
+ 601 => "徳島県南部",
214
+ 610 => "香川県東部",
215
+ 611 => "香川県西部",
216
+ 620 => "愛媛県東予",
217
+ 621 => "愛媛県中予",
218
+ 622 => "愛媛県南予",
219
+ 630 => "高知県東部",
220
+ 631 => "高知県中部",
221
+ 632 => "高知県西部",
222
+ 670 => "紀伊半島沖(廃止)",
223
+ 671 => "室戸岬沖(廃止)",
224
+ 672 => "足摺岬沖(廃止)",
225
+ 673 => "土佐湾",
226
+ 674 => "紀伊水道",
227
+ 675 => "大阪湾",
228
+ 676 => "播磨灘",
229
+ 677 => "瀬戸内海中部",
230
+ 678 => "安芸灘",
231
+ 679 => "周防灘",
232
+ 680 => "伊予灘",
233
+ 681 => "豊後水道",
234
+ 682 => "山口県北西沖",
235
+ 683 => "島根県沖",
236
+ 684 => "鳥取県沖",
237
+ 685 => "隠岐島近海",
238
+ 686 => "兵庫県北方沖",
239
+ 687 => "京都府沖",
240
+ 688 => "淡路島付近",
241
+ 689 => "和歌山県南方沖",
242
+ 700 => "山口県北部",
243
+ 701 => "山口県東部",
244
+ 702 => "山口県西部",
245
+ 710 => "福岡県福岡地方",
246
+ 711 => "福岡県北九州地方",
247
+ 712 => "福岡県筑豊地方",
248
+ 713 => "福岡県筑後地方",
249
+ 720 => "佐賀県北部",
250
+ 721 => "佐賀県南部",
251
+ 730 => "長崎県北部",
252
+ 731 => "長崎県南西部",
253
+ 732 => "長崎県島原半島",
254
+ 740 => "熊本県阿蘇地方",
255
+ 741 => "熊本県熊本地方",
256
+ 742 => "熊本県球磨地方",
257
+ 743 => "熊本県天草・芦北地方",
258
+ 750 => "大分県北部",
259
+ 751 => "大分県中部",
260
+ 752 => "大分県南部",
261
+ 753 => "大分県西部",
262
+ 760 => "宮崎県北部平野部",
263
+ 761 => "宮崎県北部山沿い",
264
+ 762 => "宮崎県南部平野部",
265
+ 763 => "宮崎県南部山沿い",
266
+ 770 => "鹿児島県薩摩地方",
267
+ 771 => "鹿児島県大隅地方",
268
+ 780 => "対馬近海(廃止)",
269
+ 781 => "福岡県西方沖(廃止)",
270
+ 782 => "長崎県沖(廃止)",
271
+ 783 => "五島列島近海",
272
+ 784 => "天草灘",
273
+ 785 => "有明海",
274
+ 786 => "橘湾",
275
+ 787 => "鹿児島湾",
276
+ 788 => "鹿児島県西方沖(廃止)",
277
+ 789 => "鹿児島県南西沖(廃止)",
278
+ 790 => "種子島近海",
279
+ 791 => "日向灘",
280
+ 792 => "種子島東方沖(廃止)",
281
+ 793 => "奄美大島近海",
282
+ 794 => "奄美大島東方沖(廃止)",
283
+ 795 => "壱岐・対馬近海",
284
+ 796 => "福岡県北西沖",
285
+ 797 => "薩摩半島西方沖",
286
+ 798 => "トカラ列島近海",
287
+ 799 => "奄美大島北西沖",
288
+ 820 => "大隅半島東方沖",
289
+ 821 => "九州地方南東沖",
290
+ 822 => "種子島南東沖",
291
+ 823 => "奄美大島北東沖",
292
+ 850 => "沖縄本島近海",
293
+ 851 => "南大東島近海",
294
+ 852 => "沖縄本島南方沖",
295
+ 853 => "宮古島近海",
296
+ 854 => "石垣島近海",
297
+ 855 => "石垣島南方沖",
298
+ 856 => "西表島付近",
299
+ 857 => "与那国島近海",
300
+ 858 => "沖縄本島北西沖",
301
+ 859 => "宮古島北西沖",
302
+ 860 => "石垣島北西沖",
303
+ 900 => "台湾付近",
304
+ 901 => "東シナ海",
305
+ 902 => "四国沖",
306
+ 903 => "鳥島近海",
307
+ 904 => "鳥島東方沖",
308
+ 905 => "オホーツク海南部",
309
+ 906 => "サハリン西方沖",
310
+ 907 => "日本海北部",
311
+ 908 => "日本海中部",
312
+ 909 => "日本海西部",
313
+ 910 => "日本海南西部(廃止)",
314
+ 911 => "父島近海",
315
+ 912 => "千島列島",
316
+ 913 => "千島列島南東沖",
317
+ 914 => "北海道南東沖",
318
+ 915 => "東北地方東方沖",
319
+ 916 => "小笠原諸島西方沖",
320
+ 917 => "硫黄島近海",
321
+ 918 => "小笠原諸島東方沖",
322
+ 919 => "南海道南方沖",
323
+ 920 => "薩南諸島東方沖",
324
+ 921 => "本州南方沖",
325
+ 922 => "サハリン南部付近",
326
+ 930 => "北西太平洋",
327
+ 931 => "フィリピン海北部(廃止)",
328
+ 932 => "マリアナ諸島",
329
+ 933 => "黄海",
330
+ 934 => "朝鮮半島南部",
331
+ 935 => "朝鮮半島北部",
332
+ 936 => "中国東北部",
333
+ 937 => "ウラジオストク付近",
334
+ 938 => "シベリア南部",
335
+ 939 => "サハリン近海",
336
+ 940 => "アリューシャン列島",
337
+ 941 => "カムチャツカ半島付近",
338
+ 942 => "北米西部",
339
+ 943 => "北米中部",
340
+ 944 => "北米東部",
341
+ 945 => "中米",
342
+ 946 => "南米西部",
343
+ 947 => "南米中部",
344
+ 948 => "南米東部",
345
+ 949 => "北東太平洋",
346
+ 950 => "南太平洋",
347
+ 951 => "インドシナ半島付近",
348
+ 952 => "フィリピン付近",
349
+ 953 => "インドネシア付近",
350
+ 954 => "グアム付近",
351
+ 955 => "ニューギニア付近",
352
+ 956 => "ニュージーランド付近",
353
+ 957 => "オーストラリア付近",
354
+ 958 => "シベリア付近",
355
+ 959 => "ロシア西部",
356
+ 960 => "ロシア中部",
357
+ 961 => "ロシア東部",
358
+ 962 => "中央アジア",
359
+ 963 => "中国西部",
360
+ 964 => "中国中部",
361
+ 965 => "中国東部",
362
+ 966 => "インド付近",
363
+ 967 => "インド洋",
364
+ 968 => "中東",
365
+ 969 => "ヨーロッパ西部",
366
+ 970 => "ヨーロッパ中部",
367
+ 971 => "ヨーロッパ東部",
368
+ 972 => "地中海",
369
+ 973 => "アフリカ西部",
370
+ 974 => "アフリカ中部",
371
+ 975 => "アフリカ東部",
372
+ 976 => "北大西洋",
373
+ 977 => "南大西洋",
374
+ 978 => "北極付近",
375
+ 979 => "南極付近"}
376
+
377
+ # 地域コードをkey,地域名称をvalueとするHash
378
+ AreaCord = {
379
+ 0 => "不明",
380
+ 135 => "宗谷支庁北部",
381
+ 136 => "宗谷支庁南部",
382
+ 125 => "上川支庁北部",
383
+ 126 => "上川支庁中部",
384
+ 127 => "上川支庁南部",
385
+ 130 => "留萌支庁中北部",
386
+ 131 => "留萌支庁南部",
387
+ 139 => "北海道利尻礼文",
388
+ 150 => "日高支庁西部",
389
+ 151 => "日高支庁中部",
390
+ 152 => "日高支庁東部",
391
+ 145 => "胆振支庁西部",
392
+ 146 => "胆振支庁中東部",
393
+ 110 => "檜山支庁",
394
+ 105 => "渡島支庁北部",
395
+ 106 => "渡島支庁東部",
396
+ 107 => "渡島支庁西部",
397
+ 140 => "網走支庁網走",
398
+ 141 => "網走支庁北見",
399
+ 142 => "網走支庁紋別",
400
+ 165 => "根室支庁北部",
401
+ 166 => "根室支庁中部",
402
+ 167 => "根室支庁南部",
403
+ 160 => "釧路支庁北部",
404
+ 161 => "釧路支庁中南部",
405
+ 155 => "十勝支庁北部",
406
+ 156 => "十勝支庁中部",
407
+ 157 => "十勝支庁南部",
408
+ 119 => "北海道奥尻島",
409
+ 120 => "空知支庁北部",
410
+ 121 => "空知支庁中部",
411
+ 122 => "空知支庁南部",
412
+ 100 => "石狩支庁北部",
413
+ 101 => "石狩支庁中部",
414
+ 102 => "石狩支庁南部",
415
+ 115 => "後志支庁北部",
416
+ 116 => "後志支庁東部",
417
+ 117 => "後志支庁西部",
418
+ 200 => "青森県津軽北部",
419
+ 201 => "青森県津軽南部",
420
+ 202 => "青森県三八上北",
421
+ 203 => "青森県下北",
422
+ 230 => "秋田県沿岸北部",
423
+ 231 => "秋田県沿岸南部",
424
+ 232 => "秋田県内陸北部",
425
+ 233 => "秋田県内陸南部",
426
+ 210 => "岩手県沿岸北部",
427
+ 211 => "岩手県沿岸南部",
428
+ 212 => "岩手県内陸北部",
429
+ 213 => "岩手県内陸南部",
430
+ 220 => "宮城県北部",
431
+ 221 => "宮城県南部",
432
+ 222 => "宮城県中部",
433
+ 240 => "山形県庄内",
434
+ 241 => "山形県最上",
435
+ 242 => "山形県村山",
436
+ 243 => "山形県置賜",
437
+ 250 => "福島県中通り",
438
+ 251 => "福島県浜通り",
439
+ 252 => "福島県会津",
440
+ 300 => "茨城県北部",
441
+ 301 => "茨城県南部",
442
+ 310 => "栃木県北部",
443
+ 311 => "栃木県南部",
444
+ 320 => "群馬県北部",
445
+ 321 => "群馬県南部",
446
+ 330 => "埼玉県北部",
447
+ 331 => "埼玉県南部",
448
+ 332 => "埼玉県秩父",
449
+ 350 => "東京都23区",
450
+ 351 => "東京都多摩東部",
451
+ 352 => "東京都多摩西部",
452
+ 354 => "神津島",
453
+ 355 => "伊豆大島",
454
+ 356 => "新島",
455
+ 357 => "三宅島",
456
+ 358 => "八丈島",
457
+ 359 => "小笠原",
458
+ 340 => "千葉県北東部",
459
+ 341 => "千葉県北西部",
460
+ 342 => "千葉県南部",
461
+ 360 => "神奈川県東部",
462
+ 361 => "神奈川県西部",
463
+ 420 => "長野県北部",
464
+ 421 => "長野県中部",
465
+ 422 => "長野県南部",
466
+ 410 => "山梨県東部",
467
+ 411 => "山梨県中・西部",
468
+ 412 => "山梨県東部・富士五湖",
469
+ 440 => "静岡県伊豆",
470
+ 441 => "静岡県東部",
471
+ 442 => "静岡県中部",
472
+ 443 => "静岡県西部",
473
+ 450 => "愛知県東部",
474
+ 451 => "愛知県西部",
475
+ 430 => "岐阜県飛騨",
476
+ 431 => "岐阜県美濃東部",
477
+ 432 => "岐阜県美濃中西部",
478
+ 460 => "三重県北部",
479
+ 461 => "三重県中部",
480
+ 462 => "三重県南部",
481
+ 370 => "新潟県上越",
482
+ 371 => "新潟県中越",
483
+ 372 => "新潟県下越",
484
+ 375 => "新潟県佐渡",
485
+ 380 => "富山県東部",
486
+ 381 => "富山県西部",
487
+ 390 => "石川県能登",
488
+ 391 => "石川県加賀",
489
+ 400 => "福井県嶺北",
490
+ 401 => "福井県嶺南",
491
+ 500 => "滋賀県北部",
492
+ 501 => "滋賀県南部",
493
+ 510 => "京都府北部",
494
+ 511 => "京都府南部",
495
+ 520 => "大阪府北部",
496
+ 521 => "大阪府南部",
497
+ 530 => "兵庫県北部",
498
+ 531 => "兵庫県南東部",
499
+ 532 => "兵庫県南西部",
500
+ 535 => "兵庫県淡路島",
501
+ 540 => "奈良県",
502
+ 550 => "和歌山県北部",
503
+ 551 => "和歌山県南部",
504
+ 580 => "岡山県北部",
505
+ 581 => "岡山県南部",
506
+ 590 => "広島県北部",
507
+ 591 => "広島県南東部",
508
+ 592 => "広島県南西部",
509
+ 570 => "島根県東部",
510
+ 571 => "島根県西部",
511
+ 575 => "島根県隠岐",
512
+ 560 => "鳥取県東部",
513
+ 562 => "鳥取県中部",
514
+ 563 => "鳥取県西部",
515
+ 600 => "徳島県北部",
516
+ 601 => "徳島県南部",
517
+ 610 => "香川県東部",
518
+ 611 => "香川県西部",
519
+ 620 => "愛媛県東予",
520
+ 621 => "愛媛県中予",
521
+ 622 => "愛媛県南予",
522
+ 630 => "高知県東部",
523
+ 631 => "高知県中部",
524
+ 632 => "高知県西部",
525
+ 700 => "山口県北部",
526
+ 701 => "山口県東部",
527
+ 702 => "山口県西部",
528
+ 710 => "福岡県福岡",
529
+ 711 => "福岡県北九州",
530
+ 712 => "福岡県筑豊",
531
+ 713 => "福岡県筑後",
532
+ 750 => "大分県北部",
533
+ 751 => "大分県中部",
534
+ 752 => "大分県南部",
535
+ 753 => "大分県西部",
536
+ 730 => "長崎県北部",
537
+ 731 => "長崎県南西部",
538
+ 732 => "長崎県島原半島",
539
+ 735 => "長崎県対馬",
540
+ 736 => "長崎県壱岐",
541
+ 737 => "長崎県五島",
542
+ 720 => "佐賀県北部",
543
+ 721 => "佐賀県南部",
544
+ 740 => "熊本県阿蘇",
545
+ 741 => "熊本県熊本",
546
+ 742 => "熊本県球磨",
547
+ 743 => "熊本県天草・芦北",
548
+ 760 => "宮崎県北部平野部",
549
+ 761 => "宮崎県北部山沿い",
550
+ 762 => "宮崎県南部平野部",
551
+ 763 => "宮崎県南部山沿い",
552
+ 770 => "鹿児島県薩摩",
553
+ 771 => "鹿児島県大隅",
554
+ 774 => "鹿児島県十島村",
555
+ 775 => "鹿児島県甑島",
556
+ 776 => "鹿児島県種子島",
557
+ 777 => "鹿児島県屋久島",
558
+ 778 => "鹿児島県奄美北部",
559
+ 779 => "鹿児島県奄美南部",
560
+ 800 => "沖縄県本島北部",
561
+ 801 => "沖縄県本島中南部",
562
+ 802 => "沖縄県久米島",
563
+ 803 => "沖縄県大東島",
564
+ 804 => "沖縄県宮古島",
565
+ 805 => "沖縄県石垣島",
566
+ 806 => "沖縄県与那国島",
567
+ 807 => "沖縄県西表島"}
568
+
569
+ # 引数には緊急地震速報の電文を与えます。
570
+ def initialize(str)
571
+ @fastcast = str
572
+ end
573
+
574
+ # 電文種別コード
575
+ def type
576
+ case @fastcast[0, 2]
577
+ when "35"
578
+ "最大予測震度のみの高度利用者向け緊急地震速報"
579
+ when "36"
580
+ "マグニチュード、最大予測震度及び主要動到達予測時刻の高度利用者向け緊急地震速報(B-Δ法、テリトリ法)"
581
+ when "37"
582
+ "マグニチュード、最大予測震度及び主要動到達予測時刻の高度利用者向け緊急地震速報(グリッドサーチ法、EPOS自動処理手法)"
583
+ when "39"
584
+ "キャンセル報"
585
+ end
586
+ end
587
+
588
+ # 発信官署
589
+ def from
590
+ case @fastcast[3, 2]
591
+ when "01"
592
+ "札幌"
593
+ when "02"
594
+ "仙台"
595
+ when "03"
596
+ "東京"
597
+ when "04"
598
+ "大阪"
599
+ when "05"
600
+ "福岡"
601
+ when "06"
602
+ "沖縄"
603
+ end
604
+ end
605
+
606
+ # 訓練等の識別符
607
+ def drill_type
608
+ case @fastcast[6, 2]
609
+ when "00"
610
+ "通常"
611
+ when "01"
612
+ "訓練"
613
+ when "10"
614
+ "取り消し"
615
+ when "11"
616
+ "訓練取り消し"
617
+ when "20"
618
+ "参考情報またはテキスト"
619
+ when "30"
620
+ "コード部のみの配信試験"
621
+ end
622
+ end
623
+
624
+ # 電文の発表時刻のTimeオブジェクトを返します。
625
+ def report_time
626
+ Time.local("20" + @fastcast[9, 2], @fastcast[11, 2], @fastcast[13, 2], @fastcast[15, 2], @fastcast[17, 2], @fastcast[19, 2])
627
+ end
628
+
629
+ # 電文がこの電文を含め何通あるか(Integer)
630
+ def number_of_telegram
631
+ @fastcast[23].to_i
632
+ end
633
+
634
+ # コードが続くかどうか
635
+ def continue?
636
+ @fastcast[24] == "1"
637
+ end
638
+
639
+ # 地震発生時刻もしくは地震検知時刻のTimeオブジェクトを返します。
640
+ def earthquake_time
641
+ Time.local("20" + @fastcast[26, 2], @fastcast[28, 2], @fastcast[30, 2], @fastcast[32, 2], @fastcast[34, 2], @fastcast[36, 2])
642
+ end
643
+
644
+ # 地震識別番号(String)
645
+ def id
646
+ @fastcast[41, 14]
647
+ end
648
+
649
+ # 発表状況(訂正等)の指示
650
+ def status
651
+ case @fastcast[59]
652
+ when "0"
653
+ "通常発表"
654
+ when "6"
655
+ "情報内容の訂正"
656
+ when "7"
657
+ "キャンセルを誤って発表した場合の訂正"
658
+ when "8"
659
+ "訂正事項を盛り込んだ最終の高度利用者向け緊急地震速報"
660
+ when "9"
661
+ "最終の高度利用者向け緊急地震速報"
662
+ when "/"
663
+ "未設定"
664
+ end
665
+ end
666
+
667
+ # 最終報であればtrueを、そうでなければfalseを返します。
668
+ def final?
669
+ @fastcast[59] == "9"
670
+ end
671
+
672
+ # 発表する高度利用者向け緊急地震速報の番号(地震単位での通番)(Integer)
673
+ def number
674
+ @fastcast[60, 2].to_i
675
+ end
676
+
677
+ # 震央の名称
678
+ def epicenter
679
+ EpicenterCord[@fastcast[86, 3].to_i]
680
+ end
681
+
682
+ # 震央の位置
683
+ def position
684
+ position = @fastcast[90, 10]
685
+ position.insert(3, ".").insert(10, ".")
686
+ end
687
+
688
+ # 震源の深さ(単位 km)
689
+ def depth
690
+ if @fastcast[101, 3] == "///"
691
+ "不明又は未設定"
692
+ else
693
+ @fastcast[101, 3].to_i
694
+ end
695
+ end
696
+
697
+ # マグニチュード
698
+ # マグニチュードが不明又は未設定である場合は"不明又は未設定"を返します。
699
+ # そうでなければ、マグニチュードをFloatで返します。
700
+ def magnitude
701
+ if @fastcast[105, 2] == "//"
702
+ "不明又は未設定"
703
+ else
704
+ (@fastcast[105] + "." + @fastcast[106]).to_f
705
+ end
706
+ end
707
+
708
+ # 電文フォーマットの震度を文字列に変換
709
+ def to_seismic_intensity(str)
710
+ case str
711
+ when "//"
712
+ "不明又は未設定"
713
+ when "01"
714
+ "1"
715
+ when "02"
716
+ "2"
717
+ when "03"
718
+ "3"
719
+ when "04"
720
+ "4"
721
+ when "5-"
722
+ "5弱"
723
+ when "5+"
724
+ "5強"
725
+ when "6-"
726
+ "6弱"
727
+ when "6+"
728
+ "6強"
729
+ when "07"
730
+ "7"
731
+ end
732
+ end
733
+
734
+ # 最大予測震度
735
+ def seismic_intensity
736
+ to_seismic_intensity(@fastcast[108, 2])
737
+ end
738
+
739
+ # 震央の確からしさ
740
+ def probability_of_position
741
+ case @fastcast[113]
742
+ when "1"
743
+ "P波/S波レベル越え、またはテリトリー法(1点)[気象庁データ]"
744
+ when "2"
745
+ "テリトリー法(2点)[気象庁データ]"
746
+ when "3"
747
+ "グリッドサーチ法(3点/4点)[気象庁データ]"
748
+ when "4"
749
+ "グリッドサーチ法(5点)[気象庁データ]"
750
+ when "5"
751
+ "防災科研システム(4点以下、または精度情報なし)[防災科学技術研究所データ]"
752
+ when "6"
753
+ "防災科研システム(5点以上)[防災科学技術研究所データ]"
754
+ when "7"
755
+ "EPOS(海域[観測網外])[気象庁データ]"
756
+ when "8"
757
+ "EPOS(内陸[観測網内])[気象庁データ]"
758
+ when "9"
759
+ "予備"
760
+ when "/"
761
+ "不明又は未設定"
762
+ end
763
+ end
764
+
765
+ # 震源の深さの確からしさ
766
+ def probability_of_depth
767
+ case @fastcast[114]
768
+ when "1"
769
+ "P波/S波レベル越え、またはテリトリー法(1点)[気象庁データ]"
770
+ when "2"
771
+ "テリトリー法(2点)[気象庁データ]"
772
+ when "3"
773
+ "グリッドサーチ法(3点/4点)[気象庁データ]"
774
+ when "4"
775
+ "グリッドサーチ法(5点)[気象庁データ]"
776
+ when "5"
777
+ "防災科研システム(4点以下、または精度情報なし)[防災科学技術研究所データ]"
778
+ when "6"
779
+ "防災科研システム(5点以上)[防災科学技術研究所データ]"
780
+ when "7"
781
+ "EPOS(海域[観測網外])[気象庁データ]"
782
+ when "8"
783
+ "EPOS(内陸[観測網内])[気象庁データ]"
784
+ when "9"
785
+ "予備"
786
+ when "/"
787
+ "不明又は未設定"
788
+ end
789
+ end
790
+
791
+ # マグニチュードの確からしさ
792
+ def probability_of_magnitude
793
+ case @fastcast[115]
794
+ when "1"
795
+ "未定義"
796
+ when "2"
797
+ "防災科研システム[防災科学技術研究所データ]"
798
+ when "3"
799
+ "全点P相(最大5点)[気象庁データ]"
800
+ when "4"
801
+ "P相/全相混在[気象庁データ]"
802
+ when "5"
803
+ "全点全相(最大5点)[気象庁データ]"
804
+ when "6"
805
+ "EPOS[気象庁データ]"
806
+ when "7"
807
+ "未定義"
808
+ when "8"
809
+ "P波/S波レベル越え[気象庁データ]"
810
+ when "9"
811
+ "予備"
812
+ when "/"
813
+ "不明又は未設定"
814
+ end
815
+ end
816
+
817
+ # 震央の確からしさ(※気象庁の部内システムでの利用)
818
+ def probability_of_position_jma
819
+ case @fastcast[116]
820
+ when "1"
821
+ "P波/S波レベル越え又はテリトリー法(1点)[気象庁データ]"
822
+ when "2"
823
+ "テリトリー法(2点)[気象庁データ]"
824
+ when "3"
825
+ "グリッドサーチ法(3点/4点)[気象庁データ]"
826
+ when "4"
827
+ "グリッドサーチ法(5点)[気象庁データ]"
828
+ when "/"
829
+ "不明又は未設定"
830
+ else
831
+ "未定義"
832
+ end
833
+ end
834
+
835
+ # 震源の深さの確からしさ(※気象庁の部内システムでの利用)
836
+ def probability_of_depth_jma
837
+ case @fastcast[117]
838
+ when "1"
839
+ "P波/S波レベル越え又はテリトリー法(1点)[気象庁データ]"
840
+ when "2"
841
+ "テリトリー法(2点)[気象庁データ]"
842
+ when "3"
843
+ "グリッドサーチ法(3点/4点)[気象庁データ]"
844
+ when "4"
845
+ "グリッドサーチ法(5点)[気象庁データ]"
846
+ when "/"
847
+ "不明又は未設定"
848
+ else
849
+ "未定義"
850
+ end
851
+ end
852
+
853
+ # 震央位置の海陸判定
854
+ def land_or_sea
855
+ case @fastcast[121]
856
+ when "0"
857
+ "陸域"
858
+ when "1"
859
+ "海域"
860
+ when "/"
861
+ "不明又は未設定"
862
+ else
863
+ "未定義"
864
+ end
865
+ end
866
+
867
+ # 警報を含む内容であればtrue、そうでなければfalse
868
+ def warning?
869
+ @fastcast[122] == "1"
870
+ end
871
+
872
+ # 最大予測震度の変化
873
+ def change
874
+ case @fastcast[129]
875
+ when "0"
876
+ "ほとんど変化無し"
877
+ when "1"
878
+ "最大予測震度が1.0以上大きくなった"
879
+ when "2"
880
+ "最大予測震度が1.0以上小さくなった"
881
+ else
882
+ "未定義"
883
+ end
884
+ end
885
+
886
+ # 最大予測震度の変化の理由
887
+ def reason_of_chaage
888
+ case @fastcast[130]
889
+ when "0"
890
+ "変化無し"
891
+ when "1"
892
+ "主としてMが変化したため(1.0以上)"
893
+ when "2"
894
+ "主として震源位置が変化したため(10.0km以上)"
895
+ when "3"
896
+ "M及び震源位置が変化したため"
897
+ when "4"
898
+ "震源の深さが変化したため"
899
+ when "/"
900
+ "不明又は未設定"
901
+ else
902
+ "未定義"
903
+ end
904
+ end
905
+
906
+ # 地域毎の警報の判別、最大予測震度及び主要動到達予測時刻
907
+ # EBIがあればHashを格納したArrayを、なければnilを返します。Hashに格納されるkeyとvalueはそれぞれ次のようになっています。
908
+ # :area_cord 地域コード
909
+ # :intensity 最大予測震度
910
+ # :arrival_time 予想到達時刻
911
+ # :warning 警報を含んでいればtrue、含んでいなければfalse、電文にこの項目が設定されていなければnil
912
+ # :arrival 既に到達していればtrue、そうでなければfalse、電文にこの項目が設定されていなければnil
913
+ def ebi
914
+ data = []
915
+ return data unless @fastcast[135, 3] == "EBI"
916
+ i = 139
917
+ while i + 20 < @fastcast.size
918
+ local = {}
919
+ local[:area_cord] = AreaCord[@fastcast[i, 3].to_i] # 地域コード
920
+ if @fastcast[i+7, 2] == "//"
921
+ local[:intensity] = "#{to_seismic_intensity(@fastcast[i+5, 2])}以上" # 最大予測震度
922
+ elsif @fastcast[i+5, 2] == @fastcast[i+7, 2]
923
+ local[:intensity] = "#{to_seismic_intensity(@fastcast[i+5, 2])}"
924
+ else
925
+ local[:intensity] = "#{to_seismic_intensity(@fastcast[i+7, 2])}から#{to_seismic_intensity(@fastcast[i+5, 2])}"
926
+ end
927
+ if @fastcast[i+10, 6] == "//////"
928
+ local[:arrival_time] = nil # 予想到達時刻
929
+ else
930
+ local[:arrival_time] = Time.local("20" + @fastcast[26, 2], @fastcast[28, 2], @fastcast[30, 2], @fastcast[i+10, 2], @fastcast[i+12, 2], @fastcast[i+14, 2])
931
+ end
932
+ case @fastcast[i+17]
933
+ when "0"
934
+ local[:warning] = false # 警報を含むかどうか
935
+ when "1"
936
+ local[:warning] = true
937
+ else
938
+ local[:warning] = nil
939
+ end
940
+ case @fastcast[i+18]
941
+ when "0"
942
+ local[:arrival] = false # 既に到達しているかどうか
943
+ when "1"
944
+ local[:arrival] = true
945
+ else
946
+ local[:arrival] = nil
947
+ end
948
+ data << local
949
+ i += 20
950
+ end
951
+ data
952
+ end
953
+ end
954
+
955
+ if __FILE__ == $PROGRAM_NAME # テスト
956
+ str = <<EOS #テスト用の電文
957
+ 37 03 00 110415233453 C11
958
+ 110415233416
959
+ ND20110415233435 NCN005 JD////////////// JN///
960
+ 251 N370 E1408 010 66 6+ RK66324 RT01/// RC13///
961
+ EBI 251 S6+6- ////// 11 300 S5+5- ////// 11 250 S5+5- ////// 11
962
+ 310 S0404 ////// 11 311 S0404 ////// 11 252 S0404 ////// 11
963
+ 301 S0404 ////// 11 221 S0404 ////// 01 340 S0404 ////// 01
964
+ 341 S0404 ////// 01 321 S0404 233455 00 331 S0404 233457 10
965
+ 350 S0404 233501 00 360 S0404 233508 00 243 S0403 ////// 01
966
+ 330 S0403 233454 00 222 S0403 233455 00
967
+ 9999=
968
+ EOS
969
+ p str
970
+ fc = EEWPaser.new(str)
971
+
972
+ puts <<FC
973
+ 電文種別コード: #{fc.type}
974
+ 発信官署: #{fc.from}
975
+ 訓練等の識別符: #{fc.drill_type}
976
+ 電文の発表時刻: #{fc.report_time}
977
+ 電文がこの電文を含め何通あるか: #{fc.number_of_telegram}
978
+ コードが続くかどうか: #{fc.continue?}
979
+ 地震発生時刻もしくは地震検知時刻: #{fc.earthquake_time}
980
+ 地震識別番号: #{fc.id}
981
+ 発表状況(訂正等)の指示: #{fc.status}
982
+ 発表する高度利用者向け緊急地震速報の番号(地震単位での通番): #{fc.number}
983
+ 震央地名コード: #{fc.epicenter}
984
+ 震央の位置: #{fc.position}
985
+ 震源の深さ(単位 km)(不明・未設定時,キャンセル時:///): #{fc.depth}
986
+ マグニチュード(不明・未設定時、キャンセル時:///): #{fc.magnitude}
987
+ 最大予測震度(不明・未設定時、キャンセル時://): #{fc.seismic_intensity}
988
+ 震央の確からしさ: #{fc.probability_of_position}
989
+ 震源の深さの確からしさ: #{fc.probability_of_depth}
990
+ マグニチュードの確からしさ: #{fc.probability_of_magnitude}
991
+ 震央の確からしさ(気象庁の部内システムでの利用): #{fc.probability_of_position_jma}
992
+ 震源の深さの確からしさ(気象庁の部内システムでの利用): #{fc.probability_of_depth_jma}
993
+ 震央位置の海陸判定: #{fc.land_or_sea}
994
+ 警報を含む内容かどうか: #{fc.warning?}
995
+ 最大予測震度の変化: #{fc.change}
996
+ 最大予測震度の変化の理由: #{fc.reason_of_chaage}
997
+ FC
998
+ fc.ebi.each do |local|
999
+ puts "地域コード: #{local[:area_cord]} 最大予測震度: #{local[:intensity]} 予想到達時刻: #{local[:arrival_time]}"
1000
+ puts "警報を含むかどうか: #{local[:warning]} 既に到達しているかどうか: #{local[:arrival]}"
1001
+ end
1002
+ end
metadata ADDED
@@ -0,0 +1,104 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: eew_parser
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.0
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Glass_saga
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2011-04-19 00:00:00.000000000 +09:00
13
+ default_executable:
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: shoulda
17
+ requirement: &21113680 !ruby/object:Gem::Requirement
18
+ none: false
19
+ requirements:
20
+ - - ! '>='
21
+ - !ruby/object:Gem::Version
22
+ version: '0'
23
+ type: :development
24
+ prerelease: false
25
+ version_requirements: *21113680
26
+ - !ruby/object:Gem::Dependency
27
+ name: bundler
28
+ requirement: &21113200 !ruby/object:Gem::Requirement
29
+ none: false
30
+ requirements:
31
+ - - ~>
32
+ - !ruby/object:Gem::Version
33
+ version: 1.0.0
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: *21113200
37
+ - !ruby/object:Gem::Dependency
38
+ name: jeweler
39
+ requirement: &21112720 !ruby/object:Gem::Requirement
40
+ none: false
41
+ requirements:
42
+ - - ~>
43
+ - !ruby/object:Gem::Version
44
+ version: 1.5.2
45
+ type: :development
46
+ prerelease: false
47
+ version_requirements: *21112720
48
+ - !ruby/object:Gem::Dependency
49
+ name: rcov
50
+ requirement: &21112220 !ruby/object:Gem::Requirement
51
+ none: false
52
+ requirements:
53
+ - - ! '>='
54
+ - !ruby/object:Gem::Version
55
+ version: '0'
56
+ type: :development
57
+ prerelease: false
58
+ version_requirements: *21112220
59
+ description: parser for Earthquake Early Warning
60
+ email: glass.saga@gmail.com
61
+ executables: []
62
+ extensions: []
63
+ extra_rdoc_files:
64
+ - LICENSE.txt
65
+ - README.rdoc
66
+ files:
67
+ - .document
68
+ - Gemfile
69
+ - LICENSE.txt
70
+ - README.rdoc
71
+ - Rakefile
72
+ - VERSION
73
+ - eew_parser.gemspec
74
+ - lib/eew_parser.rb
75
+ has_rdoc: true
76
+ homepage: http://github.com/Glasssaga/eew_parser
77
+ licenses:
78
+ - NYSL Version 0.9982
79
+ post_install_message:
80
+ rdoc_options: []
81
+ require_paths:
82
+ - lib
83
+ required_ruby_version: !ruby/object:Gem::Requirement
84
+ none: false
85
+ requirements:
86
+ - - ! '>='
87
+ - !ruby/object:Gem::Version
88
+ version: '0'
89
+ segments:
90
+ - 0
91
+ hash: -4575441775793383664
92
+ required_rubygems_version: !ruby/object:Gem::Requirement
93
+ none: false
94
+ requirements:
95
+ - - ! '>='
96
+ - !ruby/object:Gem::Version
97
+ version: '0'
98
+ requirements: []
99
+ rubyforge_project:
100
+ rubygems_version: 1.6.2
101
+ signing_key:
102
+ specification_version: 3
103
+ summary: parser for Earthquake Early Warning
104
+ test_files: []