#!/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(人口データの重みを加味した市町村別データの生成)]