2次元で構成された衛星データがたくさんあります。
(H5 を緯度情報を含まない 2 次元配列データに変換し、Lat/Lon 情報データを追加で作成しました。)
1 つのデータで実際の Lat/Lon 調整とグリッド調整を知っています。
Python で 2D サテライト ファイルを部分的に読み取るにはどうすればよいですか?
「numpy.fromfile」は通常、バイナリ ファイルの読み取りに使用されました。
オプションを numpy.fromfile の count として使用すると、バイナリ ファイルを部分的に読み取ることができます。
ただし、保存メモリ用に1つのデータで先頭のレコードをスキップしたい。
たとえば、次のような 3x3 2d データがあります。
パイソン
a= [[1,2,3] [4,5,6] [7,8,9]]
Python で a[3][0] を読みました。(結果 = 7)
Fortran でファイルを読み込むときは、「recl, rec」を使用しました。
フォートラン
open(1, file='exsmaple.bin', access='direct', recl=4) ! recl=4 は 4 つの btype を意味します
read(1, rec=lat*x-lon) ファイル名
閉じる(1)
lat は、データ内の緯度の位置を意味します。(上記の例では緯度 = 3、Fortran では開始番号は 1 です。)
lon は、データ内の経度の位置を意味します。(上記の例では lon = 1 です。Fortran では開始番号は 1 です。)
×はいいえです。行。(x = 3、上記の例では、配列は 3x3 です)
ファイルを読み取ることができ、4 バイトのメモリしか使用しません。
Pythonで同様の方法を知りたいです。
時間と記憶を節約するために特別な情報を教えてください。
私の質問を読んでくれてありがとう。
2016.10.28. 解決
python データ = [1,2,3,4,5,6,7,8,9]、dtype = int8、ファイル名 = 名前
a = np.memmap(name, dtype='int8', mode='r', shape=(1), オフセット=6)
[0]を印刷
結果 : 7