Pythonを用いた空間統計分析のための衛星データ(LST, NDVI)の処理1

HDFファイルの加工

#!/usr/bin/env python
# coding: utf-8

import h5py
import pandas as pd
import tables
from pyhdf.SD import SD, SDC
import numpy as np
import pandas as pd
import os


### HDFファイルからLST、NDVIのCSVファイルを抽出する処理。

# 画像出力フォルダの自動生成処理

new_dir_path_NDVI = './Data/NDVI_Before_change_of_coordinate'
new_dir_pathLST = './Data/LST_Before_change_of_coordinate'
os.makedirs(new_dir_path_NDVI, exist_ok=True)
os.makedirs(new_dir_pathLST, exist_ok=True)


# LST抽出処理

### 参考:http://pen.envr.tsukuba.ac.jp/~torarimon/
###       ?cmd=view&p=HDF4

path = './Data/LST_HDF'
files = os.listdir(path)
ff = files[0:]

for i in range(len(ff)):
    FILE_name= ff[i][8:23]
    hdf = SD(path + '/' + str(ff[i]), SDC.READ)
    
    # LSTデータ抽出
    LST_sds=hdf.select('LST_Day_1km')
    LST0=LST_sds.get()
    nan_index=np.where(LST0==LST_sds.attributes()['_FillValue'])
    # 正規化
    LST1 = LST0 * LST_sds.attributes()['scale_factor'] 
    # 欠損部分はNanを代入
    LST1[nan_index]=np.nan
    
    LS_T = pd.DataFrame(LST1)
    LS_T.to_csv("./Data/LST_Before_change_of_coordinate/" 
    + str(FILE_name)+".csv")

# NDVI抽出処理

path = "./Data/NDVI_HDF"
files = os.listdir(path)
ff = files[0:]

for i in range(len(ff)):
    FILE_name= ff[i][8:23]
    hdf = SD(path + '/'+ str(ff[i]), SDC.READ)
    
    # 植生指数データ抽出
    ndvi_sds=hdf.select('1 km 16 days NDVI')
    ndvi0=ndvi_sds.get()
    nan_index=np.where(ndvi0==ndvi_sds.attributes()['_FillValue'])
    # 正規化(10000で割っただけ)
    ndvi1 = ndvi0 / ndvi_sds.attributes()['scale_factor'] 
    # 欠損部分はNanを代入
    ndvi1[nan_index]=np.nan
    
    ND_VI = pd.DataFrame(ndvi1)
    ND_VI.to_csv("./Data/NDVI_Before_change_of_coordinate/" 
    + str(FILE_name)+".csv")

[GRASSのインストール、標高データを用いた地滑り危険度マップの作成]
[植生指数 (NDVI) の計算、表示]
[標高データ (SRTM)の表示、植生指数 (NDVI) の3次元表示]
[反射率、輝度温度、標高データを用いた土地被覆分類]
[QGIS, Rを用いた公示地価データの空間統計分析:空間的自己回帰モデル]
[QGIS, Rを用いた公示地価データの空間統計分析:静的な時空間モデリング]
[Rを用いた衛星データ(LST, NDVI)の空間統計分析]
[Pythonを用いた空間統計分析のための衛星データ(LST, NDVI)の処理1(市町村別データの生成)]
[Pythonを用いた空間統計分析のための衛星データ(LST, NDVI)の処理2(人口データの重みを加味した市町村別データの生成)]

[講義「リモートセンシングと地理情報システム(GIS)」のトップページ]
[須ア純一のページへ]

須ア純一 京都大学大学院 工学研究科社会基盤工学専攻 空間情報学講座