eew_parser 0.1.7 → 0.1.8
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/eew_parser.gemspec +1 -1
- data/lib/eew_parser.rb +138 -133
- data/spec/eew_parser_spec.rb +26 -7
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ae8383181310f29874188dc3942d9df92bb0ac30169c75d996f03348d5782cb2
|
4
|
+
data.tar.gz: ca535df81cb46272641ec3e96b8ec61998c636b24a1e24abdf0648d080b60038
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 163f87126e02cf19187825a36cce18b590a7e3c3868c079ab99b40da9fbb8a6a014127c54bb44d3f8c516289488b7fcd4a8872d01ba7004b474e200bca493ea0
|
7
|
+
data.tar.gz: 66d9e28110c3b743d3a4faa771b015ee69d0352ff9e3a9c44a7df5bae176875b1cdc7a3dfdbed30e7d3634c3d0db1af96dd707d83dc9a82b662a0efc9dde5f3e
|
data/eew_parser.gemspec
CHANGED
data/lib/eew_parser.rb
CHANGED
@@ -46,41 +46,46 @@ module EEW
|
|
46
46
|
|
47
47
|
# 緊急地震速報の内容をテキストで出力します。
|
48
48
|
def print
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
49
|
+
return @print.dup if @print
|
50
|
+
|
51
|
+
@print = <<-EOS
|
52
|
+
緊急地震速報 (第#{number}報)
|
53
|
+
電文種別: #{type}
|
54
|
+
発信官署: #{from}
|
55
|
+
訓練等の識別符: #{drill_type}
|
56
|
+
電文の発表時刻: #{report_time.strftime("%F %T")}
|
57
|
+
電文がこの電文を含め何通あるか: #{number_of_telegram}
|
58
|
+
コードが続くかどうか: #{continue?}
|
59
|
+
地震発生時刻もしくは地震検知時刻: #{earthquake_time.strftime("%F %T")}
|
60
|
+
地震識別番号: #{id}
|
61
|
+
発表状況(訂正等)の指示: #{status}
|
62
|
+
発表する高度利用者向け緊急地震速報の番号(地震単位での通番): #{number}
|
63
|
+
震央地名: #{epicenter}
|
64
|
+
震央の位置: #{position}
|
65
|
+
震源の深さ(単位 km)(不明・未設定時,キャンセル時:///): #{depth}
|
66
|
+
マグニチュード(不明・未設定時、キャンセル時:///): #{magnitude}
|
67
|
+
最大予測震度(不明・未設定時、キャンセル時://): #{seismic_intensity}
|
68
|
+
震央の確からしさ: #{probability_of_position}
|
69
|
+
震源の深さの確からしさ: #{probability_of_depth}
|
70
|
+
マグニチュードの確からしさ: #{probability_of_magnitude}
|
71
|
+
震央の確からしさ(気象庁の部内システムでの利用): #{probability_of_position_jma}
|
72
|
+
震源の深さの確からしさ(気象庁の部内システムでの利用): #{probability_of_depth_jma}
|
73
|
+
震央位置の海陸判定: #{land_or_sea}
|
74
|
+
警報を含む内容かどうか: #{warning?}
|
75
|
+
最大予測震度の変化: #{change}
|
76
|
+
最大予測震度の変化の理由: #{reason_of_change}
|
74
77
|
EOS
|
75
78
|
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
79
|
+
if has_ebi?
|
80
|
+
@print << "\n地域毎の警報の判別、最大予測震度及び主要動到達予測時刻(EBI):\n"
|
81
|
+
ebi.each do |local|
|
82
|
+
arrival_time = local[:arrival] ? "すでに到達" : local[:arrival_time]&.strftime("%T")
|
83
|
+
@print << "#{local[:area_name]} 最大予測震度: #{local[:intensity]} 予想到達時刻: #{arrival_time} 警報: #{local[:warning]}\n"
|
80
84
|
end
|
81
85
|
end
|
82
86
|
|
83
|
-
|
87
|
+
@print.freeze
|
88
|
+
return @print.dup
|
84
89
|
end
|
85
90
|
|
86
91
|
Attributes = [
|
@@ -107,7 +112,7 @@ module EEW
|
|
107
112
|
end
|
108
113
|
|
109
114
|
def inspect
|
110
|
-
"#<EEWParser:#{id} (第#{number}報) #{epicenter}
|
115
|
+
"#<EEWParser:#{id} (第#{number}報) #{epicenter} 震度#{seismic_intensity}>"
|
111
116
|
end
|
112
117
|
|
113
118
|
def ==(other)
|
@@ -189,6 +194,8 @@ module EEW
|
|
189
194
|
# 電文の発表時刻のTimeオブジェクトを返します。
|
190
195
|
def report_time
|
191
196
|
Time.local("20" + @fastcast[9, 2], @fastcast[11, 2], @fastcast[13, 2], @fastcast[15, 2], @fastcast[17, 2], @fastcast[19, 2])
|
197
|
+
rescue ArgumentError
|
198
|
+
raise Error, "電文の形式が不正です (発表時刻: #{@fastcast[9, 12]})"
|
192
199
|
end
|
193
200
|
|
194
201
|
# 電文がこの電文を含め何通あるか(Integer)
|
@@ -214,6 +221,8 @@ module EEW
|
|
214
221
|
# 地震発生時刻もしくは地震検知時刻のTimeオブジェクトを返します。
|
215
222
|
def earthquake_time
|
216
223
|
Time.local("20" + @fastcast[26, 2], @fastcast[28, 2], @fastcast[30, 2], @fastcast[32, 2], @fastcast[34, 2], @fastcast[36, 2])
|
224
|
+
rescue ArgumentError
|
225
|
+
raise Error, "電文の形式が不正です (地震発生時刻: #{@fastcast[26, 12]})"
|
217
226
|
end
|
218
227
|
|
219
228
|
# 地震識別番号(String)
|
@@ -226,7 +235,7 @@ module EEW
|
|
226
235
|
end
|
227
236
|
|
228
237
|
def __id__
|
229
|
-
id + number
|
238
|
+
(id * 10) + number
|
230
239
|
end
|
231
240
|
|
232
241
|
# 発表状況(訂正等)の指示
|
@@ -249,6 +258,12 @@ module EEW
|
|
249
258
|
end
|
250
259
|
end
|
251
260
|
|
261
|
+
# 発表状況と訓練識別が通常かどうか
|
262
|
+
def normal?
|
263
|
+
return true if @fastcast[59] == "0" && @fastcast[6, 2] == "00"
|
264
|
+
return false
|
265
|
+
end
|
266
|
+
|
252
267
|
# 第1報であればtrueを、そうでなければfalseを返します。
|
253
268
|
def first?
|
254
269
|
return true if self.number == 1
|
@@ -272,7 +287,7 @@ module EEW
|
|
272
287
|
number = @fastcast[60, 2]
|
273
288
|
return Integer(number, 10)
|
274
289
|
rescue ArgumentError
|
275
|
-
raise Error, "電文の形式が不正です(
|
290
|
+
raise Error, "電文の形式が不正です(高度利用者向け緊急地震速報の番号: #{number})"
|
276
291
|
end
|
277
292
|
|
278
293
|
alias :revision :number
|
@@ -282,10 +297,8 @@ module EEW
|
|
282
297
|
code = @fastcast[86, 3]
|
283
298
|
code = Integer(code, 10)
|
284
299
|
EpicenterCode.fetch(code)
|
285
|
-
rescue KeyError
|
300
|
+
rescue ArgumentError, KeyError
|
286
301
|
raise Error, "電文の形式が不正です(震央地名コード: #{code})"
|
287
|
-
rescue ArgumentError
|
288
|
-
raise Error, "電文の形式が不正です(震央の名称)"
|
289
302
|
end
|
290
303
|
|
291
304
|
# 震央の位置
|
@@ -294,7 +307,7 @@ module EEW
|
|
294
307
|
if position == "//// /////"
|
295
308
|
"不明又は未設定"
|
296
309
|
else
|
297
|
-
raise Error, "電文の形式が不正です(震央の位置)" unless position.match(/N\d{3} E\d{4}/)
|
310
|
+
raise Error, "電文の形式が不正です(震央の位置)" unless position.match(/(?:N|S)\d{3} (?:E|W)\d{4}/)
|
298
311
|
position.insert(3, ".").insert(10, ".")
|
299
312
|
end
|
300
313
|
end
|
@@ -325,32 +338,24 @@ module EEW
|
|
325
338
|
raise Error, "電文の形式が不正です(マグニチュード)"
|
326
339
|
end
|
327
340
|
|
341
|
+
SeismicIntensity = {
|
342
|
+
"//" => "不明又は未設定",
|
343
|
+
"01" => "1",
|
344
|
+
"02" => "2",
|
345
|
+
"03" => "3",
|
346
|
+
"04" => "4",
|
347
|
+
"5-" => "5弱",
|
348
|
+
"5+" => "5強",
|
349
|
+
"6-" => "6弱",
|
350
|
+
"6+" => "6強",
|
351
|
+
"07" => "7"
|
352
|
+
}.freeze
|
353
|
+
|
328
354
|
# 電文フォーマットの震度を文字列に変換
|
329
355
|
def to_seismic_intensity(str)
|
330
|
-
|
331
|
-
|
332
|
-
|
333
|
-
when "01"
|
334
|
-
"1"
|
335
|
-
when "02"
|
336
|
-
"2"
|
337
|
-
when "03"
|
338
|
-
"3"
|
339
|
-
when "04"
|
340
|
-
"4"
|
341
|
-
when "5-"
|
342
|
-
"5弱"
|
343
|
-
when "5+"
|
344
|
-
"5強"
|
345
|
-
when "6-"
|
346
|
-
"6弱"
|
347
|
-
when "6+"
|
348
|
-
"6強"
|
349
|
-
when "07"
|
350
|
-
"7"
|
351
|
-
else
|
352
|
-
raise Error, "電文の形式が不正です(震度)"
|
353
|
-
end
|
356
|
+
SeismicIntensity.fetch(str)
|
357
|
+
rescue KeyError
|
358
|
+
raise Error, "電文の形式が不正です(震度: #{str})"
|
354
359
|
end
|
355
360
|
|
356
361
|
# 最大予測震度
|
@@ -358,60 +363,31 @@ module EEW
|
|
358
363
|
to_seismic_intensity(@fastcast[108, 2])
|
359
364
|
end
|
360
365
|
|
366
|
+
OriginProbability = {
|
367
|
+
"1" => "P波/S波レベル越え、またはIPF法(1点) または仮定震源要素の場合",
|
368
|
+
"2" => "IPF法(2点)",
|
369
|
+
"3" => "IPF法(3点/4点)",
|
370
|
+
"4" => "IPF法(5点)",
|
371
|
+
"5" => "防災科研システム(4点以下、または精度情報なし)[防災科研Hi-netデータ]",
|
372
|
+
"6" => "防災科研システム(5点以上)[防災科研Hi-netデータ]",
|
373
|
+
"7" => "EPOS(海域[観測網外])",
|
374
|
+
"8" => "EPOS(内陸[観測網内])",
|
375
|
+
"9" => "予備",
|
376
|
+
"/" =>"不明又は未設定"
|
377
|
+
}.freeze
|
378
|
+
|
361
379
|
# 震央の確からしさ
|
362
380
|
def probability_of_position
|
363
|
-
|
364
|
-
|
365
|
-
|
366
|
-
when "2"
|
367
|
-
"テリトリー法(2点)[気象庁データ]"
|
368
|
-
when "3"
|
369
|
-
"グリッドサーチ法(3点/4点)[気象庁データ]"
|
370
|
-
when "4"
|
371
|
-
"グリッドサーチ法(5点)[気象庁データ]"
|
372
|
-
when "5"
|
373
|
-
"防災科研システム(4点以下、または精度情報なし)[防災科学技術研究所データ]"
|
374
|
-
when "6"
|
375
|
-
"防災科研システム(5点以上)[防災科学技術研究所データ]"
|
376
|
-
when "7"
|
377
|
-
"EPOS(海域[観測網外])[気象庁データ]"
|
378
|
-
when "8"
|
379
|
-
"EPOS(内陸[観測網内])[気象庁データ]"
|
380
|
-
when "9"
|
381
|
-
"予備"
|
382
|
-
when "/"
|
383
|
-
"不明又は未設定"
|
384
|
-
else
|
385
|
-
raise Error, "電文の形式が不正です(震央の確からしさ)"
|
386
|
-
end
|
381
|
+
OriginProbability.fetch(@fastcast[113])
|
382
|
+
rescue KeyError
|
383
|
+
raise Error, "電文の形式が不正です(震央の確からしさ)"
|
387
384
|
end
|
388
385
|
|
389
386
|
# 震源の深さの確からしさ
|
390
387
|
def probability_of_depth
|
391
|
-
|
392
|
-
|
393
|
-
|
394
|
-
when "2"
|
395
|
-
"テリトリー法(2点)[気象庁データ]"
|
396
|
-
when "3"
|
397
|
-
"グリッドサーチ法(3点/4点)[気象庁データ]"
|
398
|
-
when "4"
|
399
|
-
"グリッドサーチ法(5点)[気象庁データ]"
|
400
|
-
when "5"
|
401
|
-
"防災科研システム(4点以下、または精度情報なし)[防災科学技術研究所データ]"
|
402
|
-
when "6"
|
403
|
-
"防災科研システム(5点以上)[防災科学技術研究所データ]"
|
404
|
-
when "7"
|
405
|
-
"EPOS(海域[観測網外])[気象庁データ]"
|
406
|
-
when "8"
|
407
|
-
"EPOS(内陸[観測網内])[気象庁データ]"
|
408
|
-
when "9"
|
409
|
-
"予備"
|
410
|
-
when "/", "0"
|
411
|
-
"不明又は未設定"
|
412
|
-
else
|
413
|
-
raise Error, "電文の形式が不正です(震源の深さの確からしさ)"
|
414
|
-
end
|
388
|
+
OriginProbability.fetch(@fastcast[114])
|
389
|
+
rescue KeyError
|
390
|
+
raise Error, "電文の形式が不正です(震央の確からしさ)"
|
415
391
|
end
|
416
392
|
|
417
393
|
# マグニチュードの確からしさ
|
@@ -420,19 +396,19 @@ module EEW
|
|
420
396
|
when "1"
|
421
397
|
"未定義"
|
422
398
|
when "2"
|
423
|
-
"防災科研システム[
|
399
|
+
"防災科研システム[防災科研Hi-netデータ]"
|
424
400
|
when "3"
|
425
|
-
"全点P相
|
401
|
+
"全点P相"
|
426
402
|
when "4"
|
427
|
-
"P相/全相混在
|
403
|
+
"P相/全相混在"
|
428
404
|
when "5"
|
429
|
-
"全点全相
|
405
|
+
"全点全相"
|
430
406
|
when "6"
|
431
|
-
"EPOS
|
407
|
+
"EPOS"
|
432
408
|
when "7"
|
433
409
|
"未定義"
|
434
410
|
when "8"
|
435
|
-
"P波/S波レベル越え
|
411
|
+
"P波/S波レベル越え または仮定震源要素の場合"
|
436
412
|
when "9"
|
437
413
|
"予備"
|
438
414
|
when "/", "0"
|
@@ -442,40 +418,47 @@ module EEW
|
|
442
418
|
end
|
443
419
|
end
|
444
420
|
|
445
|
-
#
|
446
|
-
def
|
421
|
+
# マグニチュード使用観測点(※気象庁の部内システムでの利用)
|
422
|
+
def observation_points_of_magnitude
|
447
423
|
case @fastcast[116]
|
448
424
|
when "1"
|
449
|
-
"P波/S
|
425
|
+
"1点、P波/S波レベル超え、または仮定震源要素"
|
450
426
|
when "2"
|
451
|
-
"
|
427
|
+
"2点"
|
452
428
|
when "3"
|
453
|
-
"
|
429
|
+
"3点"
|
454
430
|
when "4"
|
455
|
-
"
|
431
|
+
"4点"
|
432
|
+
when "5"
|
433
|
+
"5点以上"
|
456
434
|
when "/"
|
457
435
|
"不明又は未設定"
|
458
|
-
when "
|
436
|
+
when "6".."9", "0"
|
459
437
|
"未定義"
|
460
438
|
else
|
461
|
-
raise Error, "電文の形式が不正です(
|
439
|
+
raise Error, "電文の形式が不正です(マグニチュード使用観測点[気象庁の部内システムでの利用])"
|
462
440
|
end
|
463
441
|
end
|
464
442
|
|
443
|
+
# 後方互換性のため
|
444
|
+
alias probability_of_position_jma observation_points_of_magnitude
|
445
|
+
|
465
446
|
# 震源の深さの確からしさ(※気象庁の部内システムでの利用)
|
466
447
|
def probability_of_depth_jma
|
467
448
|
case @fastcast[117]
|
468
449
|
when "1"
|
469
|
-
"P波/S
|
450
|
+
"P波/S波レベル越え、IPF法(1点)、または仮定震源要素"
|
470
451
|
when "2"
|
471
|
-
"
|
452
|
+
"IPF法(2点)"
|
472
453
|
when "3"
|
473
|
-
"
|
454
|
+
"IPF法(3点/4点)"
|
474
455
|
when "4"
|
475
|
-
"
|
456
|
+
"IPF法(5点以上)"
|
457
|
+
when "9"
|
458
|
+
"震源とマグニチュードに基づく震度予測手法の精度が最終報相当"
|
476
459
|
when "/"
|
477
460
|
"不明又は未設定"
|
478
|
-
when "5".."
|
461
|
+
when "5".."8", "0"
|
479
462
|
"未定義"
|
480
463
|
else
|
481
464
|
raise Error, "電文の形式が不正です(震源の深さの確からしさ[気象庁の部内システムでの利用])"
|
@@ -510,6 +493,20 @@ module EEW
|
|
510
493
|
end
|
511
494
|
end
|
512
495
|
|
496
|
+
# 予測手法
|
497
|
+
def warning?
|
498
|
+
case @fastcast[123]
|
499
|
+
when "9"
|
500
|
+
"震源とマグニチュードによる震度推定手法において震源要素が推定できず、PLUM 法による震度予測のみが有効である場合"
|
501
|
+
when "0".."8"
|
502
|
+
"未定義"
|
503
|
+
when "/"
|
504
|
+
"不明又は未設定"
|
505
|
+
else
|
506
|
+
raise Error, "電文の形式が不正です(警報の判別)"
|
507
|
+
end
|
508
|
+
end
|
509
|
+
|
513
510
|
# 最大予測震度の変化
|
514
511
|
def change
|
515
512
|
case @fastcast[129]
|
@@ -551,9 +548,11 @@ module EEW
|
|
551
548
|
"M及び震源位置が変化したため"
|
552
549
|
when "4"
|
553
550
|
"震源の深さが変化したため"
|
551
|
+
when "9"
|
552
|
+
"PLUM 法による予測により変化したため"
|
554
553
|
when "/"
|
555
554
|
"不明又は未設定"
|
556
|
-
when "5".."
|
555
|
+
when "5".."8"
|
557
556
|
"未定義"
|
558
557
|
else
|
559
558
|
raise Error, "電文の形式が不正です(最大予測震度の変化の理由)"
|
@@ -577,8 +576,10 @@ module EEW
|
|
577
576
|
# :warning 警報を含んでいればtrue、含んでいなければfalse、電文にこの項目が設定されていなければnil
|
578
577
|
# :arrival 既に到達していればtrue、そうでなければfalse、電文にこの項目が設定されていなければnil
|
579
578
|
def ebi
|
580
|
-
|
581
|
-
return
|
579
|
+
return [] unless has_ebi?
|
580
|
+
return @ebi.dup if @ebi
|
581
|
+
|
582
|
+
@ebi = []
|
582
583
|
i = 139
|
583
584
|
while i + 20 < @fastcast.bytesize
|
584
585
|
local = {}
|
@@ -617,10 +618,11 @@ module EEW
|
|
617
618
|
else
|
618
619
|
raise Error, "電文の形式が不正でです(主要動の到達予測状況[EBI])"
|
619
620
|
end
|
620
|
-
|
621
|
+
@ebi << local
|
621
622
|
i += 20
|
622
623
|
end
|
623
|
-
|
624
|
+
@ebi.freeze
|
625
|
+
return @ebi.dup
|
624
626
|
end
|
625
627
|
end
|
626
628
|
end
|
@@ -677,4 +679,7 @@ FC
|
|
677
679
|
puts "地域コード: #{local[:area_code]} 地域名: #{local[:area_name]} 最大予測震度: #{local[:intensity]} 予想到達時刻: #{local[:arrival_time]}"
|
678
680
|
puts "警報を含むかどうか: #{local[:warning]} 既に到達しているかどうか: #{local[:arrival]}"
|
679
681
|
end
|
682
|
+
|
683
|
+
puts fc.print
|
684
|
+
p EEW::AreaCode.values.max_by(&:size).size
|
680
685
|
end
|
data/spec/eew_parser_spec.rb
CHANGED
@@ -67,6 +67,8 @@ EBI 251 S6+6- ////// 11 300 S5+5- ////// 11 250 S5+5- ////// 11
|
|
67
67
|
|
68
68
|
its(:status) { is_expected.to eq("通常発表") }
|
69
69
|
|
70
|
+
it { is_expected.to be_normal }
|
71
|
+
|
70
72
|
it { is_expected.not_to be_first }
|
71
73
|
|
72
74
|
it { is_expected.not_to be_final }
|
@@ -83,15 +85,17 @@ EBI 251 S6+6- ////// 11 300 S5+5- ////// 11 250 S5+5- ////// 11
|
|
83
85
|
|
84
86
|
its(:seismic_intensity) { is_expected.to eq("6強") }
|
85
87
|
|
86
|
-
its(:probability_of_position) { is_expected.to eq("防災科研システム(5点以上)[
|
88
|
+
its(:probability_of_position) { is_expected.to eq("防災科研システム(5点以上)[防災科研Hi-netデータ]") }
|
89
|
+
|
90
|
+
its(:probability_of_depth) { is_expected.to eq("防災科研システム(5点以上)[防災科研Hi-netデータ]") }
|
87
91
|
|
88
|
-
its(:
|
92
|
+
its(:probability_of_magnitude) { is_expected.to eq("全点P相") }
|
89
93
|
|
90
|
-
its(:
|
94
|
+
its(:observation_points_of_magnitude) { is_expected.to eq("2点") }
|
91
95
|
|
92
|
-
its(:probability_of_position_jma) { is_expected.to eq("
|
96
|
+
its(:probability_of_position_jma) { is_expected.to eq("2点") }
|
93
97
|
|
94
|
-
its(:probability_of_depth_jma) { is_expected.to eq("
|
98
|
+
its(:probability_of_depth_jma) { is_expected.to eq("IPF法(5点以上)") }
|
95
99
|
|
96
100
|
its(:land_or_sea) { is_expected.to eq("陸域") }
|
97
101
|
|
@@ -158,10 +162,25 @@ ND20110415005001 NCN001 JD////////////// JN///
|
|
158
162
|
"37 03 00 141215195526 C11\n141215195426\nND20141215195438 NCN903 JD////////////// JN003\n309 N350 E1403 070 38 02 RK77604 RT10/// RC0////\n9999="
|
159
163
|
end
|
160
164
|
|
161
|
-
it "
|
165
|
+
it "can be verified" do
|
166
|
+
expect {
|
167
|
+
eew = EEW::Parser.new(invalid)
|
168
|
+
eew.verify
|
169
|
+
}.not_to raise_error
|
170
|
+
end
|
171
|
+
end
|
172
|
+
|
173
|
+
context "南緯と西経" do
|
174
|
+
let(:sw) do
|
175
|
+
"37 03 00 141215195526 C11\n141215195426\nND20141215195438 NCN903 JD////////////// JN003\n309 S350 W1403 070 38 02 RK77604 RT10/// RC0////\n9999="
|
176
|
+
end
|
177
|
+
|
178
|
+
it "can be verified" do
|
179
|
+
eew = nil
|
162
180
|
expect {
|
163
|
-
EEW::Parser.new(
|
181
|
+
eew = EEW::Parser.new(sw)
|
164
182
|
}.not_to raise_error
|
183
|
+
expect(eew.position).to eq("S35.0 W140.3")
|
165
184
|
end
|
166
185
|
end
|
167
186
|
end
|