JAXA Earth API
JAXA Earth API website
$ wget https://data.earth.jaxa.jp/api/python/_downloads/c0936f213e877f553523c50be08b89ca/jaxa-earth-0.1.2.zip $ pip3 install jaxa-earth-0.1.2.zip
QGISで使う
- QGISを立ち上げる。
- CTRL+ALT+PするとQGIS窓の下部にPythonコンソールのペインが出てくる。
- その中の(上部の)文書っぽいアイコンを押すとPythonスクリプトのペインが出てくる。
- そのペインに上記文書のP12あたりのスクリプトを打ち込むと, 地形データがQGISで表示される。
オーストラリアのLST
import sys from jaxa.earth import je kw = ["GCOM","LST","half-monthly"] dlim = ["2019-02-01T00:00:00","2019-02-01T00:00:00"] ppu = 480 bbox = [112, -45, 154, -10] collections,bands = je.ImageCollectionList(ssl_verify=True)\ .filter_name(keywords=kw) data = je.ImageCollection(collection=collections[0],ssl_verify=True)\ .filter_date(dlim=dlim)\ .filter_resolution(ppu=ppu)\ .filter_bounds(bbox=bbox)\ .select(band=bands[0][0])\ .get_images() img = je.ImageProcess(data)\ .show_images_qgis(clim=[280,330])
筑波山周辺の地形
import sys from jaxa.earth import je data = je.ImageCollection(ssl_verify=True)\ .filter_date()\ .filter_resolution(4800)\ .filter_bounds( [139.9, 35.9, 140.5, 36.4])\ .select()\ .get_images() img = je.ImageProcess(data)\ .show_images_qgis()
最後の行を
.show_images()
にすると, QGISでなくても走るし, 図は独立で出てくる。
現状整備されているcollection
- 2023/05/30現在
- je.ImageCollection(collection="*****", ssl_verify=True)の*****に入れる文字列
- 詳細は https://data.earth.jaxa.jp/en/datasets/
In []: je.ImageCollectionList(ssl_verify=True).stac_collections.id - Geting image collection information : completed Out[]: ['Copernicus.C3S_PROBA-V_LCCS_global_yearly', 'JAXA.EORC_ALOS.PRISM_AW3D30.v3.2_global', 'JAXA.EORC_ALOS-2.PALSAR-2_FNF.v2.1.0_global_yearly', 'JAXA.JASMES_GCOM-C.SGLI_standard.L2-NDVI.daytime.v3_japan_8-day', 'JAXA.EORC_GSMaP_standard.Gauge.00Z-23Z.v6_half-monthly-normal', 'JAXA.EORC_GSMaP_standard.Gauge.00Z-23Z.v6_monthly-normal', 'JAXA.G-Portal_GCOM-W.AMSR2_standard.L3-SMC.daytime.v3_global_half-monthly-normal', 'JAXA.G-Portal_GCOM-W.AMSR2_standard.L3-SMC.daytime.v3_global_monthly-normal', 'JAXA.G-Portal_GCOM-W.AMSR2_standard.L3-SMC.nighttime.v3_global_half-monthly-normal', 'JAXA.G-Portal_GCOM-W.AMSR2_standard.L3-SMC.nighttime.v3_global_monthly-normal', 'JAXA.JASMES_Aqua.MODIS_swr.v811_global_half-monthly-normal', 'JAXA.JASMES_Aqua.MODIS_swr.v811_global_monthly-normal', 'JAXA.JASMES_Terra.MODIS_swr.v811_global_half-monthly-normal', 'JAXA.JASMES_Terra.MODIS_swr.v811_global_monthly-normal', 'JAXA.JASMES_Terra.MODIS-Aqua.MODIS_ndvi.v811_global_half-monthly-normal', 'JAXA.JASMES_Terra.MODIS-Aqua.MODIS_ndvi.v811_global_monthly-normal', 'JAXA.JASMES_Terra.MODIS-Aqua.MODIS_taua.v811_global_half-monthly-normal', 'JAXA.JASMES_Terra.MODIS-Aqua.MODIS_taua.v811_global_monthly-normal', 'NASA.EOSDIS_Aqua.MODIS_MYD11C1-LST.daytime.v061_global_half-monthly-normal', 'NASA.EOSDIS_Aqua.MODIS_MYD11C1-LST.daytime.v061_global_monthly-normal', 'NASA.EOSDIS_Aqua.MODIS_MYD11C1-LST.nighttime.v061_global_half-monthly-normal', 'NASA.EOSDIS_Aqua.MODIS_MYD11C1-LST.nighttime.v061_global_monthly-normal', 'NASA.EOSDIS_Terra.MODIS_MOD11C1-LST.daytime.v061_global_half-monthly-normal', 'NASA.EOSDIS_Terra.MODIS_MOD11C1-LST.daytime.v061_global_monthly-normal', 'NASA.EOSDIS_Terra.MODIS_MOD11C1-LST.nighttime.v061_global_half-monthly-normal', 'NASA.EOSDIS_Terra.MODIS_MOD11C1-LST.nighttime.v061_global_monthly-normal', 'JAXA.G-Portal_GCOM-C.SGLI_standard.L3-RGB.daytime.v3_global_monthly', 'JAXA.G-Portal_Aqua.AMSR-E_standard.L3-SMC.daytime.v3_global_daily', 'JAXA.G-Portal_Aqua.AMSR-E_standard.L3-SMC.daytime.v3_global_half-monthly', 'JAXA.G-Portal_Aqua.AMSR-E_standard.L3-SMC.daytime.v3_global_monthly', 'JAXA.G-Portal_Aqua.AMSR-E_standard.L3-SMC.nighttime.v3_global_daily', 'JAXA.G-Portal_Aqua.AMSR-E_standard.L3-SMC.nighttime.v3_global_half-monthly', 'JAXA.G-Portal_Aqua.AMSR-E_standard.L3-SMC.nighttime.v3_global_monthly', 'JAXA.G-Portal_GCOM-W.AMSR2_standard.L3-SMC.daytime.v3_global_daily', 'JAXA.G-Portal_GCOM-W.AMSR2_standard.L3-SMC.daytime.v3_global_half-monthly', 'JAXA.G-Portal_GCOM-W.AMSR2_standard.L3-SMC.daytime.v3_global_monthly', 'JAXA.G-Portal_GCOM-W.AMSR2_standard.L3-SMC.nighttime.v3_global_daily', 'JAXA.G-Portal_GCOM-W.AMSR2_standard.L3-SMC.nighttime.v3_global_half-monthly', 'JAXA.G-Portal_GCOM-W.AMSR2_standard.L3-SMC.nighttime.v3_global_monthly', 'JAXA.G-Portal_GCOM-C.SGLI_standard.L3-LST.daytime.v3_global_daily', 'JAXA.G-Portal_GCOM-C.SGLI_standard.L3-LST.daytime.v3_global_half-monthly', 'JAXA.G-Portal_GCOM-C.SGLI_standard.L3-LST.daytime.v3_global_monthly', 'JAXA.G-Portal_GCOM-C.SGLI_standard.L3-LST.nighttime.v3_global_daily', 'JAXA.G-Portal_GCOM-C.SGLI_standard.L3-LST.nighttime.v3_global_half-monthly', 'JAXA.G-Portal_GCOM-C.SGLI_standard.L3-LST.nighttime.v3_global_monthly', 'JAXA.G-Portal_GCOM-C.SGLI_standard.L3-NDVI.daytime.v3_global_daily', 'JAXA.G-Portal_GCOM-C.SGLI_standard.L3-NDVI.daytime.v3_global_half-monthly', 'JAXA.G-Portal_GCOM-C.SGLI_standard.L3-NDVI.daytime.v3_global_monthly', 'JAXA.G-Portal_GCOM-C.SGLI_standard.L3-AROT.daytime.v3_global_daily', 'JAXA.G-Portal_GCOM-C.SGLI_standard.L3-AROT.daytime.v3_global_half-monthly', 'JAXA.G-Portal_GCOM-C.SGLI_standard.L3-AROT.daytime.v3_global_monthly', 'NASA.EOSDIS_Terra.MODIS_MOD11C1-LST.daytime.v061_global_daily', 'NASA.EOSDIS_Terra.MODIS_MOD11C1-LST.daytime.v061_global_half-monthly', 'NASA.EOSDIS_Terra.MODIS_MOD11C3-LST.daytime.v061_global_monthly', 'NASA.EOSDIS_Terra.MODIS_MOD11C1-LST.nighttime.v061_global_daily', 'NASA.EOSDIS_Terra.MODIS_MOD11C1-LST.nighttime.v061_global_half-monthly', 'NASA.EOSDIS_Terra.MODIS_MOD11C3-LST.nighttime.v061_global_monthly', 'JAXA.EORC_GSMaP_standard.Gauge.00Z-23Z.v6_daily', 'JAXA.EORC_GSMaP_standard.Gauge.00Z-23Z.v6_half-monthly', 'JAXA.EORC_GSMaP_standard.Gauge.00Z-23Z.v6_monthly', 'JAXA.JASMES_Aqua.MODIS_swr.v811_global_daily', 'JAXA.JASMES_Aqua.MODIS_swr.v811_global_half-monthly', 'JAXA.JASMES_Aqua.MODIS_swr.v811_global_monthly', 'JAXA.JASMES_Terra.MODIS_swr.v811_global_daily', 'JAXA.JASMES_Terra.MODIS_swr.v811_global_half-monthly', 'JAXA.JASMES_Terra.MODIS_swr.v811_global_monthly', 'JAXA.JASMES_Terra.MODIS-Aqua.MODIS_ndvi.v811_global_half-monthly', 'JAXA.JASMES_Terra.MODIS-Aqua.MODIS_ndvi.v811_global_monthly', 'JAXA.JASMES_Terra.MODIS-Aqua.MODIS_taua.v811_global_daily', 'JAXA.JASMES_Terra.MODIS-Aqua.MODIS_taua.v811_global_half-monthly', 'JAXA.JASMES_Terra.MODIS-Aqua.MODIS_taua.v811_global_monthly', 'JAXA.JASMES_GCOM-W.AMSR2_ic0.v201_north_daily', 'JAXA.JASMES_GCOM-C.SGLI_standard.L3-LST.nighttime.v3_global_8-day', 'JAXA.JASMES_GCOM-C.SGLI_standard.L3-LST.daytime.v3_global_8-day', 'JAXA.JASMES_GCOM-C.SGLI_standard.L2-LST.nighttime.v3_japan_8-day', 'JAXA.JASMES_GCOM-C.SGLI_standard.L2-LST.daytime.v3_japan_8-day', 'JAXA.G-Portal_GCOM-W.AMSR2_standard.L3-SST.daytime.v4_global_daily', 'JAXA.G-Portal_GCOM-W.AMSR2_standard.L3-SST.nighttime.v4_global_daily', 'JAXA.EORC_GSMaP_SPI.climate.gnrt6_monthly', 'JAXA.JASMES_GCOM-C.SGLI_standard.L3-LST.nighttime.v3_global_8-day-normal', 'JAXA.JASMES_GCOM-C.SGLI_standard.L3-LST.daytime.v3_global_8-day-normal', 'JAXA.JASMES_GCOM-C.SGLI_standard.L3-LST.nighttime.v3_global_monthly-normal', 'JAXA.JASMES_GCOM-C.SGLI_standard.L3-LST.daytime.v3_global_monthly-normal', 'JAXA.JASMES_GCOM-C.SGLI_standard.L2-LST.nighttime.v3_japan_8-day-normal', 'JAXA.JASMES_GCOM-C.SGLI_standard.L2-LST.daytime.v3_japan_8-day-normal', 'JAXA.JASMES_GCOM-C.SGLI_standard.L2-LST.nighttime.v3_japan_monthly-normal', 'JAXA.JASMES_GCOM-C.SGLI_standard.L2-LST.daytime.v3_japan_monthly-normal']
ビギナーへの助言
実際に衛星データをPythonでこねこねする練習には, JAXA APIは良いと思います!
サンプルプログラムで
data = je.ImageCollection(collection=collections[0],ssl_verify=True)
みたいな, なんか呪文? が出てきてこりゃ何だ? って思ったら,
type(data)
って打つ。するとdataというのがどういうクラスのオブジェクトかがわかる。それがよくあるクラスなら(たとえばnumpy.ndarrayとかlistとかtupleなら), そのクラスのよくある使い方をすればよい(Python入門書にがっつり載ってる)。聞いたこと無いクラスなら,
help(data)
って打つ。するとそのクラスを説明したマニュアルが出てくる。目的とか構造とかいろいろわかる。でも長いから読むのがダルくなってきたら,
dir(data)
と打つ。するとそのオブジェクトのメソッドやアトリビュート(入れ子になっている中身)がダダっと表示される。その中のなんかそれっぽいなーというやつを選んでドットでくっつけて調べてみる。たとえば 'raster'というのがあるから,
type(data.raster)
ってやってみる。(以下くりかえし)
衛星データは結局はタテヨコに数が格子状にならんだもの(行列)だから, それを見つけてしまえば, import matplotlib.pyplot as pltを打ってから
plt.imshow(なんちゃら) plt.show()
で表示してみればよい。
Keyword(s):
References: