Mae向きなブログ

Mae向きな情報発信を続けていきたいと思います。

最近の有感地震

気象庁では,「最近の震度1以上を観測した地震」で,震源の緯度,経度の情報を発信しています。このページを見ると震度1以上の地震が結構起こっているのは分かるのですが,日本のどの辺りで地震が起こっているのか,よく分かりません。そこで,Google マップにプロットしてみることにしました。

緯度,経度情報を取り出す

まず,気象庁のページから緯度,経度,マグニチュードの情報を取り出し,CSVファイルとして保存します。

# -*- coding: utf-8 -*-
require 'nokogiri'
require 'open-uri'
require 'kconv'

doc = Nokogiri::HTML(open('http://www.seisvol.kishou.go.jp/eq/shindo_db/db_map/index0.html'))

doc.search("//center").each do |ele|
  ele =  Kconv.toutf8(ele)
  if /\((\d+)(\d+)(\d+)時まで\)/ =~ ele
    print "#{$1},#{$2},#{$3}\n"
  end
end

doc.search("//tr[@class='mtx']/td").each do |tr|
  tr =  Kconv.toutf8(tr)
  if /(.*?) .*?(\d+)\s*?(\d+\.\d+)'N .*?(\d+)\s*?(\d+\.\d+)'E.*?M:(\d.\d)/ =~ tr
    date = $1
    lat = $2.to_f + $3.to_f / 60.0
    lng = $4.to_f + $5.to_f / 60.0
    mag = $6
    print "#{lat},#{lng},#{mag}\n"
  end
end

上記をeq_data_get.rbとして保存し,以下のように実行。

$ ruby eq_data_get.rb > data.csv

地図に表示

Google Mapsを利用してデータを表示します。

東北地方に地震が頻発している様子が見て取れました。