しきさい画像のGeoTIFF変換について
2020年12月18日 D
しきさい画像は、画像の種類に応じたGDALコマンド、パラメータを用いて、
GeoTIFF変換できます。
以下の画像1~画像4のGeoTIFF変換例を紹介します。
【画像1】L1B、L2シーン画像(センサ観測座標系)
① L2 IWPR (クロロフィルa濃度等) シーン画像の変換例 ・・頁2
【画像2】HDFViewで出力したPNG画像(センサ観測座標系)
➁ HDFViewで出力したL2 SST(海面水温) PNG画像の変換例・・頁6
【画像3】L3画像(等緯度・経度座標系(EQR))
➂ L3 NDVI (正規化植生指数) 画像の変換例
・・頁9
【画像4】L2タイル画像(等面積座標系(EQA))
➃ L2 EVI (拡張植生指数)画像の変換例
・・頁10
D
付録:「しきさい」の投影座標系
2
① L2 IWPR (クロロフィルa濃度等) シーン画像の変換例(センサ観測座標系)
1)GDALINFOでデータセット名を取得
Driver: HDF5/Hierarchical Data Format Release 5
Files: GC1SG1_202010290136R05310_L2SG_IWPRQ_2000.h5 Size is 512, 512 ・ ・ Subdatasets: SUBDATASET_1_NAME=HDF5:"GC1SG1_202010290136R05310_L2SG_IWPRQ_2000.h5"://Geometry_data/Latitude SUBDATASET_1_DESC=[783x501] //Geometry_data/Latitude (32-bit floating-point)
SUBDATASET_2_NAME=HDF5:"GC1SG1_202010290136R05310_L2SG_IWPRQ_2000.h5"://Geometry_data/Longitude SUBDATASET_2_DESC=[783x501] //Geometry_data/Longitude (32-bit floating-point)
・ ・
SUBDATASET_8_NAME=HDF5:"GC1SG1_202010290136R05310_L2SG_IWPRQ_2000.h5"://Image_data/CDOM SUBDATASET_8_DESC=[7820x5000] //Image_data/CDOM (16-bit unsigned integer)
SUBDATASET_9_NAME=HDF5:"GC1SG1_202010290136R05310_L2SG_IWPRQ_2000.h5"://Image_data/CHLA SUBDATASET_9_DESC=[7820x5000] //Image_data/CHLA (16-bit unsigned integer)
SUBDATASET_10_NAME=HDF5:"GC1SG1_202010290136R05310_L2SG_IWPRQ_2000.h5"://Image_data/QA_flag SUBDATASET_10_DESC=[7820x5000] //Image_data/QA_flag (16-bit unsigned integer)
SUBDATASET_11_NAME=HDF5:"GC1SG1_202010290136R05310_L2SG_IWPRQ_2000.h5"://Image_data/TSM SUBDATASET_11_DESC=[7820x5000] //Image_data/TSM (16-bit unsigned integer)
gdalinfo GC1SG1_202010290136R05310_L2SG_IWPRQ_2000.h5
2)GDAL_TRANSLATEでVRT (GDAL Virtual Format)、ASCII Gridded XYZへ変換
緯度 (Latitude)、経度 (longitude)のASCII Gridded XYZファイル、クロロフィルa濃度
(CHLA)のVRTファイルを作成します。
gdal_translate -of xyz HDF5:"GC1SG1_202010290136R05310_L2SG_IWPRQ_2000.h5"://Geometry_data/Latitude out_latitude.xyz
a.
b.
c.
a.
任意のファイル名.xyzgdal_translate -of xyz HDF5:"GC1SG1_202010290136R05310_L2SG_IWPRQ_2000.h5"://Geometry_data/Longitude out_longitude.xyz
b.
任意のファイル名.xyzgdal_translate -of VRT -a_srs EPSG:4326 HDF5:"GC1SG1_202010290136R05310_L2SG_IWPRQ_2000.h5"://Image_data/CHLA out_CHLA.vrt
c.
任意のファイル名.vrt画像ファイル名
ここでは、L2シーン画像のGeoTIFF変換例を紹介します。
① L2 IWPR (クロロフィルa濃度等) シーン画像の変換例(センサ観測座標系)
3) ASCII Gridded XYZの編集
a) エクセル等で緯度、経度ファイルを
1つのファイルにまとめます。
b) GCPの間引きデータを作成します。
経度ファイル
(ASCII Gridded XYZ) 緯度ファイル(ASCII Gridded XYZ)
=(A1-0.5)*10+0.5 =(B1-0.5)*10+0.5 =IF((C12-0.5)/100-ROUNDDOWN((C12-0.5)/100,0)>0,"N","Y") =IF((D2-0.5)/100-ROUNDDOWN((D2-0.5)/100,0)>0,"N","Y") =IF(AND(G12="Y",H12="Y"),"Y","N") COPY COPY 間引き間隔 間引き間隔
以下はエクセル関数の例です。
フィルタ機能でI列の値を「Y」だけにします。
別シートにフィルタしたC列からF列の値を
コピーします。
以下のような表になります。
Pixel方向出 力区分 Line方向出力区分 出力区分D
① L2 IWPR (クロロフィルa濃度等) シーン画像の変換例(センサ観測座標系)
3) ASCII Gridded XYZの編集
c) VRT用GCP list作成
保存したcsvファイルを、メモ帳等のテキストエディタ
で開きます。
A列: <GCP Id=“”
B列: Pixel=
D列: Line=
F列: X=
H列: Y=
J列: />
「置換」を使って変換します。
・「“<」→「<」
・「“”“”“,」→「””□」
・「=,」→「=“」
・「,」→「”□」
□:スペース
4
b)の間引きデータに以下のA列、B列、D列、F列、H
列、J列を追加して、CSVファイルで保存します。
GCP listの完成です。
D
① L2 IWPR (クロロフィルa濃度等) シーン画像の変換例(センサ観測座標系)
4)VRTファイルの編集
5)GDALWARPでGeoTIFF変換及び再投影
GDALWARPコマンドで、4)で編集したVRTファイルを
GeoTIFF変換及びEPSG:4326へ再投影します。
4)で保存したファイル名2)で変換したクロロフィルa濃度(CHLA) のVRTファイルに緯度経度ファイル等の情報をメ
モ帳等で追加後、上書き保存します。
<追加前>
<追加後>
gdalwarp –of Gtiff -t_srs EPSG:4326 –tps out_CHLA.vrt CHLA_output.tif
任意の出力ファイル名
<QGISでの出力ファイル表示例>
D
: : 1) b. 1) a. 3) c. <GCPList>, </GCPList> タグ追加 固定値 枠内を 追加6
1)GDALINFOでデータセット名を取得
Driver: HDF5/Hierarchical Data Format Release 5
Files: GC1SG1_202006080125H04910_L2SG_SSTDQ_1002.h5 Size is 512, 512 ・ ・ Subdatasets: SUBDATASET_1_NAME=HDF5:"GC1SG1_202011050151J05810_L2SG_SSTDQ_2000.h5"://Geometry_data/Latitude SUBDATASET_1_DESC=[783x501] //Geometry_data/Latitude (32-bit floating-point)
SUBDATASET_2_NAME=HDF5:"GC1SG1_202011050151J05810_L2SG_SSTDQ_2000.h5"://Geometry_data/Longitude SUBDATASET_2_DESC=[783x501] //Geometry_data/Longitude (32-bit floating-point)
・ ・
SUBDATASET_8_NAME=HDF5:"GC1SG1_202011050151J05810_L2SG_SSTDQ_2000.h5"://Image_data/SST SUBDATASET_8_DESC=[7820x5000] //Image_data/SST (16-bit unsigned integer)
gdalinfo GC1SG1_202011050151J05810_L2SG_SSTDQ_2000.h5
2)GDAL_TRANSLATEでVRT (GDAL Virtual Format) 、ASCII Gridded XYZへ変換
緯度 (Latitude)、経度 (longitude)のASCII Gridded XYZファイル、 HDFViewで出力したPNG (海面水
温データ(SST)) のVRTファイルを作成します。
gdal_translate -of xyz HDF5:"GC1SG1_202011050151J05810_L2SG_SSTDQ_2000.h5"://Geometry_data/Latitude out_latitude.xyz
a.
b.
a.
gdal_translate -of xyz HDF5:"GC1SG1_202011050151J05810_L2SG_SSTDQ_2000.h5"://Geometry_data/Longitude out_longitude.xyz
b.
gdal_translate -of SST.png out_SST.vrt
HDFViewで作成した
同一サイズのPNG画像
任意のファイル名.vrt 元画像ファイル名➁ HDFViewで出力したL2 SST(海面水温) PNG画像(センサ観測座標系)
ここでは、HDFViewで出力したPNG画像のGeoTIFF変換例を紹介します。
PNG画像の元画像ファイルの緯度、経度データセット名を取得します。
任意のファイル名.xyz 任意のファイル名.xyzD
➁ HDFViewで出力したL2 SST(海面水温) PNG画像(センサ観測座標系)
2)で作成した緯度、経度ASCII Gridded XyZファイルからVRTファイル用
のGCP listを作成します。
作成方法は、①3)を参照。
3) ASCII Gridded XYZの編集
<作成後のGCP list例>
8
4)VRTファイルの編集
5)GDALWARPでGeoTIFF変換及び再投影
GDALWARPコマンドで、VRTファイルを
GeoTIFF変換及びEPSG:4326へ再投影します。
4)で保存したファイル名2)で変換したHDFViewで出力した海面水温データ(SST)のVRTファイルにGCP list等の情報を
メモ帳等で追加後、上書き保存します。
<追加前>
<追加後>
gdalwarp –of Gtiff -t_srs EPSG:4326 –tps SST_png.vrt SST_png_output.tif
任意の出力ファイル名
<QGISでの出力ファイル表示例>
➁ HDFViewで出力したL2 SST(海面水温) PNG画像(センサ観測座標系)
D
: : 3) 1) b. 1) a. 固定値 枠内を 追加 <GCPList>, </GCPList> タグ追加➂ L3 NDVI (正規化植生指数) 画像の変換例(等緯度・経度座標系(EQR))
1)GDALINFOでデータセット名を取得
Driver: HDF5/Hierarchical Data Format Release 5
Files: GC1SG1_20200401D01M_D0000_3MSG_NDVIF_1001.h5 Size is 512, 512 ・ ・ Subdatasets: SUBDATASET_1_NAME=HDF5:"GC1SG1_20200401D01M_D0000_3MSG_NDVIF_1001.h5"://Image_data/NDVI_AVE SUBDATASET_1_DESC=[4320x8640] //Image_data/NDVI_AVE (16-bit unsigned integer)
SUBDATASET_2_NAME=HDF5:"GC1SG1_20200401D01M_D0000_3MSG_NDVIF_1001.h5"://Image_data/NDVI_QA_flag SUBDATASET_2_DESC=[4320x8640] //Image_data/NDVI_QA_flag (8-bit unsigned character)
gdalinfo GC1SG1_20200401D01M_D0000_3MSG_NDVIF_1001.h5
2)GDAL_TRANSLATEでGeoTIFFへ変換
以下のコマンドでデータセット名を指定し、GeoTIFF変換します。
gdal_translate -of Gtiff –a_srs EPSG:4326 –a_ullr -180 90 180 -90
HDF5:"GC1SG1_20200401D01M_D0000_3MSG_NDVIF_1001.h5"://Image_data/NDVI_AVE NDVI_output.tif
入力ファイルの 参照座標系 入力ファイルのデータセット名 画像ファイル名 入力ファイルの 左上 (X, Y) 、右下 (X, Y) 出力ファイル名<QGISでの出力ファイル表示例>
ここでは、L3画像のGeoTIFF変換例を紹介します。
10
➃ L2 EVI (拡張植生指数)タイル画像の変換例(等面積座標系(EQA)/タイル)
1)GDALINFOでデータセット名を取得
Driver: HDF5/Hierarchical Data Format Release 5
Files: GC1SG1_20201101D01M_T1131_L2SG_EVI_Q_2000.h5 Size is 512, 512
・
Subdatasets:
SUBDATASET_1_NAME=HDF5:"GC1SG1_20201101D01M_T1131_L2SG_EVI_Q_2000.h5"://Image_data/EVI_AVE SUBDATASET_1_DESC=[4800x4800] //Image_data/EVI_AVE (16-bit unsigned integer)
SUBDATASET_2_NAME=HDF5:"GC1SG1_20201101D01M_T1131_L2SG_EVI_Q_2000.h5"://Image_data/EVI_Date SUBDATASET_2_DESC=[4800x4800] //Image_data/EVI_Date (8-bit unsigned character)
gdalinfo GC1SG1_20201101D01M_T1131_L2SG_EVI_Q_2000.h5
3)GDAL_TRANSLATEでGeoTIFFタイルへ変換
以下のコマンドでデータセット名を指定し、GeoTIFFタイルへ変換します。
gdal_translate -of Gtiff –a_srs ESRI:53008 –a_ullr 14455356.756965 -2223901.039533 15567307.276731 -3335851.559300
HDF5:"GC1SG1_20201101D01M_T1131_L2SG_EVI_Q_2000.h5"://Image_data/EVI_AVE EVI_output.tif
参照座標系 入力ファイルのデータセット名 画像ファイル名 ↑ 入力ファイルの 左上 (X, Y) 、右下 (X, Y) 出力ファイル名<QGISでの出力ファイル表示例>
ここでは、L2タイル画像のGeoTIFF変換例を紹介します。
必要に応じ、GDALWARPで再投影します。
gdalwarp –of Gtiff -t_srs EPSG:4326 EVI_output.tif output2.tif
2)タイル番号からの座標値計算
タイル番号から画像の左上、右下の座標値を計算します。
タイル番号