@sayue_ltr/fleq 1.50.1 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (99) hide show
  1. package/CHANGELOG.md +174 -0
  2. package/README.md +42 -6
  3. package/dist/config.js +37 -4
  4. package/dist/dmdata/rest-client.js +58 -3
  5. package/dist/dmdata/telegram-parser.js +115 -64
  6. package/dist/dmdata/ws-client.js +49 -18
  7. package/dist/engine/cli/cli-run.js +88 -3
  8. package/dist/engine/cli/cli.js +12 -0
  9. package/dist/engine/eew/eew-tracker.js +41 -15
  10. package/dist/engine/filter/compile-filter.js +21 -0
  11. package/dist/engine/filter/compiler.js +188 -0
  12. package/dist/engine/filter/errors.js +41 -0
  13. package/dist/engine/filter/field-registry.js +78 -0
  14. package/dist/engine/filter/index.js +15 -0
  15. package/dist/engine/filter/parser.js +137 -0
  16. package/dist/engine/filter/rank-maps.js +34 -0
  17. package/dist/engine/filter/tokenizer.js +121 -0
  18. package/dist/engine/filter/type-checker.js +104 -0
  19. package/dist/engine/filter/types.js +2 -0
  20. package/dist/engine/filter-template/pipeline-controller.js +73 -0
  21. package/dist/engine/filter-template/pipeline.js +16 -0
  22. package/dist/engine/messages/display-callbacks.js +7 -0
  23. package/dist/engine/messages/message-router.js +114 -182
  24. package/dist/engine/messages/summary-tracker.js +106 -0
  25. package/dist/engine/messages/telegram-stats.js +103 -0
  26. package/dist/engine/messages/volcano-route-handler.js +122 -0
  27. package/dist/engine/monitor/monitor.js +52 -4
  28. package/dist/engine/monitor/shutdown.js +1 -0
  29. package/dist/engine/notification/notifier.js +21 -4
  30. package/dist/engine/notification/sound-player.js +398 -36
  31. package/dist/engine/presentation/diff-store.js +158 -0
  32. package/dist/engine/presentation/diff-types.js +2 -0
  33. package/dist/engine/presentation/events/from-earthquake.js +53 -0
  34. package/dist/engine/presentation/events/from-eew.js +72 -0
  35. package/dist/engine/presentation/events/from-lg-observation.js +58 -0
  36. package/dist/engine/presentation/events/from-nankai-trough.js +39 -0
  37. package/dist/engine/presentation/events/from-raw.js +35 -0
  38. package/dist/engine/presentation/events/from-seismic-text.js +37 -0
  39. package/dist/engine/presentation/events/from-tsunami.js +51 -0
  40. package/dist/engine/presentation/events/from-volcano.js +88 -0
  41. package/dist/engine/presentation/events/to-presentation-event.js +32 -0
  42. package/dist/engine/presentation/level-helpers.js +118 -0
  43. package/dist/engine/presentation/processors/process-earthquake.js +36 -0
  44. package/dist/engine/presentation/processors/process-eew.js +105 -0
  45. package/dist/engine/presentation/processors/process-lg-observation.js +30 -0
  46. package/dist/engine/presentation/processors/process-message.js +53 -0
  47. package/dist/engine/presentation/processors/process-nankai-trough.js +30 -0
  48. package/dist/engine/presentation/processors/process-raw.js +22 -0
  49. package/dist/engine/presentation/processors/process-seismic-text.js +30 -0
  50. package/dist/engine/presentation/processors/process-tsunami.js +42 -0
  51. package/dist/engine/presentation/processors/process-volcano.js +41 -0
  52. package/dist/engine/presentation/types.js +2 -0
  53. package/dist/engine/startup/config-resolver.js +2 -0
  54. package/dist/engine/template/compile-template.js +18 -0
  55. package/dist/engine/template/compiler.js +105 -0
  56. package/dist/engine/template/field-accessor.js +31 -0
  57. package/dist/engine/template/filters.js +100 -0
  58. package/dist/engine/template/index.js +5 -0
  59. package/dist/engine/template/parser.js +185 -0
  60. package/dist/engine/template/tokenizer.js +96 -0
  61. package/dist/engine/template/types.js +2 -0
  62. package/dist/types.js +3 -2
  63. package/dist/ui/display-adapter.js +60 -0
  64. package/dist/ui/earthquake-formatter.js +22 -5
  65. package/dist/ui/eew-formatter.js +25 -10
  66. package/dist/ui/formatter.js +116 -32
  67. package/dist/ui/minimap/grid-layout.js +91 -0
  68. package/dist/ui/minimap/index.js +16 -0
  69. package/dist/ui/minimap/minimap-renderer.js +277 -0
  70. package/dist/ui/minimap/pref-mapping.js +82 -0
  71. package/dist/ui/minimap/types.js +2 -0
  72. package/dist/ui/night-overlay.js +56 -0
  73. package/dist/ui/repl-handlers/command-definitions.js +327 -0
  74. package/dist/ui/repl-handlers/index.js +11 -0
  75. package/dist/ui/repl-handlers/info-handlers.js +633 -0
  76. package/dist/ui/repl-handlers/operation-handlers.js +233 -0
  77. package/dist/ui/repl-handlers/settings-handlers.js +927 -0
  78. package/dist/ui/repl-handlers/types.js +10 -0
  79. package/dist/ui/repl.js +81 -1752
  80. package/dist/ui/statistics-formatter.js +258 -0
  81. package/dist/ui/status-line.js +80 -0
  82. package/dist/ui/summary/index.js +5 -0
  83. package/dist/ui/summary/summary-line.js +18 -0
  84. package/dist/ui/summary/summary-model.js +31 -0
  85. package/dist/ui/summary/token-builders.js +317 -0
  86. package/dist/ui/summary/types.js +2 -0
  87. package/dist/ui/summary/width-fit.js +41 -0
  88. package/dist/ui/summary-interval-formatter.js +72 -0
  89. package/dist/ui/test-samples.js +6 -0
  90. package/dist/ui/theme.js +43 -5
  91. package/dist/ui/tip-shuffler.js +81 -0
  92. package/dist/ui/volcano-formatter.js +15 -13
  93. package/dist/ui/waiting-tips-eew.js +63 -0
  94. package/dist/ui/waiting-tips-info-systems.js +81 -0
  95. package/dist/ui/waiting-tips-seismology.js +97 -0
  96. package/dist/ui/waiting-tips-tsunami.js +72 -0
  97. package/dist/ui/waiting-tips-weather.js +189 -0
  98. package/dist/ui/waiting-tips.js +420 -249
  99. package/package.json +1 -1
@@ -86,13 +86,6 @@ function levelCodeToDisplay(code) {
86
86
  };
87
87
  return map[code] ?? code;
88
88
  }
89
- /** wrapFrameLines の結果を RenderBuffer に push */
90
- function pushWrapped(buf, level, content, width) {
91
- const lines = (0, formatter_1.wrapFrameLines)(level, content, width);
92
- for (const line of lines) {
93
- buf.push(line);
94
- }
95
- }
96
89
  // ── 火山本文ハイライト ──
97
90
  /** 火山本文キーワード強調ルール */
98
91
  const VOLCANO_HIGHLIGHT_RULES = [
@@ -211,20 +204,29 @@ function renderAlert(info, level, width, buf) {
211
204
  cardParts.push(`(${actionLabel(info.action)})`);
212
205
  buf.pushCard((0, formatter_1.frameLine)(level, ` ${cardParts.join(" ")}`, width));
213
206
  }
214
- // 対象市町村
207
+ // 対象市町村 (全件表示)
215
208
  if (info.municipalities.length > 0) {
216
209
  buf.push((0, formatter_1.frameDivider)(level, width));
217
210
  const muniNames = info.municipalities.map((m) => m.name);
218
- const maxMuni = (0, formatter_1.getTruncation)().volcanoMunicipalities;
219
- const muniLine = muniNames.slice(0, maxMuni).join(", ");
220
- const suffix = muniNames.length > maxMuni ? ` 他${muniNames.length - maxMuni}件` : "";
221
- pushWrapped(buf, level, ` ${chalk_1.default.gray("対象:")} ${muniLine}${suffix}`, width);
211
+ (0, formatter_1.renderSimpleNameList)({
212
+ level,
213
+ width,
214
+ items: muniNames,
215
+ label: "対象:",
216
+ buf,
217
+ });
222
218
  }
223
219
  // 対象海上予報区
224
220
  if (info.marineAreas.length > 0) {
225
221
  buf.push((0, formatter_1.frameDivider)(level, width));
226
222
  const areaNames = info.marineAreas.map((a) => a.name);
227
- pushWrapped(buf, level, ` ${chalk_1.default.gray("対象海域:")} ${areaNames.join(", ")}`, width);
223
+ (0, formatter_1.renderSimpleNameList)({
224
+ level,
225
+ width,
226
+ items: areaNames,
227
+ label: "対象海域:",
228
+ buf,
229
+ });
228
230
  }
229
231
  // 本文 (VolcanoActivity) / 防災事項 (VolcanoPrevention)
230
232
  if (info.bodyText) {
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EEW_TIP_CATEGORIES = void 0;
4
+ // ── 緊急地震速報の技術 ──────────────────────────────────────
5
+ // ── 世界の地震早期警報 ──────────────────────────────────────
6
+ exports.EEW_TIP_CATEGORIES = [
7
+ // ── 緊急地震速報の技術 ──
8
+ {
9
+ id: "eew-technology",
10
+ tips: [
11
+ // --- 基本原理 ---
12
+ "Tip: 緊急地震速報のシステムは、気象庁と防災科研の合計約1,700か所の地震計のデータをサーバで集約し、地震検知から数秒で震源・マグニチュード・予測震度を自動計算します。",
13
+ "Tip: EEWの処理は地震波の検知から最短約2秒で第1報を出すことを目指しています。P波のわずか数秒のデータから瞬時に震源を推定する超高速処理です。",
14
+ "Tip: EEWのマグニチュード推定はP波初期の最大振幅から行われ、続報では全相の最大振幅も使って更新されます。観測点が増えるほど推定精度が上がります。",
15
+ "Tip: 予測震度の計算には震源からの距離と地盤増幅率を考慮した距離減衰式が使われます。各地の地盤データは事前に組み込まれています。",
16
+ "Tip: EEWの猶予時間は「震源からの距離 ÷ S波速度 − 情報伝達の遅延」で決まります。震源から離れるほど猶予は長くなりますが、震源直上ではほぼゼロです。",
17
+ // --- IPF法とPLUM法 ---
18
+ "Tip: IPF法(Integrated Particle Filter)は複数の観測点のデータを統合して震源とマグニチュードを逐次更新する手法で、2016年からEEWに導入されています。",
19
+ "Tip: PLUM法(Propagation of Local Undamped Motion)は観測された実際の揺れの強さからその周辺の揺れを直接予測する手法で、震源推定のミスに強い利点があります。",
20
+ "Tip: 現在のEEWはIPF法とPLUM法のハイブリッド方式で、同一イベントについて両手法の予測震度を比較し大きい方を採用します。",
21
+ // --- 技術的課題 ---
22
+ "Tip: 同時に複数の地震が発生すると、異なる地震の波形が混ざり合いEEWの震源・マグニチュード推定が狂うことがあります。この「同時発生問題」は重要な技術課題です。",
23
+ "Tip: EEWの精度は震源からの距離と深さに影響されます。内陸浅発の直下型地震ではS波の到達が速く、速報が間に合わない構造的限界があります。",
24
+ "Tip: 地震の破壊伝播は断層面上を秒速約2〜3kmで広がります。M9級の巨大地震では断層の破壊に3分以上かかり、その間もEEWは更新を続けます。",
25
+ "Tip: 深発地震ではEEWの震源深さの仮定が外れて震度推定が大きくずれたり、異常震域で予想外の地域が揺れたりする課題があります。",
26
+ "Tip: EEWの取消報は主に雷・振動ノイズなどの誤検知時に発表されますが、観測点が疎な地域では実際の地震でも取消となる場合があります。",
27
+ // --- 精度と活用 ---
28
+ "Tip: EEWの予測震度には±1階級程度の誤差があり得ます。続報が出るたびに精度は上がりますが、初報は速さ重視のため振れ幅が大きくなります。",
29
+ "Tip: EEWは「予測」が外れても出すことに意味があります。たとえ精度が完璧でなくても、数秒の警告で身を守る行動を取れる可能性が生まれます。",
30
+ "Tip: EEW予報の第1報は速さ重視で不確実性が高いですが、第2報・第3報と続報が出るたびに観測データが増えて精度が向上していきます。",
31
+ "Tip: 「高度利用者向け」のEEW予報は気象業務支援センターを通じてリアルタイムに配信され、鉄道の自動制動やエレベーターの自動停止に活用されています。",
32
+ "Tip: 気象庁のEEWシステムには長周期地震動の予測機能が2023年2月から組み込まれ、高層ビル向けの早期警報に活用されています。",
33
+ "Tip: EEWの「予報」は1点の観測でも発表されますが、「警報」は2点以上で地震波が確認された場合に限られます。これは雷などの誤検知を防ぐためです。",
34
+ "Tip: EEWの警報は最大震度5弱以上または最大長周期地震動階級3以上が予想される場合に発表されます。発表対象地域は震度4以上または長周期3以上の地域を含みます。",
35
+ // --- 海底観測の効果 ---
36
+ "Tip: 海底観測網(S-net・DONET・N-net)のデータがEEWに統合されたことで、海溝型地震のP波をより早く捉えられるようになり、検知や警報発表が数秒〜十数秒以上早まる場合があります。",
37
+ // --- 歴史 ---
38
+ "Tip: 新幹線の地震検知システムUrEDASは1992年に実用化され、EEWの技術的先駆けと言えるシステムです。後に簡略化版のコンパクトUrEDASも開発されました。",
39
+ "Tip: 一般向けEEWの提供は2007年10月から始まりました。それ以前は高度利用者向けの限定的な配信のみでした。",
40
+ "Tip: 2007年の新潟県中越沖地震(M6.8)は一般向けEEW開始前の試験運用中に発生し、速報の有効性を実証するとともに改善点も浮き彫りにしました。",
41
+ ],
42
+ },
43
+ // ── 世界の地震早期警報 ──
44
+ {
45
+ id: "eew-global",
46
+ tips: [
47
+ "Tip: メキシコのSASMEXは1991年に運用を開始した世界初の公共向け地震早期警報システムで、太平洋沿岸の地震からメキシコシティまでの距離を猶予時間に活かしています。",
48
+ "Tip: アメリカのShakeAlertは2019年にカリフォルニアで一般向け配信が始まり、2021年にオレゴン・ワシントン州にも拡大した地震早期警報システムです。",
49
+ "Tip: 台湾の交通部中央気象署はEEWシステムを運用しており、内陸の中規模地震では約10秒で解が得られ、PWS等を通じて携帯端末に配信されます。",
50
+ "Tip: 韓国気象庁は2015年からEEWの運用を開始し、2016年の慶州地震(M5.8)での課題を受けてシステムの高速化が進められました。",
51
+ "Tip: 中国地震局のEEWシステムは世界最大の人口をカバーする規模で整備が進んでおり、四川省成都の成都高新減災研究所(ICL)による民間EEWも有名です。",
52
+ "Tip: トルコでは2023年の大地震災害を機にEEWの研究・地域実装が加速しており、AFADを中心にイズミルなどで早期警報プロジェクトが進んでいます。",
53
+ "Tip: イタリアのINGVは地中海地域のEEW研究の中心で、PRESTo/ElarmSなど複数の手法を組み合わせたシステムの開発を行っています。",
54
+ "Tip: ルーマニアは中深発地震帯(ヴランチャ地震帯)からの距離を利用して首都ブカレストに数十秒の猶予時間を確保するEEWを運用しています。",
55
+ "Tip: 世界のEEWシステムは、日本の気象庁方式のような「地震パラメータ推定型」と、観測された揺れを直接伝える「ウェーブフロント型」に大別されます。",
56
+ "Tip: EEWの国際的な研究コミュニティでは、機械学習(深層学習)によるP波の自動検出やマグニチュード推定の高速化が活発に研究されています。",
57
+ "Tip: スマートフォンの加速度センサーをクラウドソーシングで利用するMyShake(カリフォルニア大学バークレー校)は、低コストで地震を検知する新しいアプローチです。",
58
+ "Tip: Googleは2020年からAndroid端末の加速度センサーで地震を検知し、世界各国にEEW的な警報を配信するAndroid Earthquake Alerts Systemを展開しています。",
59
+ "Tip: チリはM8超の巨大地震が頻発する地震大国で、CSN(国立地震センター)がEEWの研究・導入を進めています。",
60
+ "Tip: カナダのNRCanはブリティッシュコロンビア州で2024年にEEWの運用を開始し、ケベック・東オンタリオにも2025年に拡大しました。",
61
+ ],
62
+ },
63
+ ];
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.INFO_SYSTEMS_TIP_CATEGORIES = void 0;
4
+ // ── 防災情報基盤 ────────────────────────────────────────────
5
+ // ── 電文の仕組みと分類 ──────────────────────────────────────
6
+ exports.INFO_SYSTEMS_TIP_CATEGORIES = [
7
+ // ── 防災情報基盤 ──
8
+ {
9
+ id: "info-systems",
10
+ tips: [
11
+ // --- J-ALERT ---
12
+ "Tip: J-ALERT(全国瞬時警報システム)は、弾道ミサイル情報や緊急地震速報・津波警報などを市町村の防災行政無線で自動起動する国の警報伝達システムです。",
13
+ "Tip: J-ALERTは人工衛星と地上回線の2系統で情報を伝達します。衛星系は大規模災害時に地上回線が途絶しても機能する冗長設計です。",
14
+ "Tip: J-ALERTから防災行政無線の自動起動までは数秒で完了するように設計されており、夜間でも住民にサイレンや音声で危険を知らせます。",
15
+ // --- L-ALERT ---
16
+ "Tip: L-ALERT(災害情報共有システム、旧・公共情報コモンズ)は、自治体が発信する避難情報や災害情報をテレビ・ラジオ・ウェブに一括配信する仕組みです。",
17
+ "Tip: L-ALERTにより、テレビのデータ放送や防災アプリは自治体の避難情報を自動取得できるため、住民は複数の経路で同じ情報を受け取れます。",
18
+ // --- 携帯・放送 ---
19
+ "Tip: ETWS(Earthquake and Tsunami Warning System)は携帯電話のセルブロードキャスト機能を使ってEEWや津波警報を一斉配信する仕組みです。",
20
+ "Tip: ETWSはSMSと異なり基地局エリア内の全端末に同時送信するため通信混雑の影響を受けにくいですが、通話中・圏外・設定状況によっては受信できない場合もあります。",
21
+ "Tip: 緊急警報放送(EWS)はテレビ・ラジオの待機中の受信機を自動起動する仕組みで、津波警報や大津波警報の発表時に使用されます。",
22
+ "Tip: NHKは緊急地震速報(警報)を受信すると、チャイム音とテロップで全国に放送します。待機中の受信機を自動起動するのは別の仕組み(緊急警報放送)です。",
23
+ "Tip: 同報系防災行政無線は市町村が設置する屋外スピーカー網で、サイレンや音声でEEWや津波警報を住民に直接伝えます。",
24
+ "Tip: コミュニティFM局は地域密着型の災害情報伝達手段として重要で、臨時災害放送局として緊急開設される場合もあります。",
25
+ // --- 配信の仕組み ---
26
+ "Tip: 気象庁の情報は気象庁HPでのPULL型公開のほか、気象業務支援センターを通じて報道機関・防災機関・民間事業者にリアルタイム配信されます。",
27
+ "Tip: dmdata.jpは気象業務支援センターのデータをWebSocket/REST APIで再配信するサービスで、FlEqもこのAPIを通じて電文を受信しています。",
28
+ "Tip: 気象庁の防災情報XMLは2011年から本格運用が始まりました。それ以前は独自のバイナリフォーマットやテキスト電文が主流でした。",
29
+ "Tip: 共通報(CAP: Common Alerting Protocol)は国際的な災害警報の標準フォーマットで、異なるシステム間で警報情報を共有するために策定されました。",
30
+ "Tip: dmdata.jpのWebSocket配信では、電文本文はgzip圧縮+base64エンコードで送られます。FlEqはこれを自動デコードしてからXMLをパースしています。",
31
+ "Tip: 気象庁のデータは「電文」と呼ばれる単位で配信されます。1つの電文は1つの情報種別に対応し、ヘッダ(種別・時刻など)と本文(XML)で構成されます。",
32
+ // --- 防災サービス ---
33
+ "Tip: 防災科研のJ-RISQ地震速報は地震発生直後に推定震度分布と被害推定を自動計算してウェブで公開する実験的なサービスです。",
34
+ "Tip: 気象庁のキキクル(危険度分布)は土砂災害・浸水害・洪水の危険度を1km格子で10分ごとに更新する地図型の情報です。",
35
+ "Tip: 防災アプリ(特務機関NERV防災、Yahoo!防災速報など)は気象庁やJ-ALERTの情報をプッシュ通知で素早く届ける手段として普及しています。",
36
+ "Tip: 地震情報の公式な発表元は気象庁ですが、体感報告や速報を補完するものとしてSNSやクラウドソーシング型のサービスも増えています。",
37
+ ],
38
+ },
39
+ // ── 電文の仕組みと分類 ──
40
+ {
41
+ id: "telegram-knowledge",
42
+ tips: [
43
+ // --- XML電文の構造 ---
44
+ "Tip: 気象庁の防災情報XML電文はControl(管理部)・Head(ヘッダ部)・Body(本文部)の3部構成です。Controlには発信元や訓練/試験の区分などの管理情報が入ります。",
45
+ "Tip: dmdata.jpの配信ヘッダにある「head.type」は電文種別コード(VXSE53など)を示すフィールドで、JMA XMLの内部要素ではなくdmdata側のメタデータです。",
46
+ "Tip: 電文のXML名前空間はjmaxml(共通部)とjmx_eb/jmx_seis等(個別部)に分かれており、電文種別に応じた専用の要素が定義されています。",
47
+ // --- 地震関連電文(VXSE系) ---
48
+ "Tip: VXSE51(震度速報)は地震発生後1〜2分で発表される最速の地震情報で、震度3以上を観測した地域名のみを速報します。震源の情報はまだ含まれません。",
49
+ "Tip: VXSE52(震源に関する情報)は津波の有無を速やかに伝えることを主目的とした電文で、震源の位置・深さ・マグニチュードと津波の有無が記載されます。",
50
+ "Tip: VXSE53(震源・震度に関する情報)は地域・市町村・観測点の震度を含む代表的な詳細情報電文です。各地の震度を確認する際の基本となります。",
51
+ "Tip: VXSE45は緊急地震速報(地震動予報)のXML電文コードで、従来のVXSE43/44を統合した新しいEEW電文です。",
52
+ "Tip: VXSE60(地震回数に関する情報)は、顕著な地震活動が続く場合に発表される震度別の地震回数をまとめた電文です。",
53
+ "Tip: VXSE61(顕著な地震の震源要素更新のお知らせ)は、大きな地震の震源諸元が精査により更新された際に発表される電文です。",
54
+ "Tip: VXSE56(地震の活動状況等に関する情報)は、顕著な地震活動の状況を専門家が文章で解説するテキスト型の電文です。",
55
+ "Tip: VXSE62(長周期地震動に関する観測情報)は長周期地震動階級1以上を観測した場合に発表される専用電文で、高層ビルの揺れの程度を示します。",
56
+ "Tip: VZSE40(地震・津波に関するお知らせ)は地震・津波関連の訓練通知や配信試験に使われる補助的な電文です。",
57
+ // --- 津波関連電文(VTSE系) ---
58
+ "Tip: VTSE41(津波警報・注意報・予報)は津波警報等の発表・更新・解除を伝える電文で、予報区ごとの予想波高と到達予想時刻が含まれます。",
59
+ "Tip: VTSE51(津波情報)は各地の満潮時刻・津波到達予想時刻および検潮所で観測された津波の実測値を伝える電文です。",
60
+ "Tip: VTSE52(沖合の津波観測に関する情報)はGNSS波浪計や海底水圧計で観測された沖合の津波データを伝える電文で、沿岸到達前の情報として重要です。",
61
+ // --- 南海トラフ・後発地震関連電文(VYSE系) ---
62
+ "Tip: VYSE50(南海トラフ地震臨時情報)は南海トラフ沿いで異常な現象が観測された場合に「調査中」→「巨大地震警戒」「巨大地震注意」等として発表されます。",
63
+ "Tip: VYSE51(南海トラフ地震関連解説情報)は南海トラフ地震に関する定例または臨時の解説を文章で伝える電文です。",
64
+ "Tip: VYSE52(南海トラフ地震関連解説情報【定例】)は月1回の定例評価検討会の結果を伝える電文で、「特段の変化は観測されていない」等の表現で状況を報告します。",
65
+ "Tip: VYSE60(北海道・三陸沖後発地震注意情報)は、北海道・三陸沖でM7以上の地震が発生した後に後発の巨大地震への注意を呼びかける電文です。",
66
+ // --- 火山関連電文(VFVO系) ---
67
+ "Tip: VFVO50(噴火警報・予報)は火山の噴火警戒レベルの変更や噴火警報の発表・解除を伝える電文で、入山規制や避難情報の根拠になります。",
68
+ "Tip: VFVO51(火山の状況に関する解説情報)は火山活動の概況・観測データ・今後の見通しを専門家が文章でまとめた電文です。",
69
+ "Tip: VFVO52(噴火に関する火山観測報)は噴火の発生事実を伝える電文で、噴火の時刻・噴煙高度・火口の位置などが記載されます。",
70
+ "Tip: VFVO53(降灰予報・定時)は火山灰がどの方向にどの程度降るかを定時に予測した電文です。複数火山分がまとめて配信されることがあります。",
71
+ "Tip: VFVO54(降灰予報・速報)は噴火発生後に速やかに降灰の影響範囲を予測する電文で、VFVO55(降灰予報・詳細)はより細かい降灰量分布を示します。",
72
+ "Tip: VFVO56(噴火速報)は2015年から運用が始まった電文で、噴火の事実をいち早く伝えることだけに特化しています。御嶽山噴火の教訓から生まれました。",
73
+ "Tip: VFVO60(推定噴煙流向報)は噴煙の流れる方向を推定した電文で、航空機の安全運航や降灰範囲の把握に活用されます。",
74
+ "Tip: VFSVii(火山現象に関する海上警報・海上予報)は火山活動が船舶に影響する場合に発表される海上向けの警報電文です。",
75
+ "Tip: VZVO40(火山に関するお知らせ)は火山関連のお知らせ・配信試験・訓練に使われる補助的な電文です。",
76
+ // --- EEW電文 ---
77
+ "Tip: EEW電文はdmdata.jpでは「eew.forecast」(予報)と「eew.warning」(警報)の2つのdomain分類で配信されます。",
78
+ "Tip: EEW電文にはEventIDが付与されており、同一地震の第1報〜最終報まで同じEventIDで追跡できます。",
79
+ ],
80
+ },
81
+ ];
@@ -0,0 +1,97 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SEISMOLOGY_TIP_CATEGORIES = void 0;
4
+ // ── 地震の科学 ──────────────────────────────────────────────
5
+ // ── 観測技術・ネットワーク ───────────────────────────────────
6
+ exports.SEISMOLOGY_TIP_CATEGORIES = [
7
+ // ── 地震の科学 ──
8
+ {
9
+ id: "seismology-science",
10
+ tips: [
11
+ // --- プレートテクトニクス ---
12
+ "Tip: 地球の表面は十数枚のプレート(岩板)に分かれており、それぞれが年間数cm程度の速さで移動しています。地震の多くはプレート境界で発生します。",
13
+ "Tip: プレート境界は、沈み込み帯(収束境界)・海嶺(発散境界)・トランスフォーム断層(すれ違い境界)の3つに大別されます。",
14
+ "Tip: 日本列島はプレートの沈み込み帯に位置するため、海溝型地震と内陸活断層地震の両方が頻発する世界でも稀な環境です。",
15
+ "Tip: フィリピン海プレートは年間約4cmの速さで北西に移動し、日本列島の下に沈み込んでいます。南海トラフ巨大地震のエネルギー源です。",
16
+ "Tip: 太平洋プレートは年間約8cmの速さで西に移動し、日本海溝から沈み込んでいます。世界のプレートの中でも特に速い部類です。",
17
+ // --- 断層の種類 ---
18
+ "Tip: 断層には正断層(引っ張りで一方がずり落ちる)、逆断層(圧縮で一方がせり上がる)、横ずれ断層(水平にずれる)の3タイプがあります。",
19
+ "Tip: 逆断層型の地震は沈み込み帯で多く見られ、海溝型巨大地震の多くがこのタイプです。断層が大きくずれるほど地震の規模も大きくなります。",
20
+ "Tip: 横ずれ断層には右横ずれと左横ずれがあり、断層の向こう側が右に動けば右横ずれです。中央構造線は日本最大級の横ずれ断層系です。",
21
+ "Tip: 活断層とは、過去数十万年以内に繰り返し活動し将来も活動する可能性がある断層のことです。日本には2,000以上が確認されています。",
22
+ "Tip: 伏在断層は地表に痕跡が見えない隠れた断層で、2016年の熊本地震では未知の断層区間の破壊が確認されました。",
23
+ // --- 地震波 ---
24
+ "Tip: 地震波にはP波(縦波・疎密波)とS波(横波・せん断波)があり、P波はS波より約1.7倍速く伝わります。この速度差がEEWの原理です。",
25
+ "Tip: 表面波は地表面付近を伝わる波で、水平方向に揺れるラブ波と楕円軌道を描くレイリー波の2種類があります。",
26
+ "Tip: 表面波は実体波(P波・S波)より遅いですが、距離が遠くなっても減衰しにくいため、遠くの大地震では表面波による長周期の揺れが支配的になります。",
27
+ "Tip: 地震波は地球内部を通過する際に屈折・反射を繰り返します。この性質を利用して、地球内部の構造(マントル・外核・内核)が解明されました。",
28
+ "Tip: P波は固体・液体・気体すべてを伝わりますが、S波は固体のみを伝わります。外核でS波が消えることから、外核が液体であることが判明しました。",
29
+ "Tip: 地震波は地盤の柔らかい場所で増幅されやすく、同じ距離でも軟弱地盤の上では硬い岩盤の上より揺れが数倍大きくなることがあります。",
30
+ // --- 地震の分類 ---
31
+ "Tip: 地震は震源の深さにより浅発地震(60km未満)・やや深発地震(60〜200km)・深発地震(200km以上)に分類されます。被害地震の大半は浅発です。",
32
+ "Tip: 深発地震は沈み込んだプレート内部で発生し、最深では約700kmに達します。震源が深いため広範囲で揺れを感じますが、被害は比較的少ない傾向です。",
33
+ "Tip: 異常震域とは、震源から遠い地域の方が近い地域より強く揺れる現象です。深発地震でプレートを伝わる波が減衰しにくいことが主な原因です。",
34
+ "Tip: スラブ内地震はプレート内部の破壊で起きる地震で、2001年芸予地震や2003年宮城県沖の地震がこのタイプです。海溝型より震源が深い傾向があります。",
35
+ // --- マグニチュードの種類 ---
36
+ "Tip: マグニチュードには複数の尺度があります。気象庁マグニチュード(Mj)・モーメントマグニチュード(Mw)・表面波マグニチュード(Ms)などが代表的です。",
37
+ "Tip: モーメントマグニチュード(Mw)は断層面積×すべり量×岩石の剛性率から計算される地震モーメントに基づく尺度で、巨大地震でも飽和しません。",
38
+ "Tip: 気象庁マグニチュード(Mj)は日本国内の速報に使われますが、M8を超える巨大地震では実際より小さく出る「飽和」が起きることがあります。",
39
+ "Tip: 2011年東北地方太平洋沖地震では当初Mj7.9と発表されましたが、後にMw9.0に修正されました。飽和の影響で初報のマグニチュードが過小だった例です。",
40
+ // --- 法則・モデル ---
41
+ "Tip: グーテンベルク・リヒター則は地震の発生頻度とマグニチュードの関係を表す法則です。マグニチュードが1小さくなるごとに地震の数はおよそ10倍になります。",
42
+ "Tip: 大森公式は本震後の余震の発生頻度が時間の経過とともに減少していく法則です。1894年に大森房吉が発見し、今でも余震活動の予測に使われています。",
43
+ "Tip: バース則は「最大余震のマグニチュードは本震より約1.2小さい」という経験則です。ただし例外もあり、まれに本震に匹敵する余震が起きることがあります。",
44
+ "Tip: クーロン応力変化(ΔCFF)は、ある地震が周辺の断層に及ぼす応力変化を計算する手法で、余震の分布や誘発地震の予測に活用されています。",
45
+ "Tip: アスペリティモデルは、断層面上で特に強く固着した部分(アスペリティ)が地震時に一気に破壊されるという考え方で、繰り返し発生する地震の理解に役立ちます。",
46
+ // --- 特殊な現象 ---
47
+ "Tip: スロースリップ(ゆっくりすべり)は通常の地震より遥かにゆっくりと断層がずれ動く現象で、数日から数年かけて進行します。巨大地震の前駆現象として注目されています。",
48
+ "Tip: 群発地震は明確な本震を持たず多数の地震が集中的に発生する活動です。マグマの活動や地下流体の移動が関与することがあります。",
49
+ "Tip: 誘発地震はダム貯水・地熱開発・シェールガス採掘などの人為的活動が地下の応力状態を変化させて引き起こす地震です。",
50
+ "Tip: 地震発光は大地震の際に空が光る現象で、古くから報告されていますがメカニズムはまだ完全には解明されていません。圧電効果や摩擦発光が候補です。",
51
+ "Tip: 前震は本震の前に発生する地震ですが、「前震だったか」は本震の後にならないと判断できません。現時点では前震から本震を確実に予測する方法はありません。",
52
+ "Tip: 連動型地震は複数の断層セグメントが短い時間差で次々に破壊される地震です。南海トラフでは東海・東南海・南海が連動する可能性が指摘されています。",
53
+ "Tip: 地殻の応力は長い年月をかけて蓄積され、限界を超えると断層が破壊されて地震が起きます。この繰り返しを「地震サイクル」と呼びます。",
54
+ "Tip: 震源メカニズム解(発震機構解)は、地震波の初動分布から断層の向きとすべり方向を推定したもので、「ビーチボール図」として可視化されます。",
55
+ "Tip: 地震のストレスドロップ(応力降下量)は断層面上で解放される応力の大きさを表し、同じマグニチュードでも揺れの強さに影響する重要なパラメータです。",
56
+ ],
57
+ },
58
+ // ── 観測技術・ネットワーク ──
59
+ {
60
+ id: "observation-tech",
61
+ tips: [
62
+ // --- 気象庁の観測網 ---
63
+ "Tip: 気象庁は全国に約670か所の震度観測点を設置し揺れを24時間自動計測しています。地方自治体や防災科研の観測点を含めると約4,400か所に及びます。",
64
+ "Tip: 計測震度は加速度波形を特定のフィルター処理した後のベクトル合成値から算出されます。人の感覚を近似する工夫が盛り込まれた指標です。",
65
+ "Tip: 気象庁の震度計は地面や建物1階の堅固な場所に設置され、3成分(南北・東西・上下)の加速度を連続記録しています。",
66
+ "Tip: 気象庁は常時観測火山に地震計・傾斜計・GNSS・監視カメラなどを設置し、24時間体制で火山活動を監視しています。対象火山は見直しにより増減します。",
67
+ // --- 防災科研の観測網 ---
68
+ "Tip: 防災科学技術研究所(NIED)が運用するHi-netは、全国約800か所のボアホール型高感度地震計で微小地震まで捉える観測網です。",
69
+ "Tip: K-NETは全国約1,000か所に設置された強震観測網で、大きな揺れの加速度記録を取得します。データはインターネットで即時公開されています。",
70
+ "Tip: KiK-netは約700か所に地表と地中の両方に地震計を設置した観測網で、地盤の揺れの増幅特性を直接測定できる貴重なデータを提供しています。",
71
+ "Tip: MOWLAS(陸海統合地震津波火山観測網)は、Hi-net・K-NET・KiK-net・F-net・V-net・S-net・DONETを統合した日本の基幹観測網です。",
72
+ "Tip: F-netは全国約70か所に広帯域地震計を配置し、長周期の地震波から震源メカニズム(断層の向きや破壊の仕方)を自動決定する観測網です。",
73
+ "Tip: V-net(基盤的火山観測網)は多数の活火山に観測点を持ち、地震計・傾斜計・GNSS・監視カメラなどで火山活動を連続監視しています。",
74
+ // --- 海底観測網 ---
75
+ "Tip: S-net(日本海溝海底地震津波観測網)は、北海道沖から房総沖の海底に約5,500kmのケーブルと150か所の観測点を配置した世界最大級の海底観測網です。",
76
+ "Tip: DONET(地震・津波観測監視システム)は紀伊半島沖から室戸岬沖の海底に敷設されており、南海トラフ地震の早期検知を目的としています。",
77
+ "Tip: 海底観測網は陸上の観測網より震源に近い位置でP波を捉えられるため、EEWの発表を最大で数十秒早めることが期待されています。",
78
+ "Tip: 海底水圧計は津波による海面変動を直接測定でき、沖合で津波を検知することで沿岸到達前の警報精度向上に貢献しています。",
79
+ "Tip: N-net(南海トラフ海底地震津波観測網)はDONETを補完する海底観測網で、高知県沖から日向灘にかけて整備済みです。EEWや津波情報への活用も始まっています。",
80
+ // --- GNSS ---
81
+ "Tip: 国土地理院のGEONET(GNSS連続観測システム)は全国約1,300か所の電子基準点で地殻変動をミリ単位で測定しています。",
82
+ "Tip: GNSS観測により、日本列島周辺では地域ごとに圧縮・伸張・隆起・沈降などさまざまな地殻変動が確認されています。蓄積した「ひずみ」がやがて地震として解放されます。",
83
+ "Tip: GNSSで地殻変動を即時推定して断層モデルを���築する手法と、沖合の津波波形から初期海面変位を逆解析するtFISH等の手法が津波予測の高速化に貢献しています。",
84
+ "Tip: キネマティックGNSS解析は1秒ごとの位置変動を追跡できるため、地震時の地面の動きをリアルタイムに捉えることが可能です。",
85
+ // --- その他の観測技術 ---
86
+ "Tip: 合成開口レーダー(InSAR)は人工衛星からのマイクロ波で地表の変動を数mmの精度で面的に把握でき、活断層調査や火山監視に活用されています。",
87
+ "Tip: 傾斜計は地面のわずかな傾きの変化を検出するセンサーで、マグマの移動や断層のスロースリップを捉えるのに使われています。",
88
+ "Tip: 地震波干渉法は、2地点で記録されたノイズ(脈動など)を相互相関して仮想的な地震波を合成し、地下構造の変化を監視する手法です。",
89
+ "Tip: DAS(分散型音響センシング)は光ファイバーケーブルを地震計の代わりに使う新技術で、既存の通信ケーブルを転用して面的な観測ができると期待されています。",
90
+ "Tip: リアルタイム地震学は、地震発生から数秒〜数十秒で震源情報・揺れの予測を自動決定する技術の総称です。EEWはその代表的な応用です。",
91
+ "Tip: 1880年の横浜地震を契機に、ミルン・ユーイング・グレイが日本で実用的��地震計を発展させました。日本は近代地震学の発祥地のひとつです。",
92
+ "Tip: 加速度計(強震計)は大きな揺れを飽和せず記録するための地震計で、建物の耐震設計に使う入力地震動の記録に不可欠です。",
93
+ "Tip: ひずみ計は岩盤のわずかな伸び縮みを検出する観測機器で、東海地域には深さ200m以上のボアホールに設置されたものが複数あります。",
94
+ "Tip: 日本の組織的な地震観測は1875年に東京気象台で始まり、1884年には全国的な震度観測が開始されました。世界でも最も早い���震観測体制のひとつです。",
95
+ ],
96
+ },
97
+ ];
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TSUNAMI_TIP_CATEGORIES = void 0;
4
+ // ── 津波の科学 ──────────────────────────────────────────────
5
+ // ── 津波観測・警報システム ───────────────────────────────────
6
+ exports.TSUNAMI_TIP_CATEGORIES = [
7
+ // ── 津波の科学 ──
8
+ {
9
+ id: "tsunami-science",
10
+ tips: [
11
+ // --- 伝播の物理 ---
12
+ "Tip: 津波の伝播速度は水深の平方根に比例し、√(gh)で求まります。水深4,000mの外洋では時速約720km(ジェット機並み)になります。",
13
+ "Tip: 津波の波長は数km〜数百kmと非常に長いため、水深に対して十分に長い「浅水波(長波)」として振る舞います。",
14
+ "Tip: 津波が浅い海域に入ると速度が落ち、後方の波が追いつくため波高が増大します。この現象を「浅水変形(ショーリング)」と呼びます。",
15
+ "Tip: グリーンの法則は、津波の波高が水深の−1/4乗に比例して変化するという近似則です。水深が浅くなるほど波高が上がる基本原理を表しています。",
16
+ "Tip: 津波は海底地形や海岸線で屈折・回折するため、湾の奥や島の裏側にも回り込んで到達します。陰になるから安全とは限りません。",
17
+ "Tip: 津波の遡上高は、地形の集中効果(V字湾やリアス海岸)で局所的に波高の2〜4倍に達することがあります。",
18
+ "Tip: 共振(固有振動)は湾や港の形状と津波の周期が合うと水面の揺れが増幅される現象です。湾奥部で津波が予想外に高くなる原因のひとつです。",
19
+ "Tip: 津波は一般の波浪と違い、海面から海底まで水全体が水平方向に動くため、波高が低くても巨大な運動エネルギーを持ちます。",
20
+ "Tip: エッジ波は海岸に沿って横方向に伝わる津波の成分で、最初の大きな波が過ぎた後も長時間にわたり繰り返し大きな波が来る原因になります。",
21
+ "Tip: 津波は河川を遡上する際に河口の幅の狭まりや水深の浅さで増幅され、海岸から数km以上内陸まで被害を及ぼすことがあります。",
22
+ "Tip: 津波は水深が浅くなると速度が落ちるため、外洋で時速700kmだった波が沿岸では時速36km(自転車程度)まで減速します。しかし波高は逆に増大します。",
23
+ "Tip: 津波の周期は数分から1時間以上で、通常の風波(数秒〜十数秒)と比べて桁違いに長いのが特徴です。",
24
+ "Tip: 津波は海底が平坦な大洋を長距離伝播してもほとんどエネルギーを失わないため、太平洋の反対側にまで被害を及ぼすことがあります。",
25
+ // --- 発生メカニズム ---
26
+ "Tip: 海底の断層が上下にずれると、その上の海水全体が持ち上げられ(または沈降し)、重力で元に戻ろうとする運動が津波として伝播します。",
27
+ "Tip: 津波地震とは断層の破壊がゆっくり進むために揺れが小さいのに大きな津波が発生するタイプの地震です。1896年明治三陸地震が代表例です。",
28
+ "Tip: 地すべり性津波は海底地すべりや火山の山体崩壊で発生し、震源近くでは通常の地震津波よりも高い波になることがあります。",
29
+ "Tip: 火山性津波は噴火に伴う火砕流の海面突入・カルデラ陥没・爆発的噴火による空振などで発生し、従来の地震ベースの津波予測では捕捉しにくいです。",
30
+ "Tip: 2022年トンガ噴火では、気圧波(ラム波)が海面を押して潮位変化を起こす「気象津波」的メカニズムが確認され、津波科学に新たな課題を突きつけました。",
31
+ "Tip: 副振動(セイシュ)は気圧変化や風による長周期の海面振動で、津波ではないものの港湾で異常な潮位変化を起こすことがあります。",
32
+ "Tip: 気象津波(メテオツナミ)は低気圧の急速な移動や気圧の急変で生じる津波状の長波で、日本海沿岸の「あびき」が代表例です。",
33
+ // --- 痕跡と調査 ---
34
+ "Tip: 津波堆積物は過去の津波の痕跡で、砂層の厚さや分布から古代の津波の規模や到達範囲を推定する重要な手がかりになります。",
35
+ "Tip: 津波のシミュレーションは、断層モデルから初期水位を計算し浅水方程式を数値的に解くことで伝播・浸水範囲・波高を予測します。",
36
+ "Tip: 津波の引き波で港の水が一時的に大きく引くと海底が露出することがありますが、その直後に大きな押し波が来るため引き波を見に行くのは極めて危険です。",
37
+ "Tip: 津波は0.2〜0.3mでも人が流される危険があります。木造家屋は浸水深1m程度で部分破壊、2mで全面破壊が目安とされています。",
38
+ "Tip: 津波石は過去の巨大津波が陸上に打ち上げた巨大な岩で、沖縄や太平洋沿岸にいくつか確認されています。過去の津波の規模を物語る証拠です。",
39
+ "Tip: 津波の浸水深と建物被害には相関があり、木造家屋では浸水深2m以上で全壊率が急上昇します。ハザードマップの浸水想定は避難判断の基本です。",
40
+ ],
41
+ },
42
+ // ── 津波観測・警報システム ──
43
+ {
44
+ id: "tsunami-warning",
45
+ tips: [
46
+ // --- 警報システムの歴史と仕組み ---
47
+ "Tip: 日本の全国的な津波警報体制は1949年に確立されました。三陸地方では1896年の明治三陸地震後から津波警報組織が置かれた歴史があります。",
48
+ "Tip: 気象庁は地震発生から約3分(一部は2分以内)を目標に津波警報・注意報を発表します。迅速な発表と精度のバランスが常に課題です。",
49
+ "Tip: 津波警報の第1報は震源とマグニチュードからの推定で出されますが、詳細な断層解析や観測値に基づいて津波警報・注意報が更新されます。",
50
+ "Tip: 巨大地震ではマグニチュードの推定に時間がかかるため、最初の津波警報では波高を数値ではなく「巨大」「高い」と表現することがあります。",
51
+ "Tip: 津波予報区は全国66区域に分かれており、都道府県単位ではなく海岸線の特性に応じた細かい区分で津波警報が発表されます。",
52
+ "Tip: 気象庁の津波データベースには即時予測のための膨大な津波シナリオ(断層パラメータと予想波高の対応表)が格納されています。",
53
+ // --- 観測機器 ---
54
+ "Tip: 全国の多数の津波観測点・沖合観測点で潮位をリアルタイムに測定し、津波の検知・警報の更新に使われています。",
55
+ "Tip: GNSS波浪計(旧称GPS波浪計)は沖合に設置されたブイでGNSSにより海面の上下変動をリアルタイムに計測し、沿岸到達前の津波検知に威力を発揮します。",
56
+ "Tip: 沖合で津波を10分早く検知できれば、沿岸への到達前に避難準備の時間を稼げます。海底・沖合観測網の整備が進む理由のひとつです。",
57
+ "Tip: DART(Deep-ocean Assessment and Reporting of Tsunamis)は米国NOAAが運用する深海津波検知システムで、太平洋・大西洋・カリブ海に配置されています。",
58
+ // --- 国際協力 ---
59
+ "Tip: 太平洋津波警報センター(PTWC)はハワイにあり、太平洋域の津波脅威評価・助言情報を各国に提供する主要な国際津波サービス機関です。最終的な警報は各国当局が発表します。",
60
+ "Tip: 北西太平洋津波情報センター(NWPTAC)は気象庁が運営する地域津波サービスで、北西太平洋の各国に津波の助言情報を提供しています。",
61
+ "Tip: 遠地津波(外国の地震による津波)では、太平洋を渡る間に複数の国際機関の情報を突き合わせて警報を判断します。",
62
+ "Tip: ユネスコ政府間海洋学委員会(IOC)は世界の津波警報システムの国際調整を行っており、太平洋・インド洋・地中海・大西洋にそれぞれ地域的な枠組みがあります。",
63
+ // --- 避難・伝達 ---
64
+ "Tip: 津波フラッグ(赤と白の格子模様の旗)は2020年から運用が始まった、聴覚に障害がある人にも視覚で津波警報を伝える手段です。",
65
+ "Tip: 津波避難タワーや津波避難ビルは、高台が遠い地域で津波からの緊急避難先として整備が進んでいます。日頃から場所を確認しておくことが重要です。",
66
+ "Tip: 津波警報のサイレンは注意報・警報・大津波警報で標識(パターン)が異なります。地元のサイレンパターンを事前に知っておくと、聞いたときにすぐ判断できます。",
67
+ "Tip: 津波てんでんこは「津波が来たら各自てんでんばらばらに逃げろ」という三陸地方の教えで、互いを待って逃げ遅れることを防ぐ実践的な知恵です。",
68
+ "Tip: 1960年チリ地震津波の教訓から、日本では遠地津波に対する警報体制が整備されました。太平洋を約22時間かけて渡る津波への備えの原点です。",
69
+ "Tip: 津波警報が解除されるまでは海岸に近づかないことが鉄則です。解除前に戻った結果、後続の大きな波で被害に遭った事例が過去にあります。",
70
+ ],
71
+ },
72
+ ];