APIリファレンス
jaxa.earth.jeモジュール
JAXA が保有する人工衛星の地球観測データを活用するために開発された、Pythonパッケージです。本APIを利用することで、各衛星データの仕様やセンサー、解像度などを気にすることなく、簡単にデータを取得・処理することができます。
警告
本APIとデータベースは試験版です。将来的に重要な仕様変更が行われる可能性があります。あらかじめご了承ください。本API、モジュール、データベースの使用により生じたいかなる事件、事故について、当方は一切の責任を負いません。
je モジュールには4つのクラスがあります: FeatureCollection
, ImageCollectionList
, ImageCollection
, ImageProcess
。
# 使用例
# モジュールをインポート
from jaxa.earth import je
# geojson読み込み
geoj_path = "gadm36_JPN_0.geojson"
geoj = je.FeatureCollection().read(geoj_path).select([])
# 画像を取得
data_out = je.ImageCollection("JAXA.EORC_ALOS.PRISM_AW3D30.v3.2_global")\
.filter_date(["2021-01-01T00:00:00","2022-01-01T00:00:00"])\
.filter_resolution(20)\
.filter_bounds(geoj[0])\
.select("DSM")\
.get_images()
# 画像を処理して表示
img = je.ImageProcess(data_out)\
.show_images()\
.calc_spatial_stats()\
.show_spatial_stats()
- class jaxa.earth.je.FeatureCollection
ベースクラス:
object
FeatureCollection
クラスは、feature collectionを読み込んで、コンピュータからgeojsonデータのfeatureを選択するために使用します。- 戻り値:
feature_collection
プロパティを持つFeatureCollection
クラスのオブジェクトです。オブジェクトのすべてのプロパティはデフォルトで None に設定されています。
- feature_collection
プロパティは
read
メソッドの実行後に更新されます。デフォルト値は None です。- 型:
dict
# 使用例:フィーチャーコレクションデータの取得 geoj_path = "C:\MyData\gadm36_JPN_1.geojson" geoj = je.FeatureCollection().read(geoj_path).select(["Tokyo"])
- read(path: str)
read
メソッドは、入力されたパスのgeojsonデータをfeature collectionとして読み込みます。- パラメータ:
path (str) -- geojsonデータが保存されている場所の絶対パス
- 戻り値:
更新された
feature_collection
プロパティを格納するFeatureCollection
クラスのオブジェクト
# 使用例:geojsonデータをfeature collectionとして読み込む data_path = "C:\MyData\MyArea.geojson" data_fc = je.FeatureCollection.read(data_path)
- select(keywords: list = [])
select
メソッドは、入力されたfeature collectionのデータをキーワードでフィルタリングする。デフォルトは空リストのため、feature collectionの全featuresが選択されます。- パラメータ:
keywords (list) -- ご希望のキーワードリスト
- 戻り値:
キーワードで選択されたgeojson features
# 使用例:geojsonのfeature collectionからfeatureを選択する。 geojson = data_fc.select(["Japan","Tokyo"])
- class jaxa.earth.je.ImageCollection(collection: str | None = None, ssl_verify: bool | None = None)
ベースクラス:
object
ImageCollection
クラスは、JAXAのEarth databaseから選択されたコレクションのカタログjsonデータを取得します。このクラスのメソッドを使用すると、ユーザーは日付の制限、解像度、範囲、バンドなどの問い合わせに基づいて、コレクションのラスター画像を取得することができます。- パラメータ:
collection (str) -- 選択されたコレクションの名前。入力がない場合は "JAXA.EORC_ALOS.PRISM_AW3D30.v3.2_global" が使用されます。
ssl_verify (bool) --
ユーザーは、有効なSSL認証プロセスを
True
またはFalse
に設定することができます。デフォルトはTrue
です。注釈
値を
False
に設定すると、セキュリティリスクになる可能性があります。
- 戻り値:
stac_date
、stac_ppu
、stac_bounds
、stac_band
、およびラスターのプロパティを持つImageCollection
クラスのオブジェクトこのオブジェクトのすべてのプロパティは、デフォルトで None に設定されています。
- stac_date
デフォルト値は None。updatedプロパティは、
filter_date
メソッドの後に設定されます。updatedプロパティには、query
、url
、id
、json
の4つのプロパティがあります。このオブジェクトは、filter_resolution
メソッドへの入力として使用されます。- 型:
Stac
クラスのオブジェクト
- stac_ppu
デフォルト値は Noneとなります。updatedプロパティは、
filter_resolution
メソッドの後に設定されます。updatedプロパティには、query
、url
、json
の3つのプロパティがあります。このオブジェクトは、filter_bounds
メソッドへの入力として使用されます。- 型:
Stac
クラスのオブジェクト
- stac_bounds
デフォルト値は Noneになります。updatedプロパティは、
filter_bounds
メソッドの後に設定されます。updatedプロパティには、query
、url
、json
の3つのプロパティがあります。このオブジェクトは、select
メソッドへの入力として使用されます。- 型:
Stac
クラスのオブジェクト
- stac_band
デフォルト値は Noneになります。updatedプロパティは、
select
メソッドの後に設定されます。updatedプロパティには、query
とurl
の2つのプロパティがあります。このオブジェクトは、get_images
メソッドへの入力として使用されます。- 型:
Stac
クラスのオブジェクト
- raster
デフォルト値は Noneになります。updatedプロパティは、
get_images``メソッドの後に設定されます。更新された ``Raster
クラスオブジェクトのプロパティには、img
、latlim
、 ``lonlim``の3つのプロパティがあります。- 型:
Raster
クラスのオブジェクト
# 使用例:画像を取得する data_out = je.ImageCollection("JAXA.EORC_ALOS.PRISM_AW3D30.v3.2_global")\ .filter_date(["2021-01-01T00:00:00","2023-01-31T00:00:00"])\ .filter_resolution(20)\ .filter_bounds([-180,-90,180,90])\ .select("DSM")\ .get_images()
- filter_bounds(bbox: list | None = None, geoj: dict | None = None)
filter_bounds
メソッドは、ユーザーのboundsまたはgeojsonのクエリによってコレクションのカタログjsonをフィルタリングします。bboxとgeojの両方を入力した場合は、geojがバウンディングボックスの検出に使用されます。どちらも入力しない場合は、最大のバウンディングボックスが選択されます。QGIS環境では、何も入力しないと適切なエリアが選択されます。stac_bounds
プロパティは、このメソッドの後に更新されます。- パラメータ:
bbox (list) -- バウンディングボックスをインプット
geoj (dict) -- geojsonをインプット
- 戻り値:
更新された
stac_bounds
プロパティを格納するImageCollection
クラスオブジェクト
注釈
メソッドの前に
filter_resolution
メソッドを使用する必要があります。# 使用例:geojsonのbboxによるImageCollectionのフィルタリング bbox = [120,20,150,50] data_ic3 = data_ic2.filter_bounds(bbox)
- filter_date(dlim: list = [])
filter_date
メソッドは、日付制限のユーザークエリによってコレクションのカタログjsonをフィルタリングします。デフォルトの日付制限パラメーターは ["2021-01-01T00:00:00", "2021-12-31T23:59:59"] で設定されます。stac_date
プロパティは、このメソッドの後に更新されます。- パラメータ:
date_lim (list) -- 最小日付と最大日付の指定による日付制限
- 戻り値:
更新された
ImageCollection
プロパティを格納するstac_date
クラスオブジェクト
# 使用例:日付制限によるImageCollectionのフィルタリング date_lim = ["2021-01-01T00:00:00","2022-01-01T00:00:00"] data_ic1 = data_ic0.filter_date(date_lim)
- filter_resolution(ppu: float | None = None)
filter_resolution
メソッドは、ppu (Pixels Per Unit) 解像度のユーザーからの問い合わせによって、コレクションのカタログjsonをフィルタリングします。単位は、EPSG4326で1単位あたり1度、EPSG3995では1単位あたり32,786 mになります。何も入力されない場合、最小値または適切な値(QGIS内のみ)が設定されます。stac_ppu
のプロパティは、このメソッドの後に更新されます。- パラメータ:
ppu (float) -- ppuのインプット
- 戻り値:
更新された
stac_ppu
プロパティを格納するImageCollection
クラスのオブジェクト
注釈
メソッドの前に
filter_date
メソッドを使用する必要があります。# 使用例:ppuによるImageCollectionのフィルタリング ppu = 20 data_ic2 = data_ic1.filter_resolution(ppu)
- get_images()
get_images
メソッドは、日付制限、解像度、範囲、バンドなどのユーザからの問い合わせに基づいてcollectionの画像を取得します。このメソッドの実行後、raster
のプロパティが更新されます。さらに、raster
画像の関心領域も返されます。- 戻り値:
更新された
raster
プロパティを格納するImageCollection
クラスオブジェクト
注釈
メソッドの前に
filter_band
メソッドを使用する必要があります。# 使用例 ユーザーのクエリに応じて画像を取得します。 data_out0 = data_ic4.get_images()
- select(band: str | None = None)
select
メソッドは、コレクションのカタログjsonを、bandを指定して選択するメソッドです。bandを入力しない場合は、最初のバンドが選択されます。stac_band
のプロパティはメソッド実行後に更新されます。- パラメータ:
band (str) -- バンドのアセット
- 戻り値:
更新された
stac_band
プロパティを格納するImageCollection
クラスのオブジェクト
注釈
メソッドの前に
filter_bounds
メソッドを使用する必要があります。# 使用例:bandによるImageCollectionのフィルタリング band = "DSM" data_ic4 = data_ic3.filter_band(band)
- class jaxa.earth.je.ImageCollectionList(ssl_verify: bool | None = None)
ベースクラス:
object
ImageCollectionList
クラスは、ユーザーの入力キーワードに基づいてcolletionのカタログjsonを取得し、フィルタリングします。- パラメータ:
ssl_verify (bool) --
ユーザーは、有効なSSL認証プロセスを
True
またはFalse
に設定することができます。デフォルトはTrue
です。注釈
値を
False
に設定すると、セキュリティリスクになる可能性があります。- 戻り値:
stac_collections
プロパティを持つImageCollectionList
クラスオブジェクト。
# 使用例:コレクションの名前とバンドを取得する keywords = ["LST","_half-month"] collections,bands = je.ImageCollectionList(ssl_verify=False)\ .filter_name(keywords=keywords)
- filter_name(keywords: list = [])
filter_name
メソッドは、colletionのidからcolletionのカタログjsonをフィルタリングします。- パラメータ:
keywords (list) -- リクエストのキーワード
- 戻り値:
フィルター付きコレクションとフィルター付きバンド
# 使用例:コレクションの名前とバンドを取得する key = ["LST","_half-month"] collections,bands = je.ImageCollectionList()\ .filter_name(keywords=key)
- class jaxa.earth.je.ImageProcess(data)
ベースクラス:
object
ImageProcess
クラスは、入力されたImageCollecion
クラスのオブジェクトを用いて様々な処理を実行します。ImageProcess
クラスのメソッドを利用することで、マスキング画像や差分画像、時間的・空間的統計量の算出など、画像の処理や取得を行うことができます。処理だけでなく、画像や時系列グラフを表示することも可能です。- パラメータ:
data (object) --
更新された
raster
プロパティを含むImageCollection
クラスオブジェクト注釈
ImageCollection
クラスのオブジェクトは、正しいraster
プロパティを持っている必要があります。- 戻り値:
更新されたプロパティを持つ
ImageProcess
クラスオブジェクト
- raster
デフォルト値は、入力された
ImageCollection
クラスオブジェクトのraster
プロパティと同じです。mask_images
、diff_images
などの``calc_temporal_stats`` クラスオブジェクトのメソッド実行後に更新されます。- 型:
Raster
クラスのオブジェクト
- timeseries
デフォルト値は None。このプロパティは、
calc_spatial_stats
などのImageProcess
クラスオブジェクトのメソッド実行後に更新されます。更新されるプロパティには、"mean"、 "std"、 "min"、 "max"、 "median"の5つのキーと値があります- 型:
dict
# 使用例:画像を加工して表示する# img = je.ImageProcess(data_out0)\ .show_images()\ .calc_spatial_stats()\ .show_spatial_stats()
- calc_spatial_stats()
calc_spatial_stats
メソッドは空間統計量を計算します。- 戻り値:
更新された
timeseries
プロパティを格納するImageProcess
クラスのオブジェクト更新されるプロパティには、 "mean"、"std"、"min"、"max"、"median"の5つのキーと値があります。
# 使用例:data_ip0の空間統計量を計算する data_s_stats = data_ip0.calc_spatial_stats()
- calc_temporal_stats(method_query: str = 'mean')
calc_temporal_stats
は、ユーザーが入力した method_query のクエリによって時間統計量を計算します。- パラメータ:
method_query (dict) -- "mean" 、 "max" 、 "min" 、 "std" 、 "median"のうちのどれか。デフォルトは "mean"。
- 戻り値:
更新された
raster
プロパティを格納するImageProcess
クラスオブジェクト
# 使用例:data_ip0の時間的統計量を計算する data_t_stats = data_ip0.calc_temporal_stats("mean")
- diff_images(ref)
diff_images
メソッドは、ユーザーが入力した参照元のクエリに基づいて、差分を取得します。- パラメータ:
ref (object) --
参照データとして使用される
raster
プロパティを更新したImageCollection
クラスオブジェクト。注釈
引数のrefの形式(解像度を含む)は、本メソッドの呼び出し元オブジェクトが持つ
ImageCollecion
オブジェクトと同じ形式でなければならない。- 戻り値:
更新された
raster
プロパティを格納するImageProcess
クラスオブジェクト
# 使用例:差分データ(data_out0-data_out1) data_diff = data_ip0.diff_images(data_out1)
- mask_images(mask, method_query: str = 'values_equal', values: float = [0, 1])
``mask_images``メソッドは、mask、type_query、valuesを使用してマスクします。
- パラメータ:
mask (class) --
ImageCollection
クラスのオブジェクトで、マスキングデータとして使用されるraster
プロパティを更新します。注釈
マスクの形式(解像度を含む)はデータと同じでなければならない。
method_query (dict) --
"range" または "values_equal" または "bits_equal"。デフォルトは ""values_equal" です。
"range" は、特定の範囲の値を抽出し、範囲外の値をマスクしたい場合に使用する。float型のデータは "range" マスクとして受け入れられます。
"values_equal" は、ユーザーが特定の値のピクセルのみを抽出し、他の値のピクセルをマスクしたい場合に使用されます。float型のデータが受け入れられます。通常、土地被覆プロダクトが "values_equal" マスクとして使用されます。
"bits_equal" は、ユーザーが特定のビット値のピクセルのみを抽出し、他のビット値のピクセルをマスクしたい場合に使用されます。マスクとしてfloat型のデータは受け入れられません。通常、品質保証(quality assurance)プロダクトが "bits_equal" マスクとして使用されます。
values (list) -- type_queryを "range" とした場合は、値を最小値と最大値の2つの値のリストとして設定してください。 "values_equal" の場合は、複数の値を設定することができます。 "bits_equal" の場合は、0ビットから始まるビット値として0または1を設定することができます。デフォルトは[0,1]です。
- 戻り値:
更新された
raster
プロパティを格納するImageProcess
クラスオブジェクト
# 使用例:data_out0をdata_out1でマスクする。 data_masked = data_ip0.mask_images(data_out1,"range",[0,100])
- show_images(cmap: str | None = None, clim: list = [])
show_images
メソッドはraster
プロパティの画像を表示します。複数の日付の画像が設定されている場合、メソッドは全ての画像を表示します。- パラメータ:
cmap (str) -- カラーマップ名のクエリ。colormap名の問い合わせは、"ndvi", "turbo", "spectral" を選択できる。デフォルトは "turbo"。
clim (list) -- 色範囲のクエリ(オプション)
- 戻り値:
ImageProcess
クラスのオブジェクト
# 使用例:data_ip0の画像を表示する data_ip0.show_images()
- show_images_qgis(cmap: str | None = None, clim: list = [])
show_images_qgis
メソッドはqgisの画像を表示します。- パラメータ:
cmap (str) -- カラーマップ名のクエリ。colormap名の問い合わせは、"ndvi", "turbo", "spectral" を選択できる。デフォルトは "turbo"。
clim (list) -- 色範囲のクエリ(オプション)
- 戻り値:
ImageProcess
クラスのオブジェクト
注釈
この方法はQGIS環境でのみ有効です。
# 使用例:data_ip0の画像をqgisに表示する。 data_ip0.show_images_qgis()
- show_spatial_stats(ylim: list = [])
show_spatial_stats
メソッドは、calc_spatial_stats
メソッドの計算結果のグラフを表示します。- パラメータ:
ylim (list) -- 色範囲のクエリ(オプション)
- 戻り値:
ImageProcess
クラスのオブジェクト
注釈
calc_spatial_stats
メソッドは、このメソッドの前に使ってください。# 使用例:メソッドの計算結果のグラフ表示 calc_spatial_stats data_s_stats.show_spatial_stats()