USGS提供の震源データをプロットする

地震データあれこれ

そういえば、地震本部が地震に関するデータを配布しているサイトをまとめていました。

データ公開ポータルサイト | 地震本部

今回はここには載っていない、USGSの震源データを取得してプロットしてみよう。

USGSから取得する

Search Earthquake Catalog
USGS Earthquake Hazards Program, responsible for monitoring, reporting, and researching earthquakes and earthquake hazards

USGSのデータを取得するには上記のサイトから手動で検索する手段にも様々な方法があります。

一番楽なのはAPIに投げる方法です。

API Documentation - Earthquake Catalog
USGS Earthquake Hazards Program, responsible for monitoring, reporting, and researching earthquakes and earthquake hazards

APIリクエスト例

ttps://earthquake.usgs.gov/fdsnws/event/1[/METHOD[?PARAMETERS]]
METHODには取得したいデータ種類を指定する
PARAMETERSには緯度経度などの指定する

METHODの種類

USGSは色々なデータを提供しています。めちゃくちゃ便利です。見習ってほしい。

count

データ数のカウントをしてくれます。N-T図を描く際に便利です。
(例)
https://earthquake.usgs.gov/fdsnws/event/1/count?format=geojson
https://earthquake.usgs.gov/fdsnws/event/1/count?starttime=2014-01-01&endtime=2014-01-02

query

震源データを取得します。色々な条件を付けて検索することができます。
(例)
https://earthquake.usgs.gov/fdsnws/event/1/query?format=geojson&starttime=2014-01-01&endtime=2014-01-02
https://earthquake.usgs.gov/fdsnws/event/1/query?format=xml&starttime=2014-01-01&endtime=2014-01-02&minmagnitude=5

PARAMETERSの種類

豊富です。

時刻

時刻はstartdateenddateで指定します。UTCで指定するので時差に注意。

(例) 2020年1月1日から2020年12月31日までの地震
https://earthquake.usgs.gov/fdsnws/event/1/query?format=xml&starttime=2020-01-01&endtime=2020-12-31

緯度・経度

ひし形で探すことも円で探すこともできます。
ひし形はminlatitude, maxlatitude, minlongitude, maxlongitude
円で絞り込む場合は、中心の座標であるlatitude, longitudeと半径のmaxradiuskmで指定します。

(例) 2020年1月1日から2020年12月31日までの日本周辺(-R120/150/20/50)で発生した地震
https://earthquake.usgs.gov/fdsnws/event/1/query?format=xml&starttime=2020-01-01&endtime=2020-12-31&minlatitude=20&maxlatitude=50&minlongitude=120&maxlongitude=150

深さ・マグニチュード

各々、mindepth, maxdepth, minmagnitude, maxmagnitudeで指定します。深さの単位は[km]

(例) 2020年1月1日から2020年12月31日までの日本周辺(-R120/150/20/50)で発生した深さ20km~50kmまでの地震
https://earthquake.usgs.gov/fdsnws/event/1/query?format=xml&starttime=2020-01-01&endtime=2020-12-31&minlatitude=20&maxlatitude=50&minlongitude=120&maxlongitude=150&mindepth=20&maxdepth=50

出力フォーマット

 formatで指定します。XML, GeoJSON, CSVのいずれかで指定します。
なお、countメソッドを使用した場合は、plain textも指定可能です。

(例) 2020年1月1日から2020年12月31日までの日本周辺(-R120/150/20/50)で発生した深さ20km~50kmまでの地震をCSVで出力
https://earthquake.usgs.gov/fdsnws/event/1/query?format=csv&starttime=2020-01-01&endtime=2020-12-31&minlatitude=20&maxlatitude=50&minlongitude=120&maxlongitude=150&mindepth=20&maxdepth=50

並び替え

どの順番で並び替えるかをorderbyで指定します。下記から選択します。

プロットする

というわけで、震源データを取得してGMTでプロットしてみよう。
2020年1月1日から2020年12月31日までの日本周辺(-R120/150/20/50)で発生した深さ20km~50kmまでの地震を取得してプロットするには、

#!/bin/bash
wget --no-check-certificate "https://earthquake.usgs.gov/fdsnws/event/1/query?format=csv&starttime=2020-01-01&endtime=2020-12-31&minlatitude=20&maxlatitude=50&minlongitude=120&maxlongitude=150&mindepth=20&maxdepth=50&orderby=magnitude" -O tmp.csv
gmt begin hogehoge png
    gmt basemap -JM12 -R120/150/20/50 -Bafg -BWSNE
    gmt coast -Df -W0.25 -Slightcyan -Glightgray -LJBR+jTL+o-1/1+c20+w500+f
    gmt makecpt -Cseis -T0/50/1
    awk -F"," '{print $3, $2, $4, $5*0.1}' tmp.csv | gmt plot -Sc -W0.25 -C
    gmt colorbar -DJBR+jBL+o1.5/0+w-5/0.2 -C -Baf
gmt end

となり、この結果が

となる。

コメント

タイトルとURLをコピーしました