2016-09-25 12 views
0

現在、ラスタを配列に変換する際に問題が発生しています。最終的に、私はgdal_calcを実行できるように、整数からfloat32へのラスタを変換したいと思いますが、これを行うために型を正しく変更できませんでした。ラスタを配列に変換する際に問題が発生しました

だから、私は誰かが提供できる助けに感謝します。ここに私のスクリプトは、非常に短いです。

import gdal 
import numpy as np 
import math 
import osgeo 
import os 
import scipy 


# Open Rasters 

hvRaster = gdal.Open("C:\\Users\\moses\\Desktop\\Calc_Test\\IMG-HV-ALOS2110871010-160611-HBQR1.5RUA.img") 
vhRaster = gdal.Open("C:\\Users\\moses\\Desktop\\Calc_Test\\IMG-VH-ALOS2110871010-160611-HBQR1.5RUA.img") 


# Get Raster Band 

hvRasterBand = hvRaster.GetRasterBand(1) 
vhRasterBand = vhRaster.GetRasterBand(1) 

# Convert Raster to Array 

hvArray = np.array(hvRaster.GetRasterBand(1).ReadAsArray()) 
vhArray = np.array(vhRaster.GetRasterBand(1).ReadAsArray()) 

print hvArray 
print vhArray 

)、事前に

モーセ

答えて

2

方法ReadAsArrayを(ありがとうラスタデータセットのDTYPEとnumpy.ndarrayを作成します。あなたの目標は整数dtypeをfloat32に変換することです。これを行う最も簡単な方法は、ndarrayにastype()メソッドを使用することです。

# Convert Raster to Array 

hvArray = hvRaster.GetRasterBand(1).ReadAsArray().astype(np.float32) 
vhArray = vhRaster.GetRasterBand(1).ReadAsArray().astype(np.float32) 
関連する問題