修改土壤水、土壤粗糙度插值模块解决内存溢出问题

Mn
tian jiax 2023-09-18 16:32:57 +08:00
parent fb1a15151f
commit 10b484e4bf
5 changed files with 30 additions and 30 deletions

View File

@ -6,7 +6,7 @@
@Date 2021/09/3 14:39 @Date 2021/09/3 14:39
@Version 1.0.0 @Version 1.0.0
""" """
import pyproj._compat #解决打包错误
from osgeo import gdal from osgeo import gdal
import glob import glob
from pykrige import OrdinaryKriging # 强制引入包 from pykrige import OrdinaryKriging # 强制引入包
@ -953,7 +953,7 @@ class AtmosphericMain:
logger.info('progress bar :35') logger.info('progress bar :35')
# 二、 主影像 # 二、 主影像
# 2.1 执行stackSentinel.exe 生成运行配置文件 # 2.1 执行stackSentinel.exe 生成运行配置文件 #
# key_word = "20190113" # key_word = "20190113"
key_word = self.mas_key_word key_word = self.mas_key_word
self.isce_stackSentinel(slc_dir, dem_path, aux_dir, orbits_dir, isce_work_space, key_word, isce_exe_dir,box) self.isce_stackSentinel(slc_dir, dem_path, aux_dir, orbits_dir, isce_work_space, key_word, isce_exe_dir,box)

View File

@ -366,8 +366,8 @@ if __name__ == '__main__':
except Exception: except Exception:
logger.exception('run-time error!') logger.exception('run-time error!')
finally: finally:
# main_handler.del_temp_workspace() main_handler.del_temp_workspace()
pass # pass
end = datetime.datetime.now() end = datetime.datetime.now()
msg = 'running use time: %s ' % (end - start) msg = 'running use time: %s ' % (end - start)
logger.info(msg) logger.info(msg)

View File

@ -117,17 +117,17 @@ class SoilMoistureTool:
return oh2004_tifpath return oh2004_tifpath
if __name__ == '__main__': # if __name__ == '__main__':
#
tif_path = r'F:\20230605\ortho\tif' # tif_path = r'F:\20230605\ortho\tif'
put_path = r'F:\20230605\back\oh2004' # put_path = r'F:\20230605\back\oh2004'
cols = 7670 # cols = 7670
rows = 7443 # rows = 7443
incidence_file = r'F:\20230605\ortho\RD_localincidentAngle.tiff' # incidence_file = r'F:\20230605\ortho\RD_localincidentAngle.tiff'
xml_file = r'F:\20230605\ortho\GF3C_MYC_QPSI_005390_E121.7_N41.1_20230415_L1A_AHV_L10000135644.meta.xml' # xml_file = r'F:\20230605\ortho\GF3C_MYC_QPSI_005390_E121.7_N41.1_20230415_L1A_AHV_L10000135644.meta.xml'
#
soil = SoilMoistureTool(tif_path, put_path, cols, rows, incidence_file, xml_file) # soil = SoilMoistureTool(tif_path, put_path, cols, rows, incidence_file, xml_file)
soil.soil_oh2004() # soil.soil_oh2004()
# fn = r'F:\MicroWorkspace\mico_datas\GF3A_nanjing\PIESAR\test\GF3_SAY_QPSI_011444_E118.9_N31.4_20181012_L1A_HH_L10003515422.img' # fn = r'F:\MicroWorkspace\mico_datas\GF3A_nanjing\PIESAR\test\GF3_SAY_QPSI_011444_E118.9_N31.4_20181012_L1A_HH_L10003515422.img'
# fn1 = r'F:\MicroWorkspace\mico_datas\GF3A_nanjing\PIESAR\test11.bin' # fn1 = r'F:\MicroWorkspace\mico_datas\GF3A_nanjing\PIESAR\test11.bin'
# data = ImageHandler().get_data(fn) # data = ImageHandler().get_data(fn)

View File

@ -46,12 +46,12 @@ class SoilMoistureTool:
atp.ahv_to_polsarpro_t3_soil(t3_path, tif_path) atp.ahv_to_polsarpro_t3_soil(t3_path, tif_path)
# Lee滤波 # Lee滤波
# leeFilter = LeeRefinedFilterT3() leeFilter = LeeRefinedFilterT3()
# lee_filter_path = os.path.join(self.__workspace_processing_path, lee_filter_path = os.path.join(self.__workspace_processing_path,
# 'lee_filter\\') 'lee_filter\\')
#
# leeFilter.api_lee_refined_filter_T3('', t3_path, lee_filter_path, 0, 0, atp.rows(), atp.cols()) leeFilter.api_lee_refined_filter_T3('', t3_path, lee_filter_path, 0, 0, atp.rows(), atp.cols())
# logger.info("refine_lee filter success!") logger.info("refine_lee filter success!")
# logging.info("refine_lee filter success!") # logging.info("refine_lee filter success!")
return t3_path return t3_path

View File

@ -219,7 +219,7 @@ class VegetationHeightMain:
para_dic.update({name: in_tif_path}) para_dic.update({name: in_tif_path})
vv_flag = 1 vv_flag = 1
elif 'IncidenceAngle' in os.path.basename(in_tif_path) or 'orth_sar_Angle' in os.path.basename(in_tif_path)\ elif 'IncidenceAngle' in os.path.basename(in_tif_path) or 'orth_sar_Angle' in os.path.basename(in_tif_path)\
or "local_incidence" in os.path.basename(in_tif_path) or "orth_sar_incidence" in os.path.basename(in_tif_path): or "inci_Angle-ortho" in os.path.basename(in_tif_path) or "orth_sar_incidence" in os.path.basename(in_tif_path):
name = 'IncidenceAngle_' + para_name name = 'IncidenceAngle_' + para_name
para_dic.update({name: in_tif_path}) para_dic.update({name: in_tif_path})
angle_flag = 1 angle_flag = 1
@ -784,7 +784,7 @@ class VegetationHeightMain:
coh_arrayt = AHVToPolSarProS2().read_none_complex_bin_to_array(t6_T11_bin) coh_arrayt = AHVToPolSarProS2().read_none_complex_bin_to_array(t6_T11_bin)
rows, cols=coh_arrayt.shape[0],coh_arrayt.shape[1] rows, cols=coh_arrayt.shape[0],coh_arrayt.shape[1]
# 4、T6->boxcar_filter->T6 # 4、T6->boxcar_filter->T6
logger.info('start computing the filter...') logger.info('start computing the filter...') # 线性平滑滤波
boxcar_filter_tool_path = os.path.join(current_path, "boxcar_filter_T6.exe") boxcar_filter_tool_path = os.path.join(current_path, "boxcar_filter_T6.exe")
# boxcar_filter_tool_path = os.path.join(current_path, "lee_refined_filter_T6.exe") # boxcar_filter_tool_path = os.path.join(current_path, "lee_refined_filter_T6.exe")
master_slave_t6_box = self.__workspace_preprocessed2_path + "master_slave_t6_box""\\" master_slave_t6_box = self.__workspace_preprocessed2_path + "master_slave_t6_box""\\"
@ -795,7 +795,7 @@ class VegetationHeightMain:
# master_slave_t6, *(3, 3, 0, 0)) # master_slave_t6, *(3, 3, 0, 0))
logger.info("T6 lee_refined_filter finish") logger.info("T6 lee_refined_filter finish")
logger.info('progress bar :85') logger.info('progress bar :85')
# 5、 T6->coherence_estimation->T6 # 5、 T6->coherence_estimation->T6 相干度估计
coherence_estimation_path = os.path.join(current_path, "complex_coherence_estimation.exe") coherence_estimation_path = os.path.join(current_path, "complex_coherence_estimation.exe")
# coherence_opt_estimation_path = os.path.join(current_path, "complex_coherence_opt_estimation_T6.exe") # coherence_opt_estimation_path = os.path.join(current_path, "complex_coherence_opt_estimation_T6.exe")
master_slave_t6_box_coh = master_slave_t6_box master_slave_t6_box_coh = master_slave_t6_box
@ -852,11 +852,11 @@ class VegetationHeightMain:
array =np.fromfile(bin_path,dtype=np.float32).reshape(height_01, width_01) #AHVToPolSarProS2().read_none_complex_bin_to_array(bin_path) array =np.fromfile(bin_path,dtype=np.float32).reshape(height_01, width_01) #AHVToPolSarProS2().read_none_complex_bin_to_array(bin_path)
# 对结果进行掩膜 # 对结果进行掩膜
############# #############
if self.tif_angle_mask_path is None: # if self.tif_angle_mask_path is None:
array = array # array = array
else: # else:
roi_img = self.imageHandler.get_band_array(self.tif_angle_mask_path) # roi_img = self.imageHandler.get_band_array(self.tif_angle_mask_path)
array = array * roi_img # 掩膜 # array = array * roi_img # 掩膜
#self.mask_m_angle_array[np.where(self.mask_m_angle_array!=0)]=1 #self.mask_m_angle_array[np.where(self.mask_m_angle_array!=0)]=1
#self.mask_a_angle_array[np.where(self.mask_a_angle_array!=0)]=1 #self.mask_a_angle_array[np.where(self.mask_a_angle_array!=0)]=1
#self.mask_m_angle_array[np.where(self.mask_m_angle_array==0)]=math.nan #self.mask_m_angle_array[np.where(self.mask_m_angle_array==0)]=math.nan