line |
stmt |
bran |
cond |
sub |
pod |
time |
code |
1
|
|
|
|
|
|
|
package Earthquake::EEW::Decoder; |
2
|
|
|
|
|
|
|
|
3
|
1
|
|
|
1
|
|
21823
|
use utf8; |
|
1
|
|
|
|
|
9
|
|
|
1
|
|
|
|
|
4
|
|
4
|
1
|
|
|
1
|
|
33
|
use vars qw($VERSION); |
|
1
|
|
|
|
|
1
|
|
|
1
|
|
|
|
|
2544
|
|
5
|
|
|
|
|
|
|
our $VERSION = '0.03'; |
6
|
|
|
|
|
|
|
|
7
|
|
|
|
|
|
|
#電文種別 |
8
|
|
|
|
|
|
|
my %code_type = ( |
9
|
|
|
|
|
|
|
'35' => '最大予測震度のみ', |
10
|
|
|
|
|
|
|
'36' => 'M、最大予測震度及び主要動到達予測時刻', |
11
|
|
|
|
|
|
|
'37' => |
12
|
|
|
|
|
|
|
'M、最大予測度及び主要動到達予測時刻(確度大)', |
13
|
|
|
|
|
|
|
'39' => 'キャンセル報', |
14
|
|
|
|
|
|
|
'47' => '一般向け速報', |
15
|
|
|
|
|
|
|
'48' => 'キャンセル報', |
16
|
|
|
|
|
|
|
); |
17
|
|
|
|
|
|
|
|
18
|
|
|
|
|
|
|
#発信官署 |
19
|
|
|
|
|
|
|
my %section = ( |
20
|
|
|
|
|
|
|
'01' => '札幌', |
21
|
|
|
|
|
|
|
'02' => '仙台', |
22
|
|
|
|
|
|
|
'03' => '東京', |
23
|
|
|
|
|
|
|
'04' => '大阪', |
24
|
|
|
|
|
|
|
'05' => '福岡', |
25
|
|
|
|
|
|
|
'06' => '沖縄', |
26
|
|
|
|
|
|
|
); |
27
|
|
|
|
|
|
|
|
28
|
|
|
|
|
|
|
#訓練等の識別符 |
29
|
|
|
|
|
|
|
my %msg_type = ( |
30
|
|
|
|
|
|
|
'00' => '通常', |
31
|
|
|
|
|
|
|
'01' => '訓練', |
32
|
|
|
|
|
|
|
'10' => '取り消し', |
33
|
|
|
|
|
|
|
'11' => '訓練取り消し', |
34
|
|
|
|
|
|
|
'20' => '参考/テスト', |
35
|
|
|
|
|
|
|
'30' => 'コードのみ配信試験', |
36
|
|
|
|
|
|
|
); |
37
|
|
|
|
|
|
|
|
38
|
|
|
|
|
|
|
#震度 |
39
|
|
|
|
|
|
|
my %shindo = ( |
40
|
|
|
|
|
|
|
'01' => '震度1', |
41
|
|
|
|
|
|
|
'02' => '震度2', |
42
|
|
|
|
|
|
|
'03' => '震度3', |
43
|
|
|
|
|
|
|
'04' => '震度4', |
44
|
|
|
|
|
|
|
'5-' => '震度5弱', |
45
|
|
|
|
|
|
|
'5+' => '震度5強', |
46
|
|
|
|
|
|
|
'6-' => '震度6弱', |
47
|
|
|
|
|
|
|
'6+' => '震度6強', |
48
|
|
|
|
|
|
|
'07' => '震度7', |
49
|
|
|
|
|
|
|
'//' => '不明', |
50
|
|
|
|
|
|
|
); |
51
|
|
|
|
|
|
|
|
52
|
|
|
|
|
|
|
#データの確からしさ |
53
|
|
|
|
|
|
|
my %rk1 = ( |
54
|
|
|
|
|
|
|
'1' => |
55
|
|
|
|
|
|
|
'P 波/S 波レベル越え、またはテリトリー法(1点)', |
56
|
|
|
|
|
|
|
'2' => 'テリトリー法(2 点)', |
57
|
|
|
|
|
|
|
'3' => 'グリッドサーチ法(3 点/4 点)', |
58
|
|
|
|
|
|
|
'4' => 'グリッドサーチ法(5 点)', |
59
|
|
|
|
|
|
|
'5' => |
60
|
|
|
|
|
|
|
'防災科研システム(4 点以下、または精度情報なし)', |
61
|
|
|
|
|
|
|
'6' => '防災科研システム(5 点以上)', |
62
|
|
|
|
|
|
|
'7' => 'EPOS(海域〔観測網外〕)', |
63
|
|
|
|
|
|
|
'8' => 'EPOS(内陸〔観測網内〕)', |
64
|
|
|
|
|
|
|
'9' => '予備', |
65
|
|
|
|
|
|
|
'/' => '不明、未設定時、キャンセル時', |
66
|
|
|
|
|
|
|
); |
67
|
|
|
|
|
|
|
|
68
|
|
|
|
|
|
|
#震源の深さの確からしさ |
69
|
|
|
|
|
|
|
my %rk2 = ( |
70
|
|
|
|
|
|
|
'1' => |
71
|
|
|
|
|
|
|
'P 波/S 波レベル越え、またはテリトリー法(1 点)', |
72
|
|
|
|
|
|
|
'2' => 'テリトリー法(2 点)', |
73
|
|
|
|
|
|
|
'3' => 'グリッドサーチ法(3 点/4 点)', |
74
|
|
|
|
|
|
|
'4' => 'グリッドサーチ法(5 点)', |
75
|
|
|
|
|
|
|
'5' => |
76
|
|
|
|
|
|
|
'防災科研システム(4 点以下、または精度情報なし)', |
77
|
|
|
|
|
|
|
'6' => '防災科研システム(5 点以上)', |
78
|
|
|
|
|
|
|
'7' => 'EPOS(海域〔観測網外〕)', |
79
|
|
|
|
|
|
|
'8' => 'EPOS(内陸〔観測網内〕)', |
80
|
|
|
|
|
|
|
'9' => '予備', |
81
|
|
|
|
|
|
|
'/ ' => '不明、未設定時、キャンセル時', |
82
|
|
|
|
|
|
|
); |
83
|
|
|
|
|
|
|
|
84
|
|
|
|
|
|
|
#マグニチュードの確からしさ |
85
|
|
|
|
|
|
|
my %rk3 = ( |
86
|
|
|
|
|
|
|
'1' => '未定義', |
87
|
|
|
|
|
|
|
'2' => '防災科研システム', |
88
|
|
|
|
|
|
|
'3' => '全点(最大5 点)P 相', |
89
|
|
|
|
|
|
|
'4' => 'P 相/全相混在', |
90
|
|
|
|
|
|
|
'5' => '全点(最大5 点)全相', |
91
|
|
|
|
|
|
|
'6' => 'EPOS', |
92
|
|
|
|
|
|
|
'7' => '未定義', |
93
|
|
|
|
|
|
|
'8' => 'P 波/S 波レベル越え', |
94
|
|
|
|
|
|
|
'9' => '予備', |
95
|
|
|
|
|
|
|
'/' => '不明、未設定時、キャンセル時', |
96
|
|
|
|
|
|
|
|
97
|
|
|
|
|
|
|
); |
98
|
|
|
|
|
|
|
|
99
|
|
|
|
|
|
|
#地震の発生場所 |
100
|
|
|
|
|
|
|
my %rt1 = ( |
101
|
|
|
|
|
|
|
'0' => '陸', |
102
|
|
|
|
|
|
|
'1' => '海', |
103
|
|
|
|
|
|
|
'/' => '不明', |
104
|
|
|
|
|
|
|
); |
105
|
|
|
|
|
|
|
|
106
|
|
|
|
|
|
|
#最大予測震度の変化 |
107
|
|
|
|
|
|
|
my %rc1 = ( |
108
|
|
|
|
|
|
|
'0' => 'ほとんど変化なし', |
109
|
|
|
|
|
|
|
'1' => '最大予測震度が1.0 以上大きくなった。', |
110
|
|
|
|
|
|
|
'2' => '最大予測震度が1.0 以上小さくなった。', |
111
|
|
|
|
|
|
|
'/' => '不明、未設定時、キャンセル時', |
112
|
|
|
|
|
|
|
); |
113
|
|
|
|
|
|
|
|
114
|
|
|
|
|
|
|
#最大予測震度の変化の理由 |
115
|
|
|
|
|
|
|
my %rc2 = ( |
116
|
|
|
|
|
|
|
'0' => '変化なし', |
117
|
|
|
|
|
|
|
'1' => '主としてMが変化したため(1.0 以上)。', |
118
|
|
|
|
|
|
|
'2' => '主として震源位置が変化したため(10km 以上)。', |
119
|
|
|
|
|
|
|
'3' => |
120
|
|
|
|
|
|
|
'M及び震源位置が変化したため(1 と2 の複合条件)。', |
121
|
|
|
|
|
|
|
'4' => |
122
|
|
|
|
|
|
|
'震源の深さが変化したため(上記のいずれにもあてはまらず、30km 以上の変化)。', |
123
|
|
|
|
|
|
|
'/' => '不明、未設定時、キャンセル時', |
124
|
|
|
|
|
|
|
); |
125
|
|
|
|
|
|
|
|
126
|
|
|
|
|
|
|
my %ebiyy = ( |
127
|
|
|
|
|
|
|
'00' => '未到達', |
128
|
|
|
|
|
|
|
'01' => '既に到着と予想', |
129
|
|
|
|
|
|
|
); |
130
|
|
|
|
|
|
|
|
131
|
|
|
|
|
|
|
#タイプ |
132
|
|
|
|
|
|
|
my %warn_type = ( |
133
|
|
|
|
|
|
|
'NCN' => '高度利用者向け', |
134
|
|
|
|
|
|
|
'NPN' => '一般向け', |
135
|
|
|
|
|
|
|
'NCPN' => '一般向け', |
136
|
|
|
|
|
|
|
'PRC' => '強い揺れが推定される地域の追加', |
137
|
|
|
|
|
|
|
'EBI' => '予想震度と到達時間', |
138
|
|
|
|
|
|
|
'CAI' => '新たに追加された強い揺れが推定される地方', |
139
|
|
|
|
|
|
|
'CPI' => '新たに追加された強い揺れが推定される県', |
140
|
|
|
|
|
|
|
'CBI' => '新たに追加された強い揺れが推定される地域', |
141
|
|
|
|
|
|
|
'PAI' => '強い揺れが推定される地方', |
142
|
|
|
|
|
|
|
'PPI' => '強い揺れが推定される県', |
143
|
|
|
|
|
|
|
'PBI' => '強い揺れが推定される地域', |
144
|
|
|
|
|
|
|
); |
145
|
|
|
|
|
|
|
my %ippan_shinou_code = ( |
146
|
|
|
|
|
|
|
'0000' => '', |
147
|
|
|
|
|
|
|
'9011' => '北海道道央', |
148
|
|
|
|
|
|
|
'9012' => '北海道道南', |
149
|
|
|
|
|
|
|
'9013' => '北海道道北', |
150
|
|
|
|
|
|
|
'9014' => '北海道道東', |
151
|
|
|
|
|
|
|
'9014' => '北海道道東', |
152
|
|
|
|
|
|
|
'9700' => '北海道南西沖', |
153
|
|
|
|
|
|
|
'9701' => '北海道西方沖', |
154
|
|
|
|
|
|
|
'9702' => '石狩湾', |
155
|
|
|
|
|
|
|
'9703' => '北海道北西沖', |
156
|
|
|
|
|
|
|
'9704' => '宗谷海峡', |
157
|
|
|
|
|
|
|
'9705' => '国後島付近', |
158
|
|
|
|
|
|
|
'9706' => '択捉島付近', |
159
|
|
|
|
|
|
|
'9707' => '北海道東方沖', |
160
|
|
|
|
|
|
|
'9708' => '根室半島沖', |
161
|
|
|
|
|
|
|
'9709' => '釧路沖', |
162
|
|
|
|
|
|
|
'9710' => '十勝沖', |
163
|
|
|
|
|
|
|
'9711' => '浦河沖', |
164
|
|
|
|
|
|
|
'9712' => '苫小牧沖', |
165
|
|
|
|
|
|
|
'9713' => '内浦湾', |
166
|
|
|
|
|
|
|
'9714' => '宗谷東方沖', |
167
|
|
|
|
|
|
|
'9715' => '網走沖', |
168
|
|
|
|
|
|
|
'9716' => '択捉島南東沖', |
169
|
|
|
|
|
|
|
'9020' => '青森県', |
170
|
|
|
|
|
|
|
'9030' => '岩手県', |
171
|
|
|
|
|
|
|
'9040' => '宮城県', |
172
|
|
|
|
|
|
|
'9050' => '秋田県', |
173
|
|
|
|
|
|
|
'9050' => '秋田県', |
174
|
|
|
|
|
|
|
'9060' => '山形県', |
175
|
|
|
|
|
|
|
'9207' => '福島県', |
176
|
|
|
|
|
|
|
'9730' => '津軽海峡', |
177
|
|
|
|
|
|
|
'9731' => '山形沖', |
178
|
|
|
|
|
|
|
'9732' => '秋田沖', |
179
|
|
|
|
|
|
|
'9733' => '青森西方沖', |
180
|
|
|
|
|
|
|
'9734' => '陸奥湾', |
181
|
|
|
|
|
|
|
'9735' => '青森東方沖', |
182
|
|
|
|
|
|
|
'9736' => '岩手沖', |
183
|
|
|
|
|
|
|
'9737' => '宮城沖', |
184
|
|
|
|
|
|
|
'9738' => '三陸沖', |
185
|
|
|
|
|
|
|
'9739' => '福島沖', |
186
|
|
|
|
|
|
|
'9080' => '茨城県', |
187
|
|
|
|
|
|
|
'9760' => '千葉南東沖', |
188
|
|
|
|
|
|
|
'9090' => '栃木県', |
189
|
|
|
|
|
|
|
'9100' => '群馬県', |
190
|
|
|
|
|
|
|
'9110' => '埼玉県', |
191
|
|
|
|
|
|
|
'9120' => '千葉県', |
192
|
|
|
|
|
|
|
'9761' => '千葉南方沖', |
193
|
|
|
|
|
|
|
'9130' => '東京', |
194
|
|
|
|
|
|
|
'9130' => '東京', |
195
|
|
|
|
|
|
|
'9140' => '神奈川県', |
196
|
|
|
|
|
|
|
'9150' => '新潟県', |
197
|
|
|
|
|
|
|
'9372' => '新潟沖', |
198
|
|
|
|
|
|
|
'9160' => '富山県', |
199
|
|
|
|
|
|
|
'9170' => '石川県', |
200
|
|
|
|
|
|
|
'9180' => '福井県', |
201
|
|
|
|
|
|
|
'9190' => '山梨県', |
202
|
|
|
|
|
|
|
'9200' => '長野県', |
203
|
|
|
|
|
|
|
'9210' => '岐阜県', |
204
|
|
|
|
|
|
|
'9220' => '静岡県', |
205
|
|
|
|
|
|
|
'9230' => '愛知県', |
206
|
|
|
|
|
|
|
'9240' => '三重県', |
207
|
|
|
|
|
|
|
'9762' => '三重南東沖', |
208
|
|
|
|
|
|
|
'9763' => '茨城沖', |
209
|
|
|
|
|
|
|
'9764' => '関東東方沖', |
210
|
|
|
|
|
|
|
'9765' => '千葉東方沖', |
211
|
|
|
|
|
|
|
'9766' => '関東南方沖', |
212
|
|
|
|
|
|
|
'9767' => '伊豆諸島近海', |
213
|
|
|
|
|
|
|
'9768' => '東京湾', |
214
|
|
|
|
|
|
|
'9769' => '相模湾', |
215
|
|
|
|
|
|
|
'9770' => '伊豆東方沖', |
216
|
|
|
|
|
|
|
'9771' => '静岡沖(※3)', |
217
|
|
|
|
|
|
|
'9772' => '三河湾', |
218
|
|
|
|
|
|
|
'9773' => '伊勢湾', |
219
|
|
|
|
|
|
|
'9774' => '若狭湾', |
220
|
|
|
|
|
|
|
'9775' => '福井沖', |
221
|
|
|
|
|
|
|
'9776' => '石川西方沖', |
222
|
|
|
|
|
|
|
'9777' => '能登半島沖', |
223
|
|
|
|
|
|
|
'9778' => '富山湾', |
224
|
|
|
|
|
|
|
'9779' => '佐渡付近', |
225
|
|
|
|
|
|
|
'9780' => '東海道沖', |
226
|
|
|
|
|
|
|
'9250' => '滋賀県', |
227
|
|
|
|
|
|
|
'9260' => '京都府', |
228
|
|
|
|
|
|
|
'9270' => '大阪府', |
229
|
|
|
|
|
|
|
'9280' => '兵庫県', |
230
|
|
|
|
|
|
|
'9290' => '奈良県', |
231
|
|
|
|
|
|
|
'9300' => '和歌山県', |
232
|
|
|
|
|
|
|
'9310' => '鳥取県', |
233
|
|
|
|
|
|
|
'9310' => '鳥取県', |
234
|
|
|
|
|
|
|
'9320' => '島根県', |
235
|
|
|
|
|
|
|
'9330' => '岡山県', |
236
|
|
|
|
|
|
|
'9340' => '広島県', |
237
|
|
|
|
|
|
|
'9360' => '徳島県', |
238
|
|
|
|
|
|
|
'9370' => '香川県', |
239
|
|
|
|
|
|
|
'9380' => '愛媛県', |
240
|
|
|
|
|
|
|
'9390' => '高知県', |
241
|
|
|
|
|
|
|
'9790' => '土佐湾', |
242
|
|
|
|
|
|
|
'9791' => '紀伊水道', |
243
|
|
|
|
|
|
|
'9792' => '大阪湾', |
244
|
|
|
|
|
|
|
'9793' => '播磨灘', |
245
|
|
|
|
|
|
|
'9794' => '瀬戸内海', |
246
|
|
|
|
|
|
|
'9795' => '安芸灘', |
247
|
|
|
|
|
|
|
'9796' => '周防灘', |
248
|
|
|
|
|
|
|
'9797' => '伊予灘', |
249
|
|
|
|
|
|
|
'9798' => '豊後水道', |
250
|
|
|
|
|
|
|
'9799' => '山口北西沖', |
251
|
|
|
|
|
|
|
'9800' => '島根沖', |
252
|
|
|
|
|
|
|
'9801' => '鳥取沖', |
253
|
|
|
|
|
|
|
'9802' => '隠岐島近海', |
254
|
|
|
|
|
|
|
'9803' => '兵庫北方沖', |
255
|
|
|
|
|
|
|
'9804' => '京都沖', |
256
|
|
|
|
|
|
|
'9805' => '淡路島付近', |
257
|
|
|
|
|
|
|
'9806' => '和歌山沖', |
258
|
|
|
|
|
|
|
'9350' => '山口県', |
259
|
|
|
|
|
|
|
'9400' => '福岡県', |
260
|
|
|
|
|
|
|
'9410' => '佐賀県', |
261
|
|
|
|
|
|
|
'9420' => '長崎県', |
262
|
|
|
|
|
|
|
'9430' => '熊本県', |
263
|
|
|
|
|
|
|
'9440' => '大分県', |
264
|
|
|
|
|
|
|
'9450' => '宮崎県', |
265
|
|
|
|
|
|
|
'9460' => '鹿児島県', |
266
|
|
|
|
|
|
|
'9820' => '五島列島近海', |
267
|
|
|
|
|
|
|
'9821' => '天草灘', |
268
|
|
|
|
|
|
|
'9822' => '有明海', |
269
|
|
|
|
|
|
|
'9823' => '橘湾', |
270
|
|
|
|
|
|
|
'9824' => '鹿児島湾', |
271
|
|
|
|
|
|
|
'9825' => '種子島近海', |
272
|
|
|
|
|
|
|
'9826' => '日向灘', |
273
|
|
|
|
|
|
|
'9827' => '奄美大島近海', |
274
|
|
|
|
|
|
|
'9828' => '対馬近海', |
275
|
|
|
|
|
|
|
'9829' => '福岡北西沖', |
276
|
|
|
|
|
|
|
'9830' => '鹿児島西方沖', |
277
|
|
|
|
|
|
|
'9831' => '薩南諸島近海', |
278
|
|
|
|
|
|
|
'9832' => '鹿児島東方沖(※4)', |
279
|
|
|
|
|
|
|
'9833' => '九州南東沖', |
280
|
|
|
|
|
|
|
'9471' => '沖縄本島近海', |
281
|
|
|
|
|
|
|
'9472' => '南大東島近海', |
282
|
|
|
|
|
|
|
'9850' => '沖縄南方沖', |
283
|
|
|
|
|
|
|
'9473' => '宮古島近海', |
284
|
|
|
|
|
|
|
'9851' => '石垣島近海', |
285
|
|
|
|
|
|
|
'9852' => '石垣島南方沖', |
286
|
|
|
|
|
|
|
'9853' => '西表島付近', |
287
|
|
|
|
|
|
|
'9854' => '与那国島近海', |
288
|
|
|
|
|
|
|
'9855' => '宮古島北西沖', |
289
|
|
|
|
|
|
|
'9856' => '石垣島北西沖', |
290
|
|
|
|
|
|
|
'9900' => '台湾付近', |
291
|
|
|
|
|
|
|
'9901' => '東シナ海', |
292
|
|
|
|
|
|
|
'9902' => '四国沖', |
293
|
|
|
|
|
|
|
'9903' => '鳥島近海', |
294
|
|
|
|
|
|
|
'9904' => '鳥島東方沖', |
295
|
|
|
|
|
|
|
'9905' => 'オホーツク海', |
296
|
|
|
|
|
|
|
'9906' => 'サハリン付近', |
297
|
|
|
|
|
|
|
'9907' => '日本海北部', |
298
|
|
|
|
|
|
|
'9908' => '日本海中部', |
299
|
|
|
|
|
|
|
'9909' => '日本海西部', |
300
|
|
|
|
|
|
|
'9781' => '父島近海', |
301
|
|
|
|
|
|
|
'9781' => '父島近海', |
302
|
|
|
|
|
|
|
'9910' => '南海道南方沖', |
303
|
|
|
|
|
|
|
'9911' => 'サハリン南部', |
304
|
|
|
|
|
|
|
'9912' => '朝鮮半島南部' |
305
|
|
|
|
|
|
|
); |
306
|
|
|
|
|
|
|
my %shinou_code = ( |
307
|
|
|
|
|
|
|
'000' => '', |
308
|
|
|
|
|
|
|
100 => '石狩支庁北部', |
309
|
|
|
|
|
|
|
101 => '石狩支庁中部', |
310
|
|
|
|
|
|
|
102 => '石狩支庁南部', |
311
|
|
|
|
|
|
|
105 => '渡島支庁北部', |
312
|
|
|
|
|
|
|
106 => '渡島支庁東部', |
313
|
|
|
|
|
|
|
107 => '渡島支庁西部', |
314
|
|
|
|
|
|
|
110 => '檜山支庁', |
315
|
|
|
|
|
|
|
115 => '後志支庁北部', |
316
|
|
|
|
|
|
|
116 => '後志支庁東部', |
317
|
|
|
|
|
|
|
117 => '後志支庁西部', |
318
|
|
|
|
|
|
|
120 => '空知支庁北部', |
319
|
|
|
|
|
|
|
121 => '空知支庁中部', |
320
|
|
|
|
|
|
|
122 => '空知支庁南部', |
321
|
|
|
|
|
|
|
125 => '上川支庁北部', |
322
|
|
|
|
|
|
|
126 => '上川支庁中部', |
323
|
|
|
|
|
|
|
127 => '上川支庁南部', |
324
|
|
|
|
|
|
|
130 => '留萌支庁中北部', |
325
|
|
|
|
|
|
|
131 => '留萌支庁南部', |
326
|
|
|
|
|
|
|
135 => '宗谷支庁北部', |
327
|
|
|
|
|
|
|
136 => '宗谷支庁南部', |
328
|
|
|
|
|
|
|
140 => '網走支庁網走地方', |
329
|
|
|
|
|
|
|
141 => '網走支庁北見地方', |
330
|
|
|
|
|
|
|
142 => '網走支庁紋別地方', |
331
|
|
|
|
|
|
|
145 => '胆振支庁西部', |
332
|
|
|
|
|
|
|
146 => '胆振支庁中東部', |
333
|
|
|
|
|
|
|
150 => '日高支庁西部', |
334
|
|
|
|
|
|
|
151 => '日高支庁中部', |
335
|
|
|
|
|
|
|
152 => '日高支庁東部', |
336
|
|
|
|
|
|
|
155 => '十勝支庁北部', |
337
|
|
|
|
|
|
|
156 => '十勝支庁中部', |
338
|
|
|
|
|
|
|
157 => '十勝支庁南部', |
339
|
|
|
|
|
|
|
160 => '釧路支庁北部', |
340
|
|
|
|
|
|
|
161 => '釧路支庁中南部', |
341
|
|
|
|
|
|
|
165 => '根室支庁北部', |
342
|
|
|
|
|
|
|
166 => '根室支庁中部', |
343
|
|
|
|
|
|
|
167 => '根室支庁南部', |
344
|
|
|
|
|
|
|
180 => '北海道南西沖', |
345
|
|
|
|
|
|
|
181 => '北海道西方沖', |
346
|
|
|
|
|
|
|
182 => '石狩湾', |
347
|
|
|
|
|
|
|
183 => '北海道北西沖', |
348
|
|
|
|
|
|
|
184 => '宗谷海峡', |
349
|
|
|
|
|
|
|
186 => '国後島付近', |
350
|
|
|
|
|
|
|
187 => '択捉島付近', |
351
|
|
|
|
|
|
|
188 => '北海道東方沖', |
352
|
|
|
|
|
|
|
189 => '根室半島南東沖', |
353
|
|
|
|
|
|
|
190 => '釧路沖', |
354
|
|
|
|
|
|
|
191 => '十勝沖', |
355
|
|
|
|
|
|
|
192 => '浦河沖', |
356
|
|
|
|
|
|
|
193 => '苫小牧沖', |
357
|
|
|
|
|
|
|
194 => '内浦湾', |
358
|
|
|
|
|
|
|
195 => '宗谷東方沖', |
359
|
|
|
|
|
|
|
196 => '網走沖', |
360
|
|
|
|
|
|
|
197 => '択捉島南東沖', |
361
|
|
|
|
|
|
|
200 => '青森県津軽北部', |
362
|
|
|
|
|
|
|
201 => '青森県津軽南部', |
363
|
|
|
|
|
|
|
202 => '青森県三八上北地方', |
364
|
|
|
|
|
|
|
203 => '青森県下北地方', |
365
|
|
|
|
|
|
|
210 => '岩手県沿岸北部', |
366
|
|
|
|
|
|
|
211 => '岩手県沿岸南部', |
367
|
|
|
|
|
|
|
212 => '岩手県内陸北部', |
368
|
|
|
|
|
|
|
213 => '岩手県内陸南部', |
369
|
|
|
|
|
|
|
220 => '宮城県北部', |
370
|
|
|
|
|
|
|
221 => '宮城県南部', |
371
|
|
|
|
|
|
|
222 => '宮城県中部', |
372
|
|
|
|
|
|
|
230 => '秋田県沿岸北部', |
373
|
|
|
|
|
|
|
231 => '秋田県沿岸南部', |
374
|
|
|
|
|
|
|
232 => '秋田県内陸北部', |
375
|
|
|
|
|
|
|
233 => '秋田県内陸南部', |
376
|
|
|
|
|
|
|
240 => '山形県庄内地方', |
377
|
|
|
|
|
|
|
241 => '山形県最上地方', |
378
|
|
|
|
|
|
|
242 => '山形県村山地方', |
379
|
|
|
|
|
|
|
243 => '山形県置賜地方', |
380
|
|
|
|
|
|
|
250 => '福島県中通り', |
381
|
|
|
|
|
|
|
251 => '福島県浜通り', |
382
|
|
|
|
|
|
|
252 => '福島県会津', |
383
|
|
|
|
|
|
|
280 => '津軽海峡', |
384
|
|
|
|
|
|
|
281 => '山形県沖', |
385
|
|
|
|
|
|
|
282 => '秋田県沖', |
386
|
|
|
|
|
|
|
283 => '青森県西方沖', |
387
|
|
|
|
|
|
|
284 => '陸奥湾', |
388
|
|
|
|
|
|
|
285 => '青森県東方沖', |
389
|
|
|
|
|
|
|
286 => '岩手県沖', |
390
|
|
|
|
|
|
|
287 => '宮城県沖', |
391
|
|
|
|
|
|
|
288 => '三陸沖', |
392
|
|
|
|
|
|
|
289 => '福島県沖', |
393
|
|
|
|
|
|
|
300 => '茨城県北部', |
394
|
|
|
|
|
|
|
301 => '茨城県南部', |
395
|
|
|
|
|
|
|
309 => '千葉県南東沖', |
396
|
|
|
|
|
|
|
310 => '栃木県北部', |
397
|
|
|
|
|
|
|
311 => '栃木県南部', |
398
|
|
|
|
|
|
|
320 => '群馬県北部', |
399
|
|
|
|
|
|
|
321 => '群馬県南部', |
400
|
|
|
|
|
|
|
330 => '埼玉県北部', |
401
|
|
|
|
|
|
|
331 => '埼玉県南部', |
402
|
|
|
|
|
|
|
332 => '埼玉県秩父地方', |
403
|
|
|
|
|
|
|
340 => '千葉県北東部', |
404
|
|
|
|
|
|
|
341 => '千葉県北西部', |
405
|
|
|
|
|
|
|
342 => '千葉県南部', |
406
|
|
|
|
|
|
|
349 => '房総半島南方沖', |
407
|
|
|
|
|
|
|
350 => '東京都23区', |
408
|
|
|
|
|
|
|
351 => '東京都多摩東部', |
409
|
|
|
|
|
|
|
352 => '東京都多摩西部', |
410
|
|
|
|
|
|
|
360 => '神奈川県東部', |
411
|
|
|
|
|
|
|
361 => '神奈川県西部', |
412
|
|
|
|
|
|
|
370 => '新潟県上越地方', |
413
|
|
|
|
|
|
|
371 => '新潟県中越地方', |
414
|
|
|
|
|
|
|
372 => '新潟県下越地方', |
415
|
|
|
|
|
|
|
378 => '新潟県下越沖', |
416
|
|
|
|
|
|
|
379 => '新潟県上中越沖', |
417
|
|
|
|
|
|
|
380 => '富山県東部', |
418
|
|
|
|
|
|
|
381 => '富山県西部', |
419
|
|
|
|
|
|
|
390 => '石川県能登地方', |
420
|
|
|
|
|
|
|
391 => '石川県加賀地方', |
421
|
|
|
|
|
|
|
400 => '福井県嶺北', |
422
|
|
|
|
|
|
|
401 => '福井県嶺南', |
423
|
|
|
|
|
|
|
411 => '山梨県中・西部', |
424
|
|
|
|
|
|
|
412 => '山梨県東部・富士五湖', |
425
|
|
|
|
|
|
|
420 => '長野県北部', |
426
|
|
|
|
|
|
|
421 => '長野県中部', |
427
|
|
|
|
|
|
|
422 => '長野県南部', |
428
|
|
|
|
|
|
|
430 => '岐阜県飛騨地方', |
429
|
|
|
|
|
|
|
431 => '岐阜県美濃東部', |
430
|
|
|
|
|
|
|
432 => '岐阜県美濃中西部', |
431
|
|
|
|
|
|
|
440 => '静岡県伊豆地方', |
432
|
|
|
|
|
|
|
441 => '静岡県東部', |
433
|
|
|
|
|
|
|
442 => '静岡県中部', |
434
|
|
|
|
|
|
|
443 => '静岡県西部', |
435
|
|
|
|
|
|
|
450 => '愛知県東部', |
436
|
|
|
|
|
|
|
451 => '愛知県西部', |
437
|
|
|
|
|
|
|
460 => '三重県北部', |
438
|
|
|
|
|
|
|
461 => '三重県中部', |
439
|
|
|
|
|
|
|
462 => '三重県南部', |
440
|
|
|
|
|
|
|
469 => '三重県南東沖', |
441
|
|
|
|
|
|
|
471 => '茨城県沖', |
442
|
|
|
|
|
|
|
472 => '関東東方沖', |
443
|
|
|
|
|
|
|
473 => '千葉県東方沖', |
444
|
|
|
|
|
|
|
475 => '八丈島東方沖', |
445
|
|
|
|
|
|
|
476 => '八丈島近海', |
446
|
|
|
|
|
|
|
477 => '東京湾', |
447
|
|
|
|
|
|
|
478 => '相模湾', |
448
|
|
|
|
|
|
|
480 => '伊豆大島近海', |
449
|
|
|
|
|
|
|
481 => '伊豆半島東方沖', |
450
|
|
|
|
|
|
|
482 => '三宅島近海', |
451
|
|
|
|
|
|
|
483 => '新島・神津島近海', |
452
|
|
|
|
|
|
|
485 => '駿河湾', |
453
|
|
|
|
|
|
|
486 => '駿河湾南方沖', |
454
|
|
|
|
|
|
|
487 => '遠州灘', |
455
|
|
|
|
|
|
|
489 => '三河湾', |
456
|
|
|
|
|
|
|
490 => '伊勢湾', |
457
|
|
|
|
|
|
|
492 => '若狭湾', |
458
|
|
|
|
|
|
|
493 => '福井県沖', |
459
|
|
|
|
|
|
|
494 => '石川県西方沖', |
460
|
|
|
|
|
|
|
495 => '能登半島沖', |
461
|
|
|
|
|
|
|
497 => '富山湾', |
462
|
|
|
|
|
|
|
498 => '佐渡付近', |
463
|
|
|
|
|
|
|
499 => '東海道南方沖', |
464
|
|
|
|
|
|
|
500 => '滋賀県北部', |
465
|
|
|
|
|
|
|
501 => '滋賀県南部', |
466
|
|
|
|
|
|
|
510 => '京都府北部', |
467
|
|
|
|
|
|
|
511 => '京都府南部', |
468
|
|
|
|
|
|
|
520 => '大阪府北部', |
469
|
|
|
|
|
|
|
521 => '大阪府南部', |
470
|
|
|
|
|
|
|
530 => '兵庫県北部', |
471
|
|
|
|
|
|
|
531 => '兵庫県南東部', |
472
|
|
|
|
|
|
|
532 => '兵庫県南西部', |
473
|
|
|
|
|
|
|
540 => '奈良県', |
474
|
|
|
|
|
|
|
550 => '和歌山県北部', |
475
|
|
|
|
|
|
|
551 => '和歌山県南部', |
476
|
|
|
|
|
|
|
560 => '鳥取県東部', |
477
|
|
|
|
|
|
|
562 => '鳥取県中部', |
478
|
|
|
|
|
|
|
563 => '鳥取県西部', |
479
|
|
|
|
|
|
|
570 => '島根県東部', |
480
|
|
|
|
|
|
|
571 => '島根県西部', |
481
|
|
|
|
|
|
|
580 => '岡山県北部', |
482
|
|
|
|
|
|
|
581 => '岡山県南部', |
483
|
|
|
|
|
|
|
590 => '広島県北部', |
484
|
|
|
|
|
|
|
591 => '広島県南東部', |
485
|
|
|
|
|
|
|
592 => '広島県南西部', |
486
|
|
|
|
|
|
|
600 => '徳島県北部', |
487
|
|
|
|
|
|
|
601 => '徳島県南部', |
488
|
|
|
|
|
|
|
610 => '香川県東部', |
489
|
|
|
|
|
|
|
611 => '香川県西部', |
490
|
|
|
|
|
|
|
620 => '愛媛県東予', |
491
|
|
|
|
|
|
|
621 => '愛媛県中予', |
492
|
|
|
|
|
|
|
622 => '愛媛県南予', |
493
|
|
|
|
|
|
|
630 => '高知県東部', |
494
|
|
|
|
|
|
|
631 => '高知県中部', |
495
|
|
|
|
|
|
|
632 => '高知県西部', |
496
|
|
|
|
|
|
|
673 => '土佐湾', |
497
|
|
|
|
|
|
|
674 => '紀伊水道', |
498
|
|
|
|
|
|
|
675 => '大阪湾', |
499
|
|
|
|
|
|
|
676 => '播磨灘', |
500
|
|
|
|
|
|
|
677 => '瀬戸内海中部', |
501
|
|
|
|
|
|
|
678 => '安芸灘', |
502
|
|
|
|
|
|
|
679 => '周防灘', |
503
|
|
|
|
|
|
|
680 => '伊予灘', |
504
|
|
|
|
|
|
|
681 => '豊後水道', |
505
|
|
|
|
|
|
|
682 => '山口県北西沖', |
506
|
|
|
|
|
|
|
683 => '島根県沖', |
507
|
|
|
|
|
|
|
684 => '鳥取県沖', |
508
|
|
|
|
|
|
|
685 => '隠岐島近海', |
509
|
|
|
|
|
|
|
686 => '兵庫県北方沖', |
510
|
|
|
|
|
|
|
687 => '京都府沖', |
511
|
|
|
|
|
|
|
688 => '淡路島付近', |
512
|
|
|
|
|
|
|
689 => '和歌山県南方沖', |
513
|
|
|
|
|
|
|
700 => '山口県北部', |
514
|
|
|
|
|
|
|
701 => '山口県東部', |
515
|
|
|
|
|
|
|
702 => '山口県西部', |
516
|
|
|
|
|
|
|
710 => '福岡県福岡地方', |
517
|
|
|
|
|
|
|
711 => '福岡県北九州地方', |
518
|
|
|
|
|
|
|
712 => '福岡県筑豊地方', |
519
|
|
|
|
|
|
|
713 => '福岡県筑後地方', |
520
|
|
|
|
|
|
|
720 => '佐賀県北部', |
521
|
|
|
|
|
|
|
721 => '佐賀県南部', |
522
|
|
|
|
|
|
|
730 => '長崎県北部', |
523
|
|
|
|
|
|
|
731 => '長崎県南西部', |
524
|
|
|
|
|
|
|
732 => '長崎県島原半島', |
525
|
|
|
|
|
|
|
740 => '熊本県阿蘇地方', |
526
|
|
|
|
|
|
|
741 => '熊本県熊本地方', |
527
|
|
|
|
|
|
|
742 => '熊本県球磨地方', |
528
|
|
|
|
|
|
|
743 => '熊本県天草・芦北地方', |
529
|
|
|
|
|
|
|
750 => '大分県北部', |
530
|
|
|
|
|
|
|
751 => '大分県中部', |
531
|
|
|
|
|
|
|
752 => '大分県南部', |
532
|
|
|
|
|
|
|
753 => '大分県西部', |
533
|
|
|
|
|
|
|
760 => '宮崎県北部平野部', |
534
|
|
|
|
|
|
|
761 => '宮崎県北部山沿い', |
535
|
|
|
|
|
|
|
762 => '宮崎県南部平野部', |
536
|
|
|
|
|
|
|
763 => '宮崎県南部山沿い', |
537
|
|
|
|
|
|
|
770 => '鹿児島県薩摩地方', |
538
|
|
|
|
|
|
|
771 => '鹿児島県大隅地方', |
539
|
|
|
|
|
|
|
783 => '五島列島近海', |
540
|
|
|
|
|
|
|
784 => '天草灘', |
541
|
|
|
|
|
|
|
785 => '有明海', |
542
|
|
|
|
|
|
|
786 => '橘湾', |
543
|
|
|
|
|
|
|
787 => '鹿児島湾', |
544
|
|
|
|
|
|
|
790 => '種子島近海', |
545
|
|
|
|
|
|
|
791 => '日向灘', |
546
|
|
|
|
|
|
|
793 => '奄美大島近海', |
547
|
|
|
|
|
|
|
795 => '壱岐・対馬近海', |
548
|
|
|
|
|
|
|
796 => '福岡県北西沖', |
549
|
|
|
|
|
|
|
797 => '薩摩半島西方沖', |
550
|
|
|
|
|
|
|
798 => 'トカラ列島近海', |
551
|
|
|
|
|
|
|
799 => '奄美大島北西沖', |
552
|
|
|
|
|
|
|
820 => '大隅半島東方沖', |
553
|
|
|
|
|
|
|
821 => '九州地方南東沖', |
554
|
|
|
|
|
|
|
822 => '種子島南東沖', |
555
|
|
|
|
|
|
|
823 => '奄美大島北東沖', |
556
|
|
|
|
|
|
|
850 => '沖縄本島近海', |
557
|
|
|
|
|
|
|
851 => '南大東島近海', |
558
|
|
|
|
|
|
|
852 => '沖縄本島南方沖', |
559
|
|
|
|
|
|
|
853 => '宮古島近海', |
560
|
|
|
|
|
|
|
854 => '石垣島近海', |
561
|
|
|
|
|
|
|
855 => '石垣島南方沖', |
562
|
|
|
|
|
|
|
856 => '西表島付近', |
563
|
|
|
|
|
|
|
857 => '与那国島近海', |
564
|
|
|
|
|
|
|
858 => '沖縄本島北西沖', |
565
|
|
|
|
|
|
|
859 => '宮古島北西沖', |
566
|
|
|
|
|
|
|
860 => '石垣島北西沖', |
567
|
|
|
|
|
|
|
900 => '台湾付近', |
568
|
|
|
|
|
|
|
901 => '東シナ海', |
569
|
|
|
|
|
|
|
902 => '四国沖', |
570
|
|
|
|
|
|
|
903 => '鳥島近海', |
571
|
|
|
|
|
|
|
904 => '鳥島東方沖', |
572
|
|
|
|
|
|
|
905 => 'オホーツク海南部', |
573
|
|
|
|
|
|
|
906 => 'サハリン西方沖', |
574
|
|
|
|
|
|
|
907 => '日本海北部', |
575
|
|
|
|
|
|
|
908 => '日本海中部', |
576
|
|
|
|
|
|
|
909 => '日本海西部', |
577
|
|
|
|
|
|
|
911 => '父島近海', |
578
|
|
|
|
|
|
|
912 => '千島列島', |
579
|
|
|
|
|
|
|
913 => '千島列島南東沖', |
580
|
|
|
|
|
|
|
914 => '北海道南東沖', |
581
|
|
|
|
|
|
|
915 => '東北地方東方沖', |
582
|
|
|
|
|
|
|
916 => '小笠原諸島西方沖', |
583
|
|
|
|
|
|
|
917 => '硫黄島近海', |
584
|
|
|
|
|
|
|
918 => '小笠原諸島東方沖', |
585
|
|
|
|
|
|
|
919 => '南海道南方沖', |
586
|
|
|
|
|
|
|
920 => '薩南諸島東方沖', |
587
|
|
|
|
|
|
|
921 => '本州南方沖', |
588
|
|
|
|
|
|
|
922 => 'サハリン南部付近', |
589
|
|
|
|
|
|
|
930 => '北西太平洋', |
590
|
|
|
|
|
|
|
932 => 'マリアナ諸島', |
591
|
|
|
|
|
|
|
933 => '黄海', |
592
|
|
|
|
|
|
|
934 => '朝鮮半島南部', |
593
|
|
|
|
|
|
|
935 => '朝鮮半島北部', |
594
|
|
|
|
|
|
|
936 => '中国東北部', |
595
|
|
|
|
|
|
|
937 => 'ウラジオストク付近', |
596
|
|
|
|
|
|
|
938 => 'シベリア南部', |
597
|
|
|
|
|
|
|
939 => 'サハリン近海', |
598
|
|
|
|
|
|
|
940 => 'アリューシャン列島', |
599
|
|
|
|
|
|
|
941 => 'カムチャツカ半島付近', |
600
|
|
|
|
|
|
|
942 => '北米西部', |
601
|
|
|
|
|
|
|
943 => '北米中部', |
602
|
|
|
|
|
|
|
944 => '北米東部', |
603
|
|
|
|
|
|
|
945 => '中米', |
604
|
|
|
|
|
|
|
946 => '南米西部', |
605
|
|
|
|
|
|
|
947 => '南米中部', |
606
|
|
|
|
|
|
|
948 => '南米東部', |
607
|
|
|
|
|
|
|
949 => '北東太平洋', |
608
|
|
|
|
|
|
|
950 => '南太平洋', |
609
|
|
|
|
|
|
|
951 => 'インドシナ半島付近', |
610
|
|
|
|
|
|
|
952 => 'フィリピン付近', |
611
|
|
|
|
|
|
|
953 => 'インドネシア付近', |
612
|
|
|
|
|
|
|
954 => 'グアム付近', |
613
|
|
|
|
|
|
|
955 => 'ニューギニア付近', |
614
|
|
|
|
|
|
|
956 => 'ニュージーランド付近', |
615
|
|
|
|
|
|
|
957 => 'オーストラリア付近', |
616
|
|
|
|
|
|
|
958 => 'シベリア付近', |
617
|
|
|
|
|
|
|
959 => 'ロシア西部', |
618
|
|
|
|
|
|
|
960 => 'ロシア中部', |
619
|
|
|
|
|
|
|
961 => 'ロシア東部', |
620
|
|
|
|
|
|
|
962 => '中央アジア', |
621
|
|
|
|
|
|
|
963 => '中国西部', |
622
|
|
|
|
|
|
|
964 => '中国中部', |
623
|
|
|
|
|
|
|
965 => '中国東部', |
624
|
|
|
|
|
|
|
966 => 'インド付近', |
625
|
|
|
|
|
|
|
967 => 'インド洋', |
626
|
|
|
|
|
|
|
968 => '中東', |
627
|
|
|
|
|
|
|
969 => 'ヨーロッパ西部', |
628
|
|
|
|
|
|
|
970 => 'ヨーロッパ中部', |
629
|
|
|
|
|
|
|
971 => 'ヨーロッパ東部', |
630
|
|
|
|
|
|
|
972 => '地中海', |
631
|
|
|
|
|
|
|
973 => 'アフリカ西部', |
632
|
|
|
|
|
|
|
974 => 'アフリカ中部', |
633
|
|
|
|
|
|
|
975 => 'アフリカ東部', |
634
|
|
|
|
|
|
|
976 => '北大西洋', |
635
|
|
|
|
|
|
|
977 => '南大西洋', |
636
|
|
|
|
|
|
|
978 => '北極付近', |
637
|
|
|
|
|
|
|
979 => '南極付近' |
638
|
|
|
|
|
|
|
); |
639
|
|
|
|
|
|
|
|
640
|
|
|
|
|
|
|
sub new { |
641
|
1
|
|
|
1
|
0
|
11
|
my $class = shift; |
642
|
1
|
|
|
|
|
3
|
my %conf = @_; |
643
|
1
|
|
|
|
|
3
|
$conf{basedir} = '/tmp'; |
644
|
1
|
|
|
|
|
12
|
return bless {%conf}, $class; |
645
|
|
|
|
|
|
|
} |
646
|
|
|
|
|
|
|
|
647
|
|
|
|
|
|
|
sub read_data { |
648
|
1
|
|
|
1
|
0
|
2
|
my ( $self, $str ) = @_; |
649
|
1
|
|
|
|
|
2
|
my $data; |
650
|
1
|
|
|
|
|
1
|
my $now_code = ''; |
651
|
1
|
|
|
|
|
16
|
foreach my $line ( split /[\r\n]/, $str ) { |
652
|
20
|
100
|
100
|
|
|
179
|
if ( $line =~ /(\d{2}) (\d{2}) (\d{2}) (\d{12}) C(\d{2})/ ) { |
|
|
100
|
|
|
|
|
|
|
|
100
|
|
|
|
|
|
|
|
100
|
|
|
|
|
|
|
|
100
|
|
|
|
|
|
|
|
100
|
|
|
|
|
|
|
|
100
|
|
|
|
|
|
|
|
100
|
|
|
|
|
|
653
|
1
|
|
|
|
|
8
|
$data->{'code_type'} = $code_type{$1}; |
654
|
1
|
|
|
|
|
3
|
$data->{'code'} = $1; |
655
|
1
|
|
|
|
|
4
|
$data->{'section'} = $section{$2}; |
656
|
1
|
|
|
|
|
2
|
$data->{'section_code'} = $2; |
657
|
1
|
|
|
|
|
3
|
$data->{'msg_type'} = $msg_type{$3}; |
658
|
1
|
|
|
|
|
3
|
$data->{'msg_type_code'} = $3; |
659
|
1
|
|
|
|
|
2
|
$data->{'warn_time'} = $4; |
660
|
1
|
|
|
|
|
4
|
$data->{'command_code'} = $5; |
661
|
1
|
|
|
|
|
2
|
$now_code=''; |
662
|
|
|
|
|
|
|
} |
663
|
|
|
|
|
|
|
elsif ( $line =~ /^(\d{12})/ ) { |
664
|
1
|
|
|
|
|
3
|
$data->{'eq_time'} = $1; |
665
|
1
|
|
|
|
|
2
|
$now_code=''; |
666
|
|
|
|
|
|
|
} |
667
|
|
|
|
|
|
|
elsif ( $line =~ /ND(\d{14}) ([A-Z]+)(\d+)/ ) { |
668
|
2
|
|
|
|
|
5
|
$data->{'eq_id'} = $1; |
669
|
2
|
|
|
|
|
7
|
$data->{'warn_type'} = $warn_type{$2}; |
670
|
2
|
|
|
|
|
5
|
$data->{'warn_code'} = $2; |
671
|
2
|
|
|
|
|
5
|
$data->{'warn_num'} = $3 * 1; |
672
|
2
|
|
|
|
|
3
|
$now_code=''; |
673
|
|
|
|
|
|
|
} |
674
|
|
|
|
|
|
|
elsif ( $line |
675
|
|
|
|
|
|
|
=~ /(\d{3}) N(\d{3}) E(\d{4}) (\d{3}) (\d{2}) ([0-9\-\+]{2}) RK.+/ |
676
|
|
|
|
|
|
|
) |
677
|
|
|
|
|
|
|
{ |
678
|
1
|
|
|
|
|
3
|
$data->{'center_code'} = $1; |
679
|
1
|
|
|
|
|
3
|
$data->{'center_name'} = $shinou_code{$1}; |
680
|
1
|
|
|
|
|
3
|
$data->{'center_lat'} = $2 / 10; |
681
|
1
|
|
|
|
|
14
|
$data->{'center_lng'} = $3 / 10; |
682
|
1
|
|
|
|
|
2
|
$data->{'center_depth'} = $4 * 1; |
683
|
1
|
|
|
|
|
3
|
$data->{'magnitude'} = $5 / 10; |
684
|
1
|
|
|
|
|
4
|
$data->{'shindo'} = $shindo{$6}; |
685
|
1
|
|
|
|
|
2
|
$data->{'shindo_code'} = $6; |
686
|
1
|
|
|
|
|
18
|
$now_code=''; |
687
|
|
|
|
|
|
|
} |
688
|
|
|
|
|
|
|
elsif ( $line =~ /(\d{4}) N(\d{3}) E(\d{4}) (\d{3})/ ) { |
689
|
1
|
|
|
|
|
3
|
$data->{'center_code'} = $1; |
690
|
1
|
|
|
|
|
3
|
$data->{'center_name'} = $ippan_shinou_code{$1}; |
691
|
1
|
|
|
|
|
5
|
$data->{'center_lat'} = $2 / 10; |
692
|
1
|
|
|
|
|
9
|
$data->{'center_lng'} = $3 / 10; |
693
|
1
|
|
|
|
|
3
|
$data->{'center_depth'} = $4 * 1; |
694
|
1
|
|
|
|
|
2
|
$now_code=''; |
695
|
|
|
|
|
|
|
} |
696
|
|
|
|
|
|
|
elsif ( $line =~ /([CP][APB]I) ([0-9\s]+)/ ) { |
697
|
6
|
|
|
|
|
10
|
$now_code=$1; |
698
|
6
|
|
|
|
|
22
|
foreach my $code ( split / /, $2 ) { |
699
|
31
|
|
|
|
|
179
|
$data->{$now_code}->{$code}->{'name'} = $ippan_shinou_code{$code}; |
700
|
|
|
|
|
|
|
} |
701
|
|
|
|
|
|
|
} |
702
|
|
|
|
|
|
|
elsif ( $line |
703
|
|
|
|
|
|
|
=~ /(\d{3}) S([0-9\-\+]{2})([0-9\-\+]{2}) (\d{6}) (\d{2}) (\d{3}) S([0-9\-\+]{2})([0-9\-\+]{2}) (\d{6}) (\d{2})/ |
704
|
|
|
|
|
|
|
) |
705
|
|
|
|
|
|
|
{ |
706
|
2
|
|
|
|
|
4
|
$now_code='EBI'; |
707
|
|
|
|
|
|
|
|
708
|
2
|
|
|
|
|
13
|
$data->{'EBI'}->{$1}->{'name'} = $shinou_code{$1}; |
709
|
2
|
|
|
|
|
5
|
$data->{'EBI'}->{$1}->{'shindo1'} = $shindo{$2}; |
710
|
2
|
|
|
|
|
5
|
$data->{'EBI'}->{$1}->{'shindo1_code'} = $2; |
711
|
2
|
|
|
|
|
5
|
$data->{'EBI'}->{$1}->{'shindo2'} = $shindo{$3}; |
712
|
2
|
|
|
|
|
5
|
$data->{'EBI'}->{$1}->{'shindo2_code'} = $3; |
713
|
2
|
|
|
|
|
6
|
$data->{'EBI'}->{$1}->{'time'} = $4; |
714
|
2
|
|
|
|
|
5
|
$data->{'EBI'}->{$1}->{'arrive'} = $ebiyy{$5}; |
715
|
2
|
|
|
|
|
6
|
$data->{'EBI'}->{$1}->{'arrive_code'} = $5; |
716
|
|
|
|
|
|
|
|
717
|
2
|
|
|
|
|
6
|
$data->{'EBI'}->{$6}->{'name'} = $shinou_code{$6}; |
718
|
2
|
|
|
|
|
5
|
$data->{'EBI'}->{$6}->{'shindo1'} = $shindo{$7}; |
719
|
2
|
|
|
|
|
5
|
$data->{'EBI'}->{$6}->{'shindo1_code'} = $7; |
720
|
2
|
|
|
|
|
4
|
$data->{'EBI'}->{$6}->{'shindo2'} = $shindo{$8}; |
721
|
2
|
|
|
|
|
5
|
$data->{'EBI'}->{$6}->{'shindo2_code'} = $8; |
722
|
2
|
|
|
|
|
4
|
$data->{'EBI'}->{$6}->{'time'} = $9; |
723
|
2
|
|
|
|
|
5
|
$data->{'EBI'}->{$6}->{'arrive'} = $ebiyy{$10}; |
724
|
2
|
|
|
|
|
6
|
$data->{'EBI'}->{$6}->{'arrive_code'} = $10; |
725
|
|
|
|
|
|
|
} |
726
|
|
|
|
|
|
|
elsif ($now_code && $line=~/([0-9\s]+)/){ |
727
|
4
|
|
|
|
|
12
|
foreach my $code ( split / /, $1 ) { |
728
|
22
|
100
|
|
|
|
48
|
if($now_code=~/[PC]BI/){ |
729
|
17
|
|
|
|
|
54
|
$data->{$now_code}->{$code}->{'name'} = $shinou_code{$code}; |
730
|
|
|
|
|
|
|
}else{ |
731
|
5
|
|
|
|
|
19
|
$data->{$now_code}->{$code}->{'name'} = $ippan_shinou_code{$code}; |
732
|
|
|
|
|
|
|
} |
733
|
|
|
|
|
|
|
} |
734
|
|
|
|
|
|
|
} |
735
|
|
|
|
|
|
|
} |
736
|
1
|
|
|
|
|
13
|
return $data; |
737
|
|
|
|
|
|
|
} |
738
|
|
|
|
|
|
|
|
739
|
|
|
|
|
|
|
__END__ |