HDF4のpythonは、サブTIFファイルを書き込み、ファイルを読みます

1.パッケージpyhdfをインストールします。

(1)このリンクを見つけ、pyhdfパッケージをダウンロード:https://www.lfd.uci.edu/~gohlke/pythonlibs/#pygame(独自のシステムやPythonのバージョンに応じて、対応するpyhdfパッケージを選択します)

(2)ドスのハンドオーバコマンドでフォルダをパッケージ化するために、インストールパッケージ名をインストールして実行PIP。

2.読み取りHDF4ファイル

#インポート・パッケージ

pyhdf.SDインポートから*

OSGEOインポートOSRから

NPとしてnumpyのインポート

(1)#は、ファイルを読みます

ファイル= "3B43.20100501.7.HDF"

HDF = SD(ファイル)

#情報HDFファイル属性取得

)(= hdf.attributes ATTR

#行と列と他の情報取得HDFファイルの層、及び各層が該当する、データセットは、辞書であります

データセット= hdf.datasets()

#は、特定の層を読む(私はここにあるレイヤは、雨層である)、レイヤ名は、データセットで見ることができます。そして、データ収集層

rainfall_array = hdf.select( "降水量")。(取得)

回転転置の#レイヤー(ここでは転置私がしなければならないあなたは、独自の層を見ることで、この手順を実行する必要があり、私のニーズに起因する層を、回転しています)

 

#行列に周りのフリッピング

データ= np.fliplr(rainfall_array)

行列の転置の#

データ= np.transpose(データ)

#レイヤー・バイ・時間データからデータを読み込み、我々は月次データに変換する場合があります

日付=日付* 24 * 31

#は2バイト整数のデータに変換します

D = data.astype(np.uint16)

(2)TIFファイル転送

#空の投影オブジェクトのインスタンスを作成します

REF = osr.SpatialReference()

#DEFINE射影(投影パラメータが導入されました)

#WGS84座標系を設定します。

ref.ImportFromEPSG(4326)

#Viewの参照システム情報

S = ref.ExportToWkt()

#GDALのは、話すと(私は上記の読みレイヤ情報から主にここでパラメータを作成します)あまりをしないここで説明し、同様のTIFファイルに書き込みます

ドライバ= gdal.GetDriverByName( "GTiff")

データセット= driver.Create( "prec_self.tif"、1440年、400、1、gdal.GDT_UInt16)

上記層に主から読み出さここ#アフィン変換パラメータ。レイヤーは、独自の自己取得し表示することができます

 im_geotrans =( - 180,0.25,0.0,50,0.0、-0.25)

dataset.SetGeoTransform(im_geotrans)

dataset.SetProjection(S)

dataset.GetRasterBand(1).WriteArray(D)

デルのデータセット

 

おすすめ

転載: www.cnblogs.com/ninicwang/p/11535170.html